Beruflich Dokumente
Kultur Dokumente
Editorial Board
David Hutchison
Lancaster University, UK
Takeo Kanade
Carnegie Mellon University, Pittsburgh, PA, USA
Josef Kittler
University of Surrey, Guildford, UK
Jon M. Kleinberg
Cornell University, Ithaca, NY, USA
Friedemann Mattern
ETH Zurich, Switzerland
John C. Mitchell
Stanford University, CA, USA
Moni Naor
Weizmann Institute of Science, Rehovot, Israel
Oscar Nierstrasz
University of Bern, Switzerland
C. Pandu Rangan
Indian Institute of Technology, Madras, India
Bernhard Steffen
University of Dortmund, Germany
Madhu Sudan
Massachusetts Institute of Technology, MA, USA
Demetri Terzopoulos
University of California, Los Angeles, CA, USA
Doug Tygar
University of California, Berkeley, CA, USA
Moshe Y. Vardi
Rice University, Houston, TX, USA
Gerhard Weikum
Max-Planck Institute of Computer Science, Saarbruecken, Germany
4488
Computational
Science ICCS 2007
7th International Conference
Beijing, China, May 27 - 30, 2007
Proceedings, Part II
13
Volume Editors
Yong Shi
Graduate University of the Academy of Sciences
Beijing 100080, China
E-mail: yshi@gucas.ac.cn
Geert Dick van Albada
Peter M.A. Sloot
University of Amsterdam, Section Computational Science
1098 SJ Amsterdam, The Netherlands
E-mail: {dick, sloot}@science.uva.nl
Jack Dongarra
University of Tennessee, Computer Science Department
Knoxville, TN 37996-3450, USA
E-mail: dongarra@cs.utk.edu
0302-9743
3-540-72585-7 Springer Berlin Heidelberg New York
978-3-540-72585-5 Springer Berlin Heidelberg New York
This work is subject to copyright. All rights are reserved, whether the whole or part of the material is
concerned, specically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting,
reproduction on microlms 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.
Springer is a part of Springer Science+Business Media
springer.com
Springer-Verlag Berlin Heidelberg 2007
Printed in Germany
Typesetting: Camera-ready by author, data conversion by Scientic Publishing Services, Chennai, India
Printed on acid-free paper
SPIN: 12065738
06/3180
543210
Preface
VI
Preface
received more than 2,400 submissions for all tracks combined, out of which 716
were accepted.
This includes 529 oral papers, 97 short papers, and 89 poster papers, spread
over 35 workshops and a main track. For the main track we had 91 papers (80
oral papers and 11 short papers) in the proceedings, out of 360 submissions. We
had some 930 people doing reviews for the conference, with 118 for the main
track. Almost all papers received three reviews. The accepted papers are from
more than 43 dierent countries and 48 dierent Internet top-level domains.
The papers cover a large volume of topics in computational science and related areas, from multiscale physics to wireless networks, and from graph theory
to tools for program development.
We would like to thank all workshop organizers and the Program Committee
for the excellent work in maintaining the conferences standing for high-quality
papers. We would like to express our gratitude to sta and graduates of the Chinese Academy of Sciences Research Center on Data Technology and Knowledge
Economy and the Institute of Policy and Management for their hard work in
support of ICCS 2007. We would like to thank the Local Organizing Committee
and Local Arrangements Committee for their persistent and enthusiastic work
towards the success of ICCS 2007. We owe special thanks to our sponsors, AMD,
Springer; University of Nebraska at Omaha, USA and Graduate University of
Chinese Academy of Sciences, for their generous support.
ICCS 2007 was organized by the Chinese Academy of Sciences Research Center on Data Technology and Knowledge Economy, with support from the Section Computational Science at the Universiteit van Amsterdam and Innovative
Computing Laboratory at the University of Tennessee, in cooperation with the
Society for Industrial and Applied Mathematics (SIAM), the International Association for Mathematics and Computers in Simulation (IMACS), the Chinese
Society for Management Modernization (CSMM), and the Chinese Society of
Optimization, Overall Planning and Economical Mathematics (CSOOPEM).
May 2007
Yong Shi
Organization
ICCS 2007 was organized by the Chinese Academy of Sciences Research Center on Data Technology and Knowledge Economy, with support from the Section Computational Science at the Universiteit van Amsterdam and Innovative
Computing Laboratory at the University of Tennessee, in cooperation with the
Society for Industrial and Applied Mathematics (SIAM), the International Association for Mathematics and Computers in Simulation (IMACS), and the Chinese
Society for Management Modernization (CSMM).
Conference Chairs
Conference Chair - Yong Shi (Chinese Academy of Sciences, China/University
of Nebraska at Omaha USA)
Program Chair - Dick van Albada (Universiteit van Amsterdam,
The Netherlands)
ICCS Series Overall Scientic Co-chair - Jack Dongarra (University of Tennessee,
USA)
ICCS Series Overall Scientic Chair - Peter M.A. Sloot (Universiteit van
Amsterdam, The Netherlands)
VIII
Organization
Sponsoring Institutions
AMD
Springer
World Scientic Publlishing
University of Nebraska at Omaha, USA
Graduate University of Chinese Academy of Sciences
Institute of Policy and Management, Chinese Academy of Sciences Universiteit
van Amsterdam
Program Committee
J.H. Abawajy, Deakin University, Australia
D. Abramson, Monash University, Australia
V. Alexandrov, University of Reading, UK
I. Altintas, San Diego Supercomputer Center, UCSD
M. Antolovich, Charles Sturt University, Australia
E. Araujo, Universidade Federal de Campina Grande, Brazil
M.A. Baker, University of Reading, UK
B. Balis, Krakow University of Science and Technology, Poland
A. Benoit, LIP, ENS Lyon, France
I. Bethke, University of Amsterdam, The Netherlands
J.A.R. Blais, University of Calgary, Canada
I. Brandic, University of Vienna, Austria
J. Broeckhove, Universiteit Antwerpen, Belgium
M. Bubak, AGH University of Science and Technology, Poland
K. Bubendorfer, Victoria University of Wellington, Australia
B. Cantalupo, DATAMAT S.P.A, Italy
J. Chen Swinburne, University of Technology, Australia
O. Corcho, University of Manchester, UK
J.C. Cunha, Univ. Nova de Lisboa, Portugal
Organization
IX
Organization
Organization
Reviewers
J.H. Abawajy
D. Abramson
A. Abran
P. Adriaans
W. Ahn
R. Akbani
K. Akkaya
R. Albert
M. Aldinucci
V.N. Alexandrov
B. Alidaee
I. Altintas
K. Altmanninger
S. Aluru
S. Ambroszkiewicz
L. Anido
K. Anjyo
C. Anthes
M. Antolovich
S. Antoniotti
G. Antoniu
H. Arabnia
E. Araujo
E. Ardeleanu
J. Aroba
J. Astalos
B. Autin
M. Babik
G. Bai
E. Baker
M.A. Baker
S. Balfe
B. Balis
W. Banzhaf
D. Bastola
S. Battiato
M. Baumgarten
M. Baumgartner
P. Beckaert
A. Belloum
O. Belmonte
A. Belyaev
A. Benoit
G. Bergantz
J. Bernsdorf
J. Berthold
I. Bethke
I. Bhana
R. Bhowmik
M. Bickelhaupt
J. Bin Shyan
J. Birkett
J.A.R. Blais
A. Bode
B. Boghosian
S. Bolboaca
C. Bothorel
A. Bouteiller
I. Brandic
S. Branford
S.J. Branford
R. Braungarten
R. Briggs
J. Broeckhove
W. Bronsvoort
A. Bruce
C. Brugha
Y. Bu
K. Bubendorfer
I. Budinska
G. Buemi
B. Bui
H.J. Bungartz
A. Byrski
M. Cai
Y. Cai
Y.Q. Cai
Z.Y. Cai
XI
XII
Organization
B. Cantalupo
K. Cao
M. Cao
F. Capkovic
A. Cepulkauskas
K. Cetnarowicz
Y. Chai
P. Chan
G.-L. Chang
S.C. Chang
W.A. Chaovalitwongse
P.K. Chattaraj
C.-K. Chen
E. Chen
G.Q. Chen
G.X. Chen
J. Chen
J. Chen
J.J. Chen
K. Chen
Q.S. Chen
W. Chen
Y. Chen
Y.Y. Chen
Z. Chen
G. Cheng
X.Z. Cheng
S. Chiu
K.E. Cho
Y.-Y. Cho
B. Choi
J.K. Choi
D. Choinski
D.P. Chong
B. Chopard
M. Chover
I. Chung
M. Ciglan
B. Cogan
G. Cong
J. Corander
J.C. Corchado
O. Corcho
J. Cornil
H. Cota de Freitas
E. Coutinho
J.J. Cuadrado-Gallego
Y.F. Cui
J.C. Cunha
V. Curcin
A. Curioni
R. da Rosa Righi
S. Dalai
M. Daneva
S. Date
P. Dazzi
S. de Marchi
V. Debelov
E. Deelman
J. Della Dora
Y. Demazeau
Y. Demchenko
H. Deng
X.T. Deng
Y. Deng
M. Mat Deris
F. Desprez
M. Dewar
T. Dhaene
Z.R. Di
G. di Biasi
A. Diaz Guilera
P. Didier
I.T. Dimov
L. Ding
G.D. Dobrowolski
T. Dokken
J.J. Dolado
W. Dong
Y.-L. Dong
J. Dongarra
F. Donno
C. Douglas
G.J. Garcke
R.P. Mundani
R. Drezewski
D. Du
B. Duan
J.F. Dufourd
H. Dun
C. Earley
P. Edmond
T. Eitrich
A. El Rhalibi
T. Ernst
V. Ervin
D. Estrin
L. Eyraud-Dubois
J. Falcou
H. Fang
Y. Fang
X. Fei
Y. Fei
R. Feng
M. Fernandez
K. Fisher
C. Fittschen
G. Fox
F. Freitas
T. Friesz
K. Fuerlinger
M. Fujimoto
T. Fujinami
W. Funika
T. Furumura
A. Galvez
L.J. Gao
X.S. Gao
J.E. Garcia
H.J. Gardner
M. Garre
G. Garsva
F. Gava
G. Geethakumari
M. Geimer
J. Geiser
J.-P. Gelas
A. Gerbessiotis
M. Gerndt
S. Gimelshein
S.G. Girdzijauskas
S. Girtelschmid
Z. Gj
C. Glasner
A. Goderis
Organization
D. Godoy
J. Golebiowski
S. Gopalakrishnan
Y. Gorbachev
A.M. Goscinski
M. Govindaraju
E. Grabska
G.A. Gravvanis
C.H. Grelck
D.J. Groen
L. Gross
P. Gruer
A. Grzech
J.F. Gu
Y. Guang Xue
T. Gubala
V. Guevara-Masis
C.H. Guo
X. Guo
Z.Q. Guo
L. Guohui
C. Gupta
I. Gutman
A. Haegee
K. Han
M. Hardt
A. Hasson
J. He
J. He
K. He
T. He
J. He
M.R. Head
P. Heinzlreiter
H. Chojnacki
J. Heo
S. Hirokawa
G. Hliniak
L. Hluchy
T.B. Ho
A. Hoekstra
W. Homann
A. Hoheisel
J. Hong
Z. Hong
D. Horvath
F. Hu
L. Hu
X. Hu
X.H. Hu
Z. Hu
K. Hua
H.W. Huang
K.-Y. Huang
L. Huang
L. Huang
M.S. Huang
S. Huang
T. Huang
W. Huang
Y. Huang
Z. Huang
Z. Huang
B. Huber
E. Hubo
J. Hulliger
M. Hultell
M. Humphrey
P. Hurtado
J. Huysmans
T. Ida
A. Iglesias
K. Iqbal
D. Ireland
N. Ishizawa
I. Lukovits
R. Jamieson
J.K. Jan
P. Janderka
M. Jankowski
L. Jantschi
S.J.K. Jensen
N.J. Jeon
T.H. Jeon
T. Jeong
H. Ji
X. Ji
D.Y. Jia
C. Jiang
H. Jiang
XIII
M.J. Jiang
P. Jiang
W. Jiang
Y. Jiang
H. Jin
J. Jin
L. Jingling
G.-S. Jo
D. Johnson
J. Johnstone
J.J. Jung
K. Juszczyszyn
J.A. Kaandorp
M. Kabelac
B. Kadlec
R. Kakkar
C. Kameyama
B.D. Kandhai
S. Kandl
K. Kang
S. Kato
S. Kawata
T. Kegl
W.A. Kelly
J. Kennedy
G. Khan
J.B. Kido
C.H. Kim
D.S. Kim
D.W. Kim
H. Kim
J.G. Kim
J.H. Kim
M. Kim
T.H. Kim
T.W. Kim
P. Kiprof
R. Kirner
M. Kisiel-Dorohinicki
J. Kitowski
C.R. Kleijn
M. Kluge
upfer
A. Kn
I.S. Ko
Y. Ko
XIV
Organization
R. Kobler
B. Koblitz
G.A. Kochenberger
M. Koda
T. Koeckerbauer
M. Koehler
I. Kolingerova
V. Korkhov
T. Korkmaz
L. Kotulski
G. Kou
J. Kozlak
M. Krafczyk
D. Kranzlm
uller
B. Kryza
V.V. Krzhizhanovskaya
M. Kunze
D. Kurzyniec
E. Kusmierek
S. Kwang
Y. Kwok
F. Kyriakopoulos
H. Labiod
A. Lagana
H. Lai
S. Lai
Z. Lan
G. Le Mahec
B.G. Lee
C. Lee
H.K. Lee
J. Lee
J. Lee
J.H. Lee
S. Lee
S.Y. Lee
V. Lee
Y.H. Lee
L. Lefevre
L. Lei
F. Lelj
A. Lesar
D. Lesthaeghe
Z. Levnajic
A. Lewis
A. Li
D. Li
D. Li
E. Li
J. Li
J. Li
J.P. Li
M. Li
P. Li
X. Li
X.M. Li
X.S. Li
Y. Li
Y. Li
J. Liang
L. Liang
W.K. Liao
X.F. Liao
G.G. Lim
H.W. Lim
S. Lim
A. Lin
I.C. Lin
I-C. Lin
Y. Lin
Z. Lin
P. Lingras
C.Y. Liu
D. Liu
D.S. Liu
E.L. Liu
F. Liu
G. Liu
H.L. Liu
J. Liu
J.C. Liu
R. Liu
S.Y. Liu
W.B. Liu
X. Liu
Y. Liu
Y. Liu
Y. Liu
Y. Liu
Y.J. Liu
Y.Z. Liu
Z.J. Liu
S.-C. Lo
R. Loogen
B. Lopez
A. Lopez Garca de
Lomana
F. Loulergue
G. Lu
J. Lu
J.H. Lu
M. Lu
P. Lu
S. Lu
X. Lu
Y.C. Lu
C. Lursinsap
L. Ma
M. Ma
T. Ma
A. Macedo
N. Maillard
M. Malawski
S. Maniccam
S.S. Manna
Z.M. Mao
M. Mascagni
E. Mathias
R.C. Maurya
V. Maxville
A.S. McGough
R. Mckay
T.-G. MCKenzie
K. Meenal
R. Mehrotra
M. Meneghin
F. Meng
M.F.J. Meng
E. Merkevicius
M. Metzger
Z. Michalewicz
J. Michopoulos
J.-C. Mignot
R. mikusauskas
H.Y. Ming
Organization
G. Miranda Valladares
M. Mirua
G.P. Miscione
C. Miyaji
A. Miyoshi
J. Monterde
E.D. Moreno
G. Morra
J.T. Moscicki
H. Moshkovich
V.M. Moskaliova
G. Mounie
C. Mu
A. Muraru
H. Na
K. Nakajima
Y. Nakamori
S. Naqvi
S. Naqvi
R. Narayanan
A. Narjess
A. Nasri
P. Navaux
P.O.A. Navaux
M. Negoita
Z. Nemeth
L. Neumann
N.T. Nguyen
J. Ni
Q. Ni
K. Nie
G. Nikishkov
V. Nitica
W. Nocon
A. Noel
G. Norman
Nuall
B. O
ain
N. OBoyle
J.T. Oden
Y. Ohsawa
H. Okuda
D.L. Olson
C.W. Oosterlee
V. Oravec
S. Orlando
F.R. Ornellas
A. Ortiz
S. Ouyang
T. Owens
S. Oyama
B. Ozisikyilmaz
A. Padmanabhan
Z. Pan
Y. Papegay
M. Paprzycki
M. Parashar
K. Park
M. Park
S. Park
S.K. Pati
M. Pauley
C.P. Pautasso
B. Payne
T.C. Peachey
S. Pelagatti
F.L. Peng
Q. Peng
Y. Peng
N. Petford
A.D. Pimentel
W.A.P. Pinheiro
J. Pisharath
G. Pitel
D. Plemenos
S. Pllana
S. Ploux
A. Podoleanu
M. Polak
D. Prabu
B.B. Prahalada Rao
V. Prasanna
P. Praxmarer
V.B. Priezzhev
T. Priol
T. Prokosch
G. Pucciani
D. Puja
P. Puschner
L. Qi
D. Qin
H. Qin
K. Qin
R.X. Qin
X. Qin
G. Qiu
X. Qiu
J.Q. Quinqueton
M.R. Radecki
S. Radhakrishnan
S. Radharkrishnan
M. Ram
S. Ramakrishnan
P.R. Ramasami
P. Ramsamy
K.R. Rao
N. Ratnakar
T. Recio
K. Regenauer-Lieb
R. Rejas
F.Y. Ren
A. Rendell
P. Rhodes
J. Ribelles
M. Riedel
R. Rioboo
Y. Robert
G.J. Rodgers
A.S. Rodionov
D. Rodrguez Garca
C. Rodriguez Leon
F. Rogier
G. Rojek
L.L. Rong
H. Ronghuai
H. Rosmanith
F.-X. Roux
R.K. Roy
U. R
ude
M. Ruiz
T. Ruofeng
K. Rycerz
M. Ryoke
F. Safaei
T. Saito
V. Sakalauskas
XV
XVI
Organization
L. Santillo
R. Santinelli
K. Sarac
H. Saraan
M. Sarfraz
V.S. Savchenko
M. Sbert
R. Schaefer
D. Schmid
J. Schneider
M. Schoeberl
S.-B. Scholz
B. Schulze
S.R. Seelam
B. Seetharamanjaneyalu
J. Seo
K.D. Seo
Y. Seo
O.A. Serra
A. Sfarti
H. Shao
X.J. Shao
F.T. Sheldon
H.Z. Shen
S.L. Shen
Z.H. Sheng
H. Shi
Y. Shi
S. Shin
S.Y. Shin
B. Shirazi
D. Shires
E. Shook
Z.S. Shuai
M.A. Sicilia
M. Simeonidis
K. Singh
M. Siqueira
W. Sit
M. Skomorowski
A. Skowron
P.M.A. Sloot
M. Smolka
B.S. Sniezynski
H.Z. Sojka
A.E. Solomonides
C. Song
L.J. Song
S. Song
W. Song
J. Soto
A. Sourin
R. Srinivasan
V. Srovnal
V. Stankovski
P. Sterian
H. Stockinger
D. Stokic
A. Streit
B. Strug
P. Stuedi
A. St
umpel
S. Su
V. Subramanian
P. Suganthan
D.A. Sun
H. Sun
S. Sun
Y.H. Sun
Z.G. Sun
M. Suvakov
H. Suzuki
D. Szczerba
L. Szecsi
L. Szirmay-Kalos
R. Tadeusiewicz
B. Tadic
T. Takahashi
S. Takeda
J. Tan
H.J. Tang
J. Tang
S. Tang
T. Tang
X.J. Tang
J. Tao
M. Taufer
S.F. Tayyari
C. Tedeschi
J.C. Teixeira
F. Terpstra
C. Te-Yi
A.Y. Teymorian
D. Thalmann
A. Thandavan
L. Thompson
S. Thurner
F.Z. Tian
Y. Tian
Z. Tianshu
A. Tirado-Ramos
A. Tirumala
P. Tjeerd
W. Tong
A.S. Tosun
A. Tropsha
C. Troyer
K.C.K. Tsang
A.C. Tsipis
I. Tsutomu
A. Turan
P. Tvrdik
U. Ufuktepe
V. Uskov
B. Vaidya
E. Valakevicius
I.A. Valuev
S. Valverde
G.D. van Albada
R. van der Sman
F. van Lingen
A.J.C. Varandas
C. Varotsos
D. Vasyunin
R. Veloso
J. Vigo-Aguiar
J. Vill`
a i Freixa
V. Vivacqua
E. Vumar
R. Walentkynski
D.W. Walker
B. Wang
C.L. Wang
D.F. Wang
D.H. Wang
Organization
F. Wang
F.L. Wang
H. Wang
H.G. Wang
H.W. Wang
J. Wang
J. Wang
J. Wang
J. Wang
J.H. Wang
K. Wang
L. Wang
M. Wang
M.Z. Wang
Q. Wang
Q.Q. Wang
S.P. Wang
T.K. Wang
W. Wang
W.D. Wang
X. Wang
X.J. Wang
Y. Wang
Y.Q. Wang
Z. Wang
Z.T. Wang
A. Wei
G.X. Wei
Y.-M. Wei
X. Weimin
D. Weiskopf
B. Wen
A.L. Wendelborn
I. Wenzel
A. Wibisono
A.P. Wierzbicki
R. Wism
uller
F. Wolf
C. Wu
C. Wu
F. Wu
G. Wu
J.N. Wu
X. Wu
X.D. Wu
Y. Wu
Z. Wu
B. Wylie
M. Xavier Py
Y.M. Xi
H. Xia
H.X. Xia
Z.R. Xiao
C.F. Xie
J. Xie
Q.W. Xie
H. Xing
H.L. Xing
J. Xing
K. Xing
L. Xiong
M. Xiong
S. Xiong
Y.Q. Xiong
C. Xu
C.-H. Xu
J. Xu
M.W. Xu
Y. Xu
G. Xue
Y. Xue
Z. Xue
A. Yacizi
B. Yan
N. Yan
N. Yan
W. Yan
H. Yanami
C.T. Yang
F.P. Yang
J.M. Yang
K. Yang
L.T. Yang
L.T. Yang
P. Yang
X. Yang
Z. Yang
W. Yanwen
S. Yarasi
D.K.Y. Yau
XVII
P.-W. Yau
M.J. Ye
G. Yen
R. Yi
Z. Yi
J.G. Yim
L. Yin
W. Yin
Y. Ying
S. Yoo
T. Yoshino
W. Youmei
Y.K. Young-Kyu Han
J. Yu
J. Yu
L. Yu
Z. Yu
Z. Yu
W. Yu Lung
X.Y. Yuan
W. Yue
Z.Q. Yue
D. Yuen
T. Yuizono
J. Zambreno
P. Zarzycki
M.A. Zatevakhin
S. Zeng
A. Zhang
C. Zhang
D. Zhang
D.L. Zhang
D.Z. Zhang
G. Zhang
H. Zhang
H.R. Zhang
H.W. Zhang
J. Zhang
J.J. Zhang
L.L. Zhang
M. Zhang
N. Zhang
P. Zhang
P.Z. Zhang
Q. Zhang
XVIII
Organization
S. Zhang
W. Zhang
W. Zhang
Y.G. Zhang
Y.X. Zhang
Z. Zhang
Z.W. Zhang
C. Zhao
H. Zhao
H.K. Zhao
H.P. Zhao
J. Zhao
M.H. Zhao
W. Zhao
Z. Zhao
L. Zhen
B. Zheng
G. Zheng
W. Zheng
Y. Zheng
W. Zhenghong
P. Zhigeng
W. Zhihai
Y. Zhixia
A. Zhmakin
C. Zhong
X. Zhong
K.J. Zhou
L.G. Zhou
X.J. Zhou
X.L. Zhou
Y.T. Zhou
H.H. Zhu
H.L. Zhu
L. Zhu
X.Z. Zhu
Z. Zhu
M. Zhu.
J. Zivkovic
A. Zomaya
E.V. Zudilova-Seinstra
Workshop Organizers
Sixth International Workshop on Computer Graphics and Geometric
Modelling
A. Iglesias, University of Cantabria, Spain
Fifth International Workshop on Computer Algebra Systems and
Applications
A. Iglesias, University of Cantabria, Spain,
A. Galvez, University of Cantabria, Spain
PAPP 2007 - Practical Aspects of High-Level Parallel Programming
(4th International Workshop)
A. Benoit, ENS Lyon, France
F. Loulerge, LIFO, Orlans, France
International Workshop on Collective Intelligence for Semantic and
Knowledge Grid (CISKGrid 2007)
N.T. Nguyen, Wroclaw University of Technology, Poland
J.J. Jung, INRIA Rh
one-Alpes, France
K. Juszczyszyn, Wroclaw University of Technology, Poland
Simulation of Multiphysics Multiscale Systems, 4th International
Workshop
V.V. Krzhizhanovskaya, Section Computational Science, University of
Amsterdam, The Netherlands
A.G. Hoekstra, Section Computational Science, University of Amsterdam,
The Netherlands
Organization
XIX
XX
Organization
Organization
XXI
XXII
Organization
17
25
33
41
sler
Erkan Ulker
and Veysi I
49
57
65
73
81
89
XXIV
97
105
114
122
130
Eduardo J. Alvarez,
Celso Campos, Silvana G. Meire,
Ricardo Quir
os, Joaquin Huerta, and Michael Gould
138
146
150
154
158
162
166
170
178
XXV
186
194
203
211
219
227
235
243
251
Algimantas Cepulkauskas,
Regina Kulvietiene,
Genadijus Kulvietis, and Jurate Mikucioniene
259
263
268
272
XXVI
280
288
296
304
312
319
327
331
335
339
347
355
XXVII
363
370
378
386
393
397
401
409
415
423
431
439
447
XXVIII
455
462
470
478
482
486
490
494
499
503
511
515
523
XXIX
531
538
542
550
558
562
569
577
585
593
601
609
XXX
617
625
633
Milovan Suvakov
and Bosiljka Tadic
641
649
657
665
673
681
689
696
704
712
720
XXXI
728
736
744
752
760
768
776
784
792
799
808
815
823
XXXII
831
839
847
855
864
872
880
888
896
904
912
920
928
936
XXXIII
944
952
956
960
966
970
974
978
982
990
997
XXXIV
XXXV
1 Introduction
Augmented reality is an area of technology that has originated in virtual reality. While
virtual reality offers a virtual world in which users are completely immersed,
augmented reality offers virtual objects on the basis of real world images. At present,
augmented reality technology is being researched and applied to various areas
including the military, medicine, education, construction, game, and broadcasting.
This paper studied on the development of a realistic simulated training model through
the display of virtual targets in the input images of CCD camera mounted in a tank
and the determination of occlusion areas generated from the creation and movement
of virtual objects through a movement path according to a scenario. Augmented
reality has three general characteristics: image registration, interaction, and real
time[1]. Image registration refers to the matching of the locations of the real world
object that users watch and the related virtual object, real time refers to the real time
image registration and interaction. Interaction implies that the combination of virtual
objects and the objects in real images must be harmonized with surrounding
environment in a realistic manner, and refers to the determination of occlusion areas
according to the changed location or line of sight of the observer or the re-rendering
of virtual objects after detection of collisions. However, to solve the problems of
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 1 8, 2007.
Springer-Verlag Berlin Heidelberg 2007
occlusion such as the hiding of farther virtual objects by closer objects and the
covering of objects in real images by other objects, the two worlds must be accurately
coordinated and then the depth of the actual scene must be compared with the depth
of virtual objects[2][3]. But if the accuracy or density of the created map is
insufficient to estimate the boundary of occlusion area, it is difficult to determine the
occlusion area. To solve this problem, first, we created a 3D wireframe using the
DEM of the experiment area and then coordinate this using CCD camera images and
visual clues. Second, to solve the problem of occlusion by accurately estimating the
boundary regardless of the density of map, this paper also proposed a method to
obtain the reference 3D information of the occlusion points using the Snake algorithm
and the Picking algorithm and then to infer the 3D information of other boundaries
using the proportional relations between 2D and 3D DEMs. Third, for improving
processing speed, we suggest a method by comparing the MER(Minimum Enclosing
Rectangle) area of the object in the cameras angle of vision and the MER of the
virtual target. Fig. 1 shows the proposed system framework.
2 Methodology
2.1 Formation of Wireframe Using DEM and Registration with Real Images
Using Visual Clues
The topographical information DEM (Digital Elevation Model) is used to map the
real world coordinates to each point of the 2D CCD image. DEM has information on
the latitude and longitude coordinates expressed in X and Y and heights in fixed
interval. The DEM used for this experiment is a grid-type DEM which had been
produced to have the height information for 2D coordinates in 1M interval for the
limited experiment area of 300 m x 300 m. The DEM data are read to create a mesh
with the vertexes of each rectangle and a wireframe with 3D depth information as
Fig. 2[4][5]. This is overlaid on the sensor image to check the coordination, and visual
clues are used to move the image to up, down, left or right as shown in Fig. 3, thus
reducing error. Based on this initial coordinated location, the location changes by
movement of vehicles were frequently updated using GPS (Global Positioning
System) and INS (Inertial Navigation System).
()
= 2.0 , respectively.
(1)
The first term is the energy function that represents the continuity of the snake
vertexes surrounding the occlusion area and the second term is the energy function
that controls the smoothness of the curve forming the snake, of which the value
increases along with the curvature, enabling the detection of corner points. Lastly,
Eimage is a image feature function. All energy functions are normalized to have a
value between 1 and 0. As shown in Table 1, this algorithm extracts the outline by
repeatedly performing the energy minimization algorithm which sets a 3 pixels x3
pixels window at each vertex v(i ) , finds positions where energy is minimized in
consideration of the continuity between previous and next vertexes, curvature, and
edge strength, and then moves the vertexes to the positions.
Table 1. Snake Algorithm
PB = (PxB , Py B , PzB ),
Pk
is
PB is 3D correspondence point of S B ,
a
point
except
reference
point,
'
pm that passes the center of the screen using the coordinates of the
'
reference point obtained above, t must be obtained first. As the t value is given by
To get
in Expression (2).
B = sin 1 (
To get
tm,
PyB
t
), t ' = t B cos ( B )
t' = t'
(2)
B = tan 1 (
Because t m
PxB
t'
), t ' = t m cos (B ) , t m =
t'
cos (B )
tm = t m
(3)
= p zm , Pm = (0,0, t m ) .
Now, we can present the relation between the 2D screen view in Fig. 5 and the 3D
space coordinates, and this can be used to get pk , which corresponds to the 2D snake
vertex.
S B : PB = S k : Pk , S xB : PxB = S xk : Pxk ,
Pxk =
PxB S xk
S xB
, S yB
PyB S yk
(4)
S yB
minimum rectangle that can enclose the object and determines the object that has an
overlapping area by comparing the objects in the camera image and the MER of the
virtual target. In addition, the distance between object and virtual target is obtained
using the fact that the determined object and virtual target are placed more or less in a
straight line from the camera, and this value was used to determine whether there
exists an object between the virtual target and the camera.
3 Experimental Results
Fig. 6(left) shows movement path of the virtual target which trainee sets. Also, (right)
shows the various virtual targets created to display the targets changing with
movement on the image.
Fig. 6.
Fig. 7 shows the virtual images moving along the path by frame. We can see that as
the frames increase, it is occluded between the tank and the object.
Table 2 compares between the case of using snake vertexes to select objects in the
image to compare with virtual targets and the case of using the proposed MER. With
the proposed method, the processing speed decreased by 1.671, which contributed to
performance improvement.
Method
Snake vertexes
MER(proposed)
Total frame
301
301
Used object
10
10
Speed(sec)
112
67
4 Conclusions
To efficiently solve the problem of occlusion that occurs when virtual targets are
moved along the specified path over an actual image, we created 3D virtual world
using DEM and coordinated this using camera images and visual clues. Moreover, the
Snake algorithm and the Picking algorithm were used to extract an object that is close
to the original shape to determine the 3D information of the point to be occluded. To
increase the occlusion processing speed, this paper also used the method of using the
3D information of the MER area of the object, and proved the validity of the proposed
method through experiment. In the future, more research is required on a more
accurate extracting method for occlusion area that is robust against illumination as
well as on the improvement of operation speed.
Acknowledgement
This work was supported by the Korea Research Foundation Grant funded by the
Korean Government(MOEHRD)(KRF-2006-005-J03801).
References
[1] Bimber, O. and Raskar, R.,Spatial Augmented Reality: A Modern Approach to Augmented
Reality, Siggraph 2005, Los Angeles USA
[2] J. Yong Noh and U. Neumann. Expression cloning. In SIGGRAPH'01, pages 277-288,
2001.
[3] E. Chen. Quicktime VR-an image-based approach to virtual environment navigation. Proc.
of SIGGRAPH, 1995.
[4] Lilian Ji, Hong Yan, "Attractable snakes based on the greedy algorithm for contour
extraction", Pattern Recognition 35, pp.791-806 (2002)
[5] Charles C. H. Lean, Alex K. B. See, S. Anandan Shanmugam, "An Enhanced Method for
the Snake Algorithm," icicic, pp. 240-243, First International Conference on Innovative
Computing, Information and Control - Volume I (ICICIC'06), 2006
[6] Wu, S.-T., Abrantes, M., Tost, D., and Batagelo, H. C. 2003. Picking and snapping for 3d
input devices. In Proceedings of SIBGRAPI 2003, 140-147.
1 Introduction
The level-set method is a numerical technique for tracking interfaces and shapes[1].
The advantage of the level-set method is that one can perform numerical computations involving curves and surfaces on a fixed Cartesian grid without having to parameterize these objects. In addition, the level-set method makes it easy to follow
shapes which change topology. All these make the level-set method a great tool for
modeling time-varying objects. Thus, deformable iso-surfaces modeled by level-set
method have demonstrated a great potential in visualization for applications such as
segmentation, surface processing, and surface reconstruction. However, the use of
level sets in visualization has a limitation in their high computational cost and reliance
on significant parameter tuning.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 9 16, 2007.
Springer-Verlag Berlin Heidelberg 2007
10
Several methods have been suggested for accelerate the computation time. Adalsteinson and Sethian [2] have proposed the narrow band method, which only computes the points near the front at each time step. Thus it is more efficient than the
standard level-set approach. However, the computational time is still large, especially when the image size is large. Paragios and Deriche introduced the Hermes
algorithm which propagates in a small window each time to achieve a much faster
computation. Sethian [3] presented a monotonically advancing scheme. It is restricted to a one directional speed term and the fronts geometric properties are
omitted. Unfortunately, the stop criteria have to be decided carefully so that the
front will not exceed the boundary. Whitaker[4] proposed the sparse-field method,
which introduces a scheme in which updates are calculated only on the wavefront,
and several layers around that wavefront are updated via a distance transform at
each iteration.
To overcome those limitations of software-based level-set methods, we propose an
efficient graphics hardware-based method to segment and visualize level set surfaces
as interactive rates.
11
12
In level-set method, the page including front is changed as front is increased or decreased. To manage these pages, activation and inactivation is performed as shown in
Fig. 3. The activation process is occurred when evolving front use the inactive page in
texture memory. At this process, main memory asks new page of texture memory to
available page stack. Then top page of available page stack is popped as shown in Fig.
3(a). The inactivation process is occurred when evolving front is departed from active pages of texture memory. As shown in Fig. 3(b), main memory asks the removal
of active page to texture memory, and the removed active page is pushed to available
page stack.
(a)
(b)
Fig. 3. The process of page activation and inactivation (a) page activation process (b) page
inactivation process
During level-set computation in GPU, partial differential equation is computed using information of current and neighbor pixels. In case of referring inside pixel of
page in texture memory, PDE can be calculated without preprocessing. In case of
referring boundary pixel of page, neighbor page should be referred to know information of neighbor pixel. However, it is difficult to know such information during PDE
calculation in GPU. In the case, vertex buffer is created in CPU to save the location of
current and neighbor pixels. For this, we define nine different cases as shown in Fig. 4.
In 1st, 3rd, 5th, 7th vertices, two pages neighbor to them are referred to know and save
the location of neighbor pixel to vertex buffer with the location of current pixel.
In 2nd, 4th, 6th, 8th vertices, one page neighbor to them are referred. In 9th vertex, the
13
location of current is saved to vertex buffer without referring of neighbor page. The
location of neighbor pixel is calculated using page table and inverse page table
like Eq. (1).
Taddr
PageSize
M num = InversePageTable(Tnum )
neighbor ( M num ) = M num + neighborOffset
neighbor (Tnum ) = PageTable(neighbor ( M num ))
Tnum =
(1)
where Tnum is page number in texture memory, Taddress is page address in texture memory, M num is page number in main memory, PageSize is defined in 16 x 16.
2.2 Level-Set Solver
The efficient solution of the level set PDEs relies on updating only those voxels that
are on or near the iso-surface. The narrow band and sparse field methods achieve this
by operating on sequences of heterogeneous operations. For instance, the sparse-field
method keeps a linked list of active voxels on which the computation is performed.
However, the maximum efficiency for computing on GPU is achieved when homogeneous operations are applied to each pixel. To apply different operations to each pixel
in page has a burden in CPU-to-GPU message passing. To run efficiently on GPUs,
our level-set solver applies heterogeneous operations to nine different cases divided in
creation of vertex buffer.
Fig. 5 shows that vertex buffer is transferred to GPU during vertex shading, which
is divided into apex (1st, 3rd, 5th, 7th), edge (2nd, 4th, 6th, 8th) and the inner parts (9th).
Sixteen vertex buffers which include the location of four different apex points for the
apex case, eight ends points for the edge case, and four apex points for the inner case
are transferred. Then level-set computations are achieved by using Eq. (2) and (3).
D( I ) = | I T |
= | | D( I )
(2)
(3)
14
where I is the intensity value of the image, D(I) is speed function, is level-set value,
T and is the average intensity value and standard deviation of segmenting region,
respectively.
3 Experimental Result
All our implementation and tests were performed using a general computer equipped
with an Intel Pentium 4, 2.4 GHz CPU and 1GB memory. The graphics hardware was
ATI Radeon 9600 GPU with 256 MB of memory. The programs are written in the
15
DirectX shader program language. Our method was applied to each unilateral lung of
two chest CT datasets to evaluate its accuracy and processing time. The volume resolution of each unilateral lung is 512 x 256 x 128. For packing active pages, the size of
2D texture memory is 2048 x 2048. Fig. 6 and 7 show how our method segment accurately in two- and three-dimensionally. The segmented lung boundary is presented in
red. In Fig. 7, original volume with level set surfaces is visualized by using maximum
intensity projection.
We have compared our technique with software-based level-set method under the
same condition. Table 1 shows a comparison of the total processing time using the 2
different techniques. The total processing time includes times for performing page management and level-set computations. As shown in Table 1, our method is over 3.4 times
faster than software-based level set method. In particular, our method for computing
level set PDE is over 14 times faster than that of software-based level set method.
Table 1. The comparison results of total processing time using two different techniques.
(sec)
Page
Level set
Total
Dataset
Average
Method
manager
solver
processing time
AL
0.38
0.068
0.45
Proposed graphAR
0.37
0.066
0.44
ics hardware0.44
BL
0.38
0.073
0.45
based method
BR
0.36
0.067
0.43
AL
0.54
0.93
1.47
Software-based
AR
0.55
0.94
1.49
1.48
method
BL
0.55
0.94
1.49
BR
0.54
0.93
1.47
L: left lung, R: right lung
4 Conclusion
We have developed a new tool for interactive segmentation and visualization of level
set surfaces on graphics hardware. Our memory manager helps managing the packing
16
of the active data. A dynamic, packed texture format allows the efficient processing of
time-dependent, sparse GPU computations. While the GPU updates the level set, it
renders the surface model directly from this packed texture format. Our method was
over 3.4 times faster than software-based level set method. In particular, our method
for computing level set PDE was over 14 times faster than that of software-based
level set method. The average of total processing time of our method was 0.6 seconds.
The computation time for memory management took almost times in total processing
time. Experimental results show that our solution is much faster than previous optimized solutions based on software technique.
Acknowledgement
This study is supported in part by Special Basic Research Program grant R01-2006000-11244-0 under the Korea Science and Engineering Foundation and in part by
Seoul R&D Program.
References
1. Osher S, Sethian J.A., Front propagating with curvature dependant speed: algorithms based
on Hamilton-Jacobi formulation, Journal of Computational Physics, Vol. 79 (1988) 12-49.
2. Adalsteinson D, Sethian J.A., A fast level set method for propagating interfaces, Journal of
Computational Physics (1995) 269-277.
3. Sethian J.A., A fast matching level set method for monotonically advancing fronts, Proc.
Natl. Acad. Sci. USA Vol. 93 (1996) 1591-1595.
4. Whitaker R., A level-set approach to 3D reconstruction from range data, International Journal of Computer Vision (1998) 203-231.
1 Introduction
Parameterization is an important problem in Computer Graphics and has applications
in many areas, including texture mapping [1], scattered data and surface fitting [2],
multi-resolution modeling [3], remeshing [4], morphing [5], etc. Due to its importance
in mesh applications, the subject of mesh parameterization has been well studied.
Parameterization of a polygonal mesh in 3D space is the process of constructing a
one-to-one mapping between the given mesh and a suitable 2D domain. Two major
paradigms used in mesh parameterization are energy functional minimization and the
convex combination approach. Maillot proposed a method to minimize the norm of
the Green-Lagrange deformation tensor based on elasticity theory [6]. The harmonic
embedding used by Eck minimizes the metric dispersion instead of elasticity [3].
Lvy proposed an energy functional minimization method based on orthogonality and
homogeneous spacing [7]. Non-deformation criterion is introduced in [8] with
extrapolation capabilities. Floater [9] proposed shape-preserving parameterization,
where the coefficients are determined by using conformal mapping and barycentric
coordinates. The harmonic embedding [3,10] is also a special case of this approach,
except that the coefficients may be negative.
However, these techniques are developed mainly for triangular mesh
parameterization. Parameterization of quadrilateral meshes, on the other hand, is
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 1724, 2007.
Springer-Verlag Berlin Heidelberg 2007
18
actually a more critical problem because quadrilateral meshes, with their good
properties, are preferred in finite element analysis than triangular meshes.
Parameterization techniques developed for triangle meshes are not suitable for
quadrilateral meshes because of different connectivity structures.
In this paper, we present a parameterization technique for non-closed quadrilateral
meshes through a simplify-project-embed process. The algorithm has the following
advantages:(1) the method provably produces good parameterization results for any
non-closed quadrilateral mesh that can be mapped to the 2D plane; (2) the method
minimizes the distortion of both angle and area caused by parameterization; (3) the
solution does not place any restrictions on the boundary shape; (4) since the
quadrilateral meshes are simplified, the method is fast and efficient.
The remaining part of this paper is organized as follows. The new model and the
algorithm are presented in detail in Section 2. Test results of the new algorithm are
shown in Section 3. Concluding remarks are given in Section 4.
2 Parameterization
Given a non-closed quadrilateral mesh, the parameterization process consists of four
steps. The first step is to get a simplified version of the mesh by keeping the boundary
and interior vertices with high Gaussian curvature, but deleting interior vertices with
low Gaussian curvature. The second step is to map the simplified mesh onto a 2D
domain through a global parameterization process. The third step is to embed the
deleted interior vertices onto the 2D domain through a weighted discrete mapping.
This mapping preserves angles and areas and, consequently, minimizes angle and area
distortion. The last step is to perform an optimization process of the parameterization
process to eliminate overlapping. Details of these steps are described in the
subsequent sections.
For a given vertex v in a quadrilateral mesh, the one-ring neighbouring vertices of
the vertex v are the vertices that share a common face with v . A one-ring
neighboring vertex of the vertex v is called an immediate neighboring vertex if this
vertex shares a common edge with v . Otherwise, it is called a diagonally neighboring
vertex.
2.1 Simplification Algorithm
The computation process, as well as the distortion, may be too large if the entire
quadrilateral mesh is projected onto the plane. To speed up the parameterization and
minimize the distortion, we simplify the mesh structure by reducing the number of
interior vertices but try to retain a good approximation of the original shape and
appearance. The discrete curvature is one of the good criteria of simplification while
preserving the shape of an original model.
In spite of the extensive use of quadrilateral meshes in geometric modeling and
computer graphics, there is no agreement on the most appropriate way to estimate
geometric attributes such as curvature on discrete surfaces. By thinking of a
19
K = K = 2
s
(1)
i =1
where i is the angle between two successive edges. To derive the curvature from the
integral values, we assume the curvature to be uniformly distributed around the vertex
and simply normalized by the area
K=
K
.
S
(2)
where S is the sum of the areas of adjacent faces around the vertex v . Different
ways of defining the area S result in different curvature values. We use the Voronoi
area, which sums up the areas of vertex v s local Voronoi cells. To determine the
areas of the local Voronoi cells restricted to a triangle, we distinguish obtuse and nonobtuse triangles as shown in Fig. 1. In the latter case they are given by
SA =
1
( vi v k
8
cot( i ) + v i v j
cot( i )) .
(3)
SB =
1
vi v k
8
tan( i ), S C =
1
vi v j
8
tan( i ), S A = S S B S C .
(4)
A vertex deletion means the deletion of a vertex with low Gaussian curvature and
the incident edges. During the simplification process, we can adjust the tolerance
value to control the number of vertices reduced.
(a)
(b)
(c)
Fig. 1. Voronoi area. (a) Voronoi cells around a vertex; (b) Non-obtus angle; (c) Obtus angle.
20
1
1
2 {i , j}Edge v v
i
j
ui u j , r 0 .
(5)
where Edge is the edge set of the simplified mesh. The coefficients can be chosen in
different ways by adjusting r . This global parameterization process is performed on a
simplified mesh (with less vertices), so it is different from the global parameterization
and the fixed-boundary parameterization of triangular meshes.
2.3 Local Parameterization
After the boundary and interior vertices with high Gaussian curvature are mapped
onto a 2D plane, those vertices with low curvature, are embedded back onto the
parametrization plane. This process has great impact on the result of the
parametrization. Hence, it should preserve as many of the intrinsic qualities of a mesh
as possible. We need to define what it means by intrinsic qualities for a discrete mesh.
In the following, the minimal distortion means best preservation of these qualities.
2.3.1 Discrete Conformal Mapping
Conformal parameterization preserves angular structure, and is intrinsic to the
geometry and stable with respect to small deformations. To flatten a mesh onto a twodimensional plane so that it minimizes the relative distortion of the planar angles with
respect to their counterparts in the 3D space, we introduce an angle-based energy
function as follows
EA =
jN (i )
(cot
ij
4
+ cot
ij
4
) ui u j
(6)
the left and opposite angles of vi , as shown in Fig. 2-(a). The coefficients in the
21
formula (6) are always positive, which reduces the overlapping in the 2D mesh. To
minimize the discrete conformal energy, we get a discrete quadratic energy in the
parameterization and it depends only on the angles of the original surface.
2.3.2 Discrete Authalic Mapping
Authalic mapping preserves the area as much as possible. A quadrilateral mesh in 3D
space usually is not flat, so we cannot get an exact area of each quadrilateral patch. To
minimize the area distortion, we divide each quadrilateral patch into four triangular
parts and preserve the areas of these triangles respectively. For instance, in Fig. 2-(b)
the quadrilateral mesh vi v j v k v j +1 is divided into triangular meshes v i v j v j +1 ,
Ex =
jN (i )
(cot
ij
2
+ cot
vi v j
ij
2
ui u j
(7)
where ij , ij are corresponding angles of the edge (vi , v j ) as shown in Fig. 2-(c).
The parameterization deriving from E x is easily obtained, and the way to solve this
system is similar to that of the discrete conformal mapping, but the linear coefficients
now are functions of local areas of the 3D mesh.
(a)
(b)
(c)
Fig. 2. Edge and angles. (a) Edge and opposite left angles in the conformal mapping; (b)
Quadrilateral mesh divided into four triangles; (c) Edge and angles in the authalic mapping.
22
mesh would locally be preserved, the shape tends to be distorted since the mapping
from 3D to 2D will in general generate twisted distortion.
To minimize the distortion and get better parameterization results, we define linear
combinations of the area and the angle distortions as the distortion measures. It turns
out that the family of admissible, simple distortion measures is reduced to linear
combinations of the two discrete distortion measures defined above. A general
distortion measure can thus always be written as
E = qE A + (1 q) E X .
(8)
The above parameterization process does not impose restriction, such as convexity, on
the given quadrilateral mesh. Consequently, overlapping might occur in the projection
process. To eliminate overlapping, we optimize the parameterization mesh by
adjusting vertex location without changing the topology. Mesh optimization is a local
iterative process. Each vertex is optimized for a new location in a number of
iterations.
q
ui . The
optimisation process to find the new location in iterations is the following formula
n
u j q 1 ui q 1
i =1
ui q = ui q 1i (
) + 2 (
i =1
uk q 1 ui q 1
),0 < 1 + 2 < 1 . (9)
n
u j q 1 ui q 1
i =1
= i (
uk q 1 ui q 1
) + 2 (
).
n
i =1
n
(10)
3 Examples
To evaluate the visual quality of a parameterization we use the checkerboard texture
shown in Fig. 3, where the effect of the scaling factor q in Eq. (8) can be found. In
23
(a)
(e)
(b)
(f)
(c)
(g)
(d)
(h)
Fig. 3. Texture mapping. (a) and (e) Models; (b) and (f) Discrete conformal mapping , q=0; (c)
and (g) Weighted discrete mapping , q=0.5; (d) and (h) Discrete Authalic mapping , q=1.
The results demonstrate that the medium value (about 0.5) can get smoother
parameterization and minimal distortion energy of the parameterization. And the
closer q to value 0 or 1, the larger the angle and area distortions are.
4 Conclusions
A parameterization technique for quadrilateral meshes is based on mesh
simplification and weighted discrete mapping is presented. Mesh simplification
24
reduces computation, and the weighted discrete mapping minimizes angle and area
distortion. The scaling factor q of the weighted discrete mapping provides users with
the flexibility of getting appropriate parameterisations according to special
applications, and establishes different smoothness and distortion.
The major drawback in our current implementation is that the proposed approach
may contain concave quadrangles in the planar embedding. It is difficult to make all
of the planar quadrilateral meshes convex, even though we change the triangular
meshes into quadrilateral meshes by deleting edges. In the future work, we will focus
on using a better objective function to obtain better solutions and developing a good
solver that can keep the convexity of the planar meshes.
References
1. Levy, B.: Constrained texture mapping for polygonal meshes. In: Fiume E, (ed.):
Proceedings of Computer Graphics. ACM SIGGRAPH, New York (2001) 417-424
2. Alexa, M.: Merging polyhedron shapes with scattered features. The Visual Computer. 16
(2000): 26-37
3. Eck, M., DeRose, T., Duchamp, T., Hoppe, H., Lounsbery, M., Stuetzle, W.:
Multiresolution analysis of arbitrary meshes. In: Mair, S.G., Cook, R.(eds.): Proceedings
of Computer Graphics. ACM SIGGRAPH, Los Angeles (1995) 173-182
4. Alliez, P., Meyer, M., Desbrun, M.: Interactive geometry remeshing. In: Proceedings of
Computer Graphics.ACM SIGGRAPH, San Antonio (2002) 347-354
5. Alexa, M.: Recent advances in mesh morphing. Computer Graphics Forum. 21(2002)
173-196
6. Maillot, J., Yahia, H., Verroust, A.: Interactive texture mapping. In: Proceedings of
Computer Graphics, ACM SIGGRAPH, Anaheim (1993) 27-34
7. Levy, B., Mallet, J.: Non-distorted texture mapping for sheared triangulated meshes. In:
Proceedings of Computer Graphics, ACM SIGGRAPH, Orlando (1998) 343-352
8. Jin, M., Wang, Y., Yau, S.T., Gu. X.: Optimal global conformal surface parameterization.
In: Proceedings of Visualization, Austin (2004) 267-274
9. Floater, M.S.: Parameterization and smooth approximation of surface triangulations.
Computer Aided Geometric Design.14(1997) 231-250
10. Lee, Y., Kim, H.S., Lee, S.: Mesh parameterization with a virtual boundary. Computer &
Graphics. 26 (2006) 677-686
Abstract. With the rapid increase of available 3D models, content-based 3D retrieval is attracting more and more research interests. Histogram is the most
widely in constructing 3d shape descriptor. Most existing histogram based descriptors, however, will not remain invariant under rigid transform. In this paper, we proposed a new kind of descriptor called poisson shape histogram. The
main advantage of the proposed descriptor is not sensitive for rigid transform. It
can remain invariant under rotation as well. To extract poisson shape histogram,
we first convert the given 3d model into voxel representation. Then, the poisson
solver with dirichlet boundary condition is used to get shape signature for each
voxel. Finally, the poisson shape histogram is constructed by shape signatures.
Retrieving experiments for the shape benchmark database have proven that
poisson shape histogram can achieve better performance than other similar
histogram-based shape representations.
Keywords: 3D shape matching, Pose-Insensitive, Poisson equation, Histogram.
1 Introduction
Recent development in modeling and digitizing techniques has led to a rapid increase
of 3D models. More and more 3D digital models can be accessed freely from Internet
or from other resources. Users can save the design time by reusing existing 3D models. As a consequence, the concept has changed from How do we generate 3D models? to How do we find them?[1]. An urgent problem right now is how to help
people find their desirable 3D models accurately and efficiently from the model databases or from the web. Content-based 3D retrieval aiming to retrieve 3D models by
shape matching has become a hot research topic.
In Content-based 3D retrieval, histogram based representation has been widely
used for constructing shape features[2]. For histogram based representation, it needs
to define shape signatures. The defined shape signature is the most important for
histogram descriptor. It should be invariant to affine transformations such as translation, scaling, rotation and rigid transform. Some rotation invariant shape signatures,
such as curvature, distance et al, have been used for content-based 3d retrieval. Those
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 2532, 2007.
Springer-Verlag Berlin Heidelberg 2007
26
X. Pan et al.
shape signatures are independent of 3d shape rotation. However, little researches are
focusing on extracting invariant shape signatures under rigid transform. Those existing rotation-invariant shape signatures are often sensitive to rigid transform.
In this paper, we propose a new kind of shape signature called poisson shape
measure. It can remain almost invariant under not only rotation transform, but also
rigid transform. The proposed shape signature is based on poisson theory. As one of
the most important PDE theory, it has been widely used for computer vision, computer graphics, analysis of anatomical structures and image processing[3-5]. However, it has not been used for defining 3d shape signature and then content based 3d
retrieval. The process of constructing poisson shape histogram can be concluded as
following: the given 3d model will be first converted into voxel representation. Then,
the poisson solver with dirichlet boundary condition is used to get shape signature for
each voxel. Finally, the poisson shape histogram is constructed by the shape signatures. The comparative study shows poisson shape histogram can achieve better retrieving performance than other similar histogram descriptors.
The remainder of the paper is organized as follows: Section 2 provides a brief review of the related work. Section 3 discusses the poison equation and the related
property. Section 4 discusses how to construct poisson shape histogram. Section 5
provides the experimental results for content-based 3D retrievals. Finally, Section 6
concludes the paper and recommends some future work.
2 Related Work
Previous shape descriptors can be classified into two groups by their characteristics:
namely structural representation and statistical representation. The method proposed
in this paper belongs to statistical representation. This section mainly gives a brief
review on statistical shape description for content-based 3D retrieval. For more details
about structure descriptors and content-based 3D retrieval, please refer to some
survey papers[6-8].
As for statistical representation, the most common approach is to compute geometry signatures of the given model first, such as normal, curvature, distance and so on.
Then, the extracted shape signatures are used to construct histogram. Existing shape
signatures for 3d shape retrieval can be grouped into two types: one is the rotation
invariant shape signatures, and the other is not. For the latter, rotation normalization is
performed prior to the extraction of shape signatures.
Rotation variant shape signatures
Extend Gaussian Image (EGI) defines shape feature by normal distribution over the
sphere[9]. An extension version of EGI is the Complex Extend Gaussian Image
(CEGI)[10], which combines distance and normal for shape descriptor. Shape
histograms defined on shells and sectors around a model centroid is to capture point
distribution[11]. Transform-based shape features can be seen as a post-process of the
original shape signatures. It often can achieve better retrieving accuracy than the
27
3 Poisson Equation
Poissons equation arises in gravitation and electrostatics, and is the fundamental of
mathematical physics. Mathematically, Poissons equation is a second-order elliptic
partial differential equation defined as:
U = 1
(1)
where U is the laplacian operation. The poisson equation is to assign every internal
point a value. As for definition, the poisson equation is somewhat similar with distance transform. The distance transform will assign to every internal point a value that
depends on the relative position of that point within the given shape, which reflects its
minimal distance to the boundary. The poisson equation, however, has a huge difference with distance transform. The poisson is to place a set of particles at the point and
let them move in a random walk until they hit the contour. It measures the mean time
required for a particle to hit the boundaries. Thats to say, the poisson equation will
consider each internal point affected one more boundary points, and will be more
robust again distance transform.
The poisson equation has the potential property in shape analysis. Here we show
some of these properties.
1. Rotation invariant. Poisson equation is independent of the coordinate system over the
entire domain (volume in 3D, and region in 2D). It makes the signature defined by poisson
equation be robust again rotation.
2. Geometry structure related. The poisson equation is correlated to the geometry of the
structure. This correlation gives a mathematical meaning to the shape structure.
28
X. Pan et al.
3. Rigid-transform invariant. Similar with geodesic distance, the poisson equation has a
strong robustness over the rigid transform.
ance respectively.
Pi =
'
Pi
.
3
(2)
'
H = {H 1 , H 2 , " H i , " H 20 }
For two histograms, we use L1-metric to measure their dissimilarity.
(3)
where H1 and H2 denote poisson shape histogram for two models. The bigger value
means two models are more dissimilar.
Section 3 discusses the property of poisson equation, and it shows the poisson
equation will be independent of rigid transform. Figure 1 gives poisson shape histogram for horses under different rigid transform. The poisson shape histogram remains
almost invariant for different rigid transform(the small difference due to the voxelization error). As a comparison, the D2 shape distribution, however, appears to be huge
difference for two models.
29
Fig. 1. Histogram descriptors for above models(Upper: Horses under different rigid-transform.
Lower: The left is the poisson shape histogram for the above two models, and the right is the
D2 shape distribution as well. The difference between poisson shape histograms appear to be
very minor. While the difference of the D2 shape distributions appears to be very obvious).
5 Experiment
Experiments are carried out to test the retrieving performance of poisson shape histogram. All experiments are performed with the hardware Intel Pentium 1.86GHZ,
512M memory. The testing 3D models are Princeton Shape Benchmark database(PSB)[21]. It contains 1804 mesh models, and is classified into two groups. Each
group contains 907 models as well. One is the training set, which is used to get best
retrieving parameters. The other is the testing set for retrieving performance comparison of different shape descriptors. The benchmark also provides different evaluating
criterions for retrieving precision. Here we use Precision-Recall curve to measure the
retrieving accuracy, and the precision-recall measure has been widely used in information retrieval. We first show the time in constructing shape poisson histogram, and
then retrieving accuracy comparison with similar histograms.
As for content-based 3D retrieval, the feature extraction process should be performed quickly. This is very important, especially for practical applications. The
costing time for building poisson shape histogram consists of the following steps:
voxelization, poisson solver and histogram construction. The voxelization time is
almost 0.07s for each model, and the histogram construction is near to 0s. Notice the
time for poisson solver is related with the count of voxel. Table 1 shows the costing
time for different voxel models.
In average, the costing time for poisson shape histogram is about 0.6s. While for
D2 shape distribution, the generating time is about 0.8s.
Next, we will compare the retrieving performance of poisson shape histogram(PSH) with some other histogram based shape descriptors. They are 3D shape
spectrum(3DS), and D2 distance(D2). Figure 2 givens the precision-recall curve for
30
X. Pan et al.
Table 1. The costing time for poisson solver
Voxel models
8624
1.1
6832
0.7
4500
0.4
2306
0.2
Fig. 3. Some retrieving results(For each row, the left model is the query model, and other three
models are the most similar with queried model. Notice the model under different rigid transform can be retrieved correctly).
31
three kinds of shape descriptors. It shows the poisson shape histogram can achieve
best retrieving precision. Some retrieving results are also shown in Figure 3. Notice
those models under different rigid transform can be retrieved correctly.
References
1. T. Funkhouser, P. Min, and M. Kazhdan, A Search Engine for 3D Models. ACM Transactions on Graphics, (2003)(1): 83-105.
2. Ceyhun Burak Akgl, Blent Sankur, Ycel Yemez, et al., A Framework for HistogramInduced 3D Descriptors. European Signal Processing Conference (2006).
3. L. Gorelick, M. Galun, and E. Sharon Shape representation and classification using the
poisson equation. CVPR, (2004): 61-67.
4. Y. Yu, K. Zhou, and D. Xu, Mesh Editing with Poisson-Based Gradient Field Manipulation. ACM SIGGRAPH, (2005).
5. H. Haider, S. Bouix, and J. J. Levitt, Charaterizing the Shape of Anatomical Structures
with Poisson's Equation. IEEE Transactions on Medical Imaging, (2006). 25(10):
1249-1257.
6. J. Tangelder and R. Veltkamp. A Survey of Content Based 3D Shape Retrieval Methods. in
International Conference on Shape Modeling. (2004).
7. N. Iyer, Y. Kalyanaraman, and K. Lou. A reconfigurable 3D engineering shape search
system Part I: shape representation. in CDROM Proc. of ASME 2003. (2003). Chicago.
8. Benjamin Bustos, Daniel Keim, Dietmar Saupe, et al., An experimental effectiveness comparison of methods for 3D similarity search. International Journal on Digital Libraries,
(2005).
9. B. Horn, Extended Gaussian Images. Proceeding of the IEEE, (1984). 72(12): 1671-1686.
32
X. Pan et al.
10. S. Kang and K. Ikeuchi. Determining 3-D Object Pose Using The Complex Extended
Gaussian Image. in International Conference on Computer Vision and Pattern Recognition. (1991).
11. M. Ankerst, G. Kastenmuller, H. P. Kriegel, et al. 3D Shape Histograms for Similarity
Search and Classification in Spatial Databases. in International Symposium on Spatial
Databases. (1999).
12. D. Vranic, 3D Model Retrieval, PH. D Thesis, . 2004, University of Leipzig.
13. D. Y. Chen, X. P. Tian, and Y. T. Shen, On Visual Similarity Based 3D Model Retrieval.
Computer Graphics Forum (EUROGRAPHICS'03), (2003). 22(3): 223-232.
14. R. Osada, T. Funkhouser, B. Chazelle, et al. Matching 3D Models with Shape Distributions. in International Conference on Shape Modeling and Applications. (2001).
15. R. Ohbuchi, T. Minamitani, and T. Takei. Shape-Similarity Search of 3D Models by Using
Enhanced Shape Functions. in Theory and Practice of Computer Graphics. (2003).
16. T. Zaharia and F. Preteux. 3D Shape-based Retrieval within the MPEG-7 Framework. in
SPIE Conference on Nonlinear Image Processing and Pattern Analysis. (2001).
17. Xiang Pan, Yin Zhang, Sanyuan Zhang, et al., Radius-Normal Histogram and Hybrid
Strategy for 3D Shape Retrieval. International Conference on Shape Modeling and Applications, (2005): 374-379.
18. Ran Gal, Ariel Shamir, and Daniel Cohen-Or, Pose Oblivious Shape Signature. IEEE
Transactions of Visualization and Computer Graphics, (2005).
19. E. A. Karabassi, G. Papaioannou , and T. Theoharis, A Fast Depth-buffer-based Voxelization Algorithm. Journal of Graphics Tools, (1999). 4(4): 5-10.
20. S. Toledo, TAUCS: A Library of Sparse Linear Solvers. Tel-Aviv University, 2003.
http://www.tau.ac.il/~stoledo/taucs.
21. P. Shilane, K. Michael, M. Patrick, et al. The Princeton Shape Benchmark. in International
Conference on Shape Modeling. (2004).
Abstract. In this paper, a physically based simulation model for pointsampled surface is proposed based on mass-spring system. First, a
Delaunay based simplication algorithm is applied to the original pointsampled surface to produce the simplied point-sampled surface. Then
the mass-spring system for the simplied point-sampled surface is constructed by using tangent planes to address the lack of connectivity information. Finally, the deformed point-sampled surface is obtained by
transferring the deformation of the simplied point-sampled surface. Experiments on both open and closed point-sampled surfaces illustrate the
validity of the proposed method.
Introduction
34
Z. Su et al.
Related Work
Point-sampled surfaces often consist of thousands or even millions of points sampled from an underlying surface. Reducing the complexity of such data is one of
the key processing techniques. Alexa et al [1] described the contribution value of
a point by estimating its distance to the MLS surface dened by the other sample
points, and the point with the smallest contribution will be removed repeatedly.
Pauly et al [14] extended mesh simplication algorithms to point clouds, and
presented the clustering, iterative, and particle simulation simplication algorithms. Moenning et al [12] devised a coarse-to-ne uniform or feature-sensitive
simplication algorithm with user-controlled density guarantee. We present a
projection based simplication algorithm, which is more suitable for the construction of mass-spring system.
Point based surface representation and editing are popular elds in point
based graphics. Alexa et al [1] presented the now standard MLS surface, in
which the surface is dened as the stationary set of a projection operator. Later
Shachar et al [4] proposed a robust moving least-squares tting with sharp features for reconstructing a piecewise smooth surface from a potentially noisy point
clouds. The displacement transference in our method is similar to moving least
squares projection. Zwicker [21] presented Pointshop3D system for interactive
editing of point-based surfaces. Pauly et al [15] introduced Boolean operations
and free-form deformation of point-sampled geometry. Miao et al [10] proposed
a detail- preserving local editing method for point-sampled geometry based on
the combination of the normal geometric details and the position geometric details. Xiao et al [19,20] presented ecient ltering and morphing methods for
point-sampled geometry. Since the pioneering work of Terzopoulos and his coworkers [18], signicant research eort has been done in the area of physically
based modeling for meshes [5,16]. Recently, Guo and Qin et al [2,6,7,8] proposed
the framework of physically based morphing, animation and simulation system.
M
uller et al [13] presented point based animation of elastic, plastic and melting
objects based on continuum mechanics. Clarenz et al [3] proposed framework
for processing point-based surfaces via PDEs. In this paper, mass-spring system
is constructed directly for the simplied point-sampled surface. The idea of the
present method is similar to [17]. They studied curve deformation, while we focus
on point-sampled surface simulation.
The point-sampled surface consists of n points P = {pi R3 , i = 1, . . . , n} sampled from an underlying surface, either open or closed. Since the normal at any
35
point can be estimated by the eigenvector of the covariance matrix that corresponds to the smallest eigen value [14], without loss of generality, we can assume
that the normal ni at point pi is known as input. Traditional simplication algorithms reserve more sample points in regions of high-frequency, whereas less
sample points are used to express the regions of low-frequency, which is called
adaptivity. However, adaptivity does not necessary bring good results for simulation. An example is shown in Fig. 1, 1a) shows the sine curve and the simplied
curve, force F is applied on the middle of the simplied curve, 1b) shows that
the simulation based on the simplied curve produce the wrong deformation. We
present a Delaunay based simplication algorithm, which is suitable for simulation and convenient for the construction of mass-spring system.
For pi P , the index set of its k-nearest points is denoted by Nik = {i1 , . . . ,
ik }. These points are projected onto the tangent plane at point pi (the plane
passing through pi with normal ni ), and the corresponding projection points
are denoted by q ji , j = 1, . . . , k. 2D Delaunay triangulation is implemented on
the k + 1 projection points. There are two possible cases: 1) pi is not on the
boundary of the surface, 2) pi is on the boundary of the surface, shown as Fig. 2.
Suppose that there are m points {qji r , r = 1, . . . , m} which are connected with
pi in the triangle mesh, the union of the triangles that contain pi is denoted
by Ri whose diameter is di . In either case, if di is less than the user-dened
threshold, pi will be removed. This process is repeated until the desired number
of points is reached or the diameter di for each point exceeds the threshold. The
resulting simplied point set is denoted by S = {sj , j = 1, . . . , ns }, and sj is
called simulation point. It is important to select a proper value of k, too small
k may inuence the quality of simplication, while too big k will increase the
computational cost. In our experiments, preferable is in the interval [10 20].
4
4.1
Since no explicit connectivity information is known for the simplied pointsampled surface, traditional mass-spring system [16] can not be applied directly.
Here the stretching and bending springs are constructed based on the region
Ri corresponding to si . For si S, the vertices of the region Ri are {q ji r , r =
36
Z. Su et al.
1, . . . , m}, which are the projection points of {sji r , r = 1, . . . , m}. Assuming that
q ji r are sorted counter clockwise. The stretching springs link si and sji r and the
j
bending springs connect sji r and si r+2 (Fig. 3). This process is implemented on
each point on S, and the structure of the springs is obtained consequently.
a) Stretching springs for case 1) and 2) b) Bending springs for case 1) and 2)
Fig. 3. The spring structures (dashed lines)
4.2
The mass of si is needed for simulation. Note that in region of low sampling
density, a simulation point si will represent large mass, whereas smaller mass
in region of higher sampling density. Since the area of region Ri reects the
sampling density, the mass of si can be estimated by
mi =
1
SRi
3
(1)
where SRi is the area of region Ri , and is the mass density of the surface.
4.3
Forces
According to the Hookes law, the internal force F s (Si,j ) of spring Si,j linking
two mass points si and sj can be written as
I i,j
s
0
F s (Si,j ) = ki,j I i,j li,j
(2)
I i,j
s
0
where ki,j
is the stiness of spring Si,j , I i,j = sj si , and li,j
is the natural
length of spring Si,j .
37
(3)
d
where ki,j
is the coecient of damping, v j and v i are the velocities of sj and si .
Appling external forces to the mass-spring system yields realistic dynamics.
The gravitational force acting on a mass point si is given by
F g = mi g
(4)
(5)
where kr is the spring constant. Similar to [18], other types of external forces,
such as the eect of viscous uid, can be introduced into our system.
4.4
Simulation
d2 xi
dt2
(6)
(7)
38
Z. Su et al.
k
w (rj ) (uj a0 a1 x
j a2 yj )2
(8)
j=1
where rj is the distance between pi and q ji , w () is a Gaussian weighting function w (rj ) = exp (rj2 /h2 ). Then ui = u (0, 0) = a0 . Similarly, v and w can
be computed. Since the shape of the point-sampled surface is changed due to
the displacements of the sample points, the normal of the underlying surface
will change consequently. The normal can be computed by the covariance analysis as mentioned above. The point sampling density will be changed due to
the deformation, we use the resampling scheme of [1] to maintain the surface
quality.
Experimental Results
39
Conclusion
Acknowledgement
This work is supported by the Program for New Century Excellent Talents in
University grant (No. NCET-05-0275), NSFC (No. 60673006) and an INBRE
grant (5P20RR01647206) from NIH, USA.
References
1. Alexa M., Behr J., Cohen-Or D., Fleishman S., Levin D., Silva C. T.: Computing
and rendering point set surfaces. IEEE Transactions on Visualization and Computer Graphics 9(2003) 3-15
2. Bao Y., Guo X., Qin H.: Physically-based morphing of point-sampled surfaces.
Computer Animation and Virtual Worlds 16 (2005) 509 - 518
40
Z. Su et al.
3. Clarenz U., Rumpf M., Telea A.: Finite elements on point based surfaces, Proceedings of Symposium on Point-Based Graphics (2004)
4. Fleishman S., Cohen-Or D., Silva C. T.: Robust moving least-squares tting with
sharp features. ACM Transactions on Graphics 24 (2005) 544-552
5. Gibson S.F., Mirtich B.: A survey of deformable models in computer graphics.
Technical Report TR-97-19, MERL, Cambridge, MA, (1997)
6. Guo X., Hua J., Qin H.: Scalar-function-driven editing on point set surfaces. IEEE
Computer Graphics and Applications 24 (2004) 43 - 52
7. Guo X., Li X., Bao Y., Gu X., Qin H.: Meshless thin-shell simulation based on
global conformal parameterization. IEEE Transactions on Visualization and Computer Graphics 12 (2006) 375-385
8. Guo X., Qin H.: Real-time meshless deformation. Computer Animation and Virtual
Worlds 16 (2005) 189 - 200
9. Kobbelt L., Botsch M.: A survey of point-based techniques in computer graphics.
Computer & Graphics, 28 (2004) 801-814
10. Miao Y., Feng J., Xiao C., Li H., Peng Q., Detail-preserving local editing for pointsampled geometry. H.-P Seidel, T. Nishita, Q. Peng (Eds), CGI 2006, LNCS 4035
(2006) 673-681
11. Miao L., Huang J., Zheng W., Bao H. Peng Q.: Local geometry reconstruction
and ray tracing for point models. Journal of Computer-Aided Design & Computer
Graphics 18 (2006) 805-811
12. Moenning C., Dodgson N. A.: A new point cloud simplication algorithm. Proceedings 3rd IASTED Conference on Visualization, Imaging and Image Processing,
Benalm
adena, Spain (2003) 1027-1033
13. M
uller M., Keiser R., Nealen A., Pauly M., Pauly M., Gross M., Alexa M.: Point
based animation of elastic, plastic and melting objects, Proceedings of ACM SIGGRAPH/Eurographics Symposium on Computer Animation (2004) 141-151
14. Pauly M., Gross M., Kobbelt L.: Ecient simplication of point-sampled surfaces.
Proceedings of IEEE Visualization (2002) 163-170
15. Pauly M., Keiser R., Kobbelt L., Gross M.: Shape modeling with point-sampled
geometry. ACM Transactions on Graphics 22(2003) 641-650
16. Provot X.: Deformation constraints in a mass-spring model to describe rigid cloth
behavior. Proc of Graphics Interface (1995) 147-154.
17. Su Z., Li L., Zhou X.: Arc-length preserving curve deformation based on subdivision. Journal of Computational and Applied Mathematics 195 (2006) 172-181
18. Terzopoulos D., Platt J., Barr A., Fleischer K.: Elastically deformable models.
Proc. SIGGRAPH (1987) 205-214
19. Xiao C., Miao Y., Liu S., Peng Q., A dynamic balanced ow for ltering pointsampled geometry. The Visual Computer 22 (2006) 210-219
20. Xiao C., Zheng W., Peng Q., Forrest A. R., Robust morphing of point-sampled
geometry. Computer Animation and Virtual Worlds 15 (2004) 201-210
21. Zwicker M., Pauly M., Knoll O., Gross M.: Pointshop3d: An interactive system for
point-based surface editing. ACM Transactions on Graphics 21(2002) 322- 329
Introduction
Sweeping is a powerful technique to generate surfaces in CAD/CAM, robotics motion design and NC machining, etc. There has been abundant research
in the modeling of sweeping surfaces and their applications. Hu and Ling ([2],
1996) considered the swept volume of a moving object which can be constructed
from the envelope surfaces of its boundary. In this study, these envelope surfaces
are the collections of the characteristic curves of the natural quadric surfaces.
Wang and Joe ([13], 1997) presented sweep surface modeling by approximating
a rotation minimizing frame. The advantages of this method lie in the robust
computation and smoothness along the spine curves. J
uttler and M
aurer ([5],
1999) constructed rational representations of sweeping surfaces with the help
This work was completed with the support by the National Natural Science Foundation of China under Grant No. 10171026 and No. 60473114, and in part by the Research Funds for Young Innovation Group, Education Department of Anhui Province
under Grant No. 2005TD03, and the Anhui Provincial Natural Science Foundation
under Grant No. 070416273X, and the Natural Science Foundation of Anhui Provincial Education Department under Grant No. 2006KJ252B, and the Funds for Science
& Technology Innovation of the Science & Technology Department of Anqing City
under Grant No. 2003-48.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 4148, 2007.
c Springer-Verlag Berlin Heidelberg 2007
42
B. Su and J. Tan
Sweeping Surface
43
3
(1)
j=0
where
B0,3 (t) =
1
4
B1,3 (t) =
14
B2,3 (t) =
1
4
B3,3 (t) =
3
4
t
2
sin 2 t
cos t +
1
2
cos t
sin t ,
2t
t
2
+ sin 2 t
1
4
cos t
1
2
sin t ,
t
2
cos 2 t +
1
4
cos t +
1
2
sin t .
t
2
1
4
+ cos
1
4
1
2
sin t ,
(2)
From (2), we know that Bi,3 (t), (i = 0, 1, 2, 3), possess properties similar to
those of B-spline base functions except the positive property. Moreover, pi (t)
interpolates the points bi+1 and bi+2 . That is,
pi (0) = bi+1 , pi (1) = bi+2 ,
(3)
2
4 (bi
2
4 (bi+1
2bi+2 + bi+3 ) .
(l)
(4)
(5)
Given a spine curve P (t) in space and a cross-section curve C(), a sweep surface
W (t, ) can be generated by
W (t, ) = P (t) + R(t)(s(t) C()),
(6)
44
B. Su and J. Tan
is generated by sweeping C() along P (t) with moving frame R(t). cross-section
curve C() is in the 2D or 3D space which passes through the spine curve P (t)
during sweeping.
So the key problems in sweep surface generation are to construct the spine
and cross-section curves P (t), C() and to determine the moving frame R(t).
Given a initial cross-sections Cj () moving along a spine curve Pi (t). Each
given position is associated with a local transformation Ri (t) on the Cj (). The
sweep surface is generated by interpolating these key cross-sections Ci () at
these special positions by the user:
Wi,j (t, ) =
Pi (t) +
Ri (t)(s
i (t) Cj ())
xi (t)
r11,i (t) r12,i (t) r13,i (t)
sxi (t)Cxj ()
= yi (t) + r21,i (t) r22,i (t) r23,i (t) syi (t)Cyj () ,
zi (t)
r31,i (t) r32,i (t) r33,i (t)
0
(7)
where the s(t) is scaling function, which can be used to change the shapes of
cross-sections to achieve local deformations.
3.1
From the above discussions, we know that once some places that the crosssections will pass through are given, a spine curve can be constructed to interpolate these places (points) as follows:
Pi (t) = (xi (t), yi (t), zi (t))T =
3
j=0
(8)
i = 0, 1, , n 1 ,
where bi , i = 0, 1, , n + 2, (n 1), are given points (positions) by user, and
Bj,3 (t), (j = 0, 1, 2, 3), are generalized quasi-cubic piecewise interpolation spline
base functions.
Similarly, if the explicit expression of cross-section curves are unknown in
advance. But we know also the cross-section curves pass through some given
points, then we can dene the cross-section curves by
Cj () = (Cxj (), Cyj (), 0)T =
j = 0, 1, , m 1 ,
3
k=0
(9)
3
j=0
(10)
i = 0, 1, , n 1 ,
where si = (
si , si , 0)T , i = 0, 1, , n+2, (n 1) . si and si are n+3 nonnegative
real numbers respectively, which are called scaling factors. Bj,3 (t), (j = 0, 1, 2, 3),
are generalized quasi-cubic piecewise interpolation spline base functions.
Sweeping Surface
3.2
45
3
j=0
(11)
t [0, 1], i = 0, 1, , n 1 ,
3
2
1
0
1
0.5
(a)
(b)
Fig. 1. (a) The moving frame on the dierent position, dashed line is spine curve. (b)
The sweep surface associated with open cross-section curve.
Notes and Comments. Since (Rxi (t), Ryi (t), Rzi (t)) dened by Eq.(11) usually
does not form an accurate orthogonal coordinate system at t = ti , we shall renew
it by the Schmidt orthogonalization or an approximation of the orthogonal one
with a controllable error. We can also convert the corresponding orthogonal
matrices into the quaternion forms, then interpolate these quaternions by the
(11) similarly, at last, the accurate orthogonal coordinate system can be obtained
by the conversion inversely.
From the (7), (8) and (11), we know that for the xed = ,
Wi,j (t, ) =
3
k=0
(12)
46
B. Su and J. Tan
Wi,j (t , ) = Pi + Ri
3
(13)
k=0
where Pi = Pi (t ), Ri = Ri (t ) and si = si (t ) .
Since qj are constant vectors, we get that Wi,j (t, ) are C 2 -continuous and
the points on curves Wi,j (t, ) can be obtained by doing the transformation of
stretching, rotation and translation on the point qj .
The cross-section curves Wi,j (t , ) at the t = t can also be attained by the
stretching, rotation and translation transformation on the initial cross-section
curves Cj ().
Moveover, by computing the rst and second partial derivatives of Wi,j (t, ),
we get
l
Wi,j (t, )
tl
= Pi (t) +
l
l Wi,j (t, )
(l)
dl
(Ri (t)(si (t)
dtl
Cj ())) ,
l = 1, 2 .
(l)
(14)
Then Wi,j (t, ) are C 2 -continuous with respect to t and by the (5) and (14).
3.5
2.5
Trajectory curves
1.5
Object curves
1
1
0
1
0.5
0.5
1.5
2.5
3.5
1
0
1
1
(a)
(b)
Fig. 2. The four key positions of cross-section curve during sweeping. (a) is the gure
in example 1 and (b) is the gure in example 2.
Sweeping Surface
(a)
47
(b)
Fig. 3. The sweep surface modeling in example 1, (b) is the section plane of gure (a)
(a)
(b)
Fig. 4. The sweep surface modeling in example 2, (b) is the section plane of gure (a)
Example 3. The interpolation points of spine curve and rotation angles are
adopted as in the example 2. The initial cross-section curve interpolates the
points q0 = (3, 1), q1 = (2, 2), q2 = (1, 1), q3 = (1, 2), q4 = (2, 1), q5 = (3, 2).
The scaling factors are chosen to be si = si 1. Then we get the sweeping interpolation surface by open cross-section curve as in the Fig.1(b).
As mentioned above, we have described a new method for constructing interpolation sweep surfaces by the C 2 continuous generalized quasi-cubic interpolation
spline. Once given some key position and orientation and some points which are
passed through by the spine and initial cross-section curves, we can construct
corresponding sweep surface by the introduced spline function. We have also proposed a local control technique for sweep surfaces using scaling function, which
allows the user to change the shape of an object intuitively and eectively.
Note that, in many other applications of sweep surface, the cross-section
curves are sometimes dened on circular arcs or spherical surface, etc. Then
we can construct the cross-section curves by the circular trigonometric Hermite
interpolation spline introduced in our another paper ([12]).
On the other hand, in order to avoid a sharp acceleration of moving frame,
we can use the chord length parametrization in the generalized quasi-cubic interpolation spline.
48
B. Su and J. Tan
References
1. Du, S. J., Surmann, T., Webber, O., Weinert, K. : Formulating swept proles for
ve-axis tool motions. International Journal of Machine Tools & Manufacture 45
(2005) 849861
2. Hu, Z. J., Ling, Z. K. : Swept volumes generated by the natural quadric surfaces.
Comput. & Graphics 20 (1996) 263274
3. Hua, J., Qin, H. : Free form deformations via sketching and manipulating the scalar
elds. In: Proc. of the ACM Symposium on Solid Modeling and Application, 2003,
pp 328333
4. Hyun, D. E., Yoon, S. H., Kim, M. S., J
uttler, B. : Modeling and deformation of
arms and legs based on ellipsoidal sweeping. In: Proc. of the 11th Pacic Conference
on Computer Graphics and Applications (PG 2003), 2003, pp 204212
5. J
uttler, B., M
aurer C. : Cubic pythagorean hodograph spline curves and applications to sweep surface modeling. Computer-Aided Design 31 (1999) 7383
6. Li, C. J., Ge, W. B., Wang, G. P. : Dynamic surface deformation and modeling
using rubber sweepers. Lecture Notes in Computer Science 3942 (2006) 951961
7. Ma, L. Z., Jiang, Z. D., Chan, Tony K.Y. : Interpolating and approximating moving frames using B-splines. In: Proc. of the 8th Pacic Conference on Computer
Graphics and Applications (PG 2000), 2000, pp 154164
8. Olver, P. J. : Moving frames. Journal of Symbolic Computation 36 (2003) 501512
9. Schmidt, R., Wyvill, B. : Generalized sweep templates for implicit modeling. In:
Proc. of the 3rd International Conference on Computer Graphics and Interactive
Techniques in Australasia and South East Asia, 2005, pp 187196
10. Seong, J. K., Kim, K. J., Kim, M. S., Elber, G. : Perspective silhouette of a general
swept volume. The Visual Computer 22 (2006) 109116
11. Su, B. Y., Tan, J. Q. : A family of quasi-cubic blended splines and applications. J.
Zhejiang Univ. SCIENCE A 7 (2006) 15501560
12. Su, B. Y., Tan, J. Q. : Geometric modeling for interpolation surfaces based on
blended coordinate system. Lecture Notes in Computer Science 4270 (2006)
222231
13. Wang, W. P., Joe, B. : Robust computation of the rotation minimizing frame for
sweep surface modeling. Computer-Aided Design 23 (1997) 379391
14. Yoon, S. H., Kim, M. S. : Sweep-based Freeform Deformations. Computer Graphics
Forum (Eurographics 2006) 25 (2006) 487496
1 Introduction
Since B-spline curve fitting for noisy or scattered data can be considered as a nonlinear optimization problem with high level of computational complexity [3, 4, 6],
non-deterministic optimization strategies should be employed. Here, methods taken
from computational intelligence offers promising results for the solutions of this
problem. By the computational intelligence techniques as is utilized in this paper, we
mean the strategies that are inspired from numerically based Artificial Intelligence
systems such as evolutionary algorithms and neural networks. One of the most
conspicuous and promising approaches to solve this problem is based on neural
networks. Previous studies are mostly focused on the traditional surface
approximation [1] and the first application of neural networks to this field is taken
place in [15]. Later on, the studies that include Kohonen networks [8, 9, and 12], SelfOrganized Maps [13, 14] and Functional networks [5, 7, and 10] provided extension
of studies of surface design. Evolutionary algorithms are based on natural selection
for optimization with multi-aims. Most of the evolutionary optimization techniques
such as Genetic Algorithm (GA) [3, 6, and 17], Simulated Annealing [16] and
Simulated Evolution [17, 18, and 19] are applied to this problem successfully.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 4956, 2007.
Springer-Verlag Berlin Heidelberg 2007
50
i =1
j =1
w i , j {S (x i , y
) F }
i, j
(1)
Surface fitting from sample points is also known as surface reconstruction. This
paper applies a local fitting and blending approach to this problem. The readers can
refer to [1] and [2] for details. A B-Spline curve, C (u), is a vector valued function
which can be expressed as:
m
C (u ) = N i ,k (u ) Pi , u [u k 1 , u m +1 ]
(2)
i =0
where Pi represents control points (vector) and Ni,k is the normal k-degree B-spline
basis functions and Ni,k can be defined as a recursive function as follows.
1 if u [u i , u i +1 ),
N i ,1 (u ) =
and
0 otherwise
N i , k (u ) =
u ui
u u
N i , k 1 (u ) + i + k
N i +1, k 1 (u )
u i + k 1 u i
u i + k u i +1
(3)
where ui represents knots that are shaped by a knot vector and U= {u0,u1,,um}. Any
B-Spline surface is defined as follows:
m
S (u, v ) = N i ,k (u )* N j ,l (v )* Pi , j
(4)
i = 0 j =0
As can be seen from upper equations, B-spline surface is given as unique with the
degree, knot values and control points. Then, surface is formed by these parameters.
Input is a set of unorganized points in surface reconstruction problems so the degree
of the surface, knots and control points are all unknown. In equation (3), the knots
not only exist in the dividend but also exist in the denominator of the fractions. Thus a
spline surface given as in equation (4) is a function of nonlinear knots. Assume that
51
the data to be fitted are given as if they are on the mesh points of the D=[a,b]x[c,d]
rectangular field on the x-y plane. Then the expression like below can be written [3]:
Fi , j = f (xi , y j ) + i , j ,
(i = 1,2,", N
; j = 1,2,", N y ).
(5)
In this equation, f(x,y) is the function exists at the base of data, Nx and Ny
represent the number of the data points in x and y directions respectively and i,j is a
measurement error. Equation (4) is adjusted or fitted to given data by least square
methods with equation (5). For parameterization of B-spline curve in Equation (2) and
surface in Equation (4) must be produced by preferring one of the parameterization
methods among uniform, chordal or centripetal methods. Then, the squares of
remainders or residuals are calculated by Equation (1). The lower index of the Q2
means the dimension of the data. The objective that will be minimized in B-spline
surface fitting problem is the function in Equation (1) and the variables of the object
function are B-spline coefficients and interior knots. B-spline coefficients are linear
parameters. However, interior knots are nonlinear parameters since S(u,v) function is
a nonlinear knots function. This minimization problem is known as multi-modal
optimization problem [4].
( Ab
i =1
Ag
)2
(6)
52
between [a,b] and [c,d] intervals, nx x ny items of knots are defined in this interval
and called as interior knots. Initial population includes k Antibody with L numbers of
molecules. Molecules are set as 0 and 1, randomly.
For recognizing (response against Antigen) process, affinity of Antibody against
Antigen were calculated as in Equation (7) that uses the distance between AntibodyAntigen and AIC that is preferred as fitness measure in [3] and [6] references.
Affinity = 1 (AIC Fitnessavrg )
(7)
In Equation (7), Fitnessavrg represents the arithmetical average of AIC values of all
Antibodies in the population and calculated as follow. If the AIC value of any of the
individual is greater than Fitnessavrg then Affinity is accepted as zero (Affinity=0) in
Equation (7).
K
Fitnessavrg = AICi K
i =1
(8)
Where, K is the size of the population and AICi is the fitness measure of the ith
antibody in the population. AIC is given as below.
(9)
The antibody which is ideal solution and the exact complementary of the Antigen
is the one whose affinity value is nearest to 1 among the population (in fact in
memory). Euclid distance between ideal Antibody and Antigen is equal to zero. In
this case the problem becomes not surface approximation but surface interpolation.
In order to integrate clonal selection algorithm to this problem some modification
must be carried out on the original algorithm. The followings are step by step
explanation of the modifications made on the algorithm and how these modifications
applied to above mentioned algorithm.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
53
4 Experimental Results
In order to evaluate the proposed AIS based Automatic Knot Placement algorithm
five bivariate test functions were used (see Table 1). These functions were constructed
to have a unit standard deviation and a non-negative range. Since the antibodies with
highest affinity values are kept in the memory in AIS architecture, the antibody of the
memory with the highest affinity for each generation was presented in the results. To
see the performance evaluation and approximation speed, genetic algorithm suggested
by Sarfaz at al. [6, 17] and proposed algorithm in this study were compared. Knot
ratio and operation of making important points immobilize at the knot chromosome
are discarded in their algorithm. The developed program has the flexibility of entering
the B-spline surface orders from the user. To test the quality of the proposed model,
Root Mean Square (RMS) error were calculated for M and N values from 5 to 10 for
400 (20x20) training data points from five surfaces defined as above. Initial
population is fed till 500 generations. Increase in the number of generation makes
increase in fitting (error decreases). The slot of the approximated curves indicates the
probability of having still approximation in next generation. Table 2 shows the
statistics of GA and AIS optimization execution. RMS errors between point clouds and
modeled surface based on the best chromosome in GA and antibodies in population of
memory in AIS were given in Table 3 for four test functions (Surface I Surface IV).
The analyses are implemented for all surfaces in Table 1. M x N mesh is
determined as randomly for Surface II Surface IV. At Surface II shown in Table 3,
the choices for M and N are fitting to MxN=8x8. Similarly, the choices of M and N for
Surface III and IV are fitting to MxN=9x9 and MxN=10x10, respectively.
Table 1. Five test functions for the bivariate setting
{ (
)}
)}
2 x1 1
x2
}]
AIS
20x20
20
200 (Antibody cell length)
None
None
6 (30%)
40
500
Random and user defined
GA
20x20
20
200 (chromosome gen-length)
0.001
0.7
6 (30%)
None
500
Random and user defined
54
Table 3. RMS (x10-2) values of AIS and GA methods for 400 data points from Surface I to
Surface IV for different MxN
Gen.
1
10
25
50
100
200
300
400
500
Surface I (7x7)
Surface II (8x8)
G.A. A.I.S.
G.A. A.I.S.
8.26
9.34
3.64
3.69
7.99
7.14
3.70
3.59
8.22
5.88
4.25
3.42
8.72
5.61
3.91
2.86
8.34
5.53
3.72
2.71
8.72
5.58
4.01
2.01
8.99
5.29
4.60
1.58
7.63
5.23
3.52
1.52
8.86
5.23
3.99
1.50
Surface IV (10x10)
G.A. A.I.S.
8.21
8.57
8.76
8.02
8.36
7.61
8.53
7.44
8.78
7.22
9.30
7.10
7.99
7.07
8.45
7.00
8.57
6.95
Table 4. RMS (x10-2) values of AIS and GA methods for 400 data points from Surface V for
different MxN. (a) AIS, and (b) GA.
AIS
GA
MxN
5
6
7
8
9
10
5
6
7
8
9
10
6
8.6015
8.4809
7.6333
7.8404
7.9077
8.0664
10.501
10.238
9.9913
10.013
10.020
9.3970
7
8.0171
8.4179
7.2749
6.8614
7.8398
6.7625
9.6512
9.8221
9.4922
8.6365
9.1249
9.1297
8
7.9324
8.3722
7.4622
6.4382
6.9039
7.1614
9.1281
9.3189
8.9494
8.6247
8.7523
8.4642
9
7.0035
7.5269
7.2034
6.4288
6.9028
6.3575
9.7179
9.5761
8.2377
8.2134
8.1843
8.2721
10
7.3263
7.3554
6.9558
6.7375
6.8971
6.9640
9.8944
7.7725
8.1184
7.6657
7.3076
7.6331
7.0629
7.1965
6.1804
6.0138
5.7911
6.3637
9.6573
8.5993
8.1649
7.8947
7.4484
7.3366
1
10
25
50
100
200
300
400
500
A.I.S. (x10-2)
Best Best Max.
RMS Fitn. RMS
8.84 806 27.98
7.70 695 8.811
7.37 660 7.793
6.74 589 7.357
6.03 500 6.711
5.92 485 6.085
5.91 484 5.965
5.86 477 5.918
5.79 467 8.490
Avrg. Avrg.
Fitn. RMS
1226 16.3
767 8.43
682 7.57
641 7.20
511 6.12
492 5.97
488 5.94
481 5.89
488 5.95
G.A. (x10-2)
Best Best Max Avrg. Avrg.
RMS Fitn. RMS Fitn. RMS
8.82 804 26.70 1319 17.6
7.96 722 12.43 961 10.8
9.69 879 30.38 1085 12.9
7.93 719 22.33 940 10.6
8.01 727 10.86 891 9.87
9.26 843 12.58 925 10.2
7.69 694 29.60 1043 12.3
8.47 772 11.95 922 10.2
7.93 719 13.31 897 9.95
Table 4 points out Surface V. RMS error was calculated for some M and N values
from 5 to 10 for 400 (20x20) training data points. As the reader can evaluate, the error
approaches depending on the M and N values are reasonable and the best choice fits to
the MxN=9x10 as shown italic in Table 4. According to the knots MxN that offer best
55
fitting, the proposed algorithm was also compared with GA based algorithm by Safraz
et al. regarding to approximation speed. The outputs of the programs were taken for
some generations in the training period. Best and average fitness values of individuals
and antibodies according to the related generations of the program outputs were given
in Table 5. The graphics of approximations of the proposed AIS approach and GA
approach for all generations are given in Fig. 1. The bold line and dotted line
represent maximum fitness and average fitness values respectively.
G.A.
A.I.S.
2000
2000
1500
Fitness
1000
500
500
Max
Max
491
456
421
386
351
316
281
246
211
176
141
71
Avg.
106
469
433
397
361
325
289
253
181
145
73
109
37
217
Generation
Best
0
Avg.
1000
36
Fitness
1500
Generation
Best
56
Acknowledgements
This study has been supported by the Scientific Research Projects of Selcuk
University (in Turkey).
References
1. Weiss, V., Andor, L., Renner, G., Varady, T., Advanced surface fitting techniques,
Computer Aided Geometric Design Vol. 19, p. 19-42, (2002).
2. Piegl, L., Tiller, W., The NURBS Book, Springer Verlag, Berlin, Heidelberg, (1997).
3. Yoshimoto, F., Moriyama, M., Harada, T., Automatic knot placement by a genetic
algorithm for data fitting with a spline, Proc. of the International Conference on Shape
Modeling and Applications, IEEE Computer Society Press, pp. 162-169, (1999).
4. Goldenthal, R., Bercovier, M. Design of Curves and Surfaces by Multi-Objective
Optimization, April 2005, Leibniz Report 2005-12.
5. Iglesias, A., Echevarra, G., Galvez, A., Functional networks for B-spline surface
reconstruction, Future Generation Computer Systems, Vol. 20, pp. 1337-1353, (2004).
6. Sarfraz, M., Raza, S.A., Capturing Outline of Fonts using Genetic Algorithm and Splines,
Fifth International Conference on Information Visualisation (IV'01) , pp. 738-743, (2001).
7. Iglesias, A., Glvez, A., A New Artificial Intelligence Paradigm for Computer-Aided
Geometric Design, Lecture Notes in Artificial Intelligence Vol. 1930, pp. 200-213, (2001).
8. Hoffmann, M., Kovcs E., Developable surface modeling by neural network,
Mathematical and Computer Modelling, Vol. 38, pp. 849-853, (2003)
9. Hoffmann, M., Numerical control of Kohonen neural network for scattered data
approximation, Numerical Algorithms, Vol. 39, pp. 175-186, (2005).
10. Echevarra, G., Iglesias, A., Glvez, A., Extending Neural Networks for B-spline Surface
Reconstruction, Lecture Notes in Computer Science, Vol. 2330, pp. 305-314, (2002).
11. Engin, O., Dyen, A., Artificial Immune Systems and Applications in Industrial Problems,
Gazi University Journal of Science 17(1): pp. 71-84, (2004).
12. Boudjema, F., Enberg, P.B., Postaire, J.G., Surface Modeling by using Self Organizing Maps
of Kohonen, IEEE Int. Conf. on Systems, Man and Cybernetics, vol. 3, pp. 2418-2423, (2003).
13. Barhak, J., Fischer, A., Adaptive Reconstruction of Freeform Objects with 3D SOM Neural
Network Grids, Journal of Computers & Graphics, vol. 26, no. 5, pp. 745-751, (2002).
14. Kumar, S.G., Kalra, P. K. and Dhande, S. G., Curve and surface reconstruction from points: an
approach based on SOM, Applied Soft Computing Journal, Vol. 5(5), pp. 55-66, (2004).
15. Hoffmann, M., Vrady, L., and Molnar, T., Approximation of Scattered Data by Dynamic
Neural Networks, Journal of Silesian Inst. of Technology, pp, 15-25, (1996).
16. Sarfraz, M., Riyazuddin, M., Curve Fitting with NURBS using Simulated Annealing,
Applied Soft Computing Technologies: The Challenge of Complexity, Series: Advances in
Soft Computing, Springer Verlag, (2006).
17. Sarfraz, M., Raza, S.A., and Baig, M.H., Computing Optimized Curves with NURBS Using
Evolutionary Intelligence, Lect. Notes in Computer Science, Volume 3480, pp. 806-815,
(2005).
18. Sarfraz, M., Sait, Sadiq M., Balah, M., and Baig, M. H., Computing Optimized NURBS Curves
using Simulated Evolution on Control Parameters, Applications of Soft Computing: Recent
Trends, Series: Advances in Soft Computing, Springer Verlag, pp. 35-44, (2006).
19. Sarfraz, M., Computer-Aided Reverse Engineering using Simulated Evolution on NURBS, Int.
J. of Virtual & Physical Prototyping, Taylor & Francis, Vol. 1(4), pp. 243 257, (2006).
1 Introduction
The interest for point-based surface has grown significantly in recent years in
computer graphics community due to the development of 3D scanning technologies,
or the riddance of connectivity management that greatly simplifies many algorithms
and data structures. Implicit surfaces are an elegant representation to reconstruct 3D
surfaces from point clouds without explicitly having to account for topology issues.
However, when the point sets data generated from range scanners (or laser scanners)
contain large noise, especially outliers, some established methods often fail to
reconstruct surfaces or real objects.
There are two major classes of surface representations in computer graphics:
parametric surfaces and implicit surfaces. A parametric surface [1, 2] is usually given
by a function f (s, t) that maps some 2-dimensional (maybe non-planar) parameter
domain into 3-space while an implicit surface typically comes as the zero-level
isosurface of a 3-dimensional scalar field f (x, y, z). Implicit surface models are
popular since they can describe complex shapes with capabilities for surface and
volume modeling and complex editing operations are easy to perform on such models.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 5764, 2007.
Springer-Verlag Berlin Heidelberg 2007
58
J. Yang et al.
Moving least square (MLS) [3-6] and radial basis function (RBF) [7-15] are two
popular 3D implicit surface reconstruction methods.
Recently, RBF attracts more attention in surface reconstruction. It is identified as
one of most accurate and stable methods to solve scattered data interpolation
problems. Using this technique, an implicit surface is constructed by calculating the
weights of a set of radial basis functions such they interpolate the given data points.
From the pioneering work [7, 8] to recent researches, such as compactly-supported
RBF [9, 10], fast RBF [11-13] and multi-scale RBF [14, 15], the established
algorithms can generate more and more faithful models of real objects in last twenty
years, unfortunately, most of them are not feasible for the approximations of
unorganized point clouds containing noise and outliers.
In this paper, we describe an implicit surface reconstruction algorithm for noise
scattered point clouds with outliers. First, we define a smooth probability density
kernel function reflecting the probability that a point p is a point on the surface S
sampled by a noisy point cloud. A filtering procedure based on mean shift is used to
move the points along the gradient of the kernel functions to the maximum probability
positions. Second, we reconstruct a surface representation of clean point sets
implicitly based on a combination of two well-known methods, RBF and partition of
unity (PoU). The filtered domain of discrete points is divided into many subdomians
by an adaptively error-controlled octree subdivision, on which local shape functions
are constructed by RBFs. We blend local solutions together using a weighting sum of
local subdomains. As you will see, our algorithm is robust and high quality.
2 Filtering
2.1 Covariance Analysis
Before introducing our surface reconstruction algorithm, we describe how to perform
eigenvalue decomposition of the covariance matrix based on the theory of principal
component analysis (PCA) [24], through which the least-square fitting plane is
defined to estimate the kernel-based density function.
Given the set of input points {pi}i[1,L], pi R3, the weighted covariance matrix
C for a sample point pi is determined by
L
C = p j pi
j =1
)(p j pi )
p j pi
h ,
(1)
C el = l el .
(2)
Since C is symmetric and positive semi-define, all eigenvalues l are real-valued and
the eigenvectors el form an orthogonal frame, corresponding to the principal
components of the local neighborhood.
59
Assuming 012, it follows that the least square fitting plane H(p):
( p pi ) e0 = 0 through pi minimizes the sum of squared distances to the neighbors
of pi. Thus e0 approximates the surface normal ni at pi, i.e., ni = e0. In other words, e1
and e2 span the tangent plane at pi.
g ( p ) = gi ( p ) = i ( p p pro ) Gi ( p pro pi ) 1 ( p pi ) ni h
L
i =1
i =1
},
(3)
where i and Gi are two monotonically decreasing weighting functions to measure the
spatial distribution of point samples from spatial domain and range domain, which are
more adaptive to the local geometry of the point model. The weight function could be
either a Gaussian kernel or an Epanechnikov kernel. Here we choose Gaussian
function e x / 2 . The ppro is an orthogonal projection of a certain sample point p on
the least-square fitting plane. The positions p close to H(p) will be assigned with a
higher probability than the positions being more distant.
The simplest method to find the local maxima of (3) is to use a gradient-ascent
process written as follows:
2
g ( p ) = g i ( p )
i =1
2 L
i ( p ppro ) Gi (ppro pi ) ( p pi ) ni ni .
h2 i =1
(4)
(p p ) G (p
L
i =1
pro
pro
pi ) .
(5)
Combining equations (4) and (5) we get the resulting iterative equations of mean
shift filtering
(6)
where j is the number of iteration. In our algorithm, g(p) satisfies the following
conditions
g ( p2 ) g ( p1 ) >g ( p1 )( p2 p1 )
p1 0,p2 0 ,
(7)
60
J. Yang et al.
thus g(p) is a convex function with finite stable points in the set U = {pi | g ( pi ) g ( p1i )}
resulting in the convergence of the series {pij , i = 1,..., L, j = 1, 2,...} . Experiments show
that we stop iterative process if p ij +1 pij 5 103 h is satisfied. Each sample
usually converges in less than 8 iterations. Due to the clustering property of our
method, groups of outliers usually converge to a set of single points sparsely
distributed around the surface samples. These points can be characterized by a very
low spatial sampling density compared to the surface samples. We use this criteria for
the detection of outliers and remove them using a simple threshold.
(8)
pi ci < R
If the is greater than a user-specified threshold 0, the cell is subdivided and a local
neighborhood function fi is built for each leaf cell.
3.2 Estimating Local Shape Functions
Given the set of N pairwise distinct points ={pi}i[1,N], pi R3, which is filtered by
mean shift algorithm, and the set of corresponding values {vi}i[1,N], vi R, we want to
find an interpolation f : R3R such that
f ( p i ) = vi .
(9)
f ( p ) = ( p ) + i ( p p i
i =1
(10)
where (p)= kk(p) with {k(p)}k[1,Q] is a basis in the 3D null space containing all
real-value polynomials in 3 variables and of order at most m with Q = { 3m + 3 } depending
on the choice of , is a basis function, i are the weights in real numbers, and | . |
denotes the Euclidean norm.
61
There are many popular basis functions for use: biharmonic (r) = r, triharmonic
(r) = r3, multiquadric (r) = (r2+c2)1/2, Gaussian (r) = exp(-cr2), and thin-plate
spline (r) = r2log(r), where r = |p-pi|.
As we have an under-determined system with N+Q unknowns and N equations, socalled natural additional constraints for the coefficient i are added in order to ensure
orthogonality, so that
N
=
i =1
i =1
i =1
=0 .
(11)
The equations (9), (10) and (11) may be written in matrix form as
A
T
v ,
=
0 0
(12)
where A=(|pi-pj|), i,j =1,,N, =k(pi), i=1,,N, k=1,,Q, =i, i=1,,N and
=k, k=1,,Q. Solving the linear system (14) determines i and k, hence the f(p).
Fig. 1. A set of locally defined functions are blent by the PoU method. The resulting function
(solid curve) is constructed from four local functions (thick dashed curves) with their associated
weight functions (dashed dotted curves).
f (p ) = fi (p ) i (p ) .
(13)
i =1
The blending function is obtained from any other set of smooth functions by a
normalization procedure
62
J. Yang et al.
i ( p ) = wi ( p )
w (p )
j
(14)
Bunny
362K
165K
9:07
0:02
0:39
Dragon head
485K
182K
13:26
0:04
0:51
(a)
(b)
Dragon
2.11M
784K
41:17
0:10
3:42
(c)
Fig. 2. Comparison of implicit surface reconstruction based on RBF methods. (a) Input noisy
point set of Stanford bunny (362K). (b) Reconstruction with Carrs method [11]. (c)
Reconstruction with our method in this paper.
63
manifold surfaces from point cloud data and their work is considered as an excellent
and successful research in this field. However, because of sensitivity to noise, the
reconstructed model in the middle of Fig. 2 shows spurious surface sheets. The
quality of the reconstruction is highly satisfactory, as be illustrated in the right of
Fig. 2, since a mean shift operator is introduced to deal with noise in our algorithm.
For the purpose of illustrating the influence of error thresholds on reconstruction
accuracy and smoothness, we set two different error thresholds on the reconstruction
of the scanned dragon model, as demonstrated by Fig. 3.
(a)
(b)
(c)
(d)
Fig. 3. Error threshold controls reconstruction accuracy and smoothness of the scanned dragon
model consisting of 2.11M noisy points. (a) Reconstructing with error threshold at 8.4x10-4. (c)
Reconstructing with error threshold at 2.1x10-5. (b) and (d) are close-ups of the rectangle areas
of (a) and (c) respectively.
References
1. Weiss, V., Andor, L., Renner, G., Varady, T.: Advanced Surface Fitting Techniques.
Computer Aided Geometric Design, 1 (2002) 19-42
2. Iglesias, A., Echevarra, G., Glvez, A.: Functional Networks for B-spline Surface
Reconstruction. Future Generation Computer Systems, 8 (2004) 1337-1353
3. Alexa, M., Behr, J., Cohen-Or, D., Fleishman, S., Levin D., Silva, C. T.: Point Set
Surfaces. In: Proceedings of IEEE Visualization. San Diego, CA, USA, (2001) 21-28
4. Amenta, N., Kil, Y. J.: Defining Point-Set Surfaces. ACM Transactions on Graphics, 3
(2004) 264-270
64
J. Yang et al.
5. Levin, D.: Mesh-Independent Surface Interpolation. In: Geometric Modeling for Scientific
Visualization, Spinger-Verlag, (2003) 37-49
6. Fleishman, S., Cohen-Or, D., Silva, C. T.: Robust Moving Least-Squares Fitting with
Sharp Features. ACM Transactions on Graphics, 3 (2005) 544-552
7. Savchenko, V. V., Pasko, A., Okunev, O. G., Kunii, T. L.: Function Representation of
Solids Reconstructed from Scattered Surface Points and Contours. Computer Graphics
Forum, 4 (1995) 181-188
8. Turk, G., OBrien, J.: Variational Implicit Surfaces. Technical Report GIT-GVU-99-15,
Georgia Institute of Technology, (1998)
9. Wendland, H.: Piecewise Polynomial, Positive Definite and Compactly Supported Radial
Functions of Minimal Degree. Advances in Computational Mathematics, (1995) 389-396
10. Morse, B. S., Yoo, T. S., Rheingans, P., Chen, D. T., Subramanian, K. R.: Interpolating
Implicit Surfaces from Scattered Surface Data Using Compactly Supported Radial Basis
Functions. In: Proceedings of Shape Modeling International, Genoa, Italy, (2001) 89-98
11. Carr, J. C., Beatson, R. K., Cherrie, J. B., Mitchell, T. J., Fright, W. R., McCallum, B. C.,
Evans, T. R.: Reconstruction and Representation of 3D Objects with Radial Basis
Functions. In: Proceedings of ACM Siggraph 2001, Los Angeles, CA , USA, (2001) 67-76
12. Beatson, R. K.: Fast Evaluation of Radial Basis Functions: Methods for Two-Dimensional
Polyharmonic Splines. IMA Journal of Numerical Analysis, 3 (1997) 343-372
13. Wu, X., Wang, M. Y., Xia, Q.: Implicit Fitting and Smoothing Using Radial Basis
Functions with Partition of Unity. In: Proceedings of 9th International Computer-AidedDesign and Computer Graphics Conference, Hong Kong, China, (2005) 351-360
14. Ohtake, Y., Belyaev, A., Seidel, H. P.: Multi-scale Approach to 3D Scattered Data
Interpolation with Compactly Supported Basis Functions. In: Proceedings of Shape
Modeling International, Seoul, Korea, (2003) 153-161
15. Tobor, I., Reuter, P., Schlick, C.: Multi-scale Reconstruction of Implicit Surfaces with
Attributes from Large Unorganized Point Sets. In: Proceedings of Shape Modeling
International, Genova, Italy, (2004) 19-30
16. Comaniciu, D., Meer, P.: Mean Shift: A Robust Approach toward Feature Space Analysis.
IEEE Transactions on Pattern Analysis and Machine Intelligence, 5 (2002) 603-619
17. Cheng, Y. Z.: Mean Shift, Mode Seeking, and Clustering. IEEE Transactions on Pattern
Analysis and Machine Intelligence, 8 (1995) 790-799
18. Ohtake, Y., Belyaev, A., Alexa, M., Turk, G., Seidel, H. P.: Multi-level Partition of Unity
Implicits. ACM Transactions on Graphics, 3 (2003) 463-470
19. Taubin, G.: Estimation of Planar Curves, Surfaces and Nonplanar Space Curves Defined
by Implicit Equations, with Applications to Edge and Range Image Segmentation. IEEE
Transaction on Pattern Analysis and Machine Intelligence, 11 (1991) 1115-1138
20. Boubekeur, T., Heidrich, W., Granier, X., Schlick, C.: Volume-Surface Trees. Computer
Graphics Forum, 3 (2006) 399-406
21. Schall, O., Belyaev, A., Seidel, H-P.: Robust Filtering of Noisy Scattered Point Data. In:
IEEE Symposium on Point-Based Graphics, Stony Brook, New York, USA, (2005) 71-77
22. Rusinkiewicz, S., Levoy, M.: Qsplat: A Multiresolution Point Rendering System for Large
Meshes. In: Proceedings of ACM Siggraph 2000, New Orleans, Louisiana, USA, (2000)
343-352
23. Lorensen, W. E., Cline, H. F.: Marching Cubes: A High Resolution 3D Surface
Construction Algorithm. Computer Graphics, 4 (1987) 163-169
24. Hoppe, H., DeRose, T., Duchamp, T., McDonald, J., Stuetzle, W.: Surface Reconstruction
from Unorganized Points. In: Proceedings of ACM Siggraph92, Chicago, Illinois, USA,
(1992) 71-78
Introduction
66
V. Savchenko et al.
(a)
(b)
Fig. 1. Surface reconstruction of a technical data set. (a) Cloud of points (4100
scattered points are used). (b)Triangulation produced by Delaunay-based method (N
triangular elements: 7991, N points: 4100).
67
approximation of the original surface (triangular mesh) is given. In some applications, it is important to preserve the initial mesh topology. Thus, our goal
is to insert new points in domains where the If function does not satisfy the
user-specied value. The main contribution of the paper is a novel algorithm of
a vertex placement which is discussed in details in Section 2.
68
V. Savchenko et al.
(a)
(b)
The key idea of the fth step is to progressively adapt the newly created points
throw a few iterations. That is, an area with low sampling density will be lled
in accordance with points generated on the previous steps. In order to obtain
a good set of the new (approximated) points coordinates, we need a measure
of a goodness of triangulations arising from randomly coming points. It is
natural to use a mesh quality parameter, AR of the elements of a star, for such
a measure. In the case of a triangular mesh, AR can be dened as a ratio of the
maximum edge length to the minimum edge length of an element. Nevertheless,
according to our experiments it is much better to use an information Mi (Mi is
the AR of the i-th triangle of the star) associated with respect to a point g (Fig.
3) of the star in an analogy with the Shannon entropy [8], which denes the
uncertainty of a random variable, and can be a natural measure for the criterion
used in the enrichment algorithm. Shannon dened the entropy of an ensemble
of messages: if there are N possible messages that can be sent in one package,
and message m is being transmmited with probability pm , then the entropy is
as follows
S=
N
pm log (pm ) .
(1)
Intuitively, we can use AR-based entropy, with respect to the point g as follows
S=
N
(2)
i=0
x1 x2 ... xn
p1 p2 ... pn
69
()
a1 1
a2 a 1
an an1
, p2 =
, pn =
...
an 1
an 1
an 1
Thus, we can dene the random variable with the distribution as follows
a1 a2 ... an
.
p1 p2 ... pn
Its probability values are used in formula (3) for A-entropy:
A=
N
pi log (pi ) , pi =
ai ai1
, p0 = 1.
an 1
(3)
The value A of A-entropy depends on the coordinates of the center of the star
(point g in Fig. 3). Thus, the problem of maximization of the value A is reduced
to the problem of nding the new coordinates of this center (Fig. 3(b)) and is
considered as the optimization problem. For solving this optimization problem,
we use the downhill simplex method of Nelder and Mead [15].
Experimental Results
70
V. Savchenko et al.
(a)
(b)
(c)
Fig. 4. The mechanical data set. (a) Mesh after enrichment. (b) Mesh after simplication. (c) Shaded image of the nal surface.
(a)
(b)
(c)
(d)
Fig. 5. Mesh fragments of the Horse model after simplication (13% of original
elements) by using: (a) Progressive simplication method; (b) Method based on a
global error bound; (c) Method based on a quadric error metric; (d) Our method
The volume dierence between the initial model and simplied one by our
technique is 0.8%; the nal AR value is equal to 1.5. The global error bound
method demonstrates the worst results; the volume dierence is 1.3%, the nal
AR value is equal to 2.25. At a glance of the model visualization and the volume preservation, the best method, without any doubt, is the method based on
the quadric error metric, see [18]. However, there is a tradeo between attaining a
71
Concluding Remarks
72
V. Savchenko et al.
References
1. Frey P. J.: About Surface Remeshing. Proc.of the 9th Int.Mesh Roundtable (2000)
123-136
2. Alexa, M., Behr, J.,Cohen-Or, D., Fleishman, S., Levin, D., Silvia, C. T.: Point
Set Surfaces. Proc. of IEEE Visualization 2001 (2002) 21-23
3. Pauly, M., Gross, M., Kobbelt, L.: Ecient Simplication of Point-Sampled Surfaces. Proc. of IEEE Visualization 2002(2002) 163-170
4. Hoppe, H., DeRose, T., Duchamp, T., McDonald, J.,Stuetzle, W.: Surface Reconstruction from Unorganized Points. Proceedings of SIGGRAPH 92 (1992) 71-78
5. Amenta, N., Choi, S., Kolluri, R.: The Powercrust. Proc. of the 6th ACM Symposium on Solid Modeling and Applications (1980) 609-633
6. Kolluri, R., Shewchuk, J.R., OBrien, J.F.: Spectral Surface Reconstruction From
Noisy Point Clouds. Symposium on Geometry Processing (2004) 11-21
7. Blahut, R.E.: Principles and Practice of Information Theory. Addison-Wisley
(1987)
8. Shepard, D.: A Two-Dimensional Interpolation Function for Irregularly Spaced
Data. Proc. of the 23th Nat. Conf. of the ACM (1968) 517-523
9. Franke, R., Nielson, G.,: Smooth Interpolation of Large Sets of Scattered Data.
Journal of Numerical Methods in Engineering 15 (1980) 1691-1704
10. Alliez, P., de Verdiere, E.C., Devillers, O., Isenburg, M.: Isotropic Surface Remeshing. Proc.of Shape Modeling International (2003)49-58
11. Alliez, P., Cohen-Steiner, D., Devillers, O., Levy, B., Desburn, M.: Anisotropic
Polygonal Remeshing. Inria Preprint 4808 (2003)
12. Liepa, P.: Filling Holes in Meshes. Proc. of 2003 Eurographics/ACM SIGGRAPH
symp.on Geometry processing 43 200-205
13. Carr, J.C., Mitchell, T.J., Beatson, R.K., Cherrie, J.B., Fright, W.R., McCallumn,
B.C., Evans, T.R.: Filling Holes in Meshes. Proc.of SIGGRAPH01 (2001) 67-76
14. Wendland, H.: Piecewise Polynomial, Positive Dened and Compactly Supported
Radial Functions of Minimal Degree. AICM 4 (1995) 389-396
15. Nelder, J.A., Mead, R.: A simplex Method for Function Minimization. Computer
J. 7 (1965) 308-313
16. Bookstein, F.L.: Morphometric Tools for Landmarks Data. Cambridge University
Press (1991) Computer J. 7 (1965) 308-313
17. Schroeder, W., Martin, K., Lorensen,B.: The Visualization Toolkit. Ed.2 Prentice
Hall Inc. (1998)
18. Garland, M.: A Multiresolution Modeling: Survey and Future Opportunities. Proc.
of EUROGRAPHICS, State of the Art Reports (1999)
19. Bossen, F.J., Heckbert, P.S.: A Pliant Method for Anisotropic Mesh Generation.
Proc. of the 5th International Meshing Roundtable (1996) 63-74
20. Zhou, T., Shimada, K.: An Angle-Based Approach to Two-dimensional Mesh
Smoothing. Proc.of the 9th International Meshing Roundtable (2000) 373-384
21. Krysl, P., Belytchko, T.: An Ecient Linear-precision Partition of Unity Basis
for Unstructured Meshless Methods. Communications in Numerical Methods in
Engineering 16 (2000) 239-255
Abstract. In this paper, we introduce a new piecewise linear parameterization of 3D surface patches which provides a basis for texture mapping, morphing, remeshing, and geometry imaging. To lower distortion
when atting a 3D surface patch, we propose a new method to locally
calculate straightest distances with cutting planes. Our new and simple
technique demonstrates competitive results to the current leading parameterizations and will help many applications that require one-to-one
mapping.
Introduction
74
(a) By Floaters
(dist. 1.26)
(b) By Ours
(dist. 1.20)
(c) By Ours
with a fixed
(d) By Ours
with a measured
Fig. 1. Comparisons with texture-mapped models, Hat and Nefertiti: (a) is resulted
by Floaters [5] with a distortion of 1.26. (b) is by our new parameterization with a
distortion of 1.20, less than by Floaters. The distortion is measured by the texture
stretch metric [19]. (c) is by ours with a xed boundary and (d) is also by ours with a
measured boundary.We can see much less distortion in (d) than (c).
1.1
Related Work
75
The core of this piecewise linear parameterization is nding nonnegative coefcients aij in the equation 1. Our new parameterization proposes to determine
these coecients by using locally straightest paths and distances with local cutting planes. The work by Lee et. al. [10] uses local straightest geodesics by
Polthier and Schmiess [15] for these coecients, however the tangents of the
straightest geodesics by this previous method are determined by gaussian curvatures at vertices and may not be intuitively straightest especially when the
gaussian curvature is not equal to 2. In Figure 2, Vps is determined by having
the same left and right angle at Vi by [10], while Vour is determined intuitively
straightest by our local cutting plane.
Our new method for local straightest paths and distances is determined as
follows. As shown in Figure 2, a base plane B is created locally at each interior
vertex. To preserve shape better, the normal N ormalB of the base planeB is
calculated by area-weighted averaging of neighboring face normals of Vi as shown
in equation 2 and normalized later.
N ormalB =
wj N ormalj
(2)
jN (i)
In this way, we found that the distortion is lower than a simple averaged
normal of neighboring faces. A local cutting plane P passing with Vi , Vj is also
calculated. Two planes intersect in a line as long as they are not parallel. Our
cutting plane P pierces a neighboring face (for example j-th neighboring face)
on the mesh. Therefore there is a line segment which is the straightest path by
76
P
Vi
Vi
Vj
Vj
Vj
Vj
Vi
Vk
Vj'
Vl
Vk
Vi
Vj'
Vl
Vk Vps
Vour
Vl
Vl
Vk
Vps
Vour
Fig. 2. Our new local straightest path: For each interior vertex Vi , a local base B
and a cutting plane P with Vi , Vj is created. A local straightest path is computed by
cutting the face Vi Vk Vl with P. The intersection Vj is computed on the edge Vk Vl and
connected to Vi to form a local straightest path. Vps is determined by the Polthier and
Schimess [15] and Vour is determined by our new method.
Fig. 3. Results by our new parameterization: models are Nefertiti, Face, Venus, Man,
Mountain from the left to the right
our method. There may be multiple line intersections where the plane P may
pierce multiple neighboring faces. As a future work, we will explore how to select
a line segment.
A local straightest path is computed by intersecting the face Vi Vk Vl and the
cutting plane P. The tangent a for this intersecting line segment Vj Vj can be
easily calculated from the normal N ormalj of the face Vi Vk Vl and the normal
N ormalp of the cutting plane P as follows:
a = N ormalj XN ormalc
(3)
77
Discussion
Floaters [5] is considered as the widely used parameterization and LTDs [10]
also used a straightest geodesic path algorithm by [15]. Therefore we compare
our method to the two existing parameterizations.
The visual results achieved by our new parameterization are shown in
Figure 3. The distortion with the texture-stretch metric in [19] is also measured
and shown in Table 1. Notice that our parameterization produces competitive
results to the current leading linear parameterizations. With measured boundary
The previous algorithms and the distortion metric (L2 -norm, the mean stretch
over all directions) are all implemented by us.
As shown in Figure 4 (b) and (c), and the 1st and 2nd gures in Figure 3, high
distortion always occurs near the boundary. To reduce this high distortion, we
attempt to derive a boundary by our straightest geodesic path algorithm.
An interior source vertex S can be specied by a user or calculated as a center
vertex of the mesh from the boundary vertices. A virtual edge is dened as an
edge between S and a vertex on the boundary. Straightest paths and distances
of virtual edges to every vertex on the boundary will be measured as follows:
1. Make virtual edges connecting from S to every boundary vertex of the mesh.
2. Map each virtual edge onto the base plane B by a polar map, which preserves
angles between virtual edges such as [4]. The normal of the base plane B is
calculated as previously mentioned in 2.
3. Measure the straightest distance for each virtual edge on B from S to each
boundary vertices with corresponding cutting planes.
4. Position each boundary vertex at the corresponding distance from S on B.
5. If the resulted boundary is non-convex shaped, change it to a convex. Find
the edges having minimum angle with the consecutive edge (i.e., concaved
part of the boundary) and move the boundary vertex to form a convex.
In the linear system AU = B, the boundary vertices in B is simply set to the
measured position (ui , vi ) and (0, 0) for inner vertices. Then PBCG as mentioned
in 2 is used to nd positions in the parameterized space.
Figure 4 (d) and (e) clearly shows the utility of our straightest geodesic paths
with the simple models Testplane on the top and Testplane2 on the bottom.
With a circular boundary, previous parameterizations [5,10] produce the same
results in (b) for two dierent models. In (c), there is also a high distortion in
the texture-mapping by using (b). Our straightest path algorithm contributes to
deriving two distinct measured boundaries and results in very low distortion in
(d) and much better texture-mapping in (e).
78
(a) Models
(b) Circular
boundary
(c) Textured
by (b)
(d) Measured
boundary
(e) Textured
by (d)
Fig. 4. Comparisons between parameterizations with a xed boundary and a measured boundary by our new method: With a circular boundary, previous parameterizations [5,10] produce the same results in (b) for two dierent models in (a). Notice
in (c) that there are a lot of distortion in the texture-mapping by the results in (b).
Our straightest path algorithm contributes to creating a measured boundary to reduce
distortion by distinct results in (d) and much better texture-mapping in (e).
Fig. 5. Results by our new parameterization with dierent boundaries. Models are
Face in the two left and Venus on the two right columns. The tip of the nose on each
model is chosen as S.
Results with more complex models are demonstrated in Figure 5. Notice that
there is always a high level of distortion near the xed boundary but a low level
of distortion near the measured boundary by using our method. The straightest
79
distances to the boundary vertices are actually dependent on the selection on the
source vertex S. We simply use a vertex centered on the mesh from the boundary
as for the source S. As a future work, we will explore how to select the vertex S.
Results
The visual results by our method are shown in Figure 1, 3, and 5. The statistical
results comparing our parameterization with other methods are listed in Table 1.
Notice that visually and statistically our methods produce competitive results
than the previous methods.
Table 1. Comparisons of distortion measured by the texture stretch metric [19]: The
boundary is xed to a circle. Combined with measured boundaries by our straightest
path algorithm, our new parameterization in the 6th column produces better results
than the current leading methods.
Models
Nefertiti
Man
Face
Venus
Mountain
1.165
1.244
1.223
2.159
1.519
1.165
1.241
1.222
2.162
1.552
1.164
1.240
1.221
2.168
1.550
1.146
1.226
1.334
1.263
1.119
Acknowledgement
This work was supported by grant No. R01-2005-000-10120-0 from Korea Science
and Engineering Foundation in Ministry of Science & Technology.
80
References
1. Chen J., Han Y.: Shortest Paths on a Polyhedron; Part I: Computing Shortest
Paths, Int. J. Comp. Geom. & Appl. 6(2), 1996.
2. Desbrun M., Meyer M., Alliez P.: Intrinsic Parameterizations of Surface Meshes,
Eurographics 2002 Conference Proceeding, 2002.
3. Floater M., Gotsman C.: How To Morph Tilings Injectively, J. Comp. Appl.
Math., 1999.
4. Floater M.: Parametrization and smooth approximation of surface triangulations, Computer Aided Geometric Design, 1997.
5. Floater M.: Mean Value Coordinates, Comput. Aided Geom. Des., 2003.
6. Funkhouser T., Kazhdan M., Shilane P., Min P.,Kiefer W., Tal A., Rusinkiewicz
S., Dobkin D.: Modeling by example, ACM Transactions on Graphics, 2004.
7. Kimmel R., Sethian J.A.: Computing Geodesic Paths on Manifolds, Proc. Natl.
Acad. Sci. USA Vol.95 1998, 1998.
8. Lee Y., Kim H., Lee S.: Mesh Parameterization with a Virtual Boundary, Computer and Graphics 26 (2002), 2002.
9. Lee H., Kim L., Meyer M., Desbrun M.: Meshes on Fire, Computer Animation
and Simulation 2001, Eurographics, 2001.
10. Lee H., Tong Y. Desbrun M.: Geodesics-Based One-to-One Parameterization of
3D Triangle Meshes, IEEE Multimedia January/March (Vol. 12 No. 1), 2005.
11. Meyer M., Lee H., Barr A., Desbrun M.: Generalized Barycentric Coordinates to
Irregular N-gons, Journal of Graphics Tools, 2002.
12. Mitchell J.S.B.: Geometric Shortest Paths and network optimization, In Handbook of Computational Geometry, J.-R. Sack and J. Urrutia, Eds. Elsevier Science
2000.
13. Mitchell J.S.B., Mount D.M., Papadimitriou C.H.: The Discrete Geodesic Problem, SIAM J. of Computing 16(4), 1987.
14. Peyre G., Cohen L.: Geodesic Re-meshing and Parameterization Using Front
Propagation, In Proceedings of VLSM03, 2003.
15. Polthier K., Schmies M.: Straightest Geodesics on Polyhedral Surfaces, Mathematical Visualization, 1998.
16. Polthier K., Schmies M.: Geodesic Flow on Polyhedral Surfaces, Proceedings of
Eurographics-IEEE Symposium on Scientic Visualization 99, 1999.
17. Press W., Teuklosky S., Vetterling W., Flannery B.: Numerical Recipes in C,
second edition, Cambridge University Press, New York, USA, 1992.
18. Riken T., Suzuki H.: Approximate Shortest Path on a Polyhedral Surface Based
on Selective Renement of the Discrete Graph and Its Applications, Geometric
Modeling and Processing 2000 (Hongkong), 2000.
19. Sander P.V., Snyder J., Gortler S.J., Hoppe H.: Texture Mapping Progressive
Meshes, Proceedings of SIGGRAPH 2001, 2001.
20. Sifri O., Sheer A., Gotsman C. : Geodesic-based Surface Remeshing, In Proceedings of 12th Intnl. Meshing Roundtable, 2003.
Abstract. This paper presents a new approach method to recognize facial expressions in various internal states using manifold learning (ML). The manifold
learning of facial expressions reflects the local features of facial deformations
such as concavities and protrusions. We developed a representation of facial
expression images based on manifold learning for feature extraction of facial
expressions. First, we propose a zero-phase whitening step for illuminationinvariant images. Second, facial expression representation from locally linear
embedding (LLE) was developed. Finally, classification of facial expressions in
emotion dimensions was generated on two dimensional structure of emotion
with pleasure/displeasure dimension and arousal/sleep dimension. The proposed
system maps facial expressions in various internal states into the embedding
space described by LLE. We explore locally linear embedding space as a facial
expression space in continuous dimension of emotion.
1 Introduction
A challenging study in automatic facial expression recognition is to detect the change
of facial expressions in various internal states. Facial expressions are continuous because the expression image varies smoothly as the expression is changed. The variability of expression images can be represented as subtleties of manifolds such as
concavities and protrusions in the image space. Thus automatic facial expression
recognition has to be detected subtleties of manifolds in the expression image space,
and it is also required continuous dimensions of emotion because the expression images consist of several other emotions and many combinations of emotions.
The dimensions of emotion can overcome the problem of discrete recognition
space because the discrete emotions can be treated as regions in a continuous space.
The two most common dimensions are arousal (calm/excited), and valence (negative/positive). Russell who argued that the dimensions of emotion can be applied to
emotion recognition [1]. Peter Lang has assembled an international archives of imagery rated by arousal and valence with image content [2]. To recognize facial expressions in various internal states, we worked with dimensions of emotion instead of
basic emotions or discrete emotion categories. The dimensions of emotion proposed
are pleasure/displeasure dimension and arousal/sleep dimension.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 8188, 2007.
Springer-Verlag Berlin Heidelberg 2007
82
Y.-s. Shin
Many studies [3, 4, 5, 6, 7] for representing facial expression images have been
proposed such as Optic flow, EMG(electromyography), Geometric tracking method,
Gabor representation, PCA (Principal Component Analysis) and ICA (Independent
Component Analysis). At recently study, Seung and Lee [8] proposed generating
image variability as low-dimensional manifolds embedded in image space. Roweis
and Saul [9] showed that locally linear embedding algorithm is able to learn the
global structure of nonlinear manifolds, such as the pose and expression of an individuals faces. But there have been no reports about how to contribute the intrinsic
features of the manifold based on various internal states on facial expression
recognition.
We explore the global structure of nonlinear manifolds on various internal states
using locally linear embedding algorithm. This paper developed a representation of
facial expression images on locally linear embedding for feature extraction of various
internal states. This representation consists of two steps in section 3. Firstly, we present a zero-phase whitening step for illumination-invariant images. Secondly, facial
expression representation from locally linear embedding was developed. A classification of facial expressions in various internal states was presented on emotion dimension having pleasure/displeasure dimension and arousal/sleep dimension using 1nearest neighborhood. Finally, we discuss locally linear embedding space and facial
expression space on dimensions of emotion.
Fig. 1. Examples from the facial expression database in various internal states
83
Fig. 2. The dimension analysis of 44 emotion words related to internal emotion states
V = E { XX
} 2 , Z = XV
(1)
This indicates that the mean is set to zero and the variances are equalized as unit
variances. Secondly, we subtract the local mean gray-scale value from the sphered
each patch. From this process, Z removes much of the variability due to lightening.
Fig. 3(a) shows original images before preprocessing and Fig. 3(b) shows images
after preprocessing.
84
Y.-s. Shin
(a)
(b)
Fig. 3. (a) original images before preprocessing (b) images after preprocessing
(W ) = xi Wij xij
(2)
j =1
xi and x j are not in the same neighbor. Second, the rows of the weight matrix
ij
j =1
weights
Wij according to the least square. K means nearest neighbors per data point.
Step 3: compute the vectors Y best reconstructed by the weights W, minimizing the
quadratic form in eq.(3) by its bottom nonzero eigenvectors.
85
(Y ) = yi Wij yij
(3)
j =1
(Y ) is invariant to translation in Y,
1
yi yiT = I is to
N i
avoid degenerate solutions of Y=0. Therefore, eq.(3) can be described to an eigenvector decomposition problem as follow.
k
(Y ) = yi Wij yij
j =1
= arg min ( I W )Y
(4)
= arg min Y T ( I W )T ( I W )Y
Y
eq.(3)
is the smallest
eigenvectors of
matrix
eigenvectors with eigenvalue zero enforces the constraint term. Thus we need to compute the bottom (d+1) eigenvectors of the matrix.
Therefore we obtain the corresponding low-dimensional data set Y in embedding
space from the training set X. Figure 4 shows facial expression images reconstructed
from bottom (d+1) eigenvectors corresponding to the d+1 smallest eigenvalues discovered by LLE, with K=3 neighbors per data point. Especially, the first eight components d=8 discovered by LLE represent well features of facial expressions. Facial
expression images of various internal states mapped into the embedding space described by the first two components of LLE (See Fig. 5). From figure 5, we can
explore the structural nature of facial expressions in various internal states on embedding space modeled by LLE.
(a)
(b)
(c)
Fig. 4. Facial expression images reconstructed from bottom (d+1) eigenvectors (a) d=1,
(b) d=3, and (c) d=8
86
Y.-s. Shin
Fig. 5. 318 facial expression images of various internal states mapped into the embedding space
described by the first two components of LLE
The further a point is away from the center point, the higher is the intensity of displeasure and arousal dimensions. The center points coexists facial expression images
of various internal states.
C3
C2
C4
C1
87
0
0
pleasure
10
displeasure
This paper explores two problems. One is to explore a new approach method to
recognize facial expressions in various internal states using locally linear embedding
algorithm. The other is to explore the structural nature of facial expressions in various
internal states on embedding space modeled by LLE.
88
Y.-s. Shin
As a result of the first problem, the recognition results of each dimension through
1-nearest neighborhood were significant 90.9% in Pleasure/Displeasure dimension
and 56.1% in the Arousal/Sleep dimension. The two dimensional structure of emotion
in the facial expression recognition appears as a stabled structure for the facial expression recognition. Pleasure-Displeasure dimension is analyzed as a more stable dimension than Arousal-Sleep dimension. In second case, facial expressions in continuous
dimension of emotion was showed a cross structure on locally linear embedding
space. The further a point is away from the center point, the higher is the intensity of
displeasure and arousal dimensions. From these results, we can know that facial expression structure on continuous dimension of emotion is very similar to structure
represented by the manifold model.
Thus our result may be analyzed that the relationship of facial expressions in various internal states can be facilitated on the manifold model. In the future work, we
will consider learning invariant manifolds of facial expressions.
Acknowledgements. This work was supported by the Korea Research Foundation
Grant funded by the Korean Government (KRF-2005-042-D00285).
References
1. Russell, J. A.: Evidence of convergent validity on the dimension of affect. Journal of Personality and Social Psychology, 30, (1978) 1152-1168
2. Peter J. L.: The emotion probe: Studies of motivation and attention. American Psychologist, 50(5) (1995) 372-385
3. Donato, G., Bartlett, M., Hager, J., Ekman, P. and Sejnowski, T.: Classifying facial actions, IEEE PAMI, 21(10) (1999) 974-989
4. Schmidt, K., Cohn, J. :Dynamics of facial expression:Normative characteristics and individual difference, Intl. Conf. On Multimedia and Expo, 2001
5. Pantic, M., Rothkrantz, L.J.M.: Towards an Affect-Sensitive Multimodal Human Computer Interaction, Proc. Of IEEE. 91 1370-1390
6. Shin, Y., An, Y.: Facial expression recognition based on two dimensions without neutral
expressions, LNCS(3711) (2005) 215-222
7. Bartlett, M.: Face Image analysis by unsupervised learning, Kluwer Academic Publishers
(2001)
8. Seung, H. S., Lee, D.D.:The manifold ways of perception, Science (290), (2000) 22682269
9. Roweis, S.T., Saul, L.K..:Nonlinear Dimensionality reduction by locally linear embedding,
Science (290), (2000) 2323-2326
10. Bahn, S., Han, J., Chung, C.: Facial expression database for mapping facial expression
onto internal state. 97 Emotion Conference of Korea, (1997) 215-219
11. Osgood, C. E., May, W.H. and Miron, M.S.: Cross-curtral universals of affective meaning.
Urbana:University of Illinoise Press, (1975)
12. Russell, J. A., Lewicka, M. and Nitt, T.: A cross-cultural study of a circumplex model of
affect. Journal of Personality and Social Psychology, 57, (1989) 848-856
13. Kim, Y., Kim, J., Park, S., Oh, K., Chung, C.: The study of dimension of internal states
through word analysis about emotion. Korean Journal of the Science of Emotion and Sensibility, 1 (1998) 145-152
Abstract. One of the major current issues in Articial Life is the decision modeling problem (also known as goal selection or action selection).
Recently, some Articial Intelligence (AI) techniques have been proposed
to tackle this problem. This paper introduces a new based-on-ArticialIntelligence framework for decision modeling. The framework is applied
to generate realistic animations of virtual avatars evolving autonomously
within a 3D environment and being able to follow intelligent behavioral
patterns from the point of view of a human observer. Two examples of
its application to dierent scenarios are also briey reported.
Introduction
The realistic simulation and animation of the behavior of virtual avatars emulating human beings (also known as Articial Life) has attracted much attention
during the last few years [2,5,6,7,8,9,10,11,12,13]. A major goal in behavioral
animation is the construction of an intelligent system able to integrate the
dierent techniques required for the realistic simulation of the behavior of virtual humans. The challenge is to provide the virtual avatars with a high degree
of autonomy, so that they can evolve freely, with a minimal input from the animator. In addition, this animation is expected to be realistic; in other words,
the virtual avatars must behave according to reality from the point of view of a
human observer.
Recently, some Articial Intelligence (AI) techniques have been proposed to
tackle this problem [1,3,4,8]. This paper introduces a new based-on-ArticialIntelligence framework for decision modeling. In particular, we apply several
AI techniques (such as neural networks, expert systems, genetic algorithms,
K-means) in order to create a sophisticated behavioral system that allows the
avatars to take intelligent decisions by themselves. The framework is applied to
generate realistic animations of virtual avatars evolving autonomously within a
3D environment and being able to follow intelligent behavioral patterns from
the point of view of a human observer. Two examples of the application of this
framework to dierent scenarios are briey reported.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 8996, 2007.
c Springer-Verlag Berlin Heidelberg 2007
90
The structure of this paper is as follows: the main components of our behavioral system are described in detail in Section 2. Section 3 discusses the
performance of this approach by means of two simple yet illustrative examples.
Conclusions and future lines in Section 4 close the paper.
Behavioral System
In this section the main components of our behavioral system are described.
2.1
Environment Recognition
At the rst step, a virtual world is generated and the virtual avatars are placed
within. In the examples described in this paper, we have chosen a virtual park
and a shopping center, carefully chosen environments that exhibit lots of potential objects-avatars interactions. In order to interact with the 3D world, each
virtual avatar is equipped with a perception subsystem that includes a set of
individual sensors to analyze the environment and capture relevant information.
This analysis includes the determination of distances and positions of the dierent objects of the scene, so that the agent can move in this environment, avoid
obstacles, identify other virtual avatars and take decisions accordingly. Further,
each avatar has a predened vision range (given by a distance threshold value
determined by the user), and hence, objects far away from the avatar are considered to be visible only if the distance from the avatar to the object is less than
such threshold value; otherwise, the object becomes invisible.
All this information is subsequently sent to an analyzer subsystem, where it
is processed by using a representation scheme based on genetic algorithms. This
scheme has proved to be extremely useful for pattern recognition and identication. Given a pair of elements A and B and a sequence j, there is a distance function that determines how near these elements are. It is dened as
k
dist(j, A, B) = k1
|Aji Bij |, where Aji denotes the ith gene at sequence j for
i=1
the chromosome A, and k denotes the number of genes of such a sequence. Note
that we can think of sequences in terms of levels in a tree. The sequence j is
simply the level j down the tree at which it appears, with the top of the tree as
sequence 1. A and B are similar at sequence (or at level) j if dist(j, A, B) = 0.
Note that this hierarchical structure implies that an arbitrary object is nearer
to that minimizing the distance at earlier sequences. This simple expression
provides a quite accurate procedure to classify objects at a glance, by simply
comparing them sequentially at each depth level.
2.2
Knowledge Acquisition
Once new information is attained and processed by the analyzer, it is sent to the
knowledge motor. This knowledge motor is actually the brain of our system. Its
main components are depicted in Figure 1(left). Firstly, the current information
91
Fig. 1. (left) Knowledge motor scheme; (right) goal selection subsystem scheme
is temporarily stored into the knowledge buer, until new information is attained.
At that time, previous information is sent to the knowledge updater (KU), the
new one being stored into this knowledge buer and so on. This KU updates
both the memory area and the knowledge base.
The memory area is a neural network applied to learn from data (in our
problem, the information received from the environment through the perception
subsystem). In this paper we consider the unsupervised learning, and hence we
use an autoassociative scheme, since the inputs themselves are used as targets.
To update the memory area, we employ the K-means least-squares partitioning
algorithm for competitive networks, which are formed by an input and an output
layer, connected by feed forward connections. Each input pattern represents a
point in the conguration space (the space of inputs) where we want to obtain
classes. This type of architecture is usually trained with a winner takes all algorithm, so that only those weights associated with the output neuron with largest
value (the winner) are updated. The basic algorithm consists of two main steps:
(1) compute cluster centroids and use them as new cluster seeds and (2) assign
each chromosome to the nearest centroid. The basic idea behind this formulation
is to overcome the limitation of having more data than neurons by allowing each
neuron to store more than one data at the same time.
The knowledge base is actually a based-on-rules expert system, containing
both concrete knowledge (facts) and abstract knowledge (inference rules). Facts
include complex relationships among the dierent elements (relative positions,
etc.) and personal information about the avatars (personal data, schedule, hobbies or habits), i.e. what we call avatars characteristic patterns. Additional subsystems for tasks like learning, coherence control, action execution and others
have also been incorporated. This deterministic expert system is subsequently
modied by means of probabilistic rules, for which new data are used in order
to update the probability of a particular event. Thus, the neuron does not exhibit a deterministic output but a probabilistic one: what is actually computed
is the probability of a neuron to store a particular data at a particular time. This
probability is continuously updated in order to adapt our recalls to the most recent data. This leads to the concept of reinforcement, based on the fact that the
repetition of a particular event over time increases the probability to recall it.
92
Of course, some particular data are associated with high-relevance events whose
inuence does not decrease over time. A learning rate parameter introduced in
our scheme is intended to play this role.
Finally, the request manager is the component that, on the basis of the information received from the previous modules, provides the information requested
by the goal selection subsystem described in next section.
2.3
Decision Modeling
Once the goals and priorities are dened, this information is sent to the motion
subsystem to be transformed into motion routines (just as the orders of our brain
are sent to our muscles) and then animated in the virtual world. Currently, we
93
have implemented routines for path planning and obstacle avoidance. In particular, we have employed a modication of the A* path nding algorithm, based
on the idea to prevent path recalculation until a new obstacle is reached. This
simple procedure has yielded substantial savings in time in all our experiments.
In addition, sophisticated collision avoidance algorithms have been incorporated
into this system (see the examples described in Section 3).
In this section, two illustrative examples are used to show the good performance of our approach. The examples are available from Internet at the URLs:
http://personales.unican.es/iglesias/CGGM2007/samplex.mov (x = 1, 2).
Figure 2 shows some screenshots from the rst movie. In picture (a) a woman
and her two children go into the park. The younger kid runs following some
birds. After failing to capture them, he gets bored and joins his brother. Then,
the group moves towards the wheel avoiding the trees and the seesaw (b). Simultaneously, other people (the husband and a girl) enter into the park. In (c) a
kid is playing with the wheel while his brother gets frustrated after expecting to
play with the seesaw (in fact, he was waiting for his brother besides the seesaw).
After a while, he decides to join his brother and play with the wheel anyway.
Once her children are safely playing, the woman relaxes and goes to meet her
husband, who is seated on a bench (d). The girl is seated in front of them, reading
a newspaper. Two more people go into the park: a man and a kid. The kid goes
directly towards the playground, while the man sees the girl, becomes attracted
by her and decides to sit down on the same bench, looking for a chat. As she
does not want to chat with him, she stands up and leaves. The new kid goes
to play with the wheel while the two brothers decide to play with the seesaw.
The playground has two seesaws, so each brother goes towards the nearest one
(e). Suddenly, they realize they must use the same one, so a brother changes his
trajectory and moves towards the other seesaw. The mother is coming back in
order to take after her children. Her husband also comes behind her and they
94
Fig. 3. Temporal evolution of the internal states (top) and available goals wishes
(bottom) for the second example in this paper
start to chat again (f). The man on a bench is now alone and getting upset so he
decides to take a walk and look for the girl again. Simultaneously, she starts to
make physical exercises (g). When the man realizes shes busy and hence will not
likely pay attention on him, he changes his plans and walks towards the couple,
who are still chatting (g). The man realizes they are not interested to chat with
him either, so he nally leaves the park.
It is interesting to point out that the movie includes a number of remarkable motion and behavioral features. For instance, pictures (a)-(b)-(g) illustrate
several of our motion algorithms: persecution, obstacle avoidance, path nding,
interaction with objects (wheel, seesaw, bench) and other avatars, etc. People in
the movie exhibit a remarkable ability to capture information from the environment and change their trajectories in real time. On the other hand, they also
exhibit a human-like ability to realize about what is going on about others and
change their plans accordingly. Each virtual avatar has previous knowledge on
neither the environment nor other avatars, as it might happen in real life when
people enter for the rst time into a new place or know new people.
The second scene consists of a shopping center at which the virtual avatars can
perform a number of dierent actions, such as eat, drink, play videogames, sit
down to rest and, of course, do shopping. We consider four virtual avatars: three
kids and a woman. The pictures in Figure 3 are labelled with eight numbers
indicating the dierent simulations milestones (the corresponding animation
screenshots for those time units are displayed in Figure 4): (1) at the initial
95
step, the three kids go to play with the videogame machines, while the woman
moves towards the eating area (indicate by the tables in the scene). Note that the
internal state with the highest value for the avatar analyzed in this work is the
energy, so the avatar is going to perform some kind of dynamic activity, such as to
play; (2) the kid keeps playing (and their energy level going down) until his/her
satisfaction reaches the maximum value. At that time, the anxiety increases, and
avatars wish turns into performing a dierent activity. However, the goal play
videogame has still the highest wish rate, so it will be in progress for a while;
(3) at this simulation step, the anxiety reaches a local maximum again, meaning
that the kid is getting bored about playing videogames. Simultaneously, the goal
with the highest value is drink water, so the kid stops playing and looks for
a drink machine; (4) at this time, the kid gets the drink machine, buys a can
and drinks. Consequently, the internal state function thirsty decreases as the
agent drinks until the status of this goal becomes goal attained; (5) Once this
goal is satised, the goal play videogames is the new current goal. So, the kid
comes back towards the videogame machines; (6) however, the energy level is
very low, so the goal play videogames is interrupted, and the kid looks for a
bench to sit down and have a rest; (7) once seated, the energy level turns up
and the goal have a rest does not apply anymore; (8) since the previous goal
play videogames is still in progress, the agent comes back and plays again.
Figure 3 shows the temporal evolution of the internal states (top) and the
goals wishes (bottom) for one of the kids. Similar graphics can be obtained for
the other avatars (they are not included here because of limitations of space).
The picture on the top displays the temporal evolution of the ve internal state
functions (valued onto the interval [0, 100]) considered in this example, namely,
energy, shyness, anxiety, hunger and thirsty. On the bottom, the wish rate
(also valued onto the interval [0, 100]) of the feasible goals (have a rest, eat
something, drink water, take a walk and play videogame) is depicted.
96
The core of this paper is the realistic simulation of the human behavior of virtual
avatars living in a virtual 3D world. To this purpose, the paper introduces a
behavioral system that uses several Articial Intelligence techniques so that the
avatars can behave in an intelligent and autonomous way. Future lines of research
include the determination of new functions and parameters to reproduce human
actions and decisions and the improvement of both the interaction with users
and the quality of graphics. Financial support from the Spanish Ministry of
Education and Science (Project Ref. #TIN2006-13615) is acknowledged.
References
1. Funge, J., Tu, X. Terzopoulos, D.: Cognitive modeling: knowledge, reasoning and
planning for intelligent characters, SIGGRAPH99, (1999) 29-38
2. Geiger, C., Latzel, M.: Prototyping of complex plan based behavior for 3D actors,
Fourth Int. Conf. on Autonomous Agents, ACM Press, NY (2000) 451-458
3. Granieri, J.P., Becket, W., Reich, B.D., Crabtree, J., Badler, N.I.: Behavioral control for real-time simulated human agents, Symposium on Interactive 3D Graphics,
ACM, New York (1995) 173-180
4. Grzeszczuk, R., Terzopoulos, D., Hinton, G.: NeuroAnimator: fast neural network
emulation and control of physics-based models. SIGGRAPH98 (1998) 9-20
5. Iglesias A., Luengo, F.: New goal selection scheme for behavioral animation of
intelligent virtual agents. IEICE Trans. on Inf. and Systems, E88-D(5) (2005)
865-871
6. Luengo, F., Iglesias A.: A new architecture for simulating the behavior of virtual
agents. Lectures Notes in Computer Science, 2657 (2003) 935-944
7. Luengo, F., Iglesias A.: Framework for simulating the human behavior for intelligent virtual agents. Lectures Notes in Computer Science, 3039 (2004) Part I:
Framework architecture. 229-236; Part II: Behavioral system 237-244
8. Monzani, J.S., Caicedo, A., Thalmann, D.: Integrating behavioral animation techniques. EUROGRAPHICS2001, Computer Graphics Forum 20(3) (2001) 309-318
9. Raupp, S., Thalmann, D.: Hierarchical model for real time simulation of virtual
human crowds. IEEE Trans. Visual. and Computer Graphics. 7(2) (2001) 152-164
10. Sanchez, S., Balet, O., Luga, H., Dutheu, Y.; Autonomous virtual actors. Lectures
Notes in Computer Science 3015 (2004) 68-78
11. de Sevin, E., Thalmann, D.: The complexity of testing a motivational model of action selection for virtual humans, Proceedings of Computer Graphics International,
IEEE CS Press, Los Alamitos, CA (2004) 540-543
12. Thalmann, D., Monzani, J.S.: Behavioural animation of virtual humans: what kind
of law and rules? Proc. Computer Animation 2002, IEEE CS Press (2002)154-163
13. Tu, X., Terzopoulos, D.: Articial shes: physics, locomotion, perception, behavior.
Proceedings of ACM SIGGRAPH94 (1994) 43-50
1 Introduction
With the proliferation of 3D models and their wide spread through internet, 3D model
retrieval emerges as a new field of multimedia retrieval and has great application
value in industry, military etc.. [1]. Similar to the studies in image or video retrieval,
researches in 3D model retrieval concentrate on the content-based retrieval way [2],
especially the shape-based retrieval. The major problem of shape-based retrieval is
extracting models shape feature, which should satisfy the good properties, such as
rotation invariant, representing various kinds of shape, describing similar shape with
similar feature, etc
Although many methods for extracting shape feature have been proposed [3], researches show that none is the best for all kinds of shapes [4, 5, 6, 7]. To solve this problem, it is an effective way to combine different shape features [5, 6, 7]. The critical step
of the combination is determining the weights of shape features. For instance, ref. [5]
determines the fixed weight due to users experience, which is based on numerous
experiments; meanwhile it decides the dynamic weight based on the retrieval result
and the categorization of 3D models.
However, the shortcomings of these methods are: need user experience to decide
the appropriate fixed weight, and cannot appoint weight for new feature; it is too time
consuming to compute the dynamic weight, while its performance is just a little better
than the fix-weighted way.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 97104, 2007.
Springer-Verlag Berlin Heidelberg 2007
98
T. Lv et al.
Barn
Potted Plant
Stair
To solve these problems, the paper conducts researches in two aspects: first, we
analyzes the influence of the value of weight on the combination performance, and
proposes an method, which automatically decide the value of the fixed weight; second, we introduces an efficient way for categorizing 3D models based on clustering
result.
The rest of the paper is organized as follows: Section 2 introduces the automatic
combination method; Section 3 states the categorization based on clustering result;
Section 4 gives the experimental results of PSB; and Section 5 summarizes the paper.
d com ( q, o) = wi
i =1
d i ( q, o )
max(d i (q))
(1)
Where l is the number of the different shape features, wi is the fixed weight of the ith
shape feature, di(q, o) is the distance between q and o under the ith shape feature vector, and max(di(q)) is maximum distance of q and the others. Previous researches
show that the Manhattan distance performs better than the Euclidian distance, thus the
paper adopts the Manhattan distance in computing di(q, o).
99
In this paper, four kinds of feature extraction methods are adopted and 5 sets of
feature vectors are obtained from PSB. The detail is stated as follows: (1) the shape
feature extracting method based on depth-buffer [11], termed DBD, which obtains the
feature vector with 438 dimensions; (2) the method based on EDT [12], termed NEDT,
which obtains the vector with 544 dimensions; (3) the method based on spherical
harmonic [13], which obtains two sets of vectors with 32 dimensions and 136 dimensions, termed RSH-32 and RSH-136 respectively; (4) the method performing the
spherical harmonic transformation on the voxelized models, termed SHVF, which
obtains the feature vector with 256 dimensions.
We conduct experiment on PSB to analyze the influence of the value of wi on the
combination performance. Table 2 evaluates the performance of combining any two
out of 5 different features of PSB. The weight of each feature is equal and the criterion R-precision is adopted [8]. It can be seen that there co-exist the good cases, like
combining DBD and NEDT, and the bad cases, like combining DBD and RSH-32.
But if the fixed weight (4:4:2:1:1) decided according to our experience is adopted, the
performance is much better.
Table 2. Combination performance comparision under different fixed weights
DBD NEDT
wi
RSH
-136
RSH
-32
SHVF DBD
NEDT
RSH
-136
RSH
-32
SHVF
+DBD
0.354
-- --
-- --
-- --
-- --
0.354
-- --
-- --
-- --
-- --
+NEDT
0.390
0.346
-- --
-- --
-- --
0.390
0.346
-- --
-- --
-- --
+RSH-136 0.364
0.376
0.292
-- --
-- --
0.372
0.378
0.292
-- --
-- --
+RSH-32
0.283
0.286
0.258 0.168
-- --
0.351
0.343
0.279 0.168
+SHVF
0.308
0.308
0.286 0.204
0.201
0.360
0.350
-- --
This experiment shows that the appropriate value of wi can greatly improve the
combination performance. Although wi decided due to experience performs well, it
has the limitations like time consuming and hard to popularize.
Thus, it is necessary to automatically decide wi. To accomplish this task, we suppose that if a feature is the best for most models, its weight should be the highest. And
if one feature is the best for a model, its weight should be summed by 1/N, where N is
the total number of models. As for a set of classified 3D models, we follow the winner-take-all rule. It means that if the ith feature is the best for the jth class Cj of models, wi is summed by nj/N, where nj is the size of Cj.
Finally, states the automatic decision formula of the fixed-weights wi as follows:
f (C )* n
nClass
wi =
j =1
(2)
100
T. Lv et al.
Where nClass is the number of the classes of models; fi(Cj)=1, iff the R-precision of the
l
w
i =1
= 1.
Obviously, the proposed method can automatically decide the fixed weight for a
new shape feature by re-computing the Formula (2). During this process, the weights
of the existing features are also adjusted.
(1) Due to the complexity and diversity of models shape, it is very difficult to describe all shapes. The combination of different shape features can partially solve this
problem, but still has its limit.
(2) X-means may make clustering mistakes. Up to now, it seems that the clustering
process ensure most data is clustered into the right groups, but not every data.
Thus, we import human correction to correct the mistakes lies in the clustering result. To avoid mistakes caused by manual intervene, like those in Table 1, we make
the restriction that a user can just delete some models from a cluster or delete the
whole cluster. And the pruned models are considered as the wrongly categorized and
are labeled as unclassified.
Finally, the refined clustering result is treated as the categorization of 3D models.
101
In comparison with the pure manual work, the categorization base on clustering result is much more efficient and objective. The clustering technique not only shows the
number of classes according to models shape, but also states the member of a class.
NEDT
RSH-136
RSH-32
SHVF
R-Precision/Improvement
+DBD
0.354/--
-- --
-- --
-- --
-- --
+NEDT
0.388/+9.6%
0.346/--
-- --
-- --
-- --
+RSH-136
0.368/+4.8%
0.378/+9.3%
0.292/--
-- --
-- --
+RSH-32
0.360/+1.7%
0.353/+2.0%
0.298/+2.1%
0.168/--
-- --
+SHVF
0.356/+0.6%
0.350/+1.2%
0.302/+3.4%
0.208/+24%
0.201/--
Fig. 1. states the Precision-Recall curves along with R-Precision of 5 features, the
combination of 5 features based on equal fixed weight (Equal Weight), the combination using fixed weight (4:4:2:1:1) decided by experience (Experience Weight), and
the combination adopting the proposed automatic fixed weight (Automatic Weight).
It can be seen that the proposed method is the best under all criterions. It achieves
the best R-Precision 0.4046, which is much better than that of the Equal Weight
0.3486 and is also slightly better than the Experience Weight 0.4021. And its performance improved by 14.5% than the best single feature DBD.
After combining 5 features based on the proposed method, we adopt X-means to
analyze the PSB, and 130 clusters are finally obtained. In scanning these clusters, we
found that most clusters are formed by the models with similar shape, like the cluster
C70, C110, C112, C113 in Table 4. However, there also exist mistakes, such as C43 in
Table 4. After analyzing the combined feature of those wrong models, we find that
the mistakes are mainly caused by the shape feature, instead of clustering.
102
T. Lv et al.
C70
C110
C112
103
Table 4. (continued)
C113
C43
Then, we select 3 students that never contact these models to refine the clustering
result. At least two of them must reach an agreement for each deletion. In less than 2
hours, including the time costs on arguments, they labeled 202 models as the unclassified out of 1814, viz. 11.13%, and 6 clusters out of 130 are pruned, viz. 4.6%.
Obviously, the clustering result is a valuable reference for categorizing 3D models.
Even if the refinement time is included, the categorization based on clustering result
is much faster than the pure manual work, which usually costs days and is exhaustive.
5 Conclusions
The paper proposes a combination method, which automatically decides the fixed
weights of different shape features. Based on the combined feature, the paper categorizes 3D models according to their shape. Experimental result shows that the proposed
method shows good performance not only in improving retrieval performance but also
in categorization. Future work will concentrate on the study of clustering ensemble to
achieve a much stable clustering result of 3D models.
Acknowledgements
This work is sponsored by Foundation for the Doctoral Program of the Chinese Ministry of Education under Grant No.20060183041 and the Natural Science Research
Foundation of Harbin Engineering University under the grant number HEUFT05007.
References
[1] T.Funkhouser, et al. A Search Engine for 3D Models. ACM Transactions on Graphics.22
(1), (2003) 85-105.
[2] Yubin Yang, Hui Li, Qing Zhu. Content-Based 3D Model Retrieval: A Survey. Chinese
Journal of Computer. (2004), Vol. 27, No. 10, Pages: 1298-1310.
104
T. Lv et al.
[3] Chenyang Cui, Jiaoying Shi. Analysis of Feature Extraction in 3D Model Retrieval.
Journal of Computer-Aided Design & Computer Graphics. Vol.16, No.7, July (2004).
pp. 882-889.
[4] Shilane P., Min P., Kazhdan M., Funkhouser T.. The Princeton Shape Benchmark. In
Proceedings of the Shape Modeling International 2004 (SMI'04), Genova, Italy, June
2004. pp. 388-399.
[5] Feature Combination and Relevance Feedback for 3D Model Retrieval. The 11th International Conference on Multi Media Modeling (MMM 2005), 12-14 January 2005, Melbourne, Australia. IEEE Computer Society 2005. pp. 334-339.
[6] Ryutarou Ohbuchi, Yushin Hata,Combining Multiresolution Shape Descriptors for Effective 3D Similarity Search Proc. WSCG 2006, Plzen, Czech Republic, (2006).
[7] Atmosukarto I., Wee Kheng Leow, Zhiyong Huang. Feature Combination and Relevance
Feedback for 3D Model Retrieval. Proceedings of the 11th International Multimedia
Modelling Conference, (2005).
[8] R. Baeza-Yates, B. Ribeiro-Neto. Modern Information Retrieval. Addison-Wesley,
(1999).
[9] Dan Pelleg, Andrew Moore. X-means: Extending K-means with Efficient Estimation of
the Number of Clusters. In Proc. 2000 Int. Conf. on Data Mining. (2000).
[10] Tianyang Lv, etc. An Auto-Stopped Hierarchical Clustering Algorithm for Analyzing 3D
Model Database. The 9th European Conference on Principles and Practice of Knowledge
Discovery in Databases. In: Lecture Notes on Artificial Intelligent, Vol. 3801, pp.
601 608.
[11] M. Heczko, D. Keim, D. Saupe, and D. Vranic. Methods for similarity search on 3D databases. Datenbank-Spektrum, 2(2):5463, (2002). In German.
[12] H. Blum. A transformation for extracting new descriptors of shape. In W. Wathen-Dunn,
editor, Proc. Models for the Perception of Speech and Visual Form, pages 362{380,
Cambridge, MA, November 1967. MIT Press.
[13] Kazhdan Michael , Funkhouser Thomas. Harmonic 3D shape matching [A]. In : Computer Graphics Proceedings Annual Conference Series , ACM SIGGRAPH Technical
Sketch , San Autonio , Texas , (2002)
A Generalised-Mutual-Information-Based Oracle
for Hierarchical Radiosity
Jaume Rigau, Miquel Feixas, and Mateu Sbert
Institut dInform`
atica i Aplicacions
Campus Montilivi P-IV, 17071-Girona, Spain
jaume.rigau|miquel.feixas|mateu@ima.udg.edu
Introduction
106
2
2.1
Preliminaries
Radiosity
The radiosity method uses a nite element approach, discretising the diuse
environment into patches and considering the radiosities, emissivities and reectances constant over them. With these assumptions, the discrete radiosity
equation [1] is given by
Bi = Ei + i
Fij Bj ,
(1)
jS
where S is the set of patches of the scene, Bi , Ei , and i , are respectively the
radiosity, emissivity, and reectance of patch i, Bj is the radiosity of patch j,
and Fij is the patch-to-patch form factor, dened by
1
Fij =
F (x, y)dAy dAx ,
(2)
Ai Si Sj
where Ai is the area of patch i, Si and Sj are, respectively, the surfaces of patches
i and j, F (x, y) is the point-to-point form factor between x Si and y Sj , and
dAx and dAy are, respectively, the dierential areas at points x and y. Using
Monte Carlo computation with area-to-area sampling, Fij can be calculated:
Fij Aj
1
|Sij |
F (x, y),
(3)
(x,y)Sij
(4)
A Generalised-Mutual-Information-Based Oracle
107
This
nentropy recovers the Shannon discrete entropy when 1, H1 (X)
i=1 pi ln pi , and fulls good properties such as non-negativity and concavity.
On the other hand, Taneja [5] and Tsallis [12] introduced the generalised
mutual information.
Denition 2. The generalised mutual information between two discrete random
variables (X, Y ) is dened by
n
m
p
1
ij
,
I (X, Y ) =
1
(6)
1 1
1
p
q
i
j
i=1 j=1
where |X| = n, |Y | = m, pX and qY are the marginal probability distributions,
and pXY is the joint probability distribution between X and Y .
The transition of I (X, Y ) to the continuous generalised mutual information is
straightforward. Using entropies, an alternative form is given by
I (X, Y ) = H (X) + H (Y ) (1 )H (X)H (Y ) H (X, Y ).
(7)
We will see below how the generalised mutual information can be used to build
a renement oracle within a hierarchical radiosity algorithm. Our strategy will
be based on the estimate of the discretisation error from the dierence between
the continuous and discrete generalised mutual information (6) between two
elements of the adaptive mesh. The discretisation error based on Shannon mutual information was introduced by Feixas et al. [8] and applied to hierarchical
radiosity with good results.
In the context of a discrete scene information channel [4], the marginal probabilities are given by pX = qY = {ai } (i.e., the distribution of the relative area
of patches: AATi , where AT is the total area of scene) and the joint probability is
given by pXY = {ai Fij }. Then,
Denition 3. The discrete generalised mutual information of a scene is given
by
a
F
1
i ij
=
I =
1
(ai Fij , ai aj ),
(8)
1
1
1
ai aj
iS jS
iS jS
108
where, using 1 =
obtained.
iS
jS
ai aj and (p, q) =
1 q p
1 q1 ,
1 a
i aj ai Fij
1 a1
a1
i
j
1 Ai Aj
1
1 A
F (x, y) .
T
1 AT AT
|Sij |
(9)
(x,y)Sij
The information transfer between two patches can be obtained more accurately using the continuous generalised mutual information between them. From
the discrete form (8) and using the pdfs p(x) = q(y) = A1T and p(x, y) =
1
AT F (x, y), we dene
Denition 4. The continuous generalised mutual information of a scene is
given by
1
1
c
I =
1
1
c
Iij =
1
1
F (x, y), 2
|Sij |
AT
AT
(x,y)Sij
1 Ai Aj
1
=
1 A
F (x, y) .
T
1 AT AT
|Sij |
Ic ij Ai Aj
(x,y)Sij
Now, we dene
(12)
A Generalised-Mutual-Information-Based Oracle
109
(13)
iS jS
where ij = Ic ij Iij .
While expresses the loss of information transfer in a scene due to the discretisation, the term ij gives us this loss between two elements i and j. This
dierence is interpreted as the benet to be gained by rening and can be used
as the base of the new oracle.
From (13), using (9) and (12), we obtain
ij Ai Aj A2
T
where
ij =
1
|Sij |
1
,
1 ij
F (x, y)
(x,y)Sij
1
|Sij |
(14)
F (x, y) .
(15)
(x,y)Sij
Results
In this section, the GMI oracle is compared with the KS and MI ones. Other
comparisons, with a more extended analysis, can be found in [14]. All oracles
have been implemented on top of the hierarchical Monte Carlo radiosity method.
In Fig. 1 we show the results obtained for the KS (a) and GMI oracles with
their Gouraud shaded solutions and meshes. In the GMI case, we show the
results obtained with the entropic indexes 1 (b) (i.e., note that GMI1 = MI) and
0.5 (c). For the sake of comparison, adaptive meshes of identical size have been
generated with the same cost for the power distribution: around 19,000 patches
and 2,684,000 rays, respectively. To estimate the form factor, the number of
random lines has been xed to 10.
In Table 1, we show the Root Mean Square Error (RMSE) and Peak Signal
Noise Ratio (PSNR) measures for KS and GMI (for 5 dierent entropic indexes)
oracles for the test scene. These measures have been computed with respect
to the corresponding converged image, obtained with a path-tracing algorithm
110
(a.i) KS
(a.ii) KS
(b.i) GMI1.00
(b.ii) GMI1.00
(c.i) GMI0.50
(c.ii) GMI0.50
Fig. 1. (a) KS and GMI (entropic indexes (b) 1 and (c) 0.5) oracles. By columns, (i)
Gouraud shaded solution of view1 and (ii) mesh of view2 are shown.
with 1,024 samples per pixel in a stratied way. For each measure, we consider a
uniform weight for every colour channel (RMSEa and PSNRa ) and a perceptual
one (RMSEp and PSNRp ) in accordance with the sRGB system.
Observe in the view1 , obtained with GMI (Fig. 1.i.b-c), the ner details of
the shadow cast on the wall by the chair on the right-hand side and also the
better-dened shadow on the chair on the left-hand side and the one cast by the
desk. In view2 (Fig. 1.ii) we can also see how our oracle outperforms the KS,
especially in the much more dened shadow of the chair on the right. Note the
superior quality mesh created by our oracle.
A Generalised-Mutual-Information-Based Oracle
111
Table 1. The RMSE and PSNR measures of the KS and GMI oracles applied to the
test scene of Fig. 1, where the KS and GMI{0.5,1} results are shown. The oracles have
been evaluated with 10 random lines between each two elements.
oracle
KS
GMI1.50
GMI1.25
GMI1.00
GMI0.75
GMI0.50
RMSEa
13.791
11.889
10.872
9.998
9.555
9.370
view1
RMSEp PSNRa
13.128 25.339
11.280 26.628
10.173 27.405
9.232 28.133
8.786 28.526
8.568 28.696
PSNRp RMSEa
25.767 15.167
27.084 13.046
27.982 11.903
28.825 10.438
29.254 10.010
29.473
9.548
(i)
view2
RMSEp PSNRa
14.354 24.513
12.473 25.821
11.279 26.618
9.709 27.758
9.257 28.122
8.740 28.533
PSNRp
24.991
26.211
27.086
28.387
28.801
29.300
(ii)
Fig. 2. GMI0.50 oracle: (i) Gouraud shadow solution and (ii) mesh are shown
Table 2. The RMSE and PSNR measures of the GMI oracle applied to the scene
of Fig. 2, where the GMI0.5 result is shown. The oracle has been evaluated with 10
random lines between each two elements.
oracle RMSEa
GMI1.50 16.529
GMI1.25 15.199
GMI1.00 14.958
GMI0.75 14.802
GMI0.50 14.679
RMSEp
15.530
14.145
13.844
13.683
13.573
PSNRa
23.766
24.494
24.633
24.724
24.797
PSNRp
24.307
25.119
25.306
25.407
25.477
112
Conclusions
We have presented a new generalised-mutual-information-based oracle for hierarchical radiosity, calculated from the dierence between the continuous and discrete generalised mutual information between two elements of the adaptive mesh.
This measure expresses the loss of information transfer between two patches due
to the discretisation. The objective of the new oracle is to reduce the loss of
information, obtaining an optimum mesh. The results achieved improve on the
classic methods signicantly, being better even than the version based on the
Shannon mutual information. In all the tests performed, the best behaviour is
obtained with subextensive indexes.
Acknowledgments. This report has been funded in part with grant numbers: IST-2-004363 of the European Community - Commission of the European
Communities, and TIN2004-07451-C03-01 and HH2004-001 of the Ministry of
Education and Science (Spanish Government).
References
1. Goral, C.M., Torrance, K.E., Greenberg, D.P., Battaile, B.: Modelling the interaction of light between diuse surfaces. Computer Graphics (Proceedings of
SIGGRAPH 84) 18(3) (July 1984) 213222
2. Hanrahan, P., Salzman, D., Aupperle, L.: A rapid hierarchical radiosity algorithm.
Computer Graphics (Proceedings of SIGGRAPH 91) 25(4) (July 1991) 197206
3. Feixas, M., del Acebo, E., Bekaert, P., Sbert, M.: An information theory framework
for the analysis of scene complexity. Computer Graphics Forum (Proceedings of
Eurographics 99) 18(3) (September 1999) 95106
4. Feixas, M.: An Information-Theory Framework for the Study of the Complexity
of Visibility and Radiosity in a Scene. PhD thesis, Universitat Polit`ecnica de
Catalunya, Barcelona, Spain (Desember 2002)
5. Taneja, I.J.: Bivariate measures of type and their applications. Tamkang Journal
of Mathematics 19(3) (1988) 6374
6. Havrda, J., Charv
at, F.: Quantication method of classication processes. Concept
of structural -entropy. Kybernetika (1967) 3035
7. Gortler, S.J., Schr
oder, P., Cohen, M.F., Hanrahan, P.: Wavelet radiosity. In
Kajiya, J.T., ed.: Computer Graphics (Proceedings of SIGGRAPH 93). Volume 27
of Annual Conference Series. (August 1993) 221230
8. Feixas, M., Rigau, J., Bekaert, P., Sbert, M.: Information-theoretic oracle based on
kernel smoothness for hierarchical radiosity. In: Short Presentations (Eurographics
02). (September 2002) 325333
9. Rigau, J., Feixas, M., Sbert, M.: Information-theory-based oracles for hierarchical
radiosity. In Kumar, V., Gavrilova, M.L., Tan, C., LEcuyer, P., eds.: Computational Science and Its Applications - ICCSA 2003. Number 2669-3 in Lecture Notes
in Computer Science. Springer-Verlag (May 2003) 275284
10. Bekaert, P.: Hierarchical and Stochastic Algorithms for Radiosity. PhD thesis,
Katholieke Universiteit Leuven, Leuven, Belgium (December 1999)
A Generalised-Mutual-Information-Based Oracle
113
11. Tsallis, C.: Possible generalization of Boltzmann-Gibbs statistics. Journal of Statistical Physics 52(1/2) (1988) 479487
12. Tsallis, C.: Generalized entropy-based criterion for consistent testing. Physical
Review E 58 (1998) 14421445
13. Taneja, I.J.: On generalized information measures and their applications. In:
Advances in Electronics and Electron Physics. Volume 76. Academic Press Ltd.
(1989) 327413
14. Rigau, J.: Information-Theoretic Renement Criteria for Image Synthesis. PhD
thesis, Universitat Polit`ecnica de Catalunya, Barcelona, Spain (November 2006)
Abstract. The work presented in this paper shows the way to generate
colored paper mosaics using computer graphics techniques. Following two
tasks need to be done to generate colored paper mosaic. The rst one is
to generate colored paper tile and the other one is to arrange the tile.
Voronoi Diagram and Random Point Displacement have been used in
this paper to come up with the shape of the tile. And, energy value that
the tile has depending on its location is the factor to determine the best
positioning of the tile. This paper focuses on representing the overlap
among tiles, maintenance of the edge of input image, and various shapes
of tiles in the nal output image by solving two tasks mentioned above.
Keywords: Colored paper mosaic, Tile generation and Tile arrangement.
Introduction
Mosaic is an artwork formed by lots of small pieces called tile. It can be expressed in many dierent ways depending on the type and the position of tile.
Photomosaics[1] shows the big image formed with small square tiles that are laid
out on a grid pattern. Distinctive output was driven from the process of combining multiple images into one image. While Photomosaics shows the arrangement
of tiles in a grid pattern, Simulated Decorative Mosaic[2] has tiles arranged in
the direction of the edge of input image. This shows the similar pattern found
in ancient Byzantine period. This pattern can also be found in Jigsaw Image
Mosaics[3]. The only dierence is to use various shape of image tiles instead
of a single-colored square tiles. In this paper, we show especially how colored
paper mosaic among various styles of mosaic artworks can be represented using
computer graphics techniques.
To generate colored paper mosaic, following two issues need to be taken care.
The rst issue is to decide on the shape of colored paper tile and the second
one is to arrange colored paper tile. Voronoi Diagram[9] and Random Fractal have been used in this paper to come up with the shape of colored paper
tile. But the problem using Voronoi Diagram is that it makes the form of tile
too plain since it generates only convex polygon. Therefore the method represented in this paper uses the predened data of colored paper as database
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 114121, 2007.
c Springer-Verlag Berlin Heidelberg 2007
115
like Photomosaics. Then, it creates small piece of colored paper tile by clipping
Voronoi polygon repetitively from the data of colored paper. Many dierent
shapes of tiles like concave polygon can be expressed since it is made from
repetitive tearing of one colored paper. And the energy value that colored paper tile has depending on its location is calculated to nd the best positioning
of colored paper tile. The location that has the biggest sum of energy value is
dened as the best position. Tiles are placed at the point where the summation
of energy value is the biggest by being moved and rotated toward the nearest
edge.
1.1
Related Work
Existing mosaic studies focus on the selection, the generation, and the arrangement of tiles. We comparison the existing studies by classifying into two
groups.
The studies of rst group focus on the selection and the arrangement of tiles
since they use xed or predened shapes of tiles. Photomasaics[1] creates image formed with various small pieces of image tiles. It is an algorithm that
lays out selected image from the database in a grid pattern. It proposes an
eective method of tile selection from database. But it is hard to keep the
edge of image since the shape of tile in Photomosaic is all square ones. In
the study of Simulated Decorative Mosaic[2], Hausner shows the similar pattern and techniques used in Byzantine era by positioning single-colored square
tile in the direction of the edge of input image. It uses the methods of Centroidal Voronoi Diagram (CVD) and Edge Avoidance to arrange tiles densely.
In Jigsaw Image Mosaics (JIM)[3], it shows extended technique by using arbitrary shapes of image tiles while Simulated Decorative Mosaic uses single-colored
square tiles. It proposes solution of tile arrangement with Energy Minimization
Framework.
The studies of second group propose the method only about the generation of
tiles. Park[5] proposes passive colored paper mosaic generating technique that
shape and arrangement of tiles is all done by the users input. The proposed
method uses Random Fractal technique for generating torn shaped colored paper
tile. However, it gives the user too much works to do. To solve the problem
passive technique has, automatic colored paper mosaic[6] using Voronoi Diagram
is proposed. The majority works are done by computer and only part the user
needs to do is to input a few parameters. It reduces heavy load of work on user
side; however, it cannot maintain the edge of image since it arranges tiles without
considering the edge. In order to solve this problem, another new technique[7]
is suggested. In this new technique, it arranges Voronoi sites using Quad-Tree
and clips the tiles according to the edge of image once it goes out of the edge.
Even though this technique can keep the edge of images, it cannot express the
real texture and shape of colored paper tearing since the polygon created using
Voronoi Diagram becomes in a convex form and each polygon is not overlapped.
Therefore, the existing study is not showing various shapes of tiles and the
overlap among them.
116
2
2.1
Y. Park et al.
Preprocessing
Data Structure of Colored Paper
The data structure of colored paper is organized with 2 layers that contain the
information such as the texture image and vertex shown as gure 1. The upper
layer means visible space of colored paper that has the color value. And the
lower layer means the white paper represented on the torn portion. To dene
the data structure of colored paper in advance gives two good aspects. The rst
one is that it can express various shape of colored paper tile like concave polygon
besides convex one. This is because previously used colored paper is stored in the
buer and polygon clipping is repeated using Vonoroi Diagram as necessary. The
other one is that dierent type of paper mosaic can be easily done by modifying
data structure. If the image is used magazine, newspaper and so on instead of
colored paper then it will be possible to come up with paper mosaic like Collage.
2.2
Image Segmentation
At rst, the necessary image processing works[11] like blurring are performed
on the input image and the image is divided into several regions that have
similar color in LUV space by using Mean-Shift image segmentation technique[8].
We call the region container. And the proposed mosaic algorithm is performed
per container. However Mean-Shift segmentation can create small containers.
If mosaic processing is performed in this stage, the colored paper tiles will not
be attached to these small containers so it will result in lots of grout spaces in
the result image as show in gure 4. Therefore, there is another step needed
to integrate these small containers. To give exibility and to show individual
intention of expression, the process of integration of small containers is controlled
by the users input.
3
3.1
To determine the size and the color of tile, the initial position where tile is attached is determined in advance by Hill-Climbing algorithm[4]. Hill-Climbing
117
algorithm keeps changing the position till the function value converges to optimal point. Since normally big tiles are applied primarily from boundary rather
than small ones in real life, the function is determined like equation 1 with following two factors: size and boundary. The size factor is dened by D(x, y) that
means the minimum distance value between pixel (x, y) and boundary. And the
boundary factor is dened by D(x, y) D(i, j) that means the sum of dierence
between neighbor pixels. Therefore, the position that has the largest value of
L(x, y) is regarded as an initial position.
L(x, y) =
x+1
y+1
(1)
i=x1 j=y1
Determination of Shape
There are two steps to determine the shape of colored paper tile. The rst one
is to determine the overall outline of tile to be clipped and the other one is to
express torn eect. Voronoi Diagram is applied to decide the overall outline of
tile. First, the area of colored paper is divided into several grids according to the
size of tile to be torn. Then, Voronoi diagram is created by placing individual
Voronoi site in each segment as shown in gure 2(b). The generated Voronoi
diagram contains multiple Voronoi polygons so it needs to be decided to clip
which polygon among them. Considering the fact that people start to clip from
the boundary of the paper in real mosaic work, the polygon located near the
boundary is decided to be torn rst. Since there is always vertex in the boundary
of colored paper as shown in gure 2(c), one of the polygons that contain vertex
is randomly chosen. Once the outline of tile is determined by Voronoi polygon,
it is necessary to apply torn eect to the boundary of determined outline. This
torn eect is done by applying Random Point Displacement that is one of the
Random Fractal techniques to colored papers layer individually. Random Point
Displacement algorithm is applied to the boundary of selected Voronoi polygons
that is not overlapped with the boundary of colored paper. The irregularity
of torn surface and white-colored portion can be expressed by perturbing the
random point of edge continuously in the vertical direction. Lastly, clip the
modied Voronoi polygon by Random Point Displacement algorithm as shown
in gure 2(d).
118
Y. Park et al.
(b) Voronoi
(d) Clipping
There are two things to consider arranging colored paper tiles. First one is to
maintain the edge of the input image and the other one is to get rid of empty
spaces among tiles or between tile and the edge of the image. To maintain the
edges of input image, the similar technique to Energy Minimization Framework
of Jigsaw Image Mosaics is used in this paper. The energy function is dened
rst depending on the position of tile and the sum of it is calculated like E(x, y)
in equation 2.
E(x, y) = Pi Po Pt
/T
Pi = Tmax /2 D(x, y) where (x, y) C and (x, y)
Po = Wo D(x, y)
where (x, y)
/C
Pt = Wt D(x, y)
where (x, y) T
(2)
119
any longer. The gure 3 shows four dierent situation of tile arrangement. The
gure 3(b) shows the case that the tile is positioned outside of the edge of
the image. Correction on tiles location needs to be done since it prevents the
tile from keeping the edge of the image. Two tiles are overlapped too much
in the gure 3(c) and it also needs to be modied. The gure 3(d) shows the
optimal arrangement of the tile. We can control this by adjusting the value of Wo
and Wt .
Results
The gure 4, 5 and 6 shows the result image rendered by assigning the size of
tile of the source image between 4 and 100. The result shown in the gure 4
is the result of colored paper mosaic processed by only applying segmentation
algorithm to the source image. The grout space appears where is segmented
(a)
(b)
120
Y. Park et al.
smaller than the size 4 since the minimum size of the tile is set to 4. These smaller
containers have to be integrated into the near container in order to get rid of grout
spaces. The result of colored paper mosaic including container integration step is
shown in the gure 5. In the gure 5, the grout spaces shown in gure 4(a) are disappeared. Also, lots of small segments are removed by integration so the number
of smaller size of tiles is reduced. And we can apply the texture eect to the result
image by using texture mapping, height map[10], and alpha blending as shown in
the gure 6. By adding these eects, the mosaic image gets more realistic.
The work presented in this paper shows the new method to generate colored
paper tile with computer graphics techniques. The dierence that this paper has
is that it can maintain the edges of the input image and express the various
shape of tile and overlaps among tiles. These three achievements are shown in
the gure 4, 5 and 6.
The proposed method has some problems. First, too many small tiles are lled
in between large tiles in the results. It is because grout spaces appear between
the tile and the edge during the process of arranging the tile. It causes the
problem to the quality of result image so it needs to be improved afterward.
Therefore, another step to consider the edge of image during the tile generation
is necessary. This additional step will reduce the generation of grout spaces
among tiles or between the tile and the edge of image. Second, the performance
of whole process is very low, since the tile arrangement is performed per pixel.
Therefore it is needed to apply GPU or any other algorithms for improving the
performance.
This paper also has some benets like following. First, the proposed method
can express the various shapes of tile and overlapping between other tiles. Second,
121
if other types of paper like newspaper are used instead of colored paper then it
will be possible to come up with another type of mosaic like Collage. It is easy
to express other type of mosaic in computer graphics by modifying the data
structure if more detailed and elaborate tile selection algorithm is applied.
References
1. Silver.R and Hawley.M (ed.): Photomosaics, New York: Henry Holt, 1997
2. Alejo Hausner : Simulating Decorative Mosaics, SIGGRAPH 2001, pp.573-580,
2001.
3. Junhwan Kim, Fabio Pellacini : Jigsaw Image Mosaics, SIGGRAPH 2002, pp.
657-664, 2002.
4. Chris Allen : A Hillclimbing Approach to Image Mosaics, UW-L Journal of Undergraduate Research , 2004
5. Young-Sup Park, Sung-Ye Kim, Cheung-Woon Jho, Kyung-Hyun Yoon : Mosaic
Techniques using color paper, Proceeding of KCGS Conference, pp.42-47, 2000
6. Sang-Hyun Seo, Young-Sup Park, Sung-Ye Kim, Kyung-Hyun Yoon : Colored Paper Mosaic Rendering, In SIGGRAPH 2001 Abstrac ts and Applications, p.156,
2001
7. Sang-Hyun Seo, Dae-Uk Kang, Young-Sup Park, Kyung-Hyun Yoon : Colored Paper Mosaic Rendering Based on Image Segmentation, Proceeding of KCGS Conference, pp27-34, 2001
8. D. Comanicu, P. Meer : Mean shift: A robust approach toward feature space analysis, IEEE Transaction on Pattern Analysis and Machine Intelligence, 24, 603-619,
May 2002
9. Mark de Berg, M. V. Kerveld, M. Overmars and O. Schwarzkopf : Computational
Geometry Algorithms and Applications, Springer, pp.145-161, 1997
10. Aaron Hertzmann : Fast Paint Texture, NPAR 2002, 2002
11. Rafael C. Gonzalez and Richard E. Woods : Digital Image Processing 2nd Edition,
publish ed by Prentice Hall, 2002
Introduction
Realistic simulation of natural phenomena is one of the interesting and important issues in computer graphics related areas including computer games and
animations. In this paper, we are focusing on the ocean waves, for which we
have many research results but not a complete solution yet[1].
Waves on the surface of the ocean are primarily generated by winds and
gravity. Although the ocean wave includes internal waves, tides, edge waves and
others, it is clear that we should display at least the surface gravity waves on the
computer screen, to nally represent the ocean. In oceanography, there are many
research results to mathematically model the surface waves in the ocean. Simple
sinusoidal or trochoidal expressions can approximate a simple ocean wave. Real
world waves are a comprised form of these simple waves, and called wave trains.
In computer graphics, we can classify the related results into two categories.
The rst one uses uid dynamics equations in a similar way used in the scientic
simulation eld. We have a number of results with the capability of obtaining
realistic animations of complex water surfaces[2,3,4,5,6]. However, these results
are hard to apply to large scenes of waters such as oceans, mainly due to their
heavy computation.
The other category is based on the ocean wave models from the oceanography,
and consists of three approaches. The rst group uses the Gerstner swell model.
Fournier[7] concentrated on the shallow water waves and surf along a shore line.
He started from parametric equations and added control parameters to simulate
Corresponding author.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 122129, 2007.
c Springer-Verlag Berlin Heidelberg 2007
123
various shapes of shallow water waves, but not for the large-scale ocean scenes
and/or deep-depth ocean waves. More complex parametric equations to present
the propagation of water waves had been introduced by Gonzato[8]. This model
is well suited for modeling propagating water of wave front, but its equations
are too complex for large-scale ocean waves.
Another group regards the ocean surface as a height eld with a prescribed
spectrum based on the experimental observations from oceanography. Mastin[9]
introduced an eective simulation of wave behavior using Fast Fourier Transform(FFT). The height eld is constructed through inverse FFT of the frequency
spectrum of the real world ocean waves. It can produce complex wave patterns
similar to real world ocean waves. Tessendorf[10] showed that dispersive propagation could be managed in the frequency domain and that the resulting eld
could be modied to yield trochoid waves. However, the negative aspect of FFT
based methods is homogeneity: we cannot handle any local properties such as
refraction, reection, and others.
The last one is the hybrid approach: The spectrum synthesized by a spectral
approach is used to control the trochoids generated by the Gerstner model.
Hinsinger[11] presented an adaptive scheme for the animation and display of
ocean waves in real time. It relied on a procedural wave model which expresses
surface point displacements as sums of wave trains. In this paper, we aim to
construct an ocean wave model with the following characteristics:
Real time capability: They usually want to display a large scale ocean
scene and some special eects may be added to the scene. So, we need to
generate the ocean wave in real time.
More user-controllable parameters: We will provide more parameters
to generate variety of ocean scenes including deep and shallow oceans, windy
and calm oceans, etc.
Focusing on the surface gravity waves: Since we target the large-scale
ocean, minor details of the ocean wave are not our major interest. In fact,
the minor details can be easily super-imposed to the surface gravity waves,
if needed.
In the following sections, we will present a new hybrid approach to nally get
a real-time surface gravity wave simulation. Since it is a kind of hybrid approach,
it can generate large scale oceans without diculty, and works in real time, to be
su- ciently used with computer generated animations or other special eects.
Additionally, we use a more precise wave model and have more controllable parameters including depth of sea, fetch length, wind speed, and so on, in comparison
with previous hybrid approaches. We will start from the theoretical ocean wave
models in the following section, and build up our implementation model. Our
implementation results and conclusions will be followed.
The major generating force for waves is the wind acting on the interface between
the air and the water. From the mathematical point of view, the surface is made
124
up of many sinusoidal waves generated by the wind, and they are traveling
through the ocean. One of the fundamental models for the ocean wave is the
Gerstner swell model, in which the trajectory of a water particle is expressed as
a circle of radius r around its reference location at rest, (x0 , z0 ), as follows[11]:
x = x0 + r sin(t kx0 )
z = z0 + r cos(t kz0 ),
(1)
where (x, z) is the actual location at time t, =2f is the pulsation with the frequency f , and k=2/ is the wave number with respect to the wave length of .
Equation (1) shows a two-dimensional representation of the ocean wave, assuming that the x-axis coincides to the direction of wave propagation. The surface of
an ocean is actually made up of a nite sum of these simple waves, and the height
z of the water surface on the grid point (x, y) at time t can be expressed as:
z(x, y, t) =
n
(2)
where n is the number of wave trains, Ai is the amplitude, ki is the wave number,
i is the direction of wave propagation on the xy-plane and i is the phase. In
Hinsinger[11], they manually selected all these parameters, and thus, the user
may meet diculties to select proper values of them.
In contrast, Thon[12] uses a spectrum-based method to nd some reasonable
parameter sets. They used the Pierson-Moskowitz(PM) model[13], which empirically expresses a fully developed sea in terms of the wave frequency f as follows:
0.0081 g 2 54 ffp 4
EPM (f ) =
e
,
(2)4 f 5
where EPM (f ) is the spectrum, g is the gravity constant and fp = 0.13 g/U10 is
a peak of frequency depending on the wind speed U10 at a height of 10 meters
above the sea surface.
Although Thon used the PM model to give some impressive results, the PM
model itself assumes the innite depth of the ocean and thus may fail to the
shallow sea cases. To overcome this drawback, the JONSWAP model and TMA
model are introduced. The JONSWAP(Joint North Sea Wave Project) model[14]
is developed for fetch-limited seas such as North sea and expressed as follows:
f /fp 1
g 2 54 ffp 4 e 22
EJONSWAP (f ) =
e
,
(2)4 f 5
where is the scaling parameter, is the peak enhancement factor, and is
evaluated as 0.07 for f fp and 0.09 otherwise. Given the fetch length F , the
frequency at the spectral peak fp is calculated as follows:
2 0.33
g F
fp = 3.5
.
3
U10
125
The Texel, Marson and Arsole(TMA) model[15] extends the JONSWAP model
to include the depth of water h as one of its implicit parameters as follows:
ETMA (f ) = EJONSWAP (f ) (f , h),
where (f , h) is the Kitaigorodoskii depth function:
1
K
(f , h) =
1
+
,
s(f )
sinh K
with f = f h/g, K = 2(f )2 s(f ) and s(f ) = tanh1 [(2f )2 h].
The TMA model shows good empirical behavior even with the water depth of 6
meters. Thus, it is possible to represent the waves on the surface of lake or smallsize ponds, in addition to the ocean waves. Additionally, it also includes the fetch
length as a parameter, inherited from the JONSWAP model. Thus, the expression
power of the TMA model is much increased in comparison with the PM model
previously used by other researchers. We use this more improved wave model to
nally achieve more realistic ocean scenes with more user-controllable parameters.
1
2p
D(f, ) = Np cos
,
2
where p = 9.77(f /fp) , Np = 212p (2p + 1)/ 2(p + 1) with Eulers Gamma
function and
4.06, if f < fp
=
.
2.34, otherwise
For more convenience in its implementation, we will derive some evaluation
functions for the parameters including frequency, amplitude, wave direction,
wave number and pulsation. The frequency of each wave train is determined
from the peak frequency fp and a random oset to simulate the irregularity of
the ocean waves. Thereafter, the pulsation and wave number is naturally calculated by their denition.
According to the random linear wave theory[16,17,18,19,20], directional wave
spectrum E(f, ) is given by
E(f, ) = (k(f ), ) k(f )
dk(f )
,
df
(3)
126
dk(f )
32 2 f 3
=
.
df
g2
32 2 f 3
.
g2
From the random linear wave[17,19], the wave number spectrum (k(f ), ) can
be approximated as:
(k(f ), ) =
A(f )2 ,
4 2
where is a constant. Finally, the amplitude A(f ) of a wave train is evaluated
as:
E(f, ) g 2
ETMA (f ) D(f, ) g 2
A(f ) =
=
.
3
8f
8f 3
Using all these derivations, we can calculate the parameter values for Equation (2). And then, we evaluate the height of each grid point (x, y) to construct
a rectangular mesh representing the ocean surface.
Implementation Results
Figures 1, 2 and 3 are some outputs from the prototype implementation. As shown
We implemented the ocean wave generation program based on the TMA model
presented in the previous section. It uses plain OpenGL library and does not use
any multi-threading or hardware-based acceleration techniques. At this time, we
focused on the expression power of our TMA model-based implementation, and
thus, our prototype implementation lacks some acceleration or optimization factors. Even though, it shows more than 50 frames per second on a PC with Intel
(a) wind speed 3m/s, water depth 5m (b) wind speed 3m/s, water depth 100m
Fig. 1. Ocean waves with dierent water depths: Even with the same wind speed, dierent
water depths result in very dierent waves. We use the fetch length of 5km for these images.
127
(a) wind speed 3m/s, water depth 100m (b) wind speed 6m/s, water depth 100m
Fig. 2. Ocean waves with dierent wind velocities: Changes in wind speed generate more
clam or more choppy waves. The fetch length of 10 km is used for each of these images.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
(k)
(l)
128
Core2 Duo 6600 2.40GHz processor and a GeForce 7950GT based graphics card.
We expect that the frame rate will be much better in the next version.
In Figure 1, we can control the depth of the ocean to show very dierent
waves even with the same wind speed and the same fetch length. Especially, the
changes in the water depth are acceptable only for the TMA model, while the
previous PM model cannot handle it. Figure 2 shows the eect of changing the
wind speed. As expected, the high wind speed generates more choppy waves.
Figure 3 is a sequence of images captured during the real time animation of the
windy ocean. All examples are executed with mesh resolution of 200 200. More
examples are in our web page, http://isaac.knu.ac.kr/~hope/tma.htm.
Conclusion
Acknowledgements
This research was supported by the Regional Innovation Industry Promotion
Project which was conducted by the Ministry of Commerce, Industry and Energy(MOCIE) of the Korean Government (70000187-2006-01).
References
1. Iglesias, A.: Computer graphics for water modeling and rendering: a survey. Future
Generation Comp. Syst. 20(8) (2004) 13551374
2. Enright, D., Marschner, S., Fedkiw, R.: Animation and rendering of complex water
surfaces. In: SIGGRAPH 02. (2002) 736744
3. Foster, N., Fedkiw, R.: Practical animation of liquids. In: SIGGRAPH 01. (2001)
2330
129
4. Foster, N., Metaxas, D.N.: Realistic animation of liquids. CVGIP: Graphical Model
and Image Processing 58(5) (1996) 471483
5. Foster, N., Metaxas, D.N.: Controlling uid animation. In: Computer Graphics
International 97. (1997) 178188
6. Stam, J.: Stable uids. In: SIGGRAPH 99. (1999) 121128
7. Fournier, A., Reeves, W.T.: A simple model of ocean waves. In: SIGGRAPH 86.
(1986) 7584
8. Gonzato, J.C., Saec, B.L.: On modelling and rendering ocean scenes. J. of Visualization and Computer Animation 11(1) (2000) 2737
9. Mastin, G.A., Watterberg, P.A., Mareda, J.F.: Fourier synthesis of ocean scenes.
IEEE Comput. Graph. Appl. 7(3) (1987) 1623
10. Tessendorf, J.: Simulating ocean water. In: SIGGRAPH 01 Course Notes. (2001)
11. Hinsinger, D., Neyret, F., Cani, M.P.: Interactive animation of ocean waves. In:
SCA 02: Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium on
Computer animation. (2002) 161166
12. Thon, S., Dischler, J.M., Ghazanfarpour, D.: Ocean waves synthesis using a
spectrum-based turbulence function. In: Computer Graphics International 00.
(2000) 65
13. Pierson, W., Moskowitz, L.: A proposed spectral form for fully developed wind
seas based on the similarity theory of S.A. kitaigorodskii. J. Geophysical Research
(69) (1964) 51815190
14. Hasselmann, D., Dunckel, M., Ewing, J.: Directional wave spectra observed during
JONSWAP 1973. J. Physical Oceanography 10(8) (1980) 12641280
15. Bouws, E., G
unther, H., Rosenthal, W., Vincent, C.L.: Similarity of the wind wave
spectrum in nite depth water: Part 1. spectral form. J. Geophysical Research 90
(1985) 975986
16. Crawford, F.: Waves. McGraw-Hill (1977)
17. Krogstad, H., Arntsen, .: Linear Wave Theory. Norwegian Univ. of Sci. and Tech.
(2006) http://www.bygg.ntnu.no/ oivarn/.
18. Seyringer, H.: Nature wizard (2006) http://folk.ntnu.no/oivarn/hercules ntnu/
LWTcourse/.
19. Sorensen, R.: Basic Coastal Engineering. Springer-Verlag (2006)
20. US Army Corps of Engineers Internet Publishing Group:
Coastal engineering manual part II (2006) http://www.usace.army.mil/publications/engmanuals/em1110-2-1100/PartII/PartII.htm.
Introduction
131
Basic Idea
1in
(1)
1in
(2)
(3)
(4)
i = 1, 2, 3, , n,
which has a quadratic polynomial precision. Assume that the following transformation
x
= x cos 2 + y sin 2
y = x sin 2 + y cos 2
transforms P () (3) to the parabola (4), then we have the following theorem 1.
132
y
2.5
2
P3
P0
1.5
P1
x
P2
0.5
x
1
i = 2, 3, , n
sin 2 = X2
/ X22 + Y22
cos 2 = Y2 / X22 + Y22
(5)
(6)
Proof. In the x
y coordinate system, it follows from (3) that
x
= (X2 2 + X1 + X0 ) cos 2 + (Y2 2 + Y1 + Y0 ) sin 2
y = (X2 2 + X1 + X0 ) sin 2 + (Y2 2 + Y1 + Y0 ) cos 2
(7)
If sin 2 and cos 2 are dened by (6), then the rst expression of (7) becomes
=
x
+ X0 cos 2 + Y0 sin 2
X1 cos 2 + Y1 sin 2
(8)
Substituting (8) into the second expression of (7) and rearranging, a parabola
is obtained, which is dened by
y = a1 x
2 + b1 x
+ c1 ,
where a1 , b1 and c1 are dened by
a1 = Y2 cos 2 X2 sin 2
b1 = 2a1 AB + (Y1 cos 2 X1 sin 2 )A
c1 = a1 A2 B 2 (Y1 cos 2 X1 sin 2 )AB + Y0 cos 2 X0 sin 2
Thus, ti can be dened by x
i , i.e., the knot ti ,i = 1, 2, 3, , n can be dened by
(5), which has a quadratic polynomial precision.
133
The discussion above showed that the key point of determining knots is to
construct the quadratic polynomial, P () = (x(), y()) (3) using the given data
points. This will be discussed in Section 3.
Determining Knots
In this section, we rst discuss how to construct a quadratic polynomial with four
points, then discuss the determination of knots using the quadratic polynomial.
3.1
(9)
(s si )(s 1)
si
s(s si )
2 (s) =
1 si
(10)
where
1 (s) =
(11)
Let si+2 be the knot associated with the point (xi+2 , yi+2 ). As point (xi+2 , yi+2 )
is on the curve, we have
xi+2 = si+2 (si+2 si )/(1 si )
yi+2 = (si+2 si )(si+2 1)/si
(12)
(13)
(14)
134
s
Pi+2
s
Pi
P
s i+1
where
2xi+2
xi+2 + yi+2
(1 xi+2 )xi+2
B(xi+2 , yi+2 ) =
(1 xi+2 yi+2 )(xi+2 + yi+2 )
> 1, the root of (14) is
1
xi+2 yi+2
si =
( xi+2 +
)
xi+2 + yi+2
xi+2 + yi+2 1
A(xi+2 , yi+2 ) =
As si+2
(15)
It follows from (9)(10) that if the given data points are taken from a parametric
quadratic polynomial Q(t), then there is an unique si satisfying 0 < si < 1
to make the curve Qi (s) (9) pass through the given data points. Since si is
determined uniquely by (15), Qi (s) is equivalent to Q(t).
Substituting si+2 > 1 into (11) one obtains
xi+2 > 1 and yi+2 > 0,
(16)
that is, the point (xi+2 , yi+2 ) should be on the dotted region in Figure 2.
3.2
Determining Knots
where
(17)
xi1 xi
xi+1 xi
+
si
1 si
(xi1 xi )(si + 1) (xi+1 xi )si
Xi,1 =
si
1 si
Xi,0 = xi1
yi1 yi
yi+1 yi
Yi,2 =
+
si
1 si
(yi1 yi )(si + 1) (yi+1 yi )si
Yi,1 =
si
1 si
Yi,0 = yi1
(18)
Xi,2 =
135
It follows from Theorem 1 that for i = 2, 3, , n2, the knot interval tj+1 tj =
ij between Pj and Pj+1 , j = i 1, i, i + 1 can be dened by
ij = (xj+1 xj ) cos i + (yj+1 yj ) sin i ,
j = i 1, i, i + 1
(19)
1,
n
are
j1
j
i
similar. Now the knot interval i for the pair of Pi and Pi+1 , i = 1, 3, , n 1
are dened by
1 = 21
2 = 22 + 22
i = ii + 2i1 i2 /(i1 + i2 ), i = 3, 4, , n 3
1
n2 = n2
n2 + n2
n2
n1 = n1
where
(20)
i1 = |ii i1
|
i
i2 = |ii i+1
|
i
If the given set of data points are taken from a parametric quadratic polynomial,
1
2
1
2
1
then i1 = i2 = 0. The terms 22 , 2i1
i1
/(i1
+ i1
) and n2
are correction
n2
2
i
to 2 , i , i = 4, 5, , n 2 and n2 , respectively.
Pi1
Pi2
Pi3
Pi
Pi1
Pi2
For the data points as shown in Figure 3, as the data points change its convexity, the knot interval between Pi and Pi+1 is dened by the combination of
ii1 and ii+1 , i.e, by
i = (ii1 + ii+1 )/2.
(21)
While for data points as shown in Figure 4, the knot intervals are determined by
subdividing the data points at point Pi+1 into two sets of data points. The rst
136
Pi
Pi2
Pi1
set of data point ends at Pi+1 , while the second set of data point starts at Pi+1 .
If Pi1 , Pi and Pi+1 are on a straight line, then setting ti ti1 = |Pi1 Pi |,
ti+1 ti = |Pi Pi+1 |, this determination makes the quadratic polynomial Qi (t)
which passes Pi1 , Pi and Pi+1 be a straight line with the magnitude of the rst
derivative being a constant. Such a straight line is the most well dened curve
one can get in this case.
Experiments
The new method has been compared with the chord length, centripetal, Foley
and ZCMs methods. The comparison is performed by using the knots computed
using these methods in the construction of a parametric cubic spline interpolant.
For brevity, the cubic splines produced using these methods are called chord
spline, centripetal spline, Foleys spline, ZCM spline and new spline, respectively.
The data points used in the comparison are taken from the following ellipse
x = x( ) = 3 cos(2 )
y = y( ) = 2 sin(2 )
(22)
i = 0, 1, 2, , 36
where 0 0.25.
To avoid the maximum error occurred near the end points (x0 , y0 ) and (x20 ,
y20 ), the tangent vectors of F ( ) at = 0 and = 1 are used as the end
conditions to construct the cubic splines.
The ve methods are compared by the absolute error curve E(t), dened by
E(t) = min{|P (t) F ( )|}
= min{|Pi (t) F ( )|, i i+1 }
i = 0, 1, 2, , 19
where P (t) denotes one of the chord spline, centripetal spline, Foleys spline,
ZCMs spline or new spline, Pi (t) is the corresponding part of P (t) on the subinterval [ti , ti+1 ], and F ( ) is dened by (22). For the point P (t), E(t) is the
shortest distance from curve F ( ) to P (t) .
137
The maximum values of the error curve E(t) generated by these methods
are shown in table 1. The ve methods have also been compared on data points
which divide [0, 1] into 18, 72, ... etc subintervals. The results are basically similar
as those shown in tables 1.
A new method for determining knots in parametric curve interpolation is presented. The determined knots have a quadratic polynomial precision. This means
that from the approximation point of view, the new method is better than the
chord length, centripetal and Foleys methods in terms of error evaluation in the
associated Taylor series. The ZCMs method has also a quadratic polynomial
precision, but it is a global method, while the new method is a local one.
The new method works well on the data points whose convexity does not
change sign, our next work is to extend it to work on the data points whose
convexity changes sign.
Acknowledgments. This work was supposed by the National Key Basic Research 973 program of China(2006CB303102), the National Natural Science
Foundation of China(60533060, 60633030).
References
1. Ahlberg, J. H., Nilson, E. N. and Walsh, J. L., The theory of splines and their
applications, Academic Press, New York, NY, USA, 1967.
2. de Boor, C., A practical guide to splines, Springer Verlag, New York, 1978.
3. Lee, E. T. Y., Choosing nodes in parametric curve interpolation, CAD, Vol. 21, No.
6, pp. 363-370, 1989.
4. Farin G., Curves and surfaces for computer aided geometric design: A practical
guide, Academic Press, 1988.
5. Zhang, C., Cheng, F. and Miura, K., A method for determing knots in parametric
curve interpolation, CAGD 15(1998), pp 399-416.
1 Introduction
The automatic generation of cartoons requires the use of two basic techniques in expressive rendering: a specific illumination model for this rendering style and the visualization of the objects silhouettes. This style is known as Cartoon rendering and its
use is common in the production of animation films and in the creation of television
contents. Cartoon rendering techniques in video games is also growing as they can
produce more creative details than the techniques based on realism.
There are several techniques to automatically calculate silhouette -outline- and celshading [1][2][3]. Shadowing and self-shadowing, along with the silhouettes, are
fundamental effects for expressing volume, position and limits of objects. Most of
these techniques require general meshes and they do not allow representation of
amorphous shapes, which are modeled by particle systems as in the case of clouds and
smoke.
Our objective is to create cartoon vignettes for interactive entertainment applications, combining cartoon techniques with a particle system simulator that allows representation of amorphous shapes such us clouds and smoke. Special attention should
be paid to the visual complexity of this type of gaseous phenomena, therefore we use
implicit surfaces in order to abstract and simplify this complexity [4][5]. To obtain the
expressive appearance, we introduce an algorithm that enhances silhouette visualization, within a cartoon rendering. For the simulation of smoke, we use a particle
system based on Selles [6] hybrid model.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 138145, 2007.
Springer-Verlag Berlin Heidelberg 2007
139
2 Previous Work
Clouds are important elements in the modeling of natural scenes, both if we want to
obtain high quality images or for interactive applications. Clouds and smoke are gaseous phenomena very complicated to represent because of several issues: their fractal
nature, the intrinsic difficulty of its animation and local illumination differences.
The representation of cloud shapes has been treated by three different strategies:
volumetric clouds (explicit form [7] or procedural [8]), using billboards [9] [10], and
by general surfaces [12][13]. The approach based on volume, in spite of the improvements of graphics hardware, is not yet possible at interactive speed because of
the typical scene size and the level of detail required to represent the sky.
The impostors and billboards approach is the most widely used solution in video
games and, although the results are suitable, their massive use slows the visualization
due to the great number of pixels that must be rendered.
On the other hand, the use of general surfaces allows efficient visualization however it generates overly coarse models for representing volumetric forms. Bouthors
[11], extends Gardners model [12][13] by using a hierarchy of almost-spherical particles related to an implicit field that define a surface. This surface is later rendered to
create a volumetric characteristic that provides realistic clouds.
In expressive rendering, the relevant works on gaseous phenomena are scarce in
the literature. The first works published in this field are from Di Fiore [14] and Selle
[6] trying to create streamlined animations of these phenomena. The approach of Di
Fiore combines a variant of second order particle systems to simulate the gaseous
effect movement using 2D billboards drawn by artists, which are called basic visualization components.
Selle introduces a technique that facilitates the animation of cartoon rendering
smoke. He proposes to use a particle system whose movement is generated with the
method presented by Fedkiw [15] for the simulation of photorealistic smoke. To
achieve the expressive appearance, each particle is rendered as a disc in the depth
buffer creating a smoke cloud. In a second iteration of the algorithm, the silhouette of
the whole smoke cloud is calculated reading the depth buffer and applying the depth
differences. This method obtains approximately one image per second and has been
used by Deussen [16] for the generation of illustrations of trees.
McGuire [17], presents an algorithm for the real-time generation of cartoon rendering smoke. He extends Selles model incorporating shading, shadows, and nailboards
(billboards with depth maps). Nailboards are used to calculate intersections between
smoke and geometry, and to render the silhouette without using the depth buffer. The
particle system is based on work recently presented by Selle, Rasmussen, and Fedkiw
[18], which introduces a hybrid method that generates synergies using Lagrangian
vortex particle methods and Eulerian grid based methods.
3 Scene Modeling
The rendering process necessarily requires an abstraction and simplification of the
motif. This is made evident in the generation of hand-drawn sketches, even more so
when representing gases. By means of several strokes the artist adds detail to the
140
|| q - ci ||
Di(q)= 1
ri
2 2
(1)
|| q - ci ||
Di (q)= mi * 1
ri
2 2
(2)
The implicit surface is generated from the summation of the density function of the
set:
F ( q)= Di (q ) T .
i
(3)
Therefore, the implicit surface F (q) =0 is defined as those points q where summation of the density functions equals threshold T. The influence of the radius ri and the
mass mi of particles, as well as the threshold T, are chosen empirically as they depend
on the number and density of particles. Finally we triangulate the implicit surface and
then we optimize it according to the level of subdivisions si chosen by the user. Fig. 1
and Table 1 provide a comparison between different levels of simplification.
(a)
(b)
141
Table 1. Comparison of the triangles count and the parameters used for the implicit surfaces
Figure
1(a)
1(b)
#particles
12
6
T
0.05
0.6
mi
8
2
si
22
11
4 Rendering
Using an implicit surface allows calculation of the silhouette and to apply a illumination model for rendering. For silhouette detection and to achieve the cartoon appearance we use our previously published method [4]. Next, we describe the proposed
method and discuss the visual results obtained thus far.
The detection algorithm allows silhouette extraction as an analytical representation
obtaining interactive frame rates. As opposed to the methods proposed by other authors [14] [17] [6], the analytical description of the silhouette can be used to
create new textured polygons which improve the appearance of the model. Our system allows us to define the height and the scale of the new polygons that form the
silhouette.
The main drawback of this algorithm is that we need to remove those polygons that
have been generated for interior hidden edges of the original polygon. A simple solution to this problem draws the mesh during a second iteration of the algorithm, once
the hidden polygons have been removed, as shown by Fig. 2, left.
Finally, we select the texture to apply to the polygons of the silhouette and the
background image to compose the final image. In Fig. 2 right, we show the Sketch of
a cloud using this technique.
The illumination model used for the cartoon rendering allows a maximum of 32
gradations, which are applied on the mesh generated from the implicit surface as a 1D
texture. The process of obtaining the final image is similar to the one described previously, however in this case we do not use the mask but instead the polygonal mesh
textured with cartoon style, as shown in Fig. 3 left.
142
Fig. 3. Left, cartoon rendering image. Right, cartoon rendering with transparency.
Given the nature of gaseous phenomena it may be interesting to be able to define
transparency levels at the same time that cartoon rendering is applied. In this case it is
necessary to generate the mask of the cloud and to introduce it in a third step, as it is
shown in Fig. 3, right.
143
Because the second surface is only necessary to add detail through the outline of
the silhouette, and it is inside the outer surface, it is not necessary to visualize it nor to
use it as a mask.
6 Smoke Simulation
Each particle of real smoke has very little mass or volume. Therefore, the smoke simulation is, in fact, the simulation of the instability of the air that contains the smoke particles. Expressive rendering is aimed at obtaining, first of all, a convincing shape of the
object. In the case of the amorphous shape of the smoke, as with clouds, we use a particle set that is the base for calculating the surface that is used for rendering this effect.
Cloud models can be static, however in the case of smoke it is necessary to have a
dynamic particle system. Our model uses a simplified version of the proposal made
recently by Selle et al [18] for the particle system. It allows the user to fit the parameters pertinent to wind, turbulence, environmental forces and vortices, among others.
The positions of particles are calculated interactively according to the initial configuration defined by the user. Once the new positions are computed, we recalculate
the implicit surface using the method described in section 3. Then we calculate the
silhouette and we render it as we have described in the previous sections.
In the real world the smoke particles dissipate according to their speed. Although
speed is a more objective criterion, it is more convincing to do the animation based on
time. This approach allows us to maintain the number of particles steady during the
simulation process. In this way we achieve that the speed of the visualization process
of the smoke remains more or less constant.
144
7 Results
The results obtained show a convincing imitation of hand-drawn sketches and drawings, although our approach is not strict in its physical foundations. We have given
priority to the visual appearance with the purpose of simplifying the amount of information to represent while keeping the overall aspect and the capability of the user to
identify the amorphous objects. With our approach we have obtained good results for
interactive models rendering. Still, to obtain high resolution images intended for printing with good quality, we must optimize the algorithms developed.
The performance of our method has been demostrated in a PC platform, with
AMD's Athlon 64 X2 3800+ processor and a GeForce 7950 512 Mb graphics card,
running Windows XP. Once we calculate the geometry of the objects to render, we set
up different shape parameters for the clouds.
Different models have been created and different parameters have been applied,
which entails the necessity to execute different number of iterations of the algorithm
according to the desired target.
Table 2. Rendering times of clouds and smoke
Figure
2
3(a)
3(b)
4
5
6
#particles
6
47
21
9
150
200
#iteration
2
2
3
3
2
2
si
22
21
20
21
8
7
fps
283
88
65
154
38
48
Acknowledgements
This work was partially supported by grant 05VI-1C02 of the University of Vigo, rant
TIN2005-08863-C03 of the Spanish Ministry of Education and Science and by
STREP project GameTools (IST-004363).
145
References
1. J. Buchanan, and M. Sousa. The edge buffer: a data structure for easy silhouette rendering. In Proceedings of NPAR 00, (2000) 3942
2. L. Markosian, M. Kowalski, D. Goldstein, S. Trychin, and J. Hughes. Real-time nonphotorealistic rendering. In Proceedings of SIGGRAPH 97, (1997) 415420
3. R. Raskar and M. Cohen. Image precision silhouette edges. In Proceedings of I3D.,
(1999) 135140
4. C. Campos, R. Quirs, J. Huerta, E. Camahort, R. Viv, J. Lluch. Real Time Tree Sketching. Lecture Notes in Computer Science. Springer Berlin / Heidelberg, vol, 0302-9743,
(2004) 197204
5. T. Luft and O. Deussen, Real-Time Watercolor Illustrations of Plants Using a Blurred
Depth Test, In Proceedings of NPAR 06, (2006)
6. A. Selle, A. MOHR and S. Chenney, Cartoon Rendering of Smoke Animations. In Proceedings of NPAR 04, (2004) 5760
7. T. Nishita, E. Nakamae, Y. Dobashi. Display of clouds taking into account multiple anisotropic scattering and sky light. In Proceedings of SIGGRAPH96, (1996) 379386
8. J. Schpok, J. Simons, D. S. Ebert, C. Hansen, A real-time cloud modeling, rendering, and
animation system. Symposium on Computer Animation03, (2003) 160166
9. Y. Dobashi, K. Kaneda, H. Yamashita, T. Okita, T. Nishita, A simple, efficient method
for realistic animation of clouds. In Proceedings of ACM SIGGRAPH00, (2000) 1928
10. M. J. Harris, A. Lastra, Real-time cloud rendering. Computer Graphics Forum 20, 3,
(2001) 7684
11. A. Bouthors and F. Neyret, Modeling clouds shape. In Proceedings Eurographics '04,
(2004)
12. G. Y. Gardner, Simulation of natural scenes using textured quadric surfaces. In Computer Graphics In Proceedings of SIGGRAPH84, 18, (1984) 1120
13. G. Y. Gardner, Visual simulation of clouds. In Computer Graphics SIGGRAPH 85,
Barsky B. A., 19, (1985) 297303
14. F. Di Fiore, W. Van Haevre, and F. Van Reeth, "Rendering Artistic and Believable Trees
for Cartoon Animation", Proceedings of CGI2003, (2003)
15. R. Fedkiw, J. Stam, and H. W. Jensen, Visual simulation of smoke. In Proceedings of
SIGGRAPH 01, ACM Press, (2001) 1522
16. O. Deussen, and T. Strothotte, Computer-generated pen-and-ink illustration of trees. In
Proceedings of SIGGRAPH 00, (2000) 1318
17. M. McGuire, A. Fein. Real-Time Rendering of Cartoon Smoke and Clouds. In Proceedings of NPAR 06, (2006)
18. A. Selle, N. Rasmussen, R. Fedkiw, A vortex particle method for smoke, water and explosions. ACM Trans. Graph., (2005) 910914
19. S. Murakami and H. Ichihara, On a 3d display method by metaball technique. Transactions of the Institute of Electronics, Information and Communication Engineers J70-D, 8,
(1987) 16071615
1 Introduction
Spherical image plays an important role in optics, spatial remote sensing, computer
science, etc. Also, in the community of computer graphics, spherical image frequently
finds applications in photorealistic rendering[1], 3D model retrieval[2], virtual reality[3]
or digital geometry processing[4-5].
Compared with various algorithms for planar images matching and retrieval, there
is nearly no analogy for spherical ones up to now. But in some occasions, one cant
avoid facing the task of matching spherical images. Since spherical binary images
(SBIs) are used in a majority of cases, we emphasize our attentions on them. In this
paper we propose an effective method to match SBIs by measuring the maximal
superposition degree between them.
2 Our Method
In our research, we assume that the similarity between SBIs can be measured by the
maximal superposition degree between them, which also accords with the visual
apperception of human beings. While we know that spherical surface is a finiteunbounded region, it hasnt any information of border and also we cant find its start
and end, which baffles the matching. The key of this problem is trying to obtain the
result in a finite search space and the error is certain to decrease along with the
increase of search space. That is to say, we need to be capable of explicitly controlling
the error according to practical requests. In this paper, we divide the SBIs into umpty
equivalent regions and compare the difference between the corresponding regions of
two SBIs, the sum of which is the superposition in an orientation. Then we rotate one
SBI around its center with given rule and make another analogical calculation. And
after finite comparisons, their similarity can be obtained by choosing the case with the
most superposition.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 146149, 2007.
Springer-Verlag Berlin Heidelberg 2007
147
As we know that regular polyhedra are uniform and have facets which are all of
one kind of regular polygon and thus better tessellations may be found by projecting
regular polyhedra onto the unit sphere after bringing their center to the center of the
sphere. A division obtained by projecting a regular polyhedron has the desirable
property that the resulting cells all have the same shapes and areas. Also, all cells have
the same geometric relationship to their neighbors. So if we adopt a regular polyhedron
as the basis to divide the SBIs, their distribution will also satisfy the requirements of
uniformity and isotropy. Since the icosahedron has the most facets of all five types of
regular polyhedra, we adopt it as a basis in our realization.
The division for a SBI has random orientation, which makes it difficult to compare.
For simplification, we firstly investigate the method to compare two SBIs in the same
orientation. As the SBIs have been divided into 20 equivalent spherical triangles, our
method is to subdivide each into four small ones according to the well known
geodesic dome constructions for several times(Fig.1) to form more compact trigonal
grids. If the gray of the SBI in the position of a grids center is 1, we tag this grid with
1, or otherwise 0. Then we totalize the superposed grids with the same tags and
calculate its proportion as the metric for similarity.
Suppose that the spherical icosahedron basis has been subdivided for N times and m
be the number of superposed grids with the same tags, then the similarity S between
the SBIs in this orientation can be defined as
m
.
20 * 4 N
Comparison of SBIs in the same orientation only reflects the superposition degree
in one situation, and therefore to obtain an all-around matching, we have to search for
more orientations to get the actual similarity. The varieties of orientation are achieved
through two steps in our realization:
Firstly, we rotate the icosahedron basis of one SBI around its center to obtain
another posture which is superposed with the prior one. Because the icosahedron has a
Symmetrical Group(SG) with its rank being 60, we need only rotate it 60 times to
get the most superposition in the group, that is, the max superposition in one SG
S G = max S i , i = 0,1,",60 . Fig.2 shows three orientations in a SG of a SBI for
example. Notice that the SBI is rotated along with the basis, too.
148
W. Liu and Y. He
Fig. 2. Three orientations in one symmetrical group, from which we can observe that the
trigonal meshes are superposed ( N = 2 )
Secondly, we learn that though rotations and comparison in one symmetrical group
can get a nearly approximate matching, the problem hasnt been completely finished,
yet. An undoubted fact is that the relation between the SBI and its icosahedron basis is
randomly fixed at the beginning, which may create a non-optimal discretization of SBI
for matching. To solve this problem, we adopt to experiment on other relations, which
will perhaps alter the shape or distribution of the discrete SBIs. Our method is to rotate
the icosahedron basis while maintaining the SBI fixed to obtain another SG. To ensure
that all SGs are distributed uniformly and able to cover different angles to solve the
rotation problem effectively, we adopt the relaxation mechanism proposed by Turk[6],
which intuitively has each directions of a SG push around other ones on the sphere by
repelling neighboring directions, and the most important step is to choose a repulsive
force and a repulsive radius for the interval.
Suppose we need L different SGs, there are totally 60 L rotations between the
two SBIs. The average maximum error of rotation angle A for two SBIs in longitude
and latitude can be roughly estimated using the following formula:
360 180
1080
= 60 L A =
A
A
L
(1)
The calculation is acceptable. Then we can decide the actual similarity between the
SBIs as S max = max S Gj , j = 0,1,", L 1 . Also, we can easily analyze and
conclude that the whole time complexity of our algorithm is O ( L 4 ) .
Foremost, we evaluate the retrieval performance of these combinations. Assume
that the query SBI belongs to the class Q containing k SBIs. The performance of
N
1280 to 5120.
149
In the experiments, we test various kinds of SBIs and from each kind we choose
five SBIs as the query and test the results. Table 1 lists the average performances of
the 18 cases, from which we find that when N = 3 and L = 15 , the arithmetic
obtains the best performance. Of course, since there is nearly no acknowledged
benchmark and interrelated reports on SBI matching up to now, our experiments and
result of performance can only be an attempt.
Table 1. Average Performances (%)
N/L
2
3
4
10
31.3
34.1
33.2
11
33.4
34.9
34.1
12
33.7
35.4
34.5
13
34.1
36.3
35.7
14
34.9
37.1
36.4
15
35.4
37.9.
37.2
References
1. Sing K. A Survey of Image-based Rendering Techniques. Technical Report Series, CRL
97/4, Cambridge Research Laboratory
2. Kazhdan M, Funkhouser T. Harmonic 3D shape matching. Computer Graphics Proceedings
Annual Conference Series, ACM SIGGRAPH Technical Sketch, Texas, (2002)
3. Shigang L, Norishige C. Estimating Head Pose from Spherical Image for VR Environment.
The 3rd IEEE Pacific Rim Conference on Multimedia, Morioka, (2002), 1169-1176
4. Wu Y, He Y Tian H. Relaxation of spherical parametrization meshes. The Visual Computer,
(2005), 21(8): 897-904
5. Rhaleb Z, Christian R, Hans S. Curvilinear Spherical Parameterization. The 2006 IEEE
International Conference on Shape Modeling and Applications, Matsushima, 11-18
6. Turk G. Generating Textures on Arbitrary Surfaces Using Reaction-Diffusion. Computer
Graphics, (1991), 25(4): 289-298
Abstract. This research studies real time interaction and dynamic data shared
through 3D scenes in virtual network environments. In a distributed virtual
environment of client-server structure, consistency is maintained by the static
information exchange; as jerks occur by packet delay when updating messages
of dynamic data exchanges are broadcasted disorderly, the network bottleneck
is reduced by predicting the movement path by using the Dead-reckoning
algorithm. The shared dynamic data of the 3D virtual environment is
implementation using the VRML EAI.
Keywords: net-VE, Dead-reckoning, Consistency.
1 Introduction
Net-VE(Network Virtual Environment)[1][2] is a system that connection the
distributed network to the virtual reality technology and offers 3D space to
cooperate distributed multi-users interaction through realtime networking.
Consistency at a distributed virtual environment[3] of the client-server structure is
continued by continuous exchange of static information among distributed clients.
The cycles transfer of static information brings traffic overhead of network. The
precise way for network users to know the others static is to transfer the packet by
hand shaking for each frame, which takes a overload of the synchronization and
decrease the velocity.
Based on the roles by which the dynamic data of the distributed multi-users is
processed through the multi-casting communication via the client-server and the peerpeer server, the network system in this study is composed of the message server and
the application server and distribution servicing loads by allocating realtime data to
the dynamic data server and non-realtime data to the static data server. When a new
client is connecter to a 3D scene of the network virtual space, it interpolates the prior
location with the Dead-reckoning[4] path prediction algorithm of DIS(Distributed
Interactive Simulation) to continue consistency and presentation the dynamic data
sharing scene of the 3D virtual space.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 150153, 2007.
Springer-Verlag Berlin Heidelberg 2007
151
x = V cos
y = V sin
(1)
Fig. 1 shows the Dead-reckoning convergence process. We can get more precise
estimates by increasing the estimate function interval of expression (2) but it results in
more composite calculation. Therefore, we use 2nd level functions such as 1st
differentials or 2nd differentials. We adjusts the threshold of the Dead-reckoning
convergence number and control the static information transfer rate. The client that
receives the discreteness dynamic data static information creates a continually shared
static using the shared static location convergence expression (2)
x(t ) = x(t0 ) + (t t0 )
(t t0 ) 2 d 2 x(t )
dx(t )
|t =t0 +
|t =t0 +"
dt
2
dt 2
(2)
Fig. 2. shows the measurement of the actual location, the convergence location and
the estimated location error when the path from the initial value of the dynamic data
by the Dead-reckoning convergence width, ( x, y, ) =(1.5, 1.8, 70.0), to the value,
( xn , yn , n ) =(4.62, 5.64, 70.0), is set to the velocity 2.4, the acceleration 0, the time
stamp 2.0, and the DR Interval 0.75, 0.50, 0.10, 0.05. When the actual location in
Table 1 and the location prediction error by convergence width are measured at the
point ( xn , yn , n ) =(4.62, 5.64, 70.0), the estimated error rate gets smaller and it
becomes possible to predict the location which is closer to the actual path when the
152
(a) DR Interval=0.50
(b) DR Interval=0.10
(c) DR Interval=0.05
The location interpolation includes check of the error between the estimated and
the real values and interpolation of the previous location when the error is over the
predetermined threshold of the Dead-reckoning convergence. If the threshold is big,
the average transfer rate of static information is low, even though the error of the
shared static gets bigger. If the threshold is small, the average transfer rate and
broadband width get heighten even though the error of the shared static gets smaller.
Pt 0 and V r mean the ESPDU location and velocity, respectively. expression (3)is for
interpolating the previous location of the entity using the initial location value
the time stamp velocity at the linear block
t0 by
Pt1 = Pt 0 + V r (t1 t0 ) .
(3)
3 Conclusion
The dynamic data whose path was predicted by a Dead-reckoning algorithm
interpolates the previous location with an interpolation node(Interpolation), transfers
the shared object static information, and continues consistency with other clients.
At the network 3D virtual space, the movement path was predicted using the Deadreckoning algorithm at the client buffer because the congested broadcast by
interaction and static information caused network delay and jerks. The error between
the estimated and the actual static values, which is more than the threshold based on
153
the shared object location, required interpolation of the prior location using the Deadreckoning estimate function and multicasting of the ESPDU packet of the DIS.
Fig. 3 is the 3D scene with the output through the client rendering engine at the
network virtual space. The actual path of the dynamic data agent_A is 'Actual Path',
and as the Dead-reckoning estimate location path is a 'DR path' and the dynamic data
moves suddenly when the user who received the shared static updates the information,
it does not change right away to a client cache value, but moves to the 'Interpolation
path' by the convergence interval.
References
[1] Singhal, S. and Zyda, M., 1999. Networked Virtual Environments: Design and
Implementation, ACM Press [ISBN 0-201-32557-8].
[2] Bouras, C., Triantafillou, V. and Tsiatsos, T., 2001. Aspects of collaborative learning
environment using distributed virtual environments In Proceedings of ED-MEDIA,
Tampere, Finland, June25-30 pp.173-178
[3] Bouras,C., Psaltoulis, D., Psaroudis, C. and Tsiatsos, T., 2003. Multi user layer in the EVE
distributed virtual reality platform In Proceedings of Fifth International Workshop on
Multimedia Networks Systems and Applications (MNSA 2003) Providence, Rhode Island,
USA, May 19-22 pp.602-607.
[4] W. Cai, F.B.S. Lee, L. Chen, An auto-adaptive Dead-reckoning algorithm for distributed
interactive simulation, in: Proceedings of the Thirteenth Workshop on Parallel and
Distributed Simulation, 1999, pp.82-89.
Abstract. This paper presents a method for effectively modeling the outer
surfaces of inlay/onlay prostheses restoring teeth that are partially destroyed.
We exploit 3D mesh deformation techniques: direct manipulation free-form
deformation (DMFFD) [9] and multiple wires deformation (MWD) [10] with
three kinds of information: standard teeth models, scanned mesh data from the
plaster cast of a patient's tooth, functionally guided plane (FGP) measuring the
occlusion of the patients' teeth. Our implementation can design inlay/onlay
prostheses by setting up various parameters required in dentistry during
visualizing the generated mesh models.
Keywords: Prostheses modeling, inlay/onlay, mesh deformation.
1 Introduction
Many artificial teeth prostheses are composed of cores and crowns [1]: the cores
directly contact the abutment to increase the adhesive strength to the crowns that are
revealed to the outside sight when the artificial teeth prostheses are put in.
Inlay/onlays can be regarded as a kind of single crowns, which are used for
reconstructing only one tooth that are partially destroyed. In general, a tooth adjoins
with adjacent teeth and also contacts other teeth at the opposite side when the upper
and lower jaws occlude. The adjoining surfaces at the adjacent side are said to be
adjacent surfaces, and the contact surfaces at the opposite side during the occlusion
are called occlusal surfaces. The inlay is a prosthesis fabricated when little dental
caries or established prostheses are on the two surfaces, while the onlay is a prosthesis
fabricated when its cusp in tongue side exists soundly but other parts are destroyed.
In modeling inlay/onlays with CAD/CAM and computer graphics techniques, the
most important subject is how to model their 3D shapes same as the dentists want to
form. That is, the adhesive strength to the abutment must be maximized. Furthermore,
the appropriate adjacency with neighboring teeth and the accurate occlusal strength to
the opposite tooth has to be guaranteed. Previous researches for modeling
inlay/onlays can be divided to two categories: 2D image-based [2-5] and 3D meshbased [6,7].
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 154157, 2007.
Springer-Verlag Berlin Heidelberg 2007
155
Our method adopts the mesh-based modeling approach similarly to the GN-1
system [7]. In this paper, however, differently to taking a side view of 3D scanners for
producing mesh models in the GN-1 system, an inlay/onlay is modeled by dividing its
surface into two parts: an inner surface adhering to the abutment and an outer surface
revealed to the outside sight. The inner surfaces of inlay/onlays are modeled same as
the results of Yoo et al. [8] with the 2D Minkowski sum: compute a new model that is
the expansion of a terrain model with expansion values given by users. This paper
focuses on modeling the outer surface, which is just the union of two subparts: the
adjacent and occlusal surfaces, by deforming the corresponding standard tooth
according to the inherent features of each tooth.
(1)
In the above equation, the B + is a pseudo inverse of the matrix B . If we apply FFD
to X with the computed P , X is transformed into X ' . Hence, it is possible to
deform a mesh intentionally, if we apply FFD to all vertices of the mesh after
computing P for each vertex with the same method.
The deformation technique of multiple wires deformation (MWD) [10] is used for
more naturally deforming the wired curves representing geometric features of cusp,
ridge, fissure, and pit, which are extracted after scanning the FGP. A wired curve is
represented as a tuple < W , R, s, r , f > , where W and R are the free-form parametric
curves that are the same in an initial state, s is a scalar for adjusting the radial size in
the curve circumference, r is a value representing the range effecting the curve
circumference, and f is a scalar function defined as f : R + [0,1] . The function f
guarantees the C1-continuity at least, and satisfies the properties of
1
f (0) = 1, f ( x) = 0 for x 1 and f ' (1) = 0 . Our implementation uses the C -continuous
156
(2)
p pR
r
p ' by deforming W with an expansion parameter s for changing the wire size.
p ' = p + ( s 1)( p p R ) f ( x) + ( pW p R ) f ( x) .
(3)
Definitely, the above equation has the property that the expansion parameter s
moves the point p in the direction p p R . This principle of wire deformation is
extended for deforming the multiple wires. Let pi be the variation value of p when
the wire Wi is deformed. Then, the deformed point p ' in deforming all wires
Wi , i = 1,", n is written as.
n
p' = p +
pi f i ( x) m
i =1
i =1
(4)
f i ( x) m
The parameter m is used for locally controlling the shapes of the multiple wires, i.e.,
it controls the effects of Wi and si during the deformation. For example, the effects
of Wi and si rapidly increase according to the increasing value of m when f i (x)
approaches to 1.
In modeling the occlusal surfaces, Ri is the curve interpolating all points of the the
geometric features lines of cusp, ridge, fissure, and pit. The wired curve Wi
corresponding to Ri is determined by more complicated computations; for each
segment Li of the polygonal lines, we compute the intersection line segment Li '
between FGP and a z-axis parallel plane passing Li , cut Li ' so that it has the same xand y- coordinates with the end points of Li , and finally obtain a curve interpolating
all points of the cut line segments. Since the two curves interpolates the same number
of points, we can get the parametric value of the curves for any point on Wi . In our
implementation, we use the Catmull-Rom curve for the interpolating curves, and the
one suggested by Singh et al. [10] for the function f . Our implementation assigns the
values 1, 5, and 1 to si , ri and m , respectively. For the all of points p on the
standard tooth, W , and R , we compute pR and pW and then obtain pi with
Equation (4). By applying Equation (5) to pi of all wired curves and f , we can get
the finally deformed point q' .
157
(a)
(b)
(c)
(d)
Fig. 1. Designing the outer surface for an onlay; (a) a standard tooth model, (b) a scanned FGP
model, (c) a finally designed onlay, and (d) an onlay put in on the abutment
For more accurate modeling, several parameters can be set up through a simple
interface as the designed inlay/onlays are visualized. Currently, our implementation
gets the adjacent points manually for designing the adjacent surfaces of inlay/onlays.
In future, an automatic method for determining such adjacent points is needed to be
developed. It is another research subject to simulate the teeth occlusion by using the
FGP and the geometric features of teeth.
Acknowledgements. This work was partially supported by the Korea Research
Foundation Grant funded by the Korean Government (MOEHRD) (KRF-2006D00413).
References
1. Yoon, C.G., Kang, D.W., Chung, S.M.: State-of-arts in Fixed Prosthodontics, Jongii Press,
Korea (1999)
2. Myszkowski, K., Savchenko, V.V., Kunii, T.L.: Computer modeling for the occlusal
surface of teeth, Proc. of Conf. on Computer Graphics International (1996)
3. Savchenko, V.V., Schmitt, L.M.: Reconstructing occlusal surfaces of teeth using a genetic
algorithm with simulated annealing type selection, Proc. of Solid Modeling (2001) 39-46
4. Yoo, K.Y., Ha, J.S.: User-Steered Methods for Extracting of Geometric Features in 3D
Meshes, Computer-Aided Design and Applications, Vol. 2 (2005)
5. Sirona Corporation, http://www.sirona.com (1985)
6. Nobel Digital Process Corporation, Procera Systems, Nobel Digital Process Corporation,
Sweden (2001)
7. GC Corporation, GN-I Systems, GC Corporation, Japan (2001)
8. Yoo, K.Y., Ha, J.S.: An Effective Modeling of Single Cores prostheses using Geometric
Techniques, Journal of Computer-Aided Design, Vol. 37, No. 1 (2005)
9. Hsu, W.M., Hughes, J.F., Kaufman, H.: Direct manipulation of free-form deformations, In
Computer Graphics (SIGGRAPH '92), Vol. 26 (1992) 177-184
10. Singh, K., Fiume, E.: Wires: A Geometric Deformation Techniques, SIGGRAPH (1998)
11. Sederberg, T., Parry, S.: Free-form deformation of solid geometric models, In Computer
Graphics (SIGGRAPH86) (1986) 151-160
Abstract. In this paper, some natural links between virtual reality and
interactive 3D computer graphics are specied and Web3D technologies especially VRML and X3D are briey introduced. Web-based tool
which is called EasyLab3D was designed and implemented using X3D.
This web-based tool is used to generate automatically 3D virtual computer rooms that can be navigated in. It is important for introduction
of departments, companies and organizations which have computer laboratories and for planning new computer rooms. As a result, state-of-the
art technologies and methods in development of automatic 3D scene and
model generation tools are discussed.
Introduction
Extensible 3D (X3D)
159
http://www.xml.com/pub/a/2003/08/06/x3d.html
http://yzgrak.ege.edu.tr/projects/easylab3d/
http://www.mediamachines.com/make.php
160
A. U
gur and T.E. Kalayc
and to use an object many times without coding same things repeatedly. Created
model prototypes are stored at web space4 for online use.
Scenes are generated using our layout algorithms and prototype instances are
created with calculated transformations and put in a temp le on the y. Thus
user can save the scene generated as a le and publish on the web site. User
can also examine these les later using other browsers and plug-ins. Scenes are
created on the y, shown on the Xj3D browser using Java programming language.
Xj3D provides to change X3D scenes dynamically using SAI5 (Scene Authoring
Interface) technology. Java Web Start technology6 is used to make easier run of
program and to be downloaded all required libraries automatically.
Automatic generation algorithms for most popular rectangular computer
room layouts are implemented in this project. Computers which are on the tables are placed in that order. Computer Room Layout 1 has equally sized gaps
between computer tables and Layout 2 includes one corridor has two computer
blocks one at the left side of room and one at the right side shown in Fig. 2.
Room parameters given by the user are width (sizeX), length (sizeY), height
and distance to board (gapY, minimum feasible distance between board and
tables). Table/desk parameters are width (sizeX, width of table), length (sizeY)
and height. Some other parameters are Desk Count (room.tableCount), Sitting
Gap (table.gapY, feasible distance between tables that a computer user works
easily, in Y axis), Desk Gap (table.gapX, gap between tables in X axis).
Fig. 2. Computer Room Layout 1 (on the left) and Layout 2 (on the right)
http://yzgrak.ege.edu.tr/elab/modeller/
http://www.xj3d.org/tutorials/general sai.html
http://java.sun.com/products/javawebstart/
161
room.tCountY = (room.usableLength+table.gapY)/
(table.sizeY+table.gapY);
room.maxTableCount = room.tCountX * room.tCountY;
if(room.tableCount>room.maxTableCount)
room.tableCount=room.maxTableCount;
// Placement
foreach(table in room) calculatePosition(table);
Tables and computers exceeding the room capacity are not inserted into the
scene as specied in the algorithm.
Conclusion
New generation 3D languages, APIs and key Web3D technologies (X3D, Java
3D) oer possibilities for creating and manipulating with 3D objects and scenes
easily. X3D provides support to insert 3D shapes, text and objects into scene, to
transform objects, to modify attributes of objects and others such as grouping,
animation, illumination, etc. X3D also uses XMLs advantages such as rehostability, page integration, integration with the next-generation web technologies,
extensive tool chain support. Developments in Web3D technologies and authoring tools are important for the future of VR.
Increasing number of web-based 3D graphics projects easy to use like EasyLab3D will make 3D graphics natural part of web and will improve web quality.
3D interactive model of a computer lab is more than a series of 2D pictures and
also more enjoyable and realistic. Companies and organizations can use this tool
for generating 3D models of their labs only giving a few parameters. Internet
users can access and navigate in these lab models. This automatic generation
tool is also useful for interior designs of new labs by providing 3D previews.
References
1. Sherman, W.R., Craig, A.B.: Understanding Virtual Reality: Interface, Application,
and Design. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA (2002)
2. Sowizral, H.A., Deering, M.F.: The java 3d api and virtual reality. IEEE Computer
Graphics and Applications 19 (1999) 1215
3. Blais, C., Brutzman, D., Horner, D., Nicklaus, S.: Web-based 3d technology for
scenario authoring and visualization: The savage project. In: I/ITSEC. (2001)
4. Patel, M., White, M., Walczak, K., Sayd, P.: Digitisation to presentation - building
virtual museum exhibitions. In: VVG. (2003) 189196
5. Barbieri, T., Garzotto, F., Beltrame, G., Ceresoli, L., Gritti, M., Misani, D.: From
dust to stardust: A collaborative 3d virtual museum of computer science. In: ICHIM
(2). (2001) 341345
6. Hetherington, R., Farrimond, B., Presland, S.: Information rich temporal virtual
models using x3d. Computers & Graphics 30 (2006) 287298
7. Yan, W.: Integrating web 2d and 3d technologies for architectural visualization: applications of svg and x3d/vrml in environmental behavior simulation. In: Web3D 06:
Proceedings of the eleventh international conference on 3D web technology, New
York, NY, USA, ACM Press (2006) 3745
Abstract. We introduce a new glass tile generation method for simulating Stained Glass using region segmentation algorithm and cubic spline
interpolation method. We apply a Mean shift segmentation algorithm
to a source image to extract a shape of glass tile. We merge regions
by user input and use morphological operation to remove the invalid
shape. To make the shape of glass tile, we apply cubic spline interpolation and obtain the leading and the region with smooth boundary. Next,
we re-segment the region using the spline curves. Finally we apply the
transformed colors to each region to create a whole glass tile.
Introduction
This study is to make the Stained Glass image that looks like manually produced
by artists using the 2D image as the input. The Stained Glass rendering is a
eld of NPR(Non-Photo realistic Rendering) and it is very much dierent from
the traditional realistic rendering. While the rendering primitive of the realistic
rendering is a pixel that of the Stained Glass rendering is a region, the collection
of the pixels. Therefore the output image may be varied according to the size and
the shape of the area. In this paper, we would like to introduce a new method
to create glass tile. The Stained Glass is made by cutting and pasting the glass
therefore the unit of the Stained Glass is a glass tile. As conventional algorithm
used to create a glass tile simply using region segmentation, it could not have
the Stained Glass like feeling if the region segmentation were not appropriate.
In order to resolve this problem, we interpolated the boundaries between the
regions, re-segmented each segmented area to create the region to compose glass
tiles.
Related Work
Although many dierent studies have been performed since the studies regarding
the NPR were started Strothotte[1], Recently, there have been many trials to
simulate the Stained Glass using computer technology.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 162165, 2007.
c Springer-Verlag Berlin Heidelberg 2007
163
In Photoshop, The Stained Glass lter is one of them. The Stained Glass
lter of the Photoshop basically makes the image using Voronoi Diagram having
random Voronoi sites(Ho[5]).
Mould[2] approached to the studies on the Stained Glass in dierent ways.
This method dividied the input image using the region segmentation method
based on the color, and then it mitigated the segmented regions applying the
morphological operation. However the regions created by Mould[2] method are
far from the formative structures.
3
3.1
It is very important to abstract the segments that can be expressed in glass tiles.
In this study, we used the Mean Shift segmentation algorithm(Comanicu[4]) to
generate the basic segmented regions creating the glass tiles(Fig. 1(b)).
Additionally, as the regions with unexpected shapes can be created from the
application of the segmentation algorithm, we made it possible for the user to
merge the regions through input(Fig. 1(c)).
Fig. 1. Stained glass rendering process (a) Input image (b) Mean shift segmentation
(c) Region merge (d) Morphological operation (e) Region boundary interpolation (f)
Region re-division (g) Rendered image after color transform
3.2
164
S. Seo et al.
Fig. 2. (a)Search control points for spline interpolation (b)Region re-segmentation process (c)Re-segmentation result
We applied the same method to create the leading that lls the gaps between
glasses in the actual stained glass during the interpolation process. It is to abstract the parts that did not create the segment as the leading by creating and
applying the smaller spline curves than the basic segments.
3.3
For securing the formative beauty that shown in the actual stained glass. We
re-segmented the large segment region(Fig. 1(f)).
In the re-segmentation process, we made random curve and re-segmented the
regions based on the curve.
First of all, select a random point on the region and identify two points
on the boundary near the selected point to use them as the control points.
Based on the selected three points, create a curve using the cubic spline interpolation (Fig. 2(b)). We limited the number of the control points as three
because if we use too many points on the segment it would bend the curve too
much. It is improper to apply the over-bent curve to the stained glass rendering
(Fig. 2(c)).
3.4
Mould[2] converted the colors in the input image to the colors that could be
used in the Middle Age to designate the colors of the glass tiles. We applied the
same method to this study. Through this process, we could have the strong color
contrast eects(Fig. 1(g)).
165
Conclusion
In this study, we created the shapes of the smooth glass tiles similar to those in
the actual stained glass by interpolating the boundaries between the segments
to simulate the stained glass image, and then created the frame shape of leading
with irregular thickness that we could nd between the glass tiles. Additionally
we created the formative characteristics that composed a meaningful segment by
gathering small glass tiles through the re-segmentation of the segment. We also
expressed the strong color contrast through the color conversion process(Fig. 3).
Additionally, to emphasize the formative shapes, we highlighted the boundaries
before re-segmentation with thick lines. As the stained glass is mainly used in
windows, we gave the round light source eects to the image so that we could
get the lighting eects. Fig. 3 shows the comparison between the image after the
light source eect application and the image from Mould[2].
Actual stained glass is made of color glasses.
References
1. Thomas Strothotte and Stefan Schlechtweg, Non-Photorealistic Computer Graphics: Modeling, Rendering and Animation, (2002), Morgan Kaufmann, ISBN:
1-558-6078-70
2. David Mould: A Stained Glass Image Filter. In the proceedings of the 14th EUROGRAPHICS Workshop on Rendering, pp. 20-25
3. Grodecki, L., Brisac, C. : Gothic Stained Glass. Thames and Hudson, London, (1985)
4. Comanicu, D., Meer, P. : Mean shift: a robust approach toward feature space analysis. IEEE Trans. Pattern Anal. Machine Intell, 24, 4 (2002), 603-619
5. Ho, K., Keyser, J., Lin, M., Manocha, D. and Culver, T. : Fast Computation
of Generalized Voronoi Diagrams Using Graphics Hardware. In the proceedings of
SIGGRAPH 99: 277-286
6. Gonzalez, Woods: Digital Image Processing, Addison Wesley, (1993)
7. Adam Finkelstein, Marisa Range, :Image Mosaics, Technical Report of Princeton
Univ., (1998)
Abstract. Interval arithmetic has been used to create guaranteed intersection tests in the ray tracing algorithms. Although those algorithms
improve the reliability in the visualization of implicit surfaces, they do
not provide an alternative to avoid point sampling inside the pixel. In
this paper, we develop an interval adaptive antialiasing algorithm (IAA)
by means of the study of the coherence of sets of rays crossing a pixel
(instead of individual rays) in order to detect variations over the hit
surface. This method allows us to obtain better visualizations than the
traditional interval ray tracing algorithms.
Introduction
The ray tracing of implicit surfaces suers of accuracy problems, which are related to thin features that disappear when some special surfaces are rendered.
This occurs because the computers can not guarantee the robustness in oating
point operations during the intersection test [3,6]. Many authors have proposed
reliable ray tracing algorithms that perform guaranteed intersection tests based
on interval arithmetic [2,7,8].
However, those authors do not propose a reliable way to reduce aliasing in the
visualization of the surfaces. An alternative is to use adaptive sampling [9]. In
this technique, rays are traced for every corner of the pixel. If the values are too
dierent, the pixel is subdivided and new rays are traced in the new corners. Due
to the fact that it is still possible to miss thin parts of the surface, this method
uses bounding boxes for small objects. If the ray intersects a bounding box, the
sampling rate is increased to guarantee that view rays do not miss the object.
Although eective in most of the cases, this technique does not work very well
with long thin objects [4].
Other approaches are based on gathering information of adjacent rays as cone
tracing [1] and beam tracing [5]. The main disadvantage of those proposals is
that they require computationally complex intersection tests.
This paper introduces a method called interval adaptive antialiasing (IAA)
with the following characteristics:
This method examines areas of the pixel instead of points as in point sampling. Interval arithmetic is used to guarantee that small parts of the surface
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 166169, 2007.
c Springer-Verlag Berlin Heidelberg 2007
167
inside the pixel are not missed. All the set of rays that cover an area of the
pixel are treated as a unique ray.
The information obtained from sets of rays is studied to determine if the
area covered by the rays presents too much variation over the surface.
This method does not require bounding boxes to detect small features as
adaptive sampling does. Also, the complexity of the intersection test is almost the same as the traditional interval ray tracing.
The intersection between the implicit function f (x, y, z) = 0 and a ray dened
by:
x = sx + t(xp sx ); y = sy + t(yp sy ); z = sz + t(zp sz )
is dened by the function:
f (sx + t(xp sx ), sy + t(yp sy ), sz + t(zp sz ))
where (sx , sy , sz ) are the coordinates of the origin or view point, (xp , yp , zp ) are
the values of a point in the screen and t indicates the magnitude in the direction
of the ray. If the parameter t is replaced with an interval T , a set of real values
can be evaluated instead of a unique value. To cover pixel areas instead of points,
the real values of xp and yp of the screen must be considered as interval values
too. The function to include the new interval values can be dened as follows:
F (Xp , Yp , T ) = F (sx + T (Xp sx ), Sy + T (Yp sy ), sz + T (zp sz ))
(1)
168
J. Fl
orez et al.
is calculated. If the width of the interval containing the dot products between
the set of rays and the normals is bigger than a predened threshold, or if the
surface is not monotonic for the values of T , the surface varies too much in the
evaluated area.
The interval adaptive antialiasing is perfomed in every pixel as follows: all the
area of the pixel is evaluated using process described in section 2.1. If the surface
varies too much inside the pixel, the pixel is divided in four subpixels and the
process is performed on them. In other case, the pixel or subpixel evaluated is
shaded using the average of the normals. If the pixel is divided, the average of the
shade values of the subpixels is used to obtain the nal shade value of the pixel.
The IAA method was tested over the surfaces presented in gure 1. The comparisons have been performed between an adaptive algorithm using a traditional
ray tracing algorithm, and our interval adaptive algorithm. Figures 1a and 1b
show a twist with a shadow. The problems in the visualization in (a) occur because shadow rays miss the thin details of the twister. Also, the visualization
of gure 1a takes 27 minutes; gure 1b takes 20 minutes. The time dierence
Fig. 1. Experimentation images. (a) Fine details of the shadow are not well visualized
using traditional interval ray tracing. (b) Using IAA, those details are better visualized.
(c) A Blobby surface rendered by IAA algorithm. (d)A tri-trumpet surface, in which
some sections appear separated although interval arithmetic is used for the intersection
test, as is shown in (d). Using IAA, the surface is rendered correctly (f).
169
is due to IAA detect pixels without too much variation inside, using only one
intersection test. Using the traditional ray tracing algorithm, at least four rays
are traced for every pixel.
Conclusions
Acknowledgements
This work has been partially funded by the European Union (European Regional Development Fund) and the Spanish Government (Plan Nacional de Investigacin Cientca, Desarrollo e Innovacin Tecnolgica, Ministerio de Ciencia
y Tecnologa) through the co-ordinated research projects DPI2002-04018-C0202, DPI2003-07146-C02-02, DPI2004-07167-C02-02, DPI2005-08668-C03-02 and
TIN2004-07451-C03-01 and by the government of Catalonia through SGR00296.
References
1. Amanatides, J.: Ray Tracing with Cones. Computer Graphics. 18 (1984) 129135
2. Capriani, O., Hvidegaard, L., Mortensen, M., Schneider, T: Robust and ecient ray
intersection of implicit surfaces. Reliable Computing. 1(6) (2000) 921
3. Fl
orez, J., Sbert, M., Sainz, M., Veh: Improving the interval ray tracing of implicit
surfaces. Lecture Notes in Computer Science. 4035 (2006) 655-664
4. Genetti, J., Gordon, D.: Ray Tracing With Adaptive Supersampling in Object Space.
Graphics Interface. (1993) 7077
5. Heckbert, P., Hanrahan, P.: Beam Tracing Polygonal Objects. Computer Graphics.
18 (1984) 119127,
6. Kalra, D., Barr, A.: Guaranteed ray intersection with implicit surfaces. Computer
Graphics (Siggraph proceedings). 23 (1982) 297206
7. Mitchell, Don: Robust ray intersection with interval arithmetic. Proceedings on
Graphics interface 90. (1990) 6874
8. Sanjuan-Estrada, J., Casado, L., Garca I.: Reliable Algorithms for Ray Intersection
in Computer Graphics Based on Interval Arithmetic. XVI Brazilian Symposium on
Computer Graphics and Image Processing. (2003) 3544
9. Whitted, T: An Improved Illumination Model for Shaded Display. Communications
of the ACM. 23 (1980) 343-349
Abstract. Traditional non-cooperative game theory has been an extraordinarily powerful tool in modeling biological and economic behavior,
as well as the eect of legal rules. And, although it contains plausible concepts of equilibrium behavior, it does not contain a theory of dynamics
as to how equilibria are to be reached. This paper on Restricted NonCooperative Games inserts dynamic content into traditional game theory
and thus permits modeling of more realistic settings by imposing topologies that restrict the strategies available to players. It uses Mathematica
to show how the payo array used in conventional game theory, coupled
with these strategy topologies, can construct a "game network", which
can be further visualized, analyzed, and "scored" for each of the players.
The paper likewise uses Mathematica to analyze settings in which each
player has the ability to engineer its own strategy topology and suggests
other potential extensions of Restricted Non-Cooperative Games.1
Keywords: non-cooperative game theory, Mathematica, law, Nash
Equilibrium, game network, New Kind of Science, directed graphs.
Introduction
In conventional non-cooperative game theory, each player can see and can instantaneously select any element of its strategy set in response to the other
players strategy selections.[1] In real settings, however, the strategies available
to a player at any given time will often be a function of the strategy it selected
at a prior time.[2] It may, for example, be possible to change only one aspect
of a strategy at a time. Alternatively, as in work earlier done by the author in
"Foggy Game Theory,"[3] the strategies may be placed in some cyclic topology
and only changes within some distance of the current stategy are permitted.
Sometimes these constraints on the dynamics of strategy selection may be the
result of external circumstances or cognitive limitations on the part of the player;
other times they may be deliberately engineered by the player itself.[4] Either
1
Mathematica code used to create the framework is available from the author on
request.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 170177, 2007.
c Springer-Verlag Berlin Heidelberg 2007
171
way, however, the result is to overlay the strategies with a network connecting
them (a topology) in which some strategies are connected and others are not.2
2
C
E
A
All strategies have at least one outgoing edge, though that edge can be a self-loop.
Otherwise a player would not know what to do on their next move. One can imagine
a yet more general case in which the strategies available to each player are a function
not simply of the strategy employed by that particular player on the prior move but
the strategy combination used on the prior move or move history. Conventional noncooperative game theory may be thought of as a special case of restricted game
theory in which each player has a complete graph as their strategy topology.
172
S.J. Chandler
Driver Payoffs
1
Pedestrian Payoffs
B1
D1
C1
A1
E1
B3
D3
B2
D2
A3
A2
E3
E2
Fig. 2. Game network for driver and pedestrian based on payo array
choose the one whose associated strategy combination (given the complementary
strategy selections of the other players) oers them the highest payo.3 This
modication results in a thinning of the network created above so that, in an
n-player game, only n edges can generally emerge from each node. Each edge
represents the best move for one of the n players.
To use more formal notation, if there are n players in some restricted game
and the strategy topology (graph) of player i {1,. . .,n} is denoted as si , and
n
173
M [u, s1 , . . . , sn ] = M [u, s1 , . . . , sn , i]
(2)
M [s1 , . . . , sn ] = M [u, s1 , . . . , sn ]
(3)
i=1
uS
One now uses the payos to narrow the set of moves to a subset of the set of
potential moves. A plausible way of doing so is, as in conventional game theory, to
create a payo function mapping each strategy combination to a set of payos,
one for each of the players. One can conveniently represent that function as
the n |s1 | . . . |sn | array P (dimensionality n + 1), where |s| assumes its
conventional meaning of the cardinality of a set s. Pi is in turn the n-dimensional
array in which element {u1 , . . . , un } represents the the payo to the ith player
resulting from strategy combination u. One can then denote the restricted game
G as having the following set of moves:
G[P, s1 , . . . , sn ]={{{u, v}, i} M [s1, . . . , sn ]|Pi [v]
max
Pi [m]}
(4)
This mathematical formalism is visualized in Figure 2. The top panel represents the payos associated with each strategy combination in the sample driverpedestrian game. The bottom panel shows the new "Game Network." Moves by
the driver are shown as medium-width solid lines while moves by the pedestrian
are thick dashed lines. Very faint, thin, dotted lines represent moves that were
potentially available but were discarded because they were not the best move
for either player.
We can now assign a score to each of the players from the game network described
above. The players score is simply a weighted average of the payos the player
receives from each strategy combination. A plausible weighting scheme assumes
that a random walk is taken by the players on the game network (starting from
some random node) and that the weights are thus the stationary probabilities
of being at each node (strategy combination). Thus, if there were, as in some
conventional non-cooperative games, a single strategy combination to which all
the players inexorably converged regardless of some "starting point" (a classic
Nash Equilibrium), that strategy combination would receive a weight of one.
If there were several such nodes, each would receive a weight corresponding
to the size (number of nodes) of its basin of attraction. These weights can be
computed readily by creating a Markov transition matrix associated with the
game network and then computing the stationary values.4 The scores can be
normalized by dividing each score by the score that would result if all nodes of
4
174
S.J. Chandler
the network were weighted equally. In formal notation, the normalized score for
player i in game g = G[P, s1 , . . . , sn ] is equal to
[P, g, i] =
wu [g]Pi [u]/|V [g]| ,
(5)
uV [g]
Driver Payoffs
1
Pedestrian Payoffs
B1
D1
C1
D3
A1
E1
B3
B2
D2
A3
A2
E3
E2
Fig. 3. Modication of payo array generates new game network and scores
Just as in conventional game theory one can study how changes in the strategy combination-payo mapping alter the Nash Equilibria and/or the payos
at the equilibria, in restricted non-cooperative game theory one can study how
changes in the strategy combination-payo mapping alter the game network,
which in turn alter the players scores. Figure 3 shows the new payo array (top
panel) that results from requiring the driver to pay the pedestrian an amount of
0.5 if strategy combination E1 is employed, and the resulting new game network
5
In traditional game theory, the ability to nd at least one "Nash equilibrium" for all
games and the accompanying payos is preserved by permitting the players to use
probabilistic strategies[1] and to then indulge contested assumptions about the behavior of players under uncertainty. Probabilistic strategy selection is not permitted
here.
175
(bottom).6 The new normalized scores are 1.49 for the driver and 1.60 for the
pedestrian.
With this framework in place we can also undertake studies not possible in
conventional non-cooperative game theory. We can examine how, given a payo
matrix, changing the strategy topologies aects the associated game network,
which in turn aects the weights received by each strategy combination, which
in turn aects the scores received by each player. We can examine properties
of the game network itself, such as the lengths of its maximal cycles. We can
also, in eect, create a metagame in which the strategies are not just things
such as A or B but also choices about whether to permit oneself to transition
from A to B. Physical sabotage of otherwise existing transition possibilities can
create such restrictions; so can economic relationships with third parties such
that various strategy transitions become suciently unprotable (dominated)
and thus disregarded.
I now begin to examine this last proposition systematically using ideas of
Stephen Wolframs A New Kind of Science involving consideration of very simple cases and enumeration of possibilities.[6] Consider a game of n players
indexed over
i with
each player having |s| strategies available to it. Each player
now has 1 + 2|s| |s| possible strategy topologies. This is so because each strategy can connect with the other strategies in 2|s| ways, but one of those ways, the
empty set, is prohibited, as each player must always
have a next move,
and there
are |s| strategies to be considered. There are thus ni=1 1 + 2|s| |s| strategy
combination topologies that can exist. Although the number of strategy topologies can readily become quite large, if there are two players and each player has
three strategies available to it, each player has 343 strategy topologies and there
are 117649 strategy combination topologies that can be enumerated along with
an identical number of associated game networks.7 It is well within the ability of
the framework we have created and todays computers to extract the maximal
cycle lengths and the scores for each of these game networks.
I can create a random payo array and then create adjacency list representations for each possible strategy topology. I can then invoke a command that
creates a losslessly compressed representation of the game network for all pairs
of strategy topologies. On a 2006 Macbook Pro, the computation for all game
networks of n = 2, |s| = 3 takes about 30 minutes and produces an expression consuming ve megabytes. (Mathematica permits a monitor to be attached
6
Legal rules often change payo arrays in just the fashion shown here by requiring one
player in a "game" to pay another player in a "game" if certain strategy combinations
are employed.[5] Total payos are generally conserved within a strategy combination,
unless there are transaction costs or payos to non-parties, in which event the total
payo can diminish.
If there were three players and each player had four strategies, there would be
129746337890625 game networks to be considered, which shows a limitation of a
"brute force" approach on contemporary computers.
176
S.J. Chandler
to the computation to watch its progress and the data can be stored for later
examination.)
With this listing of all possible networks and a decompression algorithm, I
can then compute the lengths of each maximal cycle for each of the 3432 game
networks. It ends up being most common for game networks to have the potential to cycle through at most three strategy combinations before returning
to a previously played strategy combination. Maximal cycles of 7, 8 and even
9 strategy combinations prove possible, however. Indeed, we can focus on the
smaller number of game networks that show complex dynamics with long cycles in which, depending on the sequence of player moves, there is at least the
potential for many strategy combinations to be pursued before returning to a
previously played combination.
Alternatively, I can take the game networks and compute a mapping between
pairs of strategy topologies and the scores for each player. This computation takes
only 10 minutes, much of which is spent in decompressing the game networks.
One can do several things at this point. One can examine which strategy
topology tends to have the highest average score for a particular payo array.
Figure 4 shows the results of this experiment. It shows that both players tend to
do best when they have signicant choices available to them regardless of their
current strategy choice. "Pre-commitment strategies," which attempt to restrict
strategy selections, tend not to do well when one does not know the strategy
topology of the opposing player.
Player 1
Player 2
One can also examine the character of any pure traditional Nash equilibrium
for the "meta-game" created by this process in which the "strategies" are now
strategy topologies and the payos are the "scores." When one runs this experiment on the sample game shown above, one nds that there are eight Nash
Equilibria.8 Figure 5 shows a sample Nash equilibrium.9
8
All the equilibria have the following characteristics: the second player always chooses
strategy topologies in which it must move to strategy 1 no matter what strategy it
has played before; the rst player never permits a move to strategy 3 no matter what
player 1 does and no matter what it has done on any prior move.
One could create meta - metagames by imagining that the players can not only alter
their strategy topologies but also their ability to transition from among strategy
topologies. Because this would create over 5.7 1070831 possible game networks,
however, any exhaustive study of the possibilities is, for the forseeable future, impractical.
0.214
0.727
0.766
0.27
0.848
0.56
0.74
0.026
0.575
0.889
0.019
0.938
0.46
0.049
0.051
0.653
0.724
1
1, 3
1, 1
1
2
2, 1
2, 2
3, 3
2
1
1 2
2
1, 2
2, 3
2
3
177
3, 1
2
1
3, 2
Fig. 5. A sample Nash Equilibrium set of strategy topologies and the associated game
network
Conclusion
Mathematica successfully creates a useful and exible framework for the study
of n-player Restricted Non-Cooperative Games in which the players have potentially dierent strategy topologies. The paper does not purport to study this
extension of game theory exhaustively. The intent is to develop a general set of
tools from which further study can be protably pursued.
Acknowledgments. The author thanks Jason Cawley of Wolfram Research,
Professor Darren Bush of the University of Houston Law Center and Professor
Steven Brams of New York University for extraordinarily helpful comments on
a draft of this paper, as well as Yifan Hu of Wolfram Research for designing
Mathematicas GraphPlot package used extensively here.
References
1. Gintis, H.: Game theory evolving a problem-centered introduction to modeling
strategic behavior. Princeton University Press, Princeton, N.J. (2000)
2. Brams, S.J.: Theory of moves. Cambridge University Press, Cambridge [England] ;
New York, NY, USA (1994)
3. Chandler, S.J.: Foggy game theory and the structure of legal rules. In: Tazawa, Y.
(ed.): Symbolic Computations: New Horizons. Tokyo Denki University Press, Tokyo
(2001) 31-46
4. Dixit, A.K.: Strategic Behavior in Contests. American Economic Review 77 5 (1987)
891-898
5. Baird, D.G., Gertner, R.H., Picker, R.C.: Game theory and the law. Harvard University Press, Cambridge, Mass. (1994)
6. Wolfram, S.: A new kind of science. Wolfram Media, Champaign, IL (2002)
Abstract. We have found a new application of Computer Algebra System (CAS), KETpic which has been developed as a macro package for
a CAS. One of aspects in its philosophy is CAS-aided visualization in
LATEX documents. We aim to extend KETpic to other CASs, and derive
necessary conditions from the basic idea for CASs to accept it, i.e., I/O
functions with external les and manipulating numerical or string data.
Finally, we describe KETpic for Maple as a successful example. By using
KETpic we can draw ne pictures in LATEX documents.
Keywords: CAS, LATEX.
Introduction
In many cases, mathematicians or mathematics teachers, as well as other scientists, need to prepare good illustrations or educational materials. In general, CAS
gives us a set of highly accurate numerical data. Therefore, it is quite natural
to utilize CAS for the purpose of creating ne pictures. CASs support beautiful
and impressive graphics and some of them can output the picture in graphical
formats (EPS, JPEG, GIF, BMP, etc). However, the authors have not been satised with printed matters obtained as a direct output from CASs, as well as
from CADs (Computer Aided Design) or from data/function-plotting programs,
like Gnuplot. The reason is that mathematical lettering in their pictures is not
clear. We need to optimize their outputs so as to be available for mathematical
textbooks or academic papers.
On the other hand, LATEX has a quality in lettering high enough to satisfy
us suciently but no abilities of symbolic or numerical computation (see [5]).
It has the picture environment or ability of displaying graphical data les in
EPS format. By using Tpic, a graphical extension of LATEX, we can draw various
pictures based on 2D numerical data (see [2,4]). However, it is cumbersome to
handle numerical data directly and to generate tpic special commands. It is better to write a program generating tpic special commands from numerical plotting
data. The program will be another individual software or a macro package for
a CAS.
The authors have developed KETpic for Maple, a Maple macro package. It
generates tpic special commands, and enables us to draw complicated but 2D
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 178185, 2007.
c Springer-Verlag Berlin Heidelberg 2007
179
mathematical objects in LATEX documents at the highest accuracy. Detailed description of KETpic for Maple is given in [7]. Recently we organized a project
in which we aim to extend KETpic to other CASs. We consider necessary conditions for CASs to accept KETpic. Philosophy of designing KETpic includes a
basic idea, CAS-aided visualization in LATEX documents which we call CAS-aided
LATEX plottings. The requirements will be naturally derived from the basic idea.
Section 2 is devoted to construction of necessary conditions for a CAS to
generate graphic les which we can include in LATEX documents. In section 3, we
show that Maple satises the requirements, describe how KETpic realizes the
idea, and illustrate its outputs.
180
M. Sekiguchi et al.
3
3.1
181
> g1:=plot(sin(x),x=0..5);
g1:=PLOT(CURVES([[0.,0.],...
...,[5.,-0.958924274663138453]],COLOUR(RGB,1.0,0.,0.)),...))
This operation satises the condition R3. This internal expression can be constructed through DO-loop operations and string manipulation. Maple command
op returns n-th operand of its argument.
> op(g1);
CURVES(...),COLOUR(...),AXESLABELS(...),VIEW(...)
> op(3,g1);
AXESLABELS(...)
> op(1,op(1,g1))
[[0.,0.],...,[5.,-0.958924274663138453]]
> op(1,op(1,op(1,g1)))
[0.,0.]
Maple commands sscanf and convert can translate characters into numerical
data, and vice versa. Other commands cat, substring, and length can be used
for string manipulations, concatenating, and so on. One of drawing commands
of KETpic is drwline. The usage is as follows.
> drwline(g1):
This command returns a set of tpic special codes as follows.
> drwline(g1);
\special{pa 0 0}\special{pa 43 -43}...\special{pa 164 -160}%
...
\special{pa 1844 394}...\special{pa 1969 378}%
\special{fp}%
%
Commands for hatching area, drawing dashed curves, and customizing graph
accessories are as follows.
>
>
>
>
>
>
setax("","\\xi","","\\eta","","",""):
g2:=plot(cos(x),x=0..5):
g3:=hatchdata(["ii"],[3,0],[g1,"s"],[g2,"n"]):
drwline(g3):
dashline(g1,g2):
expr([2,1],"ne","\\displaystyle
\\int_{\\pi/4}^{5\\pi/4}(\\sin\\xi-\\cos\\xi)d\\xi"):
Double backslash \\ returns single backslash because single backslash is a control code in Maple. The rst command setax denes axes, the origin, and their
names. In this case, the name of the horizontal axis is , and the vertical one
. The command hatchdata returns a set of stripes inside a closed curve obtained
182
M. Sekiguchi et al.
from g1 and g2. Its third argument [g1,"s"] indicates a region in the south of
curve g1. Similarly the forth argument [g2,"n"] indicates a region. The rst
argument ["ii"] indicates inside areas of them. The second argument [3,0]
denes a reference point. The command dashline(g1,g2) returns plotting data
5/4
of g1 and g2 with dashed lines. The last command line puts a legend /4 (sin
cos )d at a point whose position is slightly dierent from (2, 1) to the northeast. The resulting gure is given in Fig. 1.
5/4
/4
(sin cos )d
O
1
Fig. 1. Output of 3.1
3.2
Using Maple, we can call special functions, calculate values of them, and plot
graphs. The Chi-square distribution is dened by the gamma function (x) as
follows.
x 2 1 e 2
.
n
2 2 ( n2 )
n
fn (x) =
(1)
20 0
20
183
> f:=(n,x)->x^{n/2-1}*exp(-x/2)/2^{n/2}/GAMMA(n/2);
> tmp:=[]:
for i from 1 to 9 do
tmp:=[op(tmp),plot(f(i,x),x=0..20)]:
od:
g4:=display(tmp):
The internal expression of g4 is
plot(CURVES(...),CURVES(...),...,CURVES(...))
One can nd a denition of the Chi-square distribution in the rst line. This is
an advantage of CAS. Another advantage is an iterative operation which one can
nd in the last three lines. To dene a function, one can use an integral form.
The following function is a denite integral of the Chi-square distribution (see
Fig. 2 (right)).
x
Fn (x) =
fn (t) dt.
(2)
Using Maple, we can draw a curve dened by implicit functions. In general, contours are obtained by the same way. Fig. 3 (left) shows contours of the following
Coulomb potential,
1
1
(x, y) =
+
,
2
2
(x + 1) + y
(x 1)2 + y 2
(3)
where two electric charges place on (1, 0). The corresponding sequence of KETpic commands are given below.
> g6:=contourplot(((x+1)^2+y^2)^(-1/2)+((x-1)^2+y^2)^(-1/2),
x=XMIN..XMAX,y=YMIN..YMAX,grid=[100,100],
contours=[3,2,1.5,1.2,0.95]):
There are no technical diculties in this case. As well, it is not dicult to plot
parametric curves. Conformal mappings of complex functions consist of a set of
parametric curves. Fig. 3 (right) shows a conformal mapping of the following
complex function.
1
g(z) = .
(4)
z
184
M. Sekiguchi et al.
In this case, we emphasize its dierent images of Re(z) and Im(z). The images
of Im(z) in Fig. 3 (right) are plotted in bold curves. We explain the technique
briey. The corresponding sequence of KETpic commands are given below.
> g7:=conformal(1/z,z=-1-I..1+I):
> g8:=[]:
for i from 1 to 11 do
g8:=[op(g8),op(i,g7)]:
od:
> g9:=[]:
for i from 12 to 22 do
g9:=[op(g9),op(i,g7)]:
od:
The rst line simply gives plotting data to a variable g7. The second argument in conformal, z=-1-I..1+I, indicates a range of z, i.e., |Re(z)| 1 and
|Im(z)| 1. The value of g7 consists of 11 (default) curves of g(Im(z)) and 11
ones of g(Re(z)) in this order. The second (resp. third) line collects the rst
(resp. remaining) 11 curves and saves them in a variable g8 (resp. g9). We obtain Fig. 3 (right) by writing g8 with the doubled width and g9 with the default
width in a text le. The corresponding KETpic commands are as follows.
> drwline(g8,2):
> drwline(g9):
The option, 2 after g8 in the rst command, implies multiplier of the line
width.
(z)
2
1
1
(z)
2
1
2
Fig. 3. Contours of a Coulomb potential in (3) (left) and a conformal mapping of a
complex function in (4) (right)
185
References
1. Char, B.W. and Geddes, K.O., et al: Maple V Library Reference Manual, (1991),
Springer-Verlag.
2. Goossens, M., Rahtz, S. and Mittelbach, F.: The LATEX Graphics Companion,
(1997), Addison-Wesley.
3. Heal, K.M., Hansen, M.L. and Rickard, K.M.: Maple V Learning Guide, (1996),
Springer-Verlag.
4. Kwok, K.: EEPIC: Extensions to epic and LATEX Picture Environment Version 1.1,
1988, http://www.ntg.nl/doc/kwok/eepic.pdf
5. Mittelbach, F. and Goossens, M., et al: The LATEX Companion, (2004), AddisonWesley.
6. Sekiguchi, M.: http://www.kisarazu.ac.jp/~masa/math/
7. Sekiguchi, M., Yamashita, S. and Takato, S.: Development of a Maple Macro Package Suitable for Drawing Fine TEX-Pictures, (2006), Lecture Notes in Computer
Science 4151 (eds. A. Iglesias & N. Takayama), pp.2434, Springer-Verlag.
Introduction
Design of a RDB system consists of four main phases, namely, (i) determination
of user requirements, (ii) conceptual design, (ii) logical design, and nally, (iv)
physical design [2]. During the conceptual design phase, set of business rules is
transformed into a set of entities with a set attributes and relationships among
them. Extended Entity Relationship (EER) modeling tool can be utilized for the
graphical representation of this transformation. The entity set in the EER model
is then mapped into a set of relation schemas {R1 , R2 , R3 , ..., Rn } where each Ri
represents one of the relations of the DB schema. A temporary primary key is
designated, and a set of functional dependencies (FDs) among the attributes of
each schema are established as an outcome of this phase.
As a side product of the logical design phase, each Ri is transformed into
well-formed groupings such that one fact in one group is connected to other
facts in other groups through relationships [3]. The ultimate aim of this article is
to perform this rather mechanical transformation process, called normalization,
eciently in an automatic fashion.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 186193, 2007.
c Springer-Verlag Berlin Heidelberg 2007
187
A functional dependency (FD) is a constraint about sets of attributes of a relation Ri in the DB schema. A FD between two sets of attributes X and Y,
denoted by, X Y species that there exists at most one value of Y for every
value of X (determinant)[2,10,11]. In this case, one asserts that X determines Y
or Y is functionally dependent on X.
For example, for a DB schema PURCHASE-ITEM = {orderNo, partNo,
partDescription, quantity, price}, with P K = {orderNo, partNo}, using a set of
business rule one can speciy the following FDs:
F D1 : {orderNo, partNo} {partDescription, quantity, price}
F D2 : partNo partDescription
For a given schema, other FDs among the attributes can be inferred from the
Armstrongs inference rules [2]. Alternatively, for an attribute set X, one can
188
189
3
3.1
Mathematica Implementation
BCNF with Mathematica
In Fig.1, a use case diagram is given to demonstrate the functions and modules
used in the tool.
Tasks in Fig.1 are eectively implemented as Mathematica modules by utilizing only the Mathematicas list structure and the well-known set operations
[8]. These operations are U nion[], Complement[], Intersection[], M emberQ[],
Extract[], Append[], Length[], and Sort[].
A FD set F of a schema is represented by two lists, one for the left hand
sides (FL), and the other for the right hand sides of F (FR). Obviously, the
order of attributes in such a list is important and should be maintained by care
throughout the normalization process.
For the example above, the FD set is represented in Mathematica as follows:
F L = {{orderNo, partNo}, {orderNo, partNo},{orderNo, partNo},partNo}
F R = {partDescription, quantity, price, partDescription}
Accordingly, F L[[i]] F R[[i]], for i = 1, 2, 3, 4 as specied by the FD set F.
As an illustration, the Mathematica code for the BCNF algorithm is given
below. Given a FD set and a 3NF relation R, BCNF algorithm rst looks for a
BCNF violation using the function violatesBCNF. When found, it returns in Q
two sub relations satisfying the BCNF constraint.
BCNF[FL_, FR_, R_] := Module[{i, X, D, Q, DIF, REL}, D = R; Q = {};
For[i = 1, i <= Length[FL], i++,
If[Length[FL[[i]]] > 1, X = Sort[FL[[i]]], X = {FL[[i]]}];
flag = violatesBCNF[FL, FR, X, FR[[i]], U];
190
uses
2NF
FullClosureX
*
*
ClosureX
IsItaKey
*
*
*
uses
uses
*
*
** *
* *
uses
uses
uses
Minimal Cover
*
uses
3NF
*
Elim. Red. Deps.
uses
BCNF
violatesBCNF
191
192
Several benchmark tests found in the literature are successfully applied with
varying number of FDs having dierent initial normal forms. Normalization
algorithms used in the tool possess at most quadratic time complexity providing
in the number of FDs and are computationally eective.
JMathNorm was also used in a classroom environment during a Database Systems course oered to about 25 third year computer engineering majors during
the Spring semester of 2006-07 academic year. Students are requested to form
project teams and design a medium size database system involving 8-10 relations. During the design process, they ended up with normalizing the relational
schema. Students usually preferred using JMathNorm to support or validate the
normalization process. It was reported that each team used JMathNorm on average of four times. In addition to the use in the project, students utilized the
tool to understand the normalization process and the underlying theory based
on the set theoretic operations discussed earlier.
193
In the course evaluation forms, majority of the students have indicated that
the tool was quite useful to check their manual work in studying the normalization algorithms and to normalize schemas for the database design project of the
course.
Modules of JMathNorm was written in Mathematica utilizing only basic
list/set operations as the fundamental data structure. These operations empowered by the symbolic nature of Mathematica resulted in an eective normalization tool. Currently, it does not have the ability to create SQL statements for
the normalized schema. A table creation facility geared towards a specic DBMS
is to be included to JMathNorm.
References
1. Yazici, A. and Karakaya, Z.: Normalizing Relational Database Schemas Using
Mathematica, LNCS, Springer-Verlag, Vol.3992 (2006) 375-382.
2. Elmasri, R. and Navathe, S.B.: Fundamentals of Database Systems, 5th Ed., Addison Wesley (2007).
3. Kung, H. and Case, T.: Traditional and Alternative Database Normalization Techniques: Their Impacts on IS/IT Students Perceptions and Performance, International Journal of Information Technology Education, Vol.1, No.1 (2004) 53-76.
4. Ceri, S. and Gottlob, G.: Normalization of Relations and Prolog, Communications
of the ACM, Vol.29, No.6 (1986)
5. Welzer, W., Rozman, I. and Gyrks, J.G.: Automated Normalization Tool, Microprocessing and Microprogramming, Vol.25 (1989) 375-380.
6. Akehurst, D.H., Bordbar, B., Rodgers, P.J., and Dalgliesh, N.T.G.: Automatic
Normalization via Metamodelling, Proc. of the ASE 2002 Workshop on Declarative
Meta Programming to Support Software Development (2002)
7. Kung, H-J. and Tung, H-L.: A Web-based Tool to Enhance Teaching/Learning
Database Normalization, Proc. of the 2006 Southern Association for Information
Systems Conference (2006) 251-258.
8. Wolfram, S.: The Mathematica Book, 4th Ed., Cambridge University Press (1999).
9. Du, H. and Wery, L.: Micro: A Normalization Tool for Relational Database Designers, Journal of Network and Computer Applications, Vol.22 (1999) 215-232.
10. Manning, M.V.: Database Design, Application Development and Administration,
2nd. Ed., McGraw-Hill (2004).
11. Diederich, J. and Milton, J.: New Methods and Fast Algorithms for Database
Normalization, ACM Trans. on Database Systems, Vol.13, No.3(1988) 339-365.
12. Ozharahan, E.: Database Management: Concepts, Design and Practice, Prentice
Hall (1990).
13. Bernstein, P.A.: Synthesizing Third Norm Relations from Functional Dependencies,
ACM Trans. on Database Systems, Vol.1, No.4 (1976) 277-298.
Abstract. Bspline curves and surfaces are the most common and most
important geometric entities in many elds, such as computer design and
manufacturing (CAD/CAM) and computer graphics. However, up to our
knowledge no computer algebra package includes especialized symbolic
routines for dealing with Bsplines so far. In this paper, we describe a
new Mathematica program to compute the Bspline basis functions symbolically. The performance of the code along with the description of the
main commands are discussed by using some illustrative examples.
Introduction
Bspline curves and surfaces are the most common and most important geometric
entities in many elds, such as computer design and manufacturing (CAD/CAM)
and computer graphics. In fact, they become the standard for computer representation, design and data exchange of geometric information in the automotive,
aerospace and ship-building industries [1]. In addition, they are very intuitive,
easy to modify and manipulate - thus allowing the designers to modify the shape
interactively. Moreover, the algorithms involved are quite fast and numerically
stable and, therefore, well suited for real-time applications in a variety of elds,
such as CAD/CAM [1,7], computer graphics and animation, geometric processing [5], articial intelligence [2,3] and many others.
Although there is a wealth of powerful algorithms for Bsplines (see, for instance, [6]), they usually perform in a numerical way. Surpringly, although there
is a large collection of very powerful general-purpose computer algebra systems,
none of them includes specic commands or specialized routines for dealing with
Bsplines symbolically. The present work is aimed at bridging this gap. This paper
describes a new Mathematica program for computing Bspline basis functions in
a fully symbolic way. Because these basis functions are at the core of almost any
algorithm for Bspline curves and surfaces, their ecient manipulation is a critical
step we have accomplished in this paper. The program is also able to deal with
Bspline curves and surfaces. However, this paper focuses on the computation of
Bspline basis functions because of limitations of space. The program has been
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 194202, 2007.
c Springer-Verlag Berlin Heidelberg 2007
195
implemented in Mathematica v4.2 [8] although later releases are also supported.
The program provides the user with a highly intuitive, mathematical-looking
output consistent with Mathematicas notation and syntax [4].
The structure of this paper is as follows: Section 2 provides some mathematical background on Bspline basis functions. Then, Section 3 introduces the new
Mathematica program for computing them and describes the main commands
implemented within. The performance of the code is also discussed in this section
by using some illustrative examples.
Mathematical Preliminaries
t ui
ui+k t
Ni,k1 (t) +
Ni+1,k1 (t)
ui+k1 ui
ui+k ui+1
(2)
for k > 1. Note that i-th Bspline basis function of order 1, Ni,1 (t), is a piecewise
constant function with value 1 on the interval [ui , ui+1 ), called the support of
Ni,1 (t), and zero elsewhere. This support can be either an interval or reduce to
a point, as knots ui and ui+1 must not necessarily be dierent. If necessary, the
0
convention = 0 in eq. (2) is applied. The number of times a knot appears in
0
the knot vector is called the multiplicity of the knot and has an important eect
on the shape and properties of the associated basis functions. Any basis function
of order k > 1, Ni,k (t), is a linear combination of two consecutive functions of
order k 1, where the coecients are linear polinomials in t, such that its order
(and hence its degree) increases by 1. Simultaneously, its support is the union of
the (partially overlapping) supports of the former basis functions of order k 1
and, consequently, it usually enlarges.
196
where the output consists of several couples (condition,value) that reproduce the
structure of the right-hand side of eq. (1). The command Which evaluates those
conditions and returns the value associated with the rst condition yielding True.
Our command PiecewiseForm displays the same output with a more similar
appearance to eq. (1):
In[2]:=PiecewiseForm[%]
t < ui
0
Out[2] := 1
ui t < ui+1
0
t ui+1
This output shows the good performance of these commands to handle fully
symbolic input. Let us now consider a symbolic knot vector of length 4 such as:
In[3]:=Array[x,4]
Out[3] := {x(1), x(2), x(3), x(4)}
Now, we compute the basis functions up to order 3 for this knot vector as
follows:
In[4]:Table[Table[Ni,k[%,t] // PiecewiseForm,{i,0,3-k}],{k,1,3}]
Out[4] :=
0
0
0
t < x(1)
t < x(1)
t < x(1)
0 x(1) t < x(2)
0 x(1) t < x(2)
0
x(2)
t
<
x(3)
1
x(2)
t
<
x(3)
0
x(2)
t
<
x(3)
,
,
,
0 x(3) t < x(4)
1 x(3) t < x(4)
0
t x(4)
0
t x(4)
0
t x(4)
0
t
<
x(1)
0
t
<
x(1)
tx(1)
0
x(1)
t
<
x(2)
x(1)
t
<
x(2)
x(1)+x(2)
tx(2)
tx(3)
x(2)
t
<
x(3)
,
,
x(2)+x(3)
x(2)
t
<
x(3)
x(2)x(3)
tx(4)
0
x(3) t < x(4)
0
t
x(4)
0
t
x(4)
0
t
<
x(1)
(tx(1))
x(1)
t
<
x(2)
(x(1)x(2)) (x(1)x(3))
(tx(1))
(tx(3))
(tx(2))
(t+x(4))
+
x(2)
t
<
x(3)
(x(1)x(3))
(x(2)+x(3))
(x(2)x(3))
(x(2)x(4))
(tx(4))
x(3)
t
<
x(4)
(x(2)+x(4))
(x(3)+x(4))
0
t x(4)
Note that, according to eq. (2), the i-th basis function of order k is obtained
from the i-th and (i + 1)-th basis functions of order k 1. This means that
the number of basis functions decreases as the order increases and conversely.
Therefore, for the set of basis functions up to order 3 we compute the Ni,k , with
i = 0, . . . , 3 k for k = 1, 2, 3. The whole set exhibits a triangular structure of
embedded lists in Out[4] for each hierarchical level (i.e. for each order value).
The knot vectors can be classied into three groups. The rst one is the
uniform knot vector; in it, each knot appears only once and the distance between
197
Fig. 1. (top-bottom, left-right) Bspline basis functions for the uniform knot vector
{1, 2, 3, 4, 5} and orders 1, 2, 3 and 4 respectively
:=
0
t<1
1 t < 2
0
1
2t<3
,
0
3 t < 4
4 t < 5
0
0
t5
0
t<1
1 t < 2
2t<3
0
,
3 t < 4
1
4 t < 5
0
t5
0
0
t<1
1 t < 2
2t<3
0
,
3 t < 4
0
4 t < 5
1
t5
0
t<1
1 t < 2
2t<3
3 t < 4
4 t < 5
t5
From (2) we can see that the basis functions of order 2 are linear combinations
of these step functions of order 1 (shown in Figure 1(top-left)). The coecients
of such a linear combination are linear polynomials as well, so the resulting basis
functions are actually piecewise linear functions (see Fig. 1(top-right)):
In[6]:=Table[Ni,2[{1,2,3,4,5},t] //PiecewiseForm,{i,0,2}]
0
1 + t
3t
Out[6] :=
0
0
0
0
t<1
0
1 t < 2
2 + t
2t<3
,
4t
3 t < 4
4 t < 5
0
t5
0
0
t<1
0
1 t < 2
2t<3
0
,
3 t < 4
3 + t
5t
4 t < 5
t5
0
t<1
1 t < 2
2t<3
3 t < 4
4 t < 5
t5
Similarly, the basis functions of order 3 are linear combinations of the basis
functions of order 2 in Out[6] according to (2):
198
In[7]:=Table[Ni,3[{1,2,3,4,5},t] //PiecewiseForm,{i,0,1}]
0
t < 1
0 2
t<1
(1+t)
0
1 t < 2
1 t < 2
2
2
(2+t)
11 + 5 t t2 2 t < 3
t
<
3
2
2
2
Out[7] :=
,
23
2
(4t)
2 + 7tt 3 t < 4
3 t < 4
(5t)2
0
4
t
<
5
4
t
<
5
0
t5
0
t5
Note that we obtain two piecewise polynomial functions of degree 2 (i.e. order 3), displayed in Fig. 1(bottom-left), both having a similar shape but shifted
by length 1 with respect to each other. Finally, there is only one basis function of
order 4 for the given knot vector (the piecewise polynomial function of degree 3
in Fig. 1(bottom-right)):
In[8]:=Ni,4[{1,2,3,4,5},t] //PiecewiseForm
0 3
t<1
(1+t)
1 t < 2
3145 t+21 t2 3 t3
t
<
3
6
Out[8] := 131+117 t33 t2 +3 t3
3 t < 4
(5+t)3
t
<
5
0
t5
One of the most exciting features of modern computer algebra packages is
their ability to integrate symbolic, numerical and graphical capabilities within
a unied framework. For example, we can easily display the basis functions of
Out[5]-Out[8] on the interval (1, 5):
In[9]:=Plot[Table[Ni,#[{1,2,3,4,5},t],{i,0,4-#}]
//Evaluate,{t,1,5},PlotStyle->Table[Hue[(i+1)/(5-#)],
{i,0,4-#}],DisplayFunction->Identity]& /@ Range[4];
In[10]:=Show[GraphicsArray[Partition[%,2],
DisplayFunction->$DisplayFunction]]
Out[10] := See F igure 1
A qualitatively dierent behavior is obtained when any of the knots appears
more than once (this case is usually referred to as non-uniform knot vector).
An example is given by the knot vector {0, 0, 1, 1, 2, 2, 2}. In this case, the basis
functions of order 1 are given by:
In[11]:=Table[Ni,1[{0,0,1,1,2,2,2},t] // PiecewiseForm,{i,0,5}]
0
t < 0 0
t < 0 0
t<0
0 0t<1
1 0t<1
0 0t<1
,
,
,
0
1
t
<
2
0
1
t
<
2
0
1
t
<
2
t 2 0
t2
0
t 2 0
Out[11] :=
0
t < 0 0
t < 0 0
t<0
0
0
t
<
1
0
0
t
<
1
0
0
t<1
,
,
1
1
t
<
2
0
1
t
<
2
0
1
t
<
2
0
t2
0
t2
0
t2
199
t<0 0
t<0
0
t < 0 0
0
0t<1
1t 0t<1
t 0t<1
,
,
,
t
1
t
<
2
0
1
t
<
2
0
1
t
<
2
0
t
2
0
t
2
0
t
Out[12] :=
0
t < 0 0
t<0
0
0
t
<
1
0
0
t
<
1
1
+
t
1
t
<
2
0
1
t
<
2
0
t2
0
t2
The basis functions of order 3 become:
In[13]:=Table[Ni,3[{0,0,1,1,2,2,2},t] // PiecewiseForm,{i,0,3}]
0
t<0
0
t<0
2t 2t2 0 t < 1
t2
0t<1
,
,
2
0
1
t
<
2
(2
+
t)
1
t
<
2
0
t
2
0
t
Out[13] :=
0
t<0
0
t < 0
0
0
t
<
1
0
0
t<1
2
2
4
+
6t
2t
1
t
<
2
(1
+
t)
1
t
<
2
0
t2
0
t2
Multiple knots do inuence the shape and properties of basis functions; for
instance, each time a knot is repeated, the continuity of the basis functions whose
support includes this multiple knot decreases. In particular, the continuity of
Ni,k at an interior knot is C km1 [6], m being the multiplicity of the knot. To
illustrate this fact, we compute the unique basis function of order 6:
In[14]:=(f6=N0,6[{0,0,1,1,2,2,2},t]) // PiecewiseForm
0
t<0
1
4
(10 7t)t
0t<1
8
Out[14] :=
0
t2
As we can see, m = 2 for the knot t = 1 and hence N0,6 is C 3 -continuous at
this point. This implies that its third derivative, given by:
In[15]:=(f63=D[f6,{t,3}])//Simplify //PiecewiseForm
15
(4 7t)t
0 t < 1
2
Out[15] :=
15
23t2 68t + 48 1 t < 2
2
200
Fig. 3. Bspline curve and its control polygon (the set of segments connecting the control
points) for: (left) a non-periodic knot vector; (right) a uniform knot vector
is still continuous but no longer smooth (the continuity of tangent vectors is lost
at this point). Figure 2 displays both the basis function of order 6 (on the left)
and its third derivative (on the right):
In[16]:=Plot[#,{t,0,2},PlotStyle->{RGBColor[1,0,0]},
PlotRange->All]& /@ {f6,f63}
Out[16] := See F igure 2
The most common case of non-uniform knot vectors consists of repeating the
end knots as many times as the order while interior knots appear only once
(such a knot vector is called non-periodic knot vector). In general, a Bspline
curve does not interpolate any of the control points; interpolation only occurs
for non-periodic knot vectors (the Bspline curve does interpolate the end control
points) [6,7]. To illustrate this property, we consider the BSplineCurve command
(whose input consists of the list of control points pts, the order k, the knot vector
knots and the variable var), dened as:
In[17]:=BSplineCurve[pts List,k ,knots List,var ]:=
Module[{bs,n=Length[pts]},bs=Table[Ni,k[knots,var],{i,0,n-1}];
bs.pts // Simplify];
For instance, let us consider a set of 2D control points and two dierent knot
vectors (a non-periodic vector kv1 and a uniform knot vector kv2) and compute
the Bspline curve of order 3:
201
In[18]:=cp={{0,0},{2,-1},{4,9},{6,10},{8,5}};
In[19]:={kv1,kv2}={{0,0,0,1,2,3,3,3},{1,2,3,4,5,6,7,8}};
In[20]:=BSplineCurve[cp,3,#,t]& /@ {kv1,kv2};
In[21]:=MapThread[Show[Graphics[{RGBColor[1,0,0],Line[pts]}],
ParametricPlot[#1 //Evaluate,#2,PlotRange->All,
PlotStyle->RGBColor[0,0,1],DisplayFunction->Identity],
PlotRange->All,Frame->True,
DisplayFunction->$DisplayFunction]&,{%,{{t,0,3},{t,3,6}}}];
In[22]:=Show[GraphicsArray[%]]
Out[22] := See F igure 3
The curve interpolates the end control points in the rst case, while no control
points are interpolated in the second case at all. For graphical purposes, the
rk
support of the Bspline curves restrict to the points such that
Ni,k (t) = 1.
i=0
The next input computes the graphical support for the curves in Fig. 3:
In[23]:=
1
Out[23] :=
1
i=0
1
2
(t
2 2 1)
t<0
1
t + 6t 7
0 t < 1
1
1t<2 ,
1
2 t < 3
t3
t2
+
6t 17
2
1
(t
8)2
2
t < 1
1 t < 2
2 t < 3
3t<4
4 t < 5
5 t < 6
6 t < 7
7t<8
This result makes evident that the Bspline curves in Fig. 3 must be displayed
on the intervals (0, 3) and (3, 6) respectively (see the last line of In[21]).
Acknowledgements. This research has been supported by the Spanish Ministry of Education and Science, Project Ref. #TIN2006-13615.
References
1. Choi, B.K., Jerard, R.B: Sculptured Surface Machining. Theory and Applications.
Kluwer Academic Publishers, Dordrecht/Boston/London (1998)
2. Echevarra, G., Iglesias, A., G
alvez, A.: Extending neural networks for B-spline
surface reconstruction. Lectures Notes in Computer Science, 2330 (2002) 305-314
3. Iglesias, A., Echevarra, G., G
alvez, A.: Functional networks for B-spline surface
reconstruction. Future Generation Computer Systems, 20(8), (2004) 1337-1353
4. Maeder, R.: Programming in Mathematica, Second Edition, Addison-Wesley, Redwood City, CA (1991)
5. Patrikalakis, N.M., Maekawa, T.: Shape Interrogation for Computer Aided Design
and Manufacturing. Springer Verlag (2002)
202
6. Piegl, L., Tiller, W.: The NURBS Book (Second Edition). Springer Verlag, Berlin
Heidelberg (1997)
7. Rogers, D.F.: An Introduction to NURBS. With Historical Perspective. Morgan
Kaufmann, San Francisco (2001)
8. Wolfram, S.: The Mathematica Book, Fourth Edition, Wolfram Media, Champaign,
IL & Cambridge University Press, Cambridge (1999)
It is a far-fetched concept to think about a transient electrical circuit and incorporate its characteristics to a discrete and abstract geometrical problem. The
authors have even taken the initiative one step further, relating these two basic concepts to the kinematics of mechanics. In other words, this article shows
how these three discrete concepts are brought together and molded into one
coherent and unique project. To accomplish this, one needs to think creatively,
Mathematica is the tool of choice helping to explore the possibilities. This article
including the Introduction is composed of eight sections. In Section 2, we apply
Mathematica to evaluate the overlapping area of the two rotating squares about
their common vertical axis. In section 3 we incorporate the rotational kinematics
and consider two dierent scenarios: 1) a symmetrical, uniform rotation; and 2)
an asymmetrical, accelerated rotation.
In Section 4-7, we view the overlapping squares as being two parallel metallic
plates that are separated by a gap forming a parallel-plate capacitor. Since the
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 203210, 2007.
c Springer-Verlag Berlin Heidelberg 2007
204
area of the overlapping plates evaluates the capacitance of the capacitor, the rotating plates make the capacitor a variable one. Technical literature particularly
Mathematica-based articles and reports lack one such view. It is the ultimate
objective of this project to analyze the response of the electrical circuits to the
kinematics of the rotating plates.
Specically, in this article, we address the modications of the basic responses
of the electrical circuits composed of a resistor connected in a series with our
designed, time-dependent capacitor. In particular, we analyze the characteristics
of the RC circuits driven with DC as well as AC sources. In conjunction with
our analysis, in section 8 we close the article suggesting a few related research
avored circuit analysis projects.
Analysis
Figure 1 shows two identical overlapping squares. The bottom square designated
with non-prime vertices is fastened to the xy coordinate system. The top square,
designated with prime vertices is rotated counter clockwise about the common
vertical axis through the common origin O by an angle . The squares have the
side length of L and the rotation angle is the angle between the semi diagonals
OP 1 and OP 1 .
To evaluate the overlapping area of these two squares we evaluate the area
of trapezoid oabco; the overlapping area then equals four times the latter. The
intersecting points of the rotated sides of the top square with the sides of the
bottom one are labeled a, b, and c. Utilizing the coordinates of these points,
the area of the trapezoid is the sum of the areas of two triangles abc, and oac.
y
p1
b p1
p2
p2
45
a
x
O
p4
p4
p3
p3
Fig. 1. Display of two rotated squares. The bottom square is fastened to the xy coordinate system, the top square is rotated counter clockwise by radian.
205
1+tan 2
L
L
tan
,
.
2
2
2
To evaluate the areas of the needed triangles, we convert the above coordinates
into Mathematica code. The inserted 1s in the thirdposition of
the
coordinates
L L
are for further
calculations.
o
=
{0,
0,
1},a[L
,
]
=
,
tan
2 2
2 , 1 ,b[L , ] =
L 1tan 2 L
, 2 , 1 , c[L , ] =
L2 tan 2 , L2 , 1 . We dene two auxiliary
2
1+tan
normalized area
1
0.8
0.6
0.4
0.2
3 5 3 7 ,rad
16 8 16 4
16 8 16 2
Fig. 2. The normalized values of the overlapping area of the squares as a function of
the rotation angle
In this section we extend the analysis of Section 2. Here, instead of viewing the
rotation as being a discrete and purely geometrical concept, we view it as a
kinematic process. We set the rotation angle = t; that is, we introduce the
continuous time parameter t. For = 2
T with the period T = 4s, we explore
206
rad
2 in one second yields = s2 . The corresponding normalized overlapping
areas are displayed in Fig 3.
Show[GraphicsArray[{U nif ormRotation,
AcceleratedRotation}], DisplayF uncton DisplayF unction].
area
1
area
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
1 1 3 1 5 3 7
8 4 8 2 8 4 8
t,s
1 1 3 1 5 3 7
8 4 8 2 8 4 8
t,s
Fig. 3. The graphs are the normalized values of the overlapping areas for: a: a uniform
rotation with = 2 rad/s, (the left graph) and b: a uniform angular acceleration with
= rad
(the right graph)
s2
Electrical Networks
Fig. 4. The schematics of a DC driven RC circuit. Throwing the DPDT switch onto
as charges the capacitor, while throwing the switch onto bs discharges the charged
capacitor.
207
For the charging process we apply Kirchho circuit law [2], this gives
dQ 1 A0
1
+
Q(t) = 0,
(1)
dt
A(t)
Charging
0.20.40.60.8 1 t,sec
Q Discharging
1
0.8
0.6
0.4
0.2
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
area
1
0.8
0.6
0.4
0.2
t,sec
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
t,s
Fig. 5. Display of charging, discharging and the overlapping area of the uniformly
rotating plates. For the rst two graphs from left to right, the outer and the inner
curves/dots represent the constant and time-dependent capacitors, respectively. The
far right graph is borrowed from Fig 3.
208
capacitor is more pronounced for the former. Moreover, for the chosen timeconstant = 16 s, although the constant capacitor reaches its plateau within one
second, it appears the variable capacitor requires a longer time span.
One may comfortably also apply the analysis of Section IIa to generate the
characteristic curves associated with the uniformly accelerated rotating plates.
The Mathematica codes may easily be modied to yield the needed information.
The codes along with the associated graphic outputs are
Q
1
0.8
0.6
0.4
0.2
Q Discharging
1
0.8
0.6
0.4
0.2
Charging
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
t,sec
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
area
1
0.8
0.6
0.4
0.2
t,sec
1 1 3 1 5 3 7 1
8 4 8 2 8 4 8
t,s
Fig. 6. Display of charging, discharging and the overlapping area of the uniformly
accelerated rotating plates. The graph codes are the same as Fig 5. The far right graph
is borrowed from Fig 3.
To form an opinion about the characteristics of the charging curve for the
variable capacitor, one needs to view it together with the far right graph. The
rotating plates in this case are accelerated, illustrating that for identical time
intervals, the overlapping area at the beginning is greater than the overlapping
area at the end of the interval. The eects of the asymmetrical rotation are most
clearly visible at the tail of the curve. Similar to the uniform rotation (see the
second plot of Fig 5) the impact of the non-uniform rotation for the discharge
circuit is negligible.
(2)
209
In this equation f is the frequency of the signal and the voltage amplitude is
set to one volt.
Equation (1) is a non-trivial, non-linear dierential equation. To solve the
eq(2), we apply NDSolve along with the corresponding initial condition. The
response of the circuit is compared to the equivalent circuit with a constant
capacitor.
AC Driver
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
t,sec
Fig. 7. Plot of the charge vs. time. The outer, inner and the dashed curves are the
capacitors charge for the constant and the time-dependent capacitors for uniform and
accelerated rotations, respectively.
Utilizing the Mathematica code, one may analyze the frequency sensitivity of
the circuit. As the result of one such analysis, we observe that the dierences
between these characteristics are pronounced, provided the frequencies are set
to less than 1 hz.
Conclusions
210
References
1. S. Wolfram, The Mathematica Book, 5th Ed., Cambridge University Publication,
2003.
2. D. Halliday, R. Resnick, and J. Walker, Fundamentals of Physics, 7th Ed, New York:
John Wiley and Sons, 2005.
Introduction
The analysis of chaotic dynamical systems is one of the most challenging tasks
in computational science. Because these systems are essentially nonlinear, their
behavior is much more complicated than that of linear systems. In fact, even
the simplest chaotic systems exhibit a bulk of dierent behaviors that can only
be fully analyzed with the help of powerful hardware and software resources.
This challenging issue has motivated an intensive development of programs and
packages aimed at analyzing the range of dierent phenomena associated with
the chaotic systems.
Among these programs and packages, those based on computer algebra systems ( CAS) are receiving increasing attention during the last few years. Recent
examples can be found, for instance, in [2,3,5] for Matlab, in [4,7,9,10,11,12,16]
for Mathematica and in [17] for Maple, to mention just a few examples. In addition to their outstanding symbolic features, the CAS also include optimized
numerical routines, nice graphical capabilities and - in a few cases such as in
Matlab - the possibility to generate appealing GUIs (Graphical User Interfaces).
In this paper, the abovementioned features have been successfully applied to
generate a new numerical-symbolic Matlab program for the analysis of threedimensional chaotic systems. The program provides the users with a GUI that
allows us to analyze any continuous three-dimensional system with a minimal input (the symbolic ordinary dierential equations of the system along with some
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 211218, 2007.
c Springer-Verlag Berlin Heidelberg 2007
212
A. G
alvez
213
rendering purposes. The numerical kernel has been implemented in the native
Matlab programming language, and the symbolic kernel has been created by
using the commands of the Symbolic Math Toolbox.
In this section we show some applications of the program through some illustrative examples.
3.1
This example is aimed at showing the numerical and graphical features of the
program. Figure 1 shows a screenshot of a typical session for visualization of
chaotic attractors. The dierent windows involved in this task have been numbered for the sake of clarity: #1 indicates the main window of the program, from
where the other windows will show up when invoked. The workow is as follows:
rstly, the user inputs the system equations (upper part of window #1), which
are expressed symbolically. At this stage, only continuous three-dimensional
ows - described by a system of ordinary dierential equations (EDOs) - are
considered. For instance, in Fig. 1 we consider Chuas circuit, given by:
x = [y x f (x)]
y = x y + z
,
(1)
z = y
where
1
f (x) = bx + (a b) [|x + 1| |x 1|]
(2)
2
is the 3-segment piecewise-linear characteristic of the nonlinear resistor (Chuas
diode) and , , a and b are the circuit parameters. Then, the user declares the
system parameters and their values. In our example, we consider = 8.9, =
14.28, a = 1.14 and b = 0.71, for which the system exhibits chaotic behavior
[1]. In order to display the attractor and/or the evolution of the system variables
over the time, some kind of numerical integration is required. The lower part of
window #1 allows the user to choose dierent numerical integration methods
[15], including the classical Euler and 2nd- and 4th-order Runge-Kutta methods
(implemented by the author) along with some more sophisticated methods from
the Matlab kernel such as ode45, ode23, ode113, ode15s, ode23s, ode23t and
ode23tb (see [14] for details). Some input required for the numerical integration
(such as the initial point and the integration time) is also given at this stage. By
pressing the Numerical Integration settings button, window #2 appears and
some additional options (such as the absolute and relative error tolerance, the
initial and maximum stepsize and renement, the computation speed and others)
can be set up. Once chosen, the user proceeds to the graphical representation
stage, where he/she can display the attractor of the dynamical system and/or
the evolution of any of the system variables over the time. Such variables can
214
A. G
alvez
Fig. 1. Screenshots of the Matlab program for the analysis of chaotic systems: general
setup for the visualization of chaotic attractors
215
Fig. 2. Symbolic computation of the Jacobian matrix for the Lorenz system
3.2
216
A. G
alvez
Fig. 3. Numerical computation of the equilibrium points and the Lyapunov exponents
of the Lorenz system
8
in this example), the
3
Lyapunov exponents (LE) of the system can be numerically computed. To this
purpose, a numerical integration method is applied. Figure 3 shows the window at which the dierent options for this numerical integration process can
be chosen (left window) along with the graphical representation of the three
Lyapunov exponents over the time (right window). As shown in the gure, the
numerical values of these LE are 1.4 and 0.0022 and 15 respectively. Roughly
speaking, the LE are a generalization of the eigenvalues for nonlinear ows.
They are intensively applied to analyze the behavior of nonlinear systems, since
they indicate if small displacements of trajectories are along stable or unstable
parameter values are given ( = 10, R = 60 and b =
217
Fig. 4. (left) Attractor and equilibrium points of the Lorenz system analyzed in Figure 3; (right) evolution of the system variables over the time
218
A. G
alvez
References
1. Chua, L.O., Komuro, M., Matsumoto, T. The double-scroll family. IEEE Transactions on Circuits and Systems, 33 (1986) 1073-1118
2. Dhooge, A., Govaerts, W., Kuznetsov, Y.A.: Matcont: A Matlab package for numerical bifurcation analysis of ODEs. ACM Transactions on Mathematical Software
29(2) (2003) 141-164
3. Dhooge, A., Govaerts, W., Kuznetsov, Y.A.: Numerical continuation of fold bifurcations of limit cycles in MATCONT. Proceedings of CASA2003. Lecture Notes
in Computer Science, 2657 (2003) 701-710
4. G
alvez, A. Iglesias, A.: Symbolic/numeric analysis of chaotic synchronization with
a CAS. Future Generation Computer Systems (2007) (in press)
5. Govaerts, W., Sautois, B.: Phase response curves, delays and synchronization in
Matlab. Proceedings of CASA2006. Lectures Notes in Computer Science 3992
(2006) 391-398
6. Gutierrez, J.M., Iglesias, A., Guemez, J., Matas, M.A.: Suppression of chaos
through changes in the system variables through Poincare and Lorenz return maps.
International Journal of Bifurcation and Chaos, 6 (1996) 1351-1362
7. Gutierrez, J.M., Iglesias, A.: A Mathematica package for the analysis and control
of chaos in nonlinear systems. Computers in Physics, 12(6) (1998) 608-619
8. Iglesias, A., Gutierrez, J.M., Guemez, J., Matas, M.A.: Chaos suppression through
changes in the system variables and numerical rounding errors. Chaos, Solitons and
Fractals, 7(8) (1996) 1305-1316
9. Iglesias, A.: A new scheme based on semiconductor lasers with phase-conjugate
feedback for cryptographic communications. Lectures Notes in Computer Science,
2510 (2002) 135-144
10. Iglesias, A., G
alvez, A.: Analyzing the synchronization of chaotic dynamical systems with Mathematica: Part I. Proceedings of CASA2005. Lectures Notes in
Computer Science 3482 (2005) 472-481
11. Iglesias, A., G
alvez, A.: Analyzing the synchronization of chaotic dynamical systems with Mathematica: Part II. Proceedings of CASA2005. Lectures Notes in
Computer Science 3482 (2005) 482-491
12. Iglesias, A., G
alvez, A.: Revisiting some control schemes for chaotic synchronization
with Mathematica. Lectures Notes in Computer Science 3516 (2005) 651-658
13. Lorenz, E.N.: Journal of Atmospheric Sciences, 20 (1963) 130-141
14. The Mathworks Inc: Using Matlab. Natick, MA (1999)
15. Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P.: Numerical Recipes
(2nd edition), Cambridge University Press, Cambridge (1992)
16. Saraan, H.: A closed form solution of the run-time of a sliding bead along a freely
hanging slinky. Proceedings of CASA2004. Lecture Notes in Computer Science,
3039 (2004) 319-326
17. Zhou, W., Jerey, D.J. Reid, G.J.: An algebraic method for analyzing open-loop
dynamic systems. Proceedings of CASA2005. Lecture Notes in Computer Science,
3516 (2005) 586-593
Abstract. The article briey shows how to estimate the safety of recreational water slides by numerical analysis of motion of the users. There
are presented: mathematical description of a typical water slides geometry, simplied model of a sliding person, model of contact between the
user and the inner surface of the slide, equations of motion written for
a rigid body with 6 degrees of freedom and nally some sample results
compared to the limitations set by current European Standard.
Keywords: water slide, safety, water park, motion, dynamics, nite
dierence, numerical integration, modeling, Mathematica.
Introduction
Water slides are one of the most popular facilities in water parks. They are
built all over the world. One of the most important problems associated with
them is safety. It is not well recognized, both mathematically and technically.
There are very few scientic papers concerning the problem. The most complete
publication [1] deals with the mathematical model of a water sliding process
using the assumption that the user has constant contact with the inner surface of
the chute. Actually, the most dangerous situations happen when the user looses
contact and cannot control the ride. The next problem is acceleration, often
called G-load. The human body, and especially brain and heart, is sensitive to
acceleration that signicantly exceeds gravity acceleration g. Several accidents,
in a variety of countries resulted in severe injuries and even death.
The contemporary practice, due to lack of design methodology, consists in
testing by a water slides expert after nishing the construction, however this
expert is described only as a t person, dressed in bathing suit [2]. It is not
acceptable from the point of view of modern engineering philosophy, which requires prior analysis based on mathematical model, which should be veried
experimentally.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 219226, 2007.
c Springer-Verlag Berlin Heidelberg 2007
220
Most of the water slides (especially those built high over the ground level) are
constructed of two basic types of elements: the straight ones, being just a simple
cylinder, and the curved ones, having the shape of a slice of a torus. All these
elements are equipped on both ends with anges that allow connecting the following parts of the slide with screws (see Fig. 1 and 2). Because the resulting
axis of the chute consists of straight lines and circular arcs, it cant be described
by a simple equation, but some kind of an interval changing function is needed.
The best choice seems to be the IntepolatingFunction within the Mathematica system. To obtain a parametric equation of the axis, one must rst
calculate a set of coordinates of discrete points, lying on the axis at small intervals. It can be done using procedures described in [3] or with the aid of any
software for 3-D graphics. The next step is to build an IntepolatingFunction
for each of the coordinates separately and nally join them into one vector function axis[l]. Having this function one can get the parametric equation of the
surface of the slide surface[l,phi,radius] using the following Mathematica
code:
221
The next task is to create a model of the human body. Its obvious, that a
complete bio-mechanical model with all its degrees of freedom (DOF) and parameters would be the best, but unfortunately its almost impossible to predict
the values of dimensions, mass, moments of inertia and stiness of all parts of
the users body, especially at the design stage of the construction process. Thats
why a simpler model is needed.
To create it, one can notice, that sliding people are quite stiened and the
fastest users touch the surface of the chute only with their heels and bladebones. This allows us to replace the sliding person by a rigid body, constrained
by 3 unilateral supports located at the vicinity of the previous mentioned parts
of the body (spheres at the vertices of the triangle representing the body on
Fig. 3). Such a body has 6 DOFs - translations xi and rotations i around 3
axes of the local (i ) or global (Xi ) coordinates system, and is subjected to the
inuence of the following forces: gravity F G , normal contact forces F Ni and
friction forces F Ti , shown on Fig. 4. Vectors of these forces can be calculated
using the following formulae:
0 if (ui < 0) [(k ui + c ui u i ) < 0]
F Ni =
,
(1)
(k ui + c ui u i ) ni otherwise
F Ti = |F Ni |
v Ti
,
|v Ti |
FG = mg ,
F Sum =
3
i=1
(F Ni + F Ti ) + F G ,
(2)
(3)
(4)
222
Fig. 4. Model of contact between the moving body (grey circles) and the inner surface
of the chute (dotted line). Dot (black ) in the upper left corner denotes the center of
the current cross-section (axis of the slide).
M Sum =
3
pi (F Ni + F Ti ) ,
(5)
i=1
where:
i number of the current zone of contact,
k, c constants of the quasi viscous-elastic model of human body,
ui deection of the zone of contact,
ni unit vector, normal to the surface of the slide,
coecient of friction,
v Ti tangent component of the velocity vector,
m mass of the user,
g vector of gravitational acceleration,
F Sum summary force,
M Sum summary moment of forces.
At this stage the main problem is calculating ui and ni . The best way to solve
it, is to nd on the axis of the slide these points, that are nearest to the current
223
positions of the centers of the contact spheres, because vectors ni must lie on
lines connecting these pairs of points. It can be easily done with the Mathematica
FindMinimum command.
Equations of Motion
The applied equations of motion are based on the well known Newtons laws of
motion [4]:
d2
[m x(t)] = F Sum ,
(6)
dt2
d
[K(t)] = M Sum ,
(7)
dt
K(t) = A(t) J (t) ,
(8)
0
1
0
A(t) = sin[3 (t)] cos[3 (t)] 0
0
0
1
sin[2 (t)] 0 cos[2 (t)]
1
0
0
0 cos[1 (t)] sin[1 (t)] ,
0 sin[1 (t)] cos[1 (t)]
J1 0 0
J = 0 J2 0 ,
0 0 J3
1
0
d1 (t) d2 (t)
cos[1 (t)] +
(t) =
0 +
dt
dt
0
sin[1 (t)]
sin[2 (t)]
d3 (t)
+
sin[1 (t)] cos[2 (t)] ,
dt
cos[ (t)] cos[ (t)]
1
(9)
(10)
(11)
where:
K(t) vector of moment of momentum,
A(t) matrix of transformation from local (rotating)
to global (xed) coordinates system,
J tensor of main moments of inertia,
(t) vector of angular velocity.
As one can see, the equations of motion are so complicated, that it is impossible to obtain an analytical solution. In fact, even NDSolve, the numerical
solution of dierential equations in Mathematica, does not work due to the usage of the FindMinimum command within the equations of motion (see Sect. 3).
So a special code had to be written, and it follows an algorithm based on a
combination of the Taylors series and multi-step methods [5]:
224
Sample Results
Some sample results were obtained for the slide shown in Fig. 2. There is shown
the trajectory of the motion and the axis of the slide in Fig. 5. The beginning
is at the point (0,0), and then the body goes along the direction of the X2 axis,
next turns left and follows the curved axis of the slide, slightly swinging. More
Fig. 5. Top view of the axis of the slide (dotted line) and the trajectory of motion (bold
line)
225
Fig. 7. Results of the G-load calculations. Shades of grey denotes dierent values of G.
detailed results can be read from Fig. 6. There are presented: the G-load acting
on the moving body
G = |F Sum F G | /(9.81 m) ,
(12)
226
value of velocity and rst and second angular coordinates (longitudinal and
transversal rotations around 1 and 2 axes - see Fig. 3), where on the horizontal
axes of these charts is marked the length of the chute.
The current design code [2] sets some limitations on the values of permissible
G-load for safety reasons. It says, that G 2.6 g is safe, and 2.6 g < G 4.0 g is
acceptable, but only for less then 0.1 second. Within the presented example these
limitations are kept, but sometimes it is hard to do so. Especially the second
condition can cause some problems when designing a very steep and fast water
slide, where the high speed generates huge centrifugal force at each bend.
Conclusions
References
1. Joo, S.-H., Chang, K.-H.: Design for the safety of recreational water slides. Mech.
Struct. & Mach. 29 (2001) 261294
2. European Standard EN 1069-1:2000 Water slides of 2 m height and more - Part 1:
Safety requirements and test methods. CEN, Bruxelles (2000)
3. Szczepaniak, P.: Zjezdzalnie wodne. Obliczanie geometrii zjezdzalni i modelowanie
ruchu uzytkownika (Water slides. Calculating the geometry and modelling of a motion of a user). MSc thesis. Silesian University of Technology, Gliwice (2003)
4. Borkowski, Sz.: Mechanika og
olna. Dynamika Newtonowska (General Mechanics.
Newtons Dynamics). 2nd edn. Silesian University of Technology Press, Gliwice
(1995)
5. Burden, R.L., Faires, J.D.: Numerical Analysis. 5th ed. PWS Publishing Company,
Boston (1993)
geometry, Automated
deduction, Locus,
Introduction
Dynamic geometry programs are probably the most used computers tools in
mathematics education today, from elementary to pregraduate level. At the same
time, computer algebra systems are widely employed in the learning of scientic
disciplines, generally starting from high school. Nevertheless, the top ranked
programs in both elds have evolved separately: although almost all of the computer algebra systems oer some specialized library for the study of geometry (cf.
Mathematica, Maple, Derive, ...), none of them use the dynamic paradigm, that
is, in their geometric constructions free elements cannot be graphically dragged
making dependent elements behave accordingly. On the other side, standard
dynamic geometry environments, such as Cabri Geometry [11] and The Geometers Sketchpad [10], are selfcontained: whenever, albeit rarely, they need some
symbolic computation, they use their own resources.
Some attempts connecting both types of systems have been reported, mainly
coming from academia. Besides the above mentioned geometric libraries, specialized packages for geometry using the symbolic capabilities of computer algebra
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 227234, 2007.
c Springer-Verlag Berlin Heidelberg 2007
228
F. Botana, M.A. Ab
anades, and J. Escribano
systems exist (see, for instance, [1]). Nevertheless, they lack the dynamic approach, being more an environment for exact drawing than a tool for interactive
experiments. We can also cite [12] as an interesting work, where a dynamic geometric system is developed inside Mathematica through an exhaustive use of
MathLink.
The approach of using computer algebra algorithms in dynamic geometry has
been more fruitful. Two ways have been devised for dealing with this cooperation.
Some systems incorporate their own code for coping with algebraic techniques
in geometry ([14,8,9],...), while other systems emphasize on reusing software
([2,15,17],...). Both strategies have been partially successful on solving some of
the three main points in dynamic geometry, that is, the continuitydeterminism
dilemma, the proof and discovery abilities, and the complete determination of
loci (see [6] for an extensive study of the subject).
This paper describes a webbased resource allowing the remote discovery of
equations of algebraic loci specied through the wellknown Cabri and The
Geometers Sketchpad environments. Moreover, OpenMath has been chosen as
the communicating language allowing other OpenMath compliant systems to
make use of the tool.
229
loci: our proposal also obtains the equations of algebraic loci and bans out some
anomalous results in standard systems. The equations are sound (since the used
Groebner bases method is), and the method is fast enough to be integrated in a
dynamic environment, as tested with GDI (see [4] where the detailed algorithm
is described).
Although conceived with the spirit of a plug-in for Cabri and The Geometers
Sketchpad, simplicity and convenience of use were the guiding lines in the design
of GLI. Consequently, its interface (http://nash.sip.ucm.es/GLI/GLI.html) has
been designed to look like a simple web page (see Figure 1). The user makes use
of an applet to create a text le that is uploaded to the server. The equation
and graph of the locus are then displayed in a new browser window.
230
F. Botana, M.A. Ab
anades, and J. Escribano
4
4.1
Examples
An Ellipse
The old exercise of drawing an ellipse using a pencil, two pins, and a piece
of string is frequently proposed as the rst one when young students begin
practising loci computation.
231
It is well known that both environments, Cabri and The Geometers Sketchpad, return a surprising answer when simulating the construction, giving just
half of the ellipse. Figure 2 shows the construction made in The Geometers
Sketchpad (inside the square) and the answer returned by GLI. The plot range
in the graph produced by GLI depends on ad-hoc computations of the graph size
made by Mathematica. Despite being an independent process, the computations
of an optimum plot range can be directed by a line of code in the webDiscovery
description of the task. A default but modiable value has been included in all
webDiscovery descriptions.
4.2
Lima
con of Pascal
Given a xed point P3 and a variable one P6 on a circle, the limacon of Pascal
is the locus of points P14 such that P3 , P6 and P14 are collinear and the distance
from P6 to P14 is a constant, specied in Figure 4 by the segment P8 P9 (see
http://www-groups.dcs.st-and.ac.uk/~history for a historical reference).
As in the case of the preceding subsection, computing the locus of P14 gives
just a part of it (Figure 3, left). It is necessary to compute the locus of the other
intersection, P14
, in order to get the whole locus (Figure 3, right). It seems that
Cabri is making some extra assumptions, for instance, the point P14 is inside
the circle, whereas the imposed constraints subsume both points in just one.
Regarding the locus equation, Cabri returns two equations (instead of one!)
0.04x2 y + 0.04y 3 + 0.22x2 + 0.19xy + 0.82y 2 + 0.87x + 5.07y + 10 = 0
0.04x2 y + 0.04y 3 + 0.17x2 + 0.20xy + 0.95y 2 + 0.77x + 5.62y + 10 = 0.
Plotting these equations with Mathematica we get the curves in Figure 4, left,
while the curve returned by our system GLI is shown at the right. The equation
of the limacon, a quartic, is included as a factor of the solution (see Figure 5).
The extraneous factor of the circle is due to a degenerated condition: note that,
232
F. Botana, M.A. Ab
anades, and J. Escribano
4.3
We will use a very simple example to illustrate the dierent behavior of standard
systems and the one proposed here. Let us consider a line P1 P2 with a variable
point on it, P4 , taken as the center of a circle with radius P5 P6 . Compute the
locus of a point P9 bound to the circle when P4 moves along the line. The locus found by The Geometers Sketchpad is, as expected, a line parallel to P1 P2
(Figure 6). Nevertheless, GLI answers that The locus is (or is contained in) the
whole plane. This is due to the dierent treatment of point P9 : in standard systems its denition is taken not just as a point on the circle, but other constraints
not explicitly given are assumed. However, from an strictly algebraic point of
view, P9 is any point on the circle. So, when the circle moves, the locus is a non
linear part of the plane, and our non semialgebraic approach detects this fact
answering as stated.
Note that if Cabri is used and the rst line is dened through a point and
a graphically specied slope, the translation of the construction will fail since
the current version of GLI does not support this Cabri primitive. When working
with a non allowed locus le an error message will appear in the corresponding
text area in the applet. The user is then instructed to inspect the JAVA console
233
to see a sequential description of the translation process, with which one can
determine the primitive not admitted by the current version of GLI that has
been used.
4.4
Cabri and The Geometers Sketchpad can only nd loci of points that have been
eectively constructed in their systems, that is, points who parametrically depend on another one. Hence, points which are implicitly dened by simultaneous
multiple conditions cannot be used for generating loci. A classical result such
as the theorem of WallaceSteiner (stating that the locus of points X such that
their orthogonal projections to a given triangle are collinear is the triangles circumcircle) cannot be discovered unless the user previously knows the result! The
symbolic kernel of GLI has been designed to be easily modied to support this
type of implicit loci. Further versions of GLI are under development to support
an extended class of computable loci.
Conclusion
The work presented here, although of a small magnitude, shows the possibilities of the interconnection between dynamic geometry and computer algebra
systems. Moreover, we think that the generalization of broad band internet connections will make remote access to applications the main general trend, of which
GLI is a perfect example. The decision of making OpenMath the communication
language between the systems involved could be seen as secondary from a computational point of view. However, the use of standard semantic representation
of mathematical objects is, as we see it, the main challenge in the computational community. GLI wants to be an example of that too. Moreover, the use
of OpenMath as intercommunicating language opens the door to further connections with dierent geometry related systems. As future work, a twofolded
ongoing research is being conducted to extend GLIs domain, to other Dynamic
Geometry Systems on one hand, and to nonpolynomial equations and inequalities on the other. This latter extension of GLI will allow a considerable increase
in the set of possible relations between the dierent geometric elements and
hence of its applications.
234
F. Botana, M.A. Ab
anades, and J. Escribano
References
1. Autin, B.: Pure and applied geometry with Geometrica. Proc. 8th Int. Conf. on
Applications of Computer Algebra (ACA 2002), 109110 (2002)
2. Botana, F., Valcarce, J.L.: A dynamic-symbolic interface for geometric theorem
discovery. Computers and Education, 38(13), 2135 (2002)
3. Botana, F.: Interactive versus symbolic approaches to plane loci generation in
dynamic geometry environments. Proc. I Int. Workshop on Computer Graphics
and Geometric Modeling (CGGM 2002), LNCS, 2330, 211-218 (2002)
4. Botana, F., Valcarce, J.L.: A software tool for the investigation of plane loci. Mathematics and Computers in Simulation, 61(2), 141154 (2003)
5. Botana, F.: A Webbased intelligent system for geometric discovery. Proc. I Int.
Workshop on Computer Algebra Systems and Applications (CASA 2003), LNCS,
2657, 801-810 (2003)
6. Botana, F., Recio, T.: Towards solving the dynamic geometry bottleneck via a
symbolic approach. Proc. V Int. Workshop on Automated Deduction in Geometry
(ADG 2004), LNAI, 3763, 92110 (2006)
7. Capani, A., Niesi, G., Robbiano, L.: CoCoA, a system for doing Computations in
Commutative Algebra. Available via anonymous ftp from: cocoa.dima.unige.it
8. Gao, X.S., Zhang, J.Z., Chou, S.C.: Geometry Expert. Nine Chapters, Taiwan
(1998)
9. http://www.geogebra.at
10. Jackiw, N.: The Geometers Sketchpad v 4.0. Key Curriculum Press, Berkeley
(2002)
11. Laborde, J. M., Bellemain, F.: Cabri Geometry II. Texas Instruments, Dallas (1998)
12. Miyaji, C., Kimura, H.: Writing a graphical user interface for Mathematica using
Mathematica and Mathlink. Proc. 2nd Int. Mathematica Symposium (IMS97),
345352 (1997)
13. http://www.openmath.org/
14. RichterGebert, J., Kortenkamp, U.: The Interactive Geometry Software Cinderella. Springer, Berlin (1999)
15. RoanesLozano, E., RoanesMacas, E., Villar, M.: A bridge between dynamic
geometry and computer algebra. Mathematical and Computer Modelling, 37(910),
1005-1028 (2003)
16. Schumann, H.: A dynamic approach to simple algebraic curves. Zentralblatt f
ur
Didaktik der Mathematik, 35(6), 301316 (2003)
17. Wang, D.: GEOTHER: A geometry theorem prover. Proc. 13th International Conference on Automated Deduction (CADE 1996), LNCS, 1104, 166170 (1996)
18. http://www.wolfram.com/products/webmathematica/index.html
Abstract. Petri nets are receiving increasing attention from the scientic community during the last few years. They provide the users with a
powerful formalism for describing and analyzing a variety of information
processing systems such as nite-state machines, concurrent systems,
multiprocessors and parallel computation, formal languages, communication protocols, etc. Although the mathematical theory of Petri nets
has been intensively analyzed from several points of view, the symbolic
computation of these nets is still a challenge, particularly for generalpurpose computer algebra systems (CAS). In this paper, a new Mathematica package for dealing with some Petri nets is introduced.
Introduction
Petri nets (PN) are receiving increasing attention from the scientic community
during the last few years. Most of their interest lies on their ability to represent a number of events and states in a distributed, parallel, nondeterministic or
stochastic system and to simulate accurately processes such as concurrency, sequentiality or asynchronous control [1,3]. Petri nets provide the users with a very
powerful formalism for describing and analyzing a broad variety of information
processing systems both from the graphical and the mathematical viewpoints.
Since its inception in the early 60s, they have been successfully applied to many
interesting problems including nite-state machines, concurrent systems, multiprocessors and parallel computation, formal languages, communication protocols
and many others.
Although the mathematical fundamentals of Petri nets have been analyzed by
using many powerful techniques (linear algebraic techniques to verify properties
such as place invariants, transition invariants and reachability; graph analysis
and state equations to analyze their dynamic behavior; simulation and Markovchain analysis for performance evaluation, etc.), and several computer programs
for PN have been developed so far, the symbolic computation of these nets is still
a challenge, particularly for general-purpose computer algebra systems (CAS).
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 235242, 2007.
c Springer-Verlag Berlin Heidelberg 2007
236
In this paper, a new Mathematica package for dealing with some Petri nets
is introduced. The structure of this paper is as follows: Section 2 provides a
gentle introduction to the basic concepts and denitions on Petri nets. Then,
Section 3 introduces the new Mathematica package for computing them and
describes the main commands implemented within. The performance of the code
is also discussed in this section by using some illustrative examples. Conclusions
and further remarks close the paper.
A Petri net (PN) is a special kind of directed graph, together with an initial
state called the initial marking (see Table 1 for the mathematical details). The
graph of a PN is a bipartite graph containing places {P1 , . . . , Pm } and transitions
{t1 , . . . , tn }. Figure 1 shows an example of a Petri net comprised of three places
and six transitions. In graphical representation, places are usually displayed as
circles while transitions appear as vertical rectangular boxes. The graph also
contains arcs either from a place Pi to a transition tj (input arcs for tj ) or from
a transition to a place (output arcs for tj ). These arcs are labeled with their
weights (positive integers), with the meaning that an arc of weight w can be
understood as a set of w parallel arcs of unity weight (whose labels are usually
omitted). In Fig. 1 the input arcs from P1 to t3 and P2 to t4 and the output arc
from t1 to P1 have weight 2, the rest having unity weight.
Fig. 1. Example of a Petri net comprised of three places and six transitions
237
238
places of a net have nite capacity, the net itself is referred to as a nite capacity
net. All nets in this paper will belong to this later category. For instance, the
net in Figure 1 is a nite capacity net, with capacities 2, 2 and 1 for places P1 ,
P2 and P3 , respectively.
If so, there is another condition to be fullled for any transition tj to be
enabled: the number of tokens at each output place of tj must not exceed its
capacity after ring tj . For instance, transition t1 in Figure 1 is initially disabled
because place P1 has already two tokens. If transitions t2 and/or t3 are applied
more than once, the two tokens of place P1 will be removed, so t1 becomes
enabled. Note also that transition t3 cannot be red initially more than once, as
capacity of P2 is 2.
In this section a new Mathematica package for dealing with Petri nets is introduced. For the sake of clarity, the main commands of the package will be
described by means of its application to some Petri net examples. In particular,
in this paper we will restrict to the case of pure and nite capacity nets, a kind
of nets with many interesting applications. We start our discussion by loading
the package:
In[1]:= <<PetriNets
According to Table 1, a Petri net (like that in Figure 1 and denoted onwards
as net1) is described as a collection of lists. In our representation, net1 consists
of three elements: a list of couples {place, capacity}, a list of transitions and a
list of arcs from places to transitions along with its weights:
In[2]:= net1={{{p1,2},{p2,2},{p3,1}},{t1,t2,t3,t4,t5,t6},
{{p1,t1,2},{p1,t2,-1},{p1,t3,-2},{p2,t3,1},
{p2,t4,-2},{p2,t5,-1},{p3,t5,1},{p3,t6,-1}}};
Note that the arcs are represented by triplets {place, transition, weight},
where positive value for the weights mean output arcs and negative values denote input arcs. This notation is consistent with the fact that output arcs add
tokens to the places while input arcs remove them. Now, given the initial marking {2, 1, 0} and any transition, the FireTransition command returns the new
marking obtained by ring such a transition:
In[3]:= FireTransition[net1,{2,1,0},t2];
Out[3]:= {1,1,0}
Given a net and its initial marking, an interesting question is to determine
whether or not a transition can be red. The EnabledTransitions command
returns the list of all enabled transitions for the given input:
In[4]:= EnabledTransitions[net1,{2,1,0}];
Out[4]:= {t2,t3,t5}
The FireTransition command allows us to compute the resulting markings
obtained by applying these transitions onto the initial marking:
239
In[5]:= FireTransition[net1,{2,1,0},#]& /@ %;
Out[5]:= {{1,1,0},{0,2,0},{2,0,1}}
Note that, since transition t1 cannot be red, an error message is returned:
In[6]:= FireTransition[net1,{2,1,0},t1];
Out[6]:= FireTransition: Disabled transition: t1 cannot be red for the given net
and the {2,1,0} marking.
Fig. 2. The reachability graph for the Petri net net1 and the initial marking {2, 1, 0}
From Out[4] and Out[5], the reader can easily realize the successive application
of the EnabledTransitions and FireTransition commands allows us to obtain
all possible markings and all possible rings at each marking. However, this is
a tedious and time-consuming task to be done by hand. Usually, such markings
and rings are graphically displayed in what is called a reachability graph. The
next input returns the reachability graph for our Petri net and its initial marking:
In[7]:= ReachabilityGraph[net1,{2,1,0}];
Out[7]:= See Figure 2
Figure 2 can be interpreted as follows: the outer column on the left provides
the list of all possible markings for the net. Their components are sorted from the
left to the right according to the standard lexicographic order. For any marking,
the row in front gives the collection of its enabled transitions. For instance, the
enabled transitions for the initial marking {2, 1, 0} are {t2, t3, t5} (as expected
from Out[4]), while they are {t1, t4, t6} for {0, 2, 1}. Given a marking and one
240
of its enabled transitions, you can determine the output marking of ring such
transition by simply moving up/down in the transition column until reaching
the star symbol: the marking in that row is the desired output. By this simple
procedure, results such as those in Out[5] can readily be obtained.
241
Fig. 5. Reachability graph after modifying the weight of the arc from P5 to t6
242
On the other hand, the reachability graph in Figure 4 has some markings no
transitions can be applied onto. Examples of such markings are {1, 3, 3, 2, 0},
{1, 2, 3, 2, 0} or {0, 4, 3, 1, 0} (although not the only ones). They are sometimes
called end markings. Note that not end markings appear in the rst net of this
paper. Note also that the transition t6 is never red (it never appears in the
graph of Figure 4). By simply decreasing the weight of the arc from P5 to t6
to the unity, the transition becomes enabled, as shown in the new reachability
graph depicted in Figure 5.
In this paper, a new Mathematica package for dealing with nite capacity Petri
nets has been introduced. The main features of the package have been discussed
by its application to some simple yet illustrative examples. Our future work
includes the application of this package to real problems, the extension to other
cases of Petri nets, the implementation of new commands for the mathematical
analysis of these nets and the characterization of the possible relationship (if
any) with the functional networks and other networked structures [2,4,5].
This research has been supported by the Spanish Ministry of Education and
Science, Project Ref. #TIN2006-13615. The second author also thanks the nancial support from the Erasmus Program of the European Union for his stay
at the University of Cantabria during the period this paper was written.
References
1. Murata, T.: Petri nets: Properties, analysis and applications. Proceedings of the
IEEE, 77(4) (1989) 541-580
2. Echevarra, G., Iglesias, A., G
alvez, A.: Extending neural networks for B-spline
surface reconstruction. Lectures Notes in Computer Science, 2330 (2002) 305-314
3. German, R.: Performance Analysis of Communication Systems with Non-Markovian
Stochastic Petri Nets. John Wiley and Sons, Inc. New York (2000)
4. Iglesias, A., G
alvez, A.: A New Articial Intelligence Paradigm for Computer-Aided
Geometric Design. Lectures Notes in Articial Intelligence, 1930 (2001) 200-213
5. Iglesias, A., Echevarra, G., G
alvez, A.: Functional networks for B-spline surface
reconstruction. Future Generation Computer Systems, 20(8) (2004) 1337-1353
Introduction
How to handle mathematical expressions on screens of computers has been discussed from 1960s[1]. While many systems have been proposed, there are no
easy-to-use systems for beginners. Users must choose not too bad(wrong) one
from existing systems. One of the reasons for the situation is that APIs of the
existing systems are not designed adequately in consideration of handling 2D
structure.
For example, a cursor(caret) of GUI text editors has 2D coordinates, but the
information is not used eectively. A Cursor is placed on or before or after one
of characters. Because of texts linear structure, the position of a cursor is able
to be converted to 1D information. Therefore, although the cursor of GUI text
editors looks like 2D cursor, it is 1D cursor in practice. And, many systems which
handle mathematical expressions are based on this type of cursor models.
1.1
Computer algebra systems handle mathematical expressions, but their input interfaces are generally based on template models, such as word processors equation editor part which are treated like sub programs. An equation editor with
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 243250, 2007.
c Springer-Verlag Berlin Heidelberg 2007
244
H. Deguchi
GUI Operations
Using computers with GUI, users can manipulate objects on screens directly.
Especially, drag and drop operations are intuitive. However, it is hard to say
that they are eectively utilized in interfaces treating mathematical expressions.
For example, in some systems, to connect a selection to a target, users can select
and drag the selection, but can drop them only onto prepared boxes related to
the target. These boxes have to be prepared by using templates before drag and
drop operations.
245
Fig. 1. MathBlackBoard
2.1
In general, drag and drop means drag an object and drop it to dierent places
or onto other objects. Each object on GUI screens has its own selection area
which is used to be selected or to be dropped onto. And when a dragged object
is released by manipulation of pointing devices, all of the selection areas are
scanned. If the pointer lies inside the selection area of any object, the dragged
object is dropped onto such pointed object. Otherwise, the dragged object is
dropped to the place marked by the pointer.
Using these operations, users can drag and drop expressions onto a box prepared or into an insertion point which is used in linear structure of texts. Insertion points have 1D information (or convertable to 1D information) of their
position, and are used with text stream, where text includes characters and symbols. When a dragged object is released, all of the boxes are scanned. And then,
if a box is pointed, all of the insertion points in the box are scanned.
In the model of templates and their box structures, that is used with drag
and drop operations generally, mathematical expressions are constructed from
nested boxes which contain other boxes or text stream as contents.
2.2
As mentioned above, existing drag and drop operations and template models are
not suitable for 2D structure of mathematical expressions, because a mathematical formula is constructed as box-structured texts.
To extend drag and drop operation, we have added new elements to objects.
The most important element added is area for target of drag and drop operations.
Notice that the areas are used to be targets of drag and drop, not to be boxstructured containers. These new added areas are called peripheral area. Left
246
H. Deguchi
Fig. 2. Left: A symbol object x with a selection area, peripheral areas, and a baseline. Right: Base points and their link relations.
hand of Fig. 2 shows the symbol object x with M as a selection area, R0R5
as peripheral areas, and BL as a baseline.
By using objects with peripheral areas, users can drag mathematical expressions and drop them onto the peripheral area of the target, for connecting the
selection to the target with the desired position. Each object of the system has
information of its connected child-nodes. And, it has information of location
and display size of its child-nodes. Right hand of Fig. 2 shows the symbol object
x with P0P5 as base points. Each base point of P0P5 is related to each
peripheral area of R0R5. Base points are used as link points to connect their
child-nodes. For each base point, information of link relation for its child-node is
congured(right hand of Fig. 2). Size of a dotted line square means child-nodes
display size. And relation between a dotted line square and related base point
means the relative point of the child-node.
The operations for objects with these new elements are able to be explained
as drag and drop operations. But, in this case, drag and drop is an operation
between the selection and the peripheral area of the target. It is not an operation between the selection and the target itself. Therefore it could be a new
GUI operation. In case the selection is dropped onto peripheral areas, the GUI
operation is called drag and draw. The drag and draw operation is an operation between the selection and the target. In this case, drag and draw means
drag the selection and draw it near to the target. The system with drag and
draw operations is suitable for mathematical expressions, because objects are
associated with other objects in the nature of 2D structures by using peripheral
areas and their related elements.
2.3
Dynaput Operation
The drag and draw operations are suitable to handle 2D structure of mathematical expressions. And there are other elements to extend GUI operations for
beginners. The new elements are feedbacks from drag operations and feedbacks
from draw operations.
247
Feedbacks from drag operations should show what object is dragged. Such
information helps novice users to know which object is selected and is dragging.
MathBlackBoard is the system which provides this kind of information, from the
early stages of development.
Feedbacks from draw operations also show useful information, categories of
which are where the selection object will be connected to, and which size the
selection object will be changed. With information from feedbacks, users can
check the place where the dragged object will be connected to, or the preview
of size, before dragged object is released by manipulation of pointing devices.
Thus users can check results of various cases by moving pointing devices, without carrying out determination operation that is to release the pressed button
of the pointing device in general. If the preview is what the user wished, determination operation is to be performed by manipulating pointing devices. After
the determination, the selection is connected to the target, and is placed on the
desired position with the previewed size.
The environment with these two kinds of feedbacks provides interactive
dynamic input interface. In the dynamic input interface of MathBlackBoard,
operations include not only an inputting aspect but also an editing aspect.
Users can input expressions and edit expressions in the same way. For example, input operation in MathBlackBoard is performed as follows: drag the object
in the palette area of Fig. 1 and drop it onto other objects, peripheral areas,
or the blackboard area of Fig. 1. And edit operation is performed as follows:
drag the object in the blackboard area and drop it onto other objects, peripheral areas, or the blackboard area.
Since same operations in the user interface mean both of inputting and editing,
as described above, that could be new GUI operations. Because the operations
are not simple input operations but dynamic input operations, the operations
are called dynaput instead of input. Dynaput is a coined word combining
dyna (from dynamic) and put (from input or put).
3
3.1
Data Structure
Layout Tree
Symbol objects for dynaputting are structured as tree. Each node has information of numbered direction for linking to child-nodes(left hand of Fig. 3). In
Fig. 3, the thick lines mean the default direction. In this case, the default direction is 2. Right hand of Fig. 3 shows a layout tree of the following expression:
f (x) =
n
ai xi
i=0
248
H. Deguchi
Fig. 3. Left: Numbered directions. (The thick line means the default direction.) Right:
An example of layout tree. (The numbers beside lines mean directions.)
The MathML
(Presentation Markup) output is similar in method to the TeX
output. The part of a MathML output example is as follows:
<munderover>
<mo>∑</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>n</mi>
</mrow>
</munderover>
249
Layout tree traversal with outputting text characters is the common method
of these. The tasks for outputting are simple because of the simple structure of
layout trees. Thus layout trees are converted to presentation markup languages
easily.
3.2
][a][x][i][power][invisible times][apply][=]
[f][x][apply function][
As to and a, only child-nodes of direction 2 are visited in that scan
process. The ignored child-nodes are called after the process, if it is needed. That
is decided by the parser. Temporary objects (such as power or apply) are
generated in the scan process.
And then, a binary tree of the symbol objects(left hand of Fig. 5) is constructed from the reverse Polish notation. Right hand of Fig. 5 shows another
example. The parser can decide meaning of f (x).
Fig. 5. Left: An example of binary tree. Right: A left sub tree of another example.
Finally, the binary tree of the symbol objects is traversed, and outputs which
depend on contents
of symbol objects are generated. Notice that the ignored
child-nodes of and a are called, when the binary tree is traversed.
The binary trees of symbol objects are used internally and temporarily in
the process of the converting. Users can get mathematical notations of wished
format after the process, because binary trees are able to be converted to various notations of mathematical expressions including inx, prex, and postx
notations.
250
H. Deguchi
Conclusion
The new dynamic input interface has been developed. We have added new elements to objects of the system. For such objects, new GUI operations have
been dened. Drag and draw is one of drag and drop operations. In case the
selection is dragged and drawn near to the target, the operation is called drag
and draw. The exact actions of the operations are to drag over the peripheral
areas and to drop onto these areas.
Dynaput has also been dened as operations which include input and edit,
and provide dynamic input interface by previewing results. To provide dynaput
operations, the interface should have operations drag and draw and peripheral
areas for symbol objects. Using dynaput operations, users can input and edit
mathematical expressions intuitively by using only pointing devices.
In this user interface, mathematical expressions are constructed from treestructured symbol objects. Boxes as containers and text stream as contents,
which are used in other systems with templates, are not used. The structure
of layout tree is based on 2D structure of symbols on computer screens, and
mathematical meanings of objects are ignored temporarily.
The presentation markup outputs, such as TeX and MathML, are generated
easily because of the simple structure of layout trees. Mathematical notations
for computer algebra systems evaluations are also converted from layout trees
via tree transformation. What it means appears when you need is our strategy
for handling 2D structures of expressions.
Using this new input interface with the operation dynaput, users can manipulate mathematical formulas intuitively, and users are able to acquire mathematical expressions of various formats.
A demo video of MathBlackBoard is available on the following URL:
http://wwwmain.h.kobe-u.ac.jp/MathBB/
References
1. Kajler, N., Soier, N.: A Survey of User Interfaces for Computer Algebra Systems.
J. Symb. Comput. 25(2) (1998) 127159
2. Matsushima J.: An Easy-to-Use Computer Algebra System by Using Java. Master
Thesis, Kobe University (1998) [in Japanese]
3. Deguchi H.: Blackboard Applet. Journal of Japan Society for Symbolic and Algebraic
Computation 9(1) (2002) 3237 [in Japanese]
4. Deguchi H.: MathBlackBoard. Journal of Japan Society for Symbolic and Algebraic
Computation 11(3,4) (2005) 7788 [in Japanese]
5. Deguchi H.: MathBlackBoard as User Interface of Computer Algebra Systems. Proceedings of the 10th Asian Technology Conference in Mathematics (2005) 246252
6. Deguchi H.: A Practical Lesson Using MathBlackBoard. Journal of Japan Society
for Symbolic and Algebraic Computation 12(4) (2006) 2130 [in Japanese]
7. Deguchi H.: A Dynamic Input Interface for Mathematical Expressions. Proceedings
of the Human Interface Symposium 2006 (2006) 627630 [in Japanese]
8. Deguchi H., Hashiba H.: MathBlackBoard as Eective Tool in Classroom. ICCS
2006, Part II Springer LNCS 3992 (2006) 490493
Introduction
252
Schost
X. Li, M.M. Maza, and E.
Software Overview
2.1
253
Let R be an AXIOM Ring. The domain SUP(R) implements the ring of univariate
polynomials with coecients in R. The data representation of SUP(R) is sparse,
that is, only non-zero terms are encoded. The domain constructor SUP is written
in the AXIOM language.
The domains DUP(R) implements exactly the same operations as SUP(R).
More precisely, these two domains satisfy the category UnivariatePolynomialCategory(R). However, the representation of the latter domain is dense: all
terms, null or not, are encoded. The domain constructor DUP was developed in
the AXIOM language, see [11] for details.
Another important domain constructor in our study is PF: for a prime number
p, the domain PF(p) implements the prime eld Z/pZ.
Our C code is dedicated to multivariate polynomials with dense representation
and coecients in a prime eld To make this code available at the AXIOM level,
we have implemented a domain constructor DUP2 wrapping our C code. For a
prime number p, the domains DUP2(p) and DUP(PF(p)) implement the same
category, that is, UnivariatePolynomialCategory(PF(p)).
2.2
The implementation reported here focuses on some special small nite elds. By
a small nite eld, we mean a eld of the form K = Z/pZ, for p a prime that
ts in a 26 bit word (so that the product of two elements reduced modulo p ts
into a double register). Furthermore, the primes p we consider have the form
k2 + 1, with k a small odd integer (typically k 7), which enables us to write
specic code for integer Euclidean division.
The elements of Z/pZ are represented by integers from 0 to p 1. Additions
and subtractions in Z/pZ are performed in a straightforward way: we perform
integer operations, and the result is then reduced modulo p. Since the result of
additions and subtractions is always in (p 1), . . . , 2(p 1), modular reduction
requires at most a single addition or subtraction of p; for the reduction, we use
routines coming from Shoups NTL library [9,14].
Multiplication in Z/pZ requires more work. A standard solution, present in
NTL, consists in performing the multiplication in double precision oating-point
registers, compute numerically the quotient appearing in the Euclidean division
by p, and nally deduce the remainder.
Using the special form of the prime p, we designed the following faster
approximate Euclidean division, that shares similarities with Montgomerys
REDC algorithm [13]; for another use of arithmetic modulo special primes,
see [4]. Let thus Z be in 0, . . . , (p 1)2 ; in actual computations, Z is obtained
as the product of two integers less than p. The following algorithm computes an
approximation of the remainder of kZ by p, where we recall that p has the form
k2 + 1:
1. Compute q = 2Z .
2. Compute r = k(Z q2 ) q.
254
Schost
X. Li, M.M. Maza, and E.
In terms of operations, this reduction is faster than the usual algorithms, which
rely on either Montgomerys REDC or Shoups oating-point techniques. The
computation of q is done by a logical shift; that of r requires a logical AND (to
obtain Z 2q), and a single multiplication by the constant c. Classical reduction
algorithms involve 2 multiplications, and other operations (additions and logical
operations). Accordingly, in practical terms, our approach turned out to be more
ecient.
There are however drawbacks to this approach. First, the algorithm above does
not compute Z mod p, but a number congruent to kZ modulo p (this multiplication by a constant is also present in Montgomerys approach). This is however
easy to circumvent in several cases, for instance when doing multiplications by
precomputed constants (this is the case in FFT polynomial multiplication, see
below), since a correcting factor k 1 mod p can be incorporated in these constants. The second drawback is that the output of our reduction routine is not
reduced modulo p. When results are reused in several computations, errors accumulate, so it is necessary to perform some error reduction at regular time steps,
which slows down the computations.
2.3
Polynomial Arithmetic
For polynomial multiplication, we use the Fast Fourier Transform (FFT) [6,
Chapter 8], and its variant the Truncated Fourier Transform [8]. Indeed, since
we work modulo primes p of the form k2 + 1, Lemma 8.8 in [6] shows that Z/pZ
admits 2 th primitive roots of unity, so that it is suitable for FFT multiplication
for output degrees up to 2 1.
Both variants feature a O(d log(d)) asymptotic complexity; the latter oers a
smoother running time, avoiding the usual abrupt jumps that occur at powers
of 2 in classical Fast Fourier Transforms.
Using fast multiplication enables us to write a fast Euclidean division for
polynomials, using Cook-Sieveking-Kungs approach through power series inversion [6, Chapter 9]. Recall that this algorithm is based on the remark that the
quotient q in the Euclidean division u = qv + r in K[x] satises
revdeg udeg v (q) = revdeg u (u) revdeg v (v)1 mod xdeg udeg v+1 ,
255
where revm (p) denotes the reverse polynomial xm p(1/x). Hence, computing the
quotient q is reduced to a power series division, which itself can be done in time
O(d log(d)) using Newtons iteration [6, Chapter 9].
Newtons iteration was implemented using middle product techniques [7],
which enable us to reduce the cost of a direct implementation by a constant
factor (these techniques are particularly easy to implement when using FFT
multiplication, and are already described in this case in [14].
Our last ingredient is GCD computation. We implemented both the classical
Euclidean algorithm, as well as its faster divide-and-conquer variant using socalled Half-GCD techniques [6, Chapter 11]. The former features a complexity
in O(d2 ), whereas the latter has cost in O(d log(d)2 ), but is hindered by a large
multiplicative constant hidden by the big-O notation.
2.4
Code Connection
Open AXIOM is based on GNU Common Lisp (GCL), GCL being developed
in C [12]. We follow the GCL developers approach to integrate our C level
code into GCLs kernel. The crucial step is converting dierent polynomial data
representations between AXIOM and the ones in our C library via GCL level.
The overhead of these conversions may signicantly reduce the eectiveness of
our C implementation. Thus, good understanding of data structures in AXIOM
and GCL is a necessity to establish an ecient code connection.
Experimentation
In this section, we compare our specialized domain constructor DUP2 with our
generic domain constructor DUP and the standard AXIOM domain constructor
SUP. Our experimentation takes place into the polynomial rings:
Ap = Z/pZ[x],
Bp = (Z/pZ[x]/m)[y],
for a machine word prime number p and an irreducible polynomial m Z/pZ[x].
The ring Ap can be implemented by any of the three domain constructors DUP2,
DUP and SUP applied to PF(p), whereas Bp is implemented by either DUP and SUP
applied to Ap . In both Ap and Bp , we compare the performances of factorization
and resultant computations provided by theses dierent constructions. These
experimentations deserve two goals.
(G1 ) When there is a large proportion of the running time which is spent in
computing products, remainders, quotients, GCDs in Ap , we believe that
there are opportunities for signicant speed-up when using DUP2 and we
want to measure this speed-up w.r.t. SUP and DUP.
(G2 ) When there is a little proportion of the running time which is spent in
computing products, remainders, quotients, GCDs in Ap , we want to check
whether using DUP2, rather than SUP and DUP, could slow down computations.
Schost
X. Li, M.M. Maza, and E.
256
For computing univariate polynomial resultants over a eld, AXIOM runs the
package PseudoRemainderSequence implementing the algorithms of Ducos [3].
This package takes R: IntegralDomain and polR: UnivariatePolynomialCategory(R) as parameters. However, this code has its private divide operation
and does not rely on the one provided by the domain polR. In fact, the only nontrivial operation that will be run from polR is addition! Therefore, if polR has
a fast division with remainder, this will not benet to resultant computations
performed by the package PseudoRemainderSequence. Hence, in this case, there
is very little opportunities for DUP2 to provide speed-up w.r.t. SUP and DUP.
For square-free factorization over a nite eld, AXIOM runs the package
UnivariatePolynomialSquareFree. It takes RC: IntegralDomain P: UnivariatePolynomialCategory(RC) as parameters. In this case, the code relies on
the operations gcd and exquo provided by P. Hence, if P provides fast GCD computations and fast divisions, this will benet to the package UnivariatePolynomialSquareFree. In this case, there is a potential for DUP2 to speed-up
computations w.r.t. SUP and DUP.
30
160
SUP(FP(p))
DUP2(FP(p))
SUP(FP(p))
DUP2(FP(p))
140
25
120
Time [sec]
Time [sec]
20
15
100
80
60
10
40
5
20
0
0
500
1000
1500
2000
2500 3000
Degree
Fig. 1. Resultant
Z/pZ[x]
3500
4000
4500
computation
5000
in
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
Degree
We start the description of our experimental results with resultant computations in Ap = Z/pZ[x]. As mentioned above, this is not a good place for obtaining
signicant performance gain. Figure 1 shows that computations with DUP2 are
just slightly faster than those with SUP. In fact, it is satisfactory to verify that
using DUP2, which implies data-type conversions between the AXIOM and C
data-structures, does not slow down computations.
We continue with square-free factorization and irreducible factorization in
Ap . Figure 2 (resp. Figure 3) shows that DUP2 provides a speed-up ratio of 8
(resp. 7) for polynomial with degrees about 9000 (resp. 400). This is due to
the combination of the fast arithmetic (FFT-based multiplication, Fast division,
Half-GCD) and highly optimized code of this domain constructor.
In the case of irreducible factorization, we could have obtained a better ratio
if the code was more generic. Indeed, the irreducible factorization over nite
elds in AXIOM involves a package which has its private univariate polynomial arithmetic, leading to a problem similar to that observed with resultant
257
4
SUP(FP(p))
DUP2(FP(p))
SUP(SUP(FP(p)))
DUP(DUP(FP(p)))
DUP(DUP2(FP(p)))
3.5
200
Time [sec]
Time [sec]
150
100
2.5
2
1.5
1
50
0.5
0
0
0
50
100
150
200
Degree
250
300
350
400
in
10
20
30
40
50
60
Total Degree
Fig. 4. Resultant
(Z/pZ[x]/m)[y]
3000
70
80
90
computation
100
in
35
SUP(SUP(FP(p)))
DUP(DUP(FP(p)))
DUP(DUP2(FP(p)))
30
2500
AXIOM-Apr-06
Magma-2.11-2
Maple-9.5
25
Time [sec]
Time [sec]
2000
1500
20
15
1000
10
500
0
0
Total Degree
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
Total Degree
in
Conclusion
The purpose of this study is to measure the impact of our C level specialized
implementation for fast polynomial arithmetic on the performances of AXIOM
258
Schost
X. Li, M.M. Maza, and E.
References
1. W. Bosma, J. J. Cannon, and G. Matthews. Programming with algebraic structures: design of the Magma language. In ISSAC94, pages 5257. ACM Press,
1994.
2. The Computational Algebra Group in the School of Mathematics and Statistics at
the University of Sydney. The MAGMA Computational Algebra System for Algebra, Number Theory and Geometry. http://magma.maths.usyd.edu.au/magma/.
3. L. Ducos. Optimizations of the subresultant algorithm. J. of Pure Appl. Alg.,
145:149163, 2000.
4. T. F
arnqvist. Number theory meets cache locality: ecient implementation of
a small prime FFT for the GNU Multiple Precision arithmetic library. Masters
thesis, Stockholms Universitet, 2005.
Schost. Implementation techniques for
5. A. Filatei, X. Li, M. Moreno Maza, and E.
fast polynomial arithmetic in a high-level programming environment. In ISSAC06,
pages 93100. ACM Press, 2006.
6. J. von zur Gathen and J. Gerhard. Modern Computer Algebra. Cambridge University Press, 1999.
7. G. Hanrot, M. Quercia, and P. Zimmermann. The middle product algorithm, I.
Appl. Algebra Engrg. Comm. Comput., 14(6):415438, 2004.
8. J. van der Hoeven. The truncated Fourier transform and applications. In ISSAC04,
pages 290296. ACM Press, 2004.
9. http://www.shoup.net/ntl. The Number Theory Library. V. Shoup, 19962006.
10. R. D. Jenks and R. S. Sutor. AXIOM, The Scientic Computation System.
Springer-Verlag, 1992.
11. X. Li. Ecient management of symbolic computations with polynomials, 2005.
University of Western Ontario.
12. X. Li and M. Moreno Maza. Ecient implementation of polynomial arithmetic
in a multiple-level programming environment. In A. Iglesias and N. Takayama,
editors, ICMS 2006, pages 1223. Springer, 2006.
13. P. L. Montgomery. Modular multiplication without trial division. Math. of Comp.,
44(170):519521, 1985.
14. V. Shoup. A new polynomial factorization algorithm and its implementation. J.
Symb. Comp., 20(4):363397, 1995.
15. S. M. Watt, P. A. Broadbery, S. S. Dooley, P. Iglio, S. C. Morrison, J. M. Steinbach,
and R. S. Sutor. A rst report on the A# compiler. In ISSAC94, pages 2531.
ACM Press, 1994.
Algimantas Cepulkauskas
, Regina Kulvietiene1 , Genadijus Kulvietis1 ,
and Jurate Mikucioniene2
1
Abstract. A semi-analytical approach, combining the features of analytical and numerical computations, is proposed. Separating the linear
and nonlinear parts of equations of motion, the harmonic balance method
and computer algebra have been synthesized for obtaining analytical solutions of the nonlinear part, whereas the linear part was solved by the
numerical methods. On the basis of this technique, the numerical investigation of abrasive treatment process dynamics has been performed and
regimes ensuring the most eective treatment process determined.
Introduction
Mechanical systems exhibiting impacts, so-called impact oscillators in the English literature at the present time, or vibro-impact systems in the Russian literature, are strongly nonlinear or piecewise linear, due to sudden changes in
velocities of vibrating bodies at the instant of impact or friction forces when the
velocity of motion changes its polarity. Their practical signicance is considerable and the investigation of the motion of such systems was begun about fty
years ago [7].
Several methods of the theoretical analysis were developed and dierent models of impacts were presented [1,6,7]. The method of tting which uses the
Newton restitution coecient seems to be most important. It is accurate and
applicable under the assumption that the time during an impact is negligible. It
can solve certain assumed periodic impact motion and its stability, but this procedure can be realized in the explicit form only for simple mechanical systems,
simple types of periodic motion, and for undamped impactless motion.
As usual, the solution method must correlate with the type of motion equations and concurrently with the character of the initial mechanic system. The
harmonic balance method was chosen for the investigation of a vibratory abrasive
treatment process [2,8] as it is easily applied to systems where calculations are
made by computer algebra methods and, in this case, considerably less computer
memory is needed than by other methods [3]. As a result, we obtain a nonlinear algebra equation system with many very short expressions. So it is possible
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 259262, 2007.
c Springer-Verlag Berlin Heidelberg 2007
260
A. Cepulkauskas
et al.
and expedient to process the results by numerical methods. The analytic calculation system VIBRAN is extremely eective in this case. Since an adequate
method for solving the motion equation of dynamically complicated systems has
to contain a large amount of analytic as well as numerical calculations, there
must be a strong program connection among them. The analytic calculation
system VIBRAN was selected in order to ensure this connection [3].The system
is designed to generate subroutines in FORTRAN, to select and reject excessive
operations while generating programs in accordance with analytic expressions.
Besides, this system stands out by exibility of input-output and the unique
means for operations with sparse matrices.
Consider the system of s degrees of freedom with the Lagrangian function [5]:
L = L(qi , qi , t) (i = 1, 2, ...s),
(1)
= Fqi .
(2)
dt qi
qi
These equations can be divided into the linear and nonlinear parts by formal
replacements L = LL + LN and Fqi = FLi + FN i . The equations of motion may
now be expressed in the form:
d LL
LL
d LN
LN
FLi +
FN i = 0,
(3)
dt qi
qi
dt qi
qi
where Fqi , FN i , FLi are generalized force, nonlinear (polynomial with respect to
generalized coordinates and periodical or Fourier expansion of time) and linear
parts; and LN , LL are nonlinear and linear parts of the Lagrangian function,
respectively.
The linear part can be formalized for numerical analysis without diculty and
we used special VIBRAN programs to analyze the nonlinear part of the system.
The proposed method provides shorter expressions for analytical computation
and allows the analysis of systems of higher order. After some well-known perturbations, the equations of motion can be rewritten in the matrix form:
[M ]{
q} + [B]{q}
+ [C]{q} = {H(q, q,
t)} + {f (t)},
(4)
(5)
261
where {Ai } are the unknown vectors that can be found by the nonlinear algebraic
equations.
According to the harmonic balance method, these equations for the rst three
vector coecients in the matrix form are:
[U ] {A} {f } {H(A)} = {0} ,
(6)
The new method for the treatment of miniature ring-shaped details was proposed
in [8], where the internal surface of the detail is treated as well as an external
one. During the vibratory treatment process the working medium particles are
constantly striking each other. As a result, slight scratches and crater-shaped
crevasses occur on the surface of treated details that form the surface microrelief. In this way, abrasive friction and impacts on the treated details perform
the treatment process.
The equations of motion describe the dynamics of a vibratory abrasive treatment process [5]:
1 + bx 1 + bk (x 1 x a ) + (c + c1 )x1
m1 x
ma x
a + bx a + bk (x a x 1 ) + cxa = c(t) + F2 sign(x 1 x a ) + b(t).
where m1 is the mass of components treated; ma is the mass of abrasive particles; the load mechanical properties are evaluated by elasticity c and working
medium resistance b; F1 , F2 are forces of dry friction between a component and
abrasive; bk is viscosity resistance; the elasticity of magnetic eld is evaluated by
a stiness coecient c1 , the detail was additionally excited by generating a variable component of magnetic eld Fm (x1 ). Its stiness properties were obtained
experimentally by the least squares method.
The kinematics excitation of a loaded vessel is (t) = A sin t.
Analytic expressions obtained according to the VIBRAN program conclude
the part of analytic calculations of H(A) [3]. The corresponding derivatives are
very simple and there are only 25 nonzero terms.
All the properties complying with the dynamic pattern of the process are
investigated in the numerical way and the program itself is composed in the
FORTRAN language. For this reason, in order to calculate the factors of analytic expressions and their partial derivatives, two FORTRAN subroutines have
262
A. Cepulkauskas
et al.
been generated: one for compiling a dictionary and another for calculating the
expressions themselves. Besides, the program, created by applying the harmonic
balance method for systems of dierential equations in addition to the equations
where amplitudes and constant components are found, also presents equation
derivatives from unknown quantities. In this case, one or some criteria of further
numerical parameter optimization may be calculated.
Conclusions
References
1. Baron, J.M.: Abrasive and Magnetic Treatment of Details and Cutters, St. Petersburg, Mashinostrojenie (in Russian), (1986)
2. Blekhman, I.I.: Forming the properties of nonlinear mechanical systems by means of
vibration, Proc. IUTAM/IFToMM Symposium on Synthesis of Nonlinear Dynamical
Systems, Solid Mechanics and Its Applications, vol. 73, Kluwer Academic Publ.,
Dordrecht (2000) 1-13.
3. Cepulkauskas, A., Kulvietiene, R., Kulvietis G.: Computer Algebra for Analyzing
the Vibrations of Nonlinear Structures. Lecture Notes in Computer Science, Vol.
2657. Springer-Verlag, Berlin Heidelberg New York (2003) 747-753
4. Klymov, D.O., Rudenko, V.O.: Metody kompiuternoj algebry v zadachah mechaniki
Nau , O(r)scow, (in russian), (1989)
5. Kulvietiene, R., Kulvietis, G., Fedaravicius, A., Mikucioniene, J.: Numeric-Symbolic
Analysis of Abrasive Treatment Process Dynamics, Proc. Tenth World Congress of
the Theory of Machines and Mechanisms, Vol. 6, Oulu, Finland, (1999) 2536-2541
6. Lewandowski, R.: Computational Formulation for periodic vibration of Geometrically Nonlinear Structures Part 1: Theoretical Background. - Int. J. Solid Structures, 34 (15) (1997) 1925-1947
7. Malkin, I.G.: Some Problems of Nonlinear Oscillation Theory, Moscow, Gostisdat
(in russian), (1956)
8. Mikucioniene, J.: Investigation of vibratory magnetic abrasive treatment process
dynamics for miniature details, Ph.D. Thesis, KTU, Technologija, Kaunas, (1997)
1 Introduction
With the latest advancement of semiconductors technology, the integration of the digital, analog and mixed-signal (AMS) designs into a single chip was possible and led into
the development of System on Chip (SoC) designs. One of the main challenges of SoC
designs is the verification of AMS components, which interface digital and analog parts.
Traditionally, analyzing the symbolically extracted equations is done through simulation [1]. Due to its exhaustive nature, simulation of all possible scenarios is impossible,
and hence it cannot guarantee the correctness of the design. In contrast to simulation,
formal verification techniques aim to prove that a circuit behaves correctly for all possible input signals and initial conditions and that none of them drives the system into
an undesired behavior. In fact, existing formal methods [2] are time bounded, where
verification is achieved only on a finite time interval. We overcome this limitation by
basing our methodology on mathematical induction, hence any proof of correctness of
the system is time independent. In this paper, we show how symbolic algebra in Mathematica can be used to formally verify the correctness of AMS designs. We illustrate
our methodology by applying it to prove the stability of a modulator [3].
The proposed verification methodology is based on combining induction and constraints solving to generate correctness proof for the system. This is achieved in two
phases; modeling and verification, as shown in Figure 1. Starting with an AMS description (digital part and analog part) and a set of properties, we extract, using symbolic
simulation, a System of Recurrence Equations (SRE) [4]. These are combined recurrence relations that describe each property in terms of the behavior of the system. SRE
is used in the verification phase along with an inductive based proof with constraints
defined inside Mathematica (details can be found in [4]). If a proof is obtained, then the
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 263267, 2007.
c Springer-Verlag Berlin Heidelberg 2007
264
property is verified. Otherwise, we provide counterexamples for the non-proved properties using reachability criteria. If the counterexample is realistic (strong instance),
then we have identified a problem (bug) in the design, otherwise the counterexample is
spurious (weak instance) and should be eliminated from the verification process.
AMS Description
Analog
Properties
Digital
Symbolic
Simulation
System of Recurrence
Equations (SRE)
Modeling
Verification
Verified
True
Constraints
Refinement
Yes
Inductive Proof
With Constraints
No
Counterexample
Counterexample
Analyzer
Weak
Instance
Strong Instance
Verified
False
2 Implementation in Mathematica
An SRE is a system of the form: Xi (n) = fi (X j (n )), ( j, ) i , n Z, where
fi (X j (n )) is a generalized If-formula (see [5] for a complete definition). The set i
is a finite non empty subset of 1, . . . , k N. The integer is called the delay. A property
is a relation of the form: P = quanta(X, cond, expr), where quanta {, }, X is a set
of variables. cond is a logical proposition formula constructed over X and expr is an
If-formula that takes values in the Boolean Domain B.
Proving Properties. Mathematical induction is then used to prove that a property P(n)
holds for all nonnegative integers n n0 , where n0 is the time point after which the
property should be True:
Prove that P(n0 ) is True.
Prove that n > n0 , P(n) P(n + 1).
The induction algorithm is implemented in Mathematica using functions like Reduce,
Assuming and Re f ine. It tries to prove a property of the form quanta(X, cond, expr),
otherwise it gives a counterexample using FindCounterExample:
If Prove(quanta(X, cond, expr)) = True then
Return(True)
else
FindCounterExample(cond expr, var)
Finding Counterexamples. The basic idea is to find particular variable values for
which the property is not satisfied. This is implemented using the Mathematica function FindInstance[expr, vars, assum]. It finds an instance of vars that makes expr True
265
if an instance exists, and gives {} if it does not. The result is of the following form
{{v1 instance1, v2 instance2, . . . , vm instancem }}, where vars={v1 , v2 , . . . , vm }.
FindInstance can find instances even if Reduce cannot give a complete reduction. For
example, the Mathematica command FindInstance [x2 ay2 == 1 && x > y, {a, x, y}]
returns {{a 12 , x 12 , y 1}}
We need to insure that the instance is reachable by the SRE before considering it as a
counterexample. For example, we verify the recurrence equation Un = Un1 + 1 against
the property n > 0. Pn = Un > 0. FindInstance transforms Pn to an algebraic one and
gives the instance Un1 2. However, this instance will never be reachable by Un for
U0 = 0. Depending on the reachability, we name two types of SRE instances:
Strong instance: if it is given as a combination of of the design input values. Then,
the counterexample is always reachable.
Weak instance: if it is a combination of input values and recurrence variables values.
In this case,there in no guarantee that the counterexample is reachable.
If the recurrence equations are linear and if the conditions of the If-formula are
monotones, then we can search directly for a reachable strong instance. We can solve
these equations in Mathematica using the function RSolve[Eq1, Eq2 , . . ., Xi (n), . . ., n]. It
returns an explicit solution of the SRE {Eqn } in terms of time relations where the time
n is an explicit parameter. We use RSolve to identify a time point at which a desired
behavior is reached.
3 First-Order Modulator
modulators [3] are used in designing data converters. It is stable if the integrator output remains bounded under a bounded input signal. Figure 2 shows a first-order of
one-bit with two quantization levels, +1V and 1V. The quantizer (input signal y(n))
should be between 2V and +2V in order to not be overload. The SRE of the is :
y(n) = y(n 1) + u(n) v(n 1)
v(n 1) = IF(y(n 1) > 0, 1, 1)
u[n]
y[n]
v[n]
Z-1
Z-1
266
in[1]:= Reduce[
ForAll[{u,y[n-1]}, And[-1< u < 1, -2< y[n-1] < 2 ],
And[(-1+u+y[n-1] 2) ,(1+u+y[n-1] -2)]], {u,y[n-1]}, Reals]
out[1]:= True
Property 2. |u| > 1 |y(0)| 1 |y(n)| > 2. If the input to the modulator does not
conform to the stability requirement in Property 1, then the modulator will be unstable:
in[1]:= FindInstance[And[ 1<u , 1> y>0 ,(-1+u+y>2) ],u,y]
out[1]:= {u 72 , y 12 }
As y = 12 is already a valid state for y[n], then the instance is weak. We refine the
instance by adding it to the constraints list and restart the proof:
in[1]:= Assuming[And[ u
out[1]:= True
7
2
7
2,
Property 3. |u| 1 |y(0)| > 2 n0 > 0 n > n0 . |y(n)| < 2. If the input of the
quantizer is distorted and cause the modulator to be temporarily unstable, the system
will return to stable region and stay stable afterwards; which means that there exist
an n for which the modulator will be stable for all n > n0 . Rsolve is used along with
FindInstance to search for this n0 . We have two cases: y[n 1] > 0 and y[n 1] < 0. In
Mathematica to prove the property, we write:
in[1]:= Eq=y[n+1]==(-1+u+y[n]);
RSolve[Eq&&y[0]== a ,y[n],n]
out[1]:= y[n] a-n+n u
in[2]:= Reduce[a+n+n u>-2 && u>-1 && a Reals,n]
out[2]:= a Reals && u > (-1) && n > 2a
1+u
in[3]:= FindInstance[a < -2 && n > 2 && 1 > u > 0.5 &&
n > 2a
, {a, u,n}]
(1+u
out[3]:= {a -5.5, u 0.75, n 4}
Thus, we have found a time value which provides a proof for the property: n > 2a
1+u .
As the property is formalized using the existential quantifier, it is enough to find one
instance: n0 4 .
4 Conclusions
We have presented how Mathematica can be used efficiently to implement a formal verification methodology for AMS designs. We used the notion of SRE as a mathematical
model that can represent both the digital and analog parts of the design. The induction
based technique traverses the structure of the normalized properties and provides a correctness proof or a counterexample, otherwise. Our methodology overcomes the time
bound limitations of conventional exhaustive methods. Additional work is needed in
267
order to integrate the methodology in the design process, like the automatic generation
of the SRE model from design descriptions given in HDL-AMS languages.
References
1. Gielen, G.G.E., Rutenbar, R.A.: Computer-aided Design of Analog and Mixed-signal Integrated Circuits. In: Proceedings of the IEEE. Volume 88. (2000) 18251852
2. Zaki, M.H., Tahar, S., Bois, G.: Formal Verification of Analog and Mixed Signal Designs:
Survey and Comparison. In: NEWCAS06, Gatineau, Canada, IEEE (2006)
3. Schreier, R., Temes, G.C.: Understanding Delta-Sigma Data Converters. IEEE Press-Wiley
(2005)
4. Al-Sammane, G., Zaki, M.H., Tahar, S.: A Symbolic Methodology for the Verification of
Analog and Mixed Signal Designs. In: DATE07, Nice, France, IEEE/ACM (2007)
5. Al-Sammane, G.: Simulation Symbolique des Circuits Decrits au Niveau Algorithmique. PhD
thesis, Universite Joseph Fourier, Grenoble, France (2005)
Introduction
269
In this section we describe our strategies for the inclusion test of quasicomponents based on the RegularChains library. We refer to [1,6,5] for the
notion of a regular chain, its related concepts, such as initial, saturated ideals,
quasi-components and the related operations.
Let T, U K[X] be two regular chains. Let hT and hU be the respective
products of their initials. We denote by sat(T ) the saturated ideal of T . We
discuss how to decide whether the quasi-component W (T ) is contained in W (U )
or not. An unproved algorithms for this inclusion test is stated in [4]; it appeared
not to be satisfactory in practice, since it is relying on normalized regular chains,
which tend to have much larger coecients that non-normalized regular chains
as veried experimentally in [2] and formally proved in [3].
Proposition 1. The inclusion W (T ) W (U ) holds if and only if the following
both statements hold
(C1 ) for all p U we have p sat(T ),
(C2 ) we have W (T ) V (hU ) = .
If sat(T ) is radical, then condition (C1 ) can be replaced by:
(C1 ) for all p U we have p sat(T ),
which is easier to check. Checking (C2 ) can be approached in dierent
ways, depending on the computational cost that one is willing to pay. The
RegularChains library provides an operation Intersect(p, T ) returning regular
chains T1 , . . . , Te such that we have
V (p) W (T ) W (T1 ) W (Te ) V (p) W (T ).
A call to Intersect can be seen as relatively cheap, since Intersect(p, T ) exploits
the fact that T is a regular chain. Checking
(Ch ) Intersect(hU , T )=,
is a good criterion for (C2 ). However, when Intersect(hU , T ) does not return
the empty list, we cannot conclude. To overcome this limitation, we rely on
Proposition 2 and the operation Triangularize of the RegularChains library.
For a polynomial system, Triangularize(F ) returns regular chains T1 , . . . , Te such
that V (F ) = W (T1 ) W (Te ).
Proposition 2. The inclusion W (T ) W (U ) holds if and only if the following
both statements hold
(C1 ) for all p U we have p sat(T ),
(C2 ) for all S Triangularize(T {hU }) we have hT sat(S).
This provides an eective algorithm for testing the inclusion W (T ) W (U ).
However, the cost for computing Triangularize(T {hU }) is clearly higher than
that for Intersect(hU , T ), since the former operation cannot take advantage of
the fact T is a regular chain.
270
C. Chen et al.
271
Certication
(Deterministic)
RC time(s)
17
1.240
7
0.259
27
8.470
4
8.353
5
60.108
16 123.052
5
7.828
120 135.780
9 101.668
7
6.688
Heuristic
(C1 ) and (Ch )
(with split)
RC time(s)
17
0.270
7
0.147
27
3.358
4
6.429
8 54.455
18 96.492
5
5.180
124 48.756
10 105.598
7
5.881
Certication
(Deterministic)
RC time(s)
17
1.214
7
0.325
27
8.239
4
14.045
8 109.928
18 203.937
5
12.842
120 148.341
10 217.837
7
7.424
References
1. P. Aubry, D. Lazard, and M. Moreno Maza. On the theories of triangular sets. J.
Symb. Comp., 28(1-2):105124, 1999.
2. P. Aubry and M. Moreno Maza. Triangular sets for solving polynomial systems: A
comparative implementation of four methods. J. S. Com., 28(1-2):125154, 1999.
Schost. Sharp estimates for triangular sets. In ISSAC 04, pages
3. X. Dahan and E.
103110. ACM, 2004.
4. D. Lazard. A new method for solving algebraic systems of positive dimension.
Discr. App. Math, 33:147160, 1991.
5. F. Lemaire, M. Moreno Maza, and Y. Xie. The RegularChains library. In Ilias S.
Kotsireas, editor, Maple Conference 2005, pages 355368, 2005.
6. M. Moreno Maza. On triangular decompositions of algebraic varieties. Technical
Report TR 4/99, NAG Ltd, Oxford, UK, 1999. http://www.csd.uwo.ca/moreno.
7. A.J. Sommese, J. Verschelde, and C.W. Wampler. Numerical decomposition of the
solution sets of polynomial systems into irreducible components. SIAM J. Numer.
Anal., 38(6):20222046, 2001.
8. The SymbolicData Project. http://www.SymbolicData.org, 20002006.
9. D. Wang. Elimination Methods. Springer, 2001.
10. G. Lecerf. Computing the equidimensional decomposition of an algebraic closed
set by means of lifting bers. J. Complexity, 19(4):564596, 2003.
Abstract. The surfactant shell stabilising the calcium cabonate core in overbased
detergent additives of lubricant base oils was characterised by computational and
experimental methods, comprising classical force-field based molecular simulations and spin-probe Electron Spin Resonance spectroscopy. An atomistic model
is proposed for the detergents micelle structure. The dynamical behaviour observed during diffusion simulations of three nitroxide spin-probe molecules into
micelle models could be correlated to their mobility as determined from ESR
spectra analysis. The molecular mobility was found to be dependent on the
chemical nature of the surfactants in the micelle external shell.
1 Introduction
The lubrication of modern internal combustion engines requires the addition of specific additives to the base oils to improve the overall performance (minimization of
corrosion, deposits and varnish formation in the engine hot areas) [1]. Calcium sulphonates are the most widely used metallic detergent additives. They are produced by
sulfonation of synthetic alkylbenzenes. The simplest member would be a neutral alkylbenzene sulphonate with an alkyl solubilizing group approximately C18 to C20 or
higher to provide adequate oil solubility. In addition to metallic detergents such as the
neutral sulphonate, modern oil formulations contain basic compounds which provide
some detergency. Their main function, however, is to neutralize acid and to prevent
corrosion from acid attack. It is economically advantageous to incorporate as much
neutralizing power in the sulphonate molecule as possible: excess base in the form of
calcium carbonate can be dispersed in micelles [2, 3] to produce the so-called overbased sulphonates. Dispersions of calcium carbonate stabilized by calcium sulphonates have been characterized [4] using different techniques: electron microscopy [5],
ultracentrifugation [6], and neutron scattering [7]. SAXS results show that overbased
calcium sulphonates appear as polydisperse micelles having an average calcium carbonate core radius of 2.0 nm with a standard deviation of 0.4 nm [8]. The overbased
calcium sulphonates form reverse micelles in oil, consisting of amorphous calcium
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 272279, 2007.
Springer-Verlag Berlin Heidelberg 2007
273
carbonate nanoparticles surrounded by sulphonate surfactants. The polar heads (sulphonate) are attached to the metal core, while the hydrocarbon tails of hydrophobic
nature stabilize the colloidal particle in the non-polar oil medium. Coupling three surface analyses techniques (XPS, XANES and ToF-SIMS) it was observed that there is
a presence of some residual calcium hydroxide in the micellar core which is located
prevalently at the surroundings of the micelle core [9]. ToF-SIMS shows that the molecular structures of detergent molecules are in good agreement with micelles synthesis data; little is still known on surfactant shell physical nature.
The compactness of the surfactant shells could play an important role to prevent
negative consequences due to the interaction of carbonate core with other additives
used in oil formulation or with water molecules. Such interactions cause the calcium
carbonate separation by precipitation. In this study the molecular dynamics within the
surfactant shell was probed in a combined computational and experimental approach
by a small nitroxide such as TEMPO (2,2,6,6-tetramethylpiperidine-N-oxyl) and two
nitroxide-labelled fatty acids (5- and 16-doxyl-stearic acids). In fact, nitroxides are
known to exhibit ESR spectra that depend on the mobility of the spin-probe and the
micro-viscosity of the probe environment. They have been used to evaluate the microstructure of the absorbed layer of surfactants and polymers at the solid-liquid interface
[10-14] and also inside composite polymers [15, 16].
Detailed three-dimensional models were previously proposed for small overbased
micelles containing various classes of surfactants [17-21]. Experimental measurements collected in our laboratory (data not shown) pointed to a couple of important
micelle features: a flat disk shape for the inner core and a tightly packed outer shell.
The core is mainly composed of amorphous calcium carbonate and it is surrounded by
a distribution of surfactant molecules, arranged as a single layer with polar groups
contacting the core surface. The diffusion of TEMPO and labelled fatty acids through
the overbased micelle surfactant shell was simulated by a classical molecular mechanics methodology. The force-field based simulations protocols were applied to detailed
atomistic models, which were built limited to the central portion of the micelle structure and contain all its essential features. The slow molecular motions of the stable
surfactant layer around the rigid inorganic core could be reproduced by performing
molecular dynamics calculations. Furthermore, the movements of the nitroxide spinprobes were studied by an approach combining forced diffusion and constraint-free
molecular dynamics. Stable locations of such small molecules could be defined for
each micelle model under investigation.
It is assumed that the polar head groups of the probe molecules (nitroxide for
TEMPO and carboxylic for fatty acids) tend to be placed on the surface of the calcium
carbonate cores. ESR spectra give information about the viscosity of the local environment at different distances from carbonate surface (at the boundary for TEMPO,
while at 5- and 16- carbon positions for the two spin-labelled fatty acids). In our laboratory different surfactant molecules were used in the synthesis of overbased detergents with high calcium carbonate content, expressed as Total Base Number (the
amount of soluble colloidal carbonate and of metal oxide and hydroxide, measured as
equivalent milligrams of KOH per gram of sample [22]). Three overbased detergents
with TBN=300 and a mixture of mono- and di-alkyl-benzene-sulphonate were
analyzed.
274
2 Experimental Methods
An approach combining computer graphics and atomistic simulations [17, 19]
produced a detailed model for the central portion of the overbased micelle structure.
The essential model features (thickness and internal structure of the core, concentration and location of excess hydroxide ions, density and molecular arrangement of the
shell) were inferred from analytical determinations performed on the detergent micelles that were produced in our laboratories (data not shown). Different relative concentrations of the surfactants were used to build the external shell of three micelle
models, referred to as model a, b, c throughout this paper. The starting molecular and
ionic building blocks were selected and manually manipulated within the InsightII
[23] graphical interface in order to set up initial atomic distributions. A partial micelle
model was built as an inorganic slab surrounded by two surfactant layers, one on top
of each of its largest surfaces. Three-dimensional periodic boundary conditions were
constantly applied during simulations in order to avoid model truncation effects.
Atomic parameters were assigned from the pcff force field [24]. Afterwards an amorphous calcium carbonate core (with a small concentration of hydroxide ions) and a
tight surfactant shell were generated by applying stepwise Monte Carlo docking and
molecular dynamics [25] to limited portions of the micelle models. These simulations
were performed by using InsightII and Discover [23], respectively. Along this part of
the model building process, the uninvolved atoms were kept frozen. Nitroxide spinprobes were then added to the system assembly, after subjecting the obtained micelle
models to extensive energy relaxation. The starting configurations contain a small
cluster of spin-probe molecules, packed in a single layer contacting the micelle surfactant shell. Respectively, 14 molecules of TEMPO, 6 of 5-doxyl-stearic acid and 6
of 16-doxyl-stearic acid were used. The forced diffusion procedure available within
InsightII [23] was carefully tailored to suit the overbased micelle model features. Its
application followed the thorough energy minimisation of each one of the starting
system configurations. Since the molecular motions within tightly packed assemblies
are very slow, they were accelerated by adding a directional force for a very short
time period at the beginning of the simulations, with the effect of gently pushing the
nitroxide spin-probes toward the micelle core. In this way the extremely long process
of generating spontaneous but unfrequent diffusion pathways could be avoided and
the simulations were concentrated on the more interesting task of studying the small
molecule motions throughout the micelle surfactant shell. The potential energy of the
system and the relative distances between the nitroxide groups of the spin-probes and
the micelle core center were derived by analysing the trajectories collected during the
following free molecular dynamics simulations. These values were finally compared
to the results from equivalent simulations, performed without the previous application
of the forced diffusion protocol and used as a reference (non-diffusive) state.
All spin-probe molecules (Aldrich Chemie) were diluted at 0.3 mM concentration
into a mixture of SN150/SN500 (produced by ENI according to ASTM standard
specification) lubricant bases (2/1 by weight). The overbased detergents were dissolved (at 30% by weight) into the spin-probe/lubricant solutions. The ESR spectra
were collected with a Bruker ESP 300E spectrometer conditioned at a temperature
of 50C.
275
3 Results
The diffusion pathways of TEMPO and of 5- and 16- spin-probe labelled stearic acids
were followed and compared in the three model-built partial micelles (identified as a,
b, c) with share an identical inorganic core but differ by the molecular distribution of
surfactants in the external shell.
Epot vs -dist
TEMPO in a, b, c
1500
1000
500
0
-500
0
10
15
Fig. 1. Plot (left): -distance () vs Epotential (kcalmol-1) from the simulation of TEMPO into
micelle models a (grey), b (blue), c (magenta). Pictures (right): simulation boxes with 14 molecules (orange, Van der Waals) diffused into models a (green), b (yellow), c (cyan), composed
of inorganic core (Van der Waals) and surfactant layers (ball and stick).
The force constant application produced diffusive pathways during dynamics trajectories (Fig. 1) for the micelle models containing TEMPO. The average penetration
depth of the TEMPO nitroxide group into the micelle model is shortest and most energetically unfavourable (Fig. 1, left) within model a, while the results are slightly
better with model b and at their best within model c. The potential energy cost payed
for the production of TEMPO diffusive pathways appears high and generally increasing with the force constant value. For fast comparison among the micelle models only
very short trajectories were analysed. Further, longer molecular dynamics simulations
(data not shown) completely release all strain accumulated during the first part of the
Epot vs -dist
d5sta in a, b, c
1500
1000
500
0
-500
0
10
15
Fig. 2. Plot (left): -distance () vs Epotential (kcalmol-1) from the simulation of 5-doxylstearic acid into micelle models a (grey), b (blue), c (magenta). Pictures (right): simulation
boxes with 6 molecules (orange, Van der Waals) diffused into models a (green), b (yellow), c
(cyan), composed of inorganic core (Van der Waals) and surfactant layers (ball and stick).
276
diffusive process, while the final configurations do not differ significantly. One of the
final, energetically relaxed TEMPO diffusion configurations is depicted for each of
the three models a, b, c (Fig. 1, right). While most spin-probe molecules are located
into the surfactant shell, only a few of them can get in contact with the carbonate core.
These results can be compared to the dynamic behaviour of 5-doxyl-stearic acid
(Fig. 2). The average equilibrium penetration depth towards the micelle core (Fig. 2,
left) is similar to what observed with TEMPO, but the generally lower potential
energy cost reveals an easier diffusion through the surfactant shell. Anyway the structure of the two spin-probes is different: the stearic acid bears a nitroxide group laterally grafted to its long tail, therefore the reported distances from the micelle core
(Fig. 2) apply to a longer molecule than in the case of TEMPO (Fig. 1). However, the
order of spin-probe diffusion efficiencies through the three micelle models is again
found as: a < b < c. Three of the resulting relaxed configurations are reported (Fig. 2,
right). Differently from TEMPO, only a small fraction of the labelled stearic acid
molecules is able to reach a deep location into the surfactant shell.
Epot vs -dist
16sta in a, b, c
1500
1000
500
0
-500
0
10
15
Fig. 3. Plot (left): -distance () vs Epotential (kcalmol-1) from the simulation of 16-doxylstearic acid into micelle models a (grey), b (blue), c (magenta). Pictures (right): simulation
boxes with 6 molecules (orange, Van der Waals) diffused into models a (green), b (yellow), c
(cyan), composed of inorganic core (Van der Waals) and surfactant layers (ball and stick).
Comparable results were obtained from the analysis of the 16-doxyl-stearic acid
dynamics trajectories (Fig. 3). The average equilibrium penetration depth (Fig. 3, left)
plotted against the potential energy cost still reveals some differences: model c is
slightly favoured over b, and this last over a. Limited penetration into the surfactant
shell is generally observed, compared to 5-doxyl-stearic acid. This can be attributed to
the nitroxide group location further away from the the spin-probe polar head in the
16-doxyl-stearic acid. Three energetically relaxed configurations, resulting from the
interaction of a cluster of 16-doxyl-stearic acid with models a, b, c, are reported
(Fig. 3, right). As previously evidenced, the penetration of the surfactant shell by
these spin-probe molecules is limited and they do not get in close contact with the
core surface, differently from what happens with TEMPO.
The ESR spectra recorded for spin-probe molecules in solutions containing overbased micelles a, b and c are presented in Fig. 4, 5, and 6. Frequently such spectra
show the superimposition of two components, an isotropic triplet produced by freely
moving molecules and an anisotropic feature typical of a species located in a rigid
277
environment. The characteristic shape of that anisotropic signal originates from the
rotation of cylindrical molecules. In the adopted conditions 2A// hyperfine parallel
coupling could be measured on most recorded spectra; its values are reported on
Table 1.
Fig. 4. ESR spectra of a solution of TEMPO in base lubricant oil containing, respectively,
overbased micelles a (top), b (middle), c (bottom)
The results obtained with TEMPO (Fig. 4) clearly show the two components described above. The 2A// values (Table 1) for the three overbased micelles are quite similar to each other, though a somewhat lower rigidity is suggested for model a (Fig. 4,
top). The aspect of ESR spectrum for model b (Fig. 4, middle) is dominated by the isotropic signal, revealing a lower population of the anisotropic species, compared to the
other two overbased micelle solutions.
Fig. 5. ESR spectra of a solution of 5-doxyl-stearic acid in base lubricant oil containing, respectively, overbased micelles a (top), b (middle), c (bottom)
The 2A// values (Table 1) measured for 5-doxyl-stearic acid (Fig. 5) reveal a less
rigid environment around the nitroxide group, as compared to TEMPO. This is
slightly more evident for models b and c (Fig. 5, middle and bottom).
Fig. 6. ESR spectra of a solution of 16-doxyl-stearic acid in base lubricant oil containing, respectively, overbased micelles a (top), b (middle), c (bottom)
278
With the 16-labelled stearic acid spin-probe (Fig. 6) a 2A// value could be measured (Table 1) only in the spectrum recorded for micelle a (Fig. 6, top), whereas in the
other cases no hyperfine coupling could be detected by the peak analysis.
Table 1. Hyperfine parallel coupling 2A// values measured from the ESR spectra of overbased
micelle solutions with three different spin-probes
Spin-Probe
micelle a
micelle b
micelle c
TEMPO
72.9
74.5
74.1
16-doxyl-stearic acid
69
The differences in mobility observed by comparing the ESR spin probe spectra
mainly ensued from their diverse spin-label distances from the micelle core polar surface. The carboxyl group of both labelled fatty acids was strongly attracted but could
not reach it through the surfactant shell. On the contrary TEMPO was able to penetrate deeply and produced the highest 2A// values. The larger coupling value for 5doxyl spin probe in micelle a is due to peculiar alkyl chain features of that surfactant
shell. This effect is observed only with labelled fatty acids and is put into greater evidence when the nitroxide sits at a long distance from the micelle core as in 16-doxylstearic acid: the 2A// value is higher than for 5-doxyl-stearic acid in micelle a, while
in micelles b and c the mobility is comparable to that of a free molecule in solution.
4 Discussion
The development of new generations of surfactants for lubricant oil additives requires
an accurate characterisation of the reverse micelle structure of the overbased detergents [26]. In this study a combination of experimental and computational results
helped defining a correlation between the chemical nature of the stabilising surfactant
shell and the environmental rigidity imposed upon diffusing small molecules. The
surfactant shell compactness, responsible for the remarkable stabilisation of the
strongly basic micelle core in a non-polar environment, can be reasonably distinguished from shell viscosity. The first property is commonly attributed to a tight
packing of surfactant aromatic moieties [19, 21], while the second is mainly influenced by the molecular features of their alkyl chains. The ESR spectra analysis contributed a quantitative measurement of the micelle shell viscosity, revealing a subtle
modulation of the mobility experienced by spin-probe molecules in different locations
throughout the surfactant shell. The spin-probes diffusion was found to depend on
both their molecular shape and the polar groups location along the structure. The molecular dynamics simulations of such process provided a pictorial description of the
surfactant shell viscosity effects on diffusion. Moreover, its distance dependence from
the micelle core was quantitatively confirmed. Small molecules like TEMPO were
able to penetrate into a highly rigid environment next to the core surface, while labelled fatty acids were shown to fill the available room among surfactant alkyl chains,
further away from the core. Compared with TEMPO, the nitroxide grafted next to the
fatty acid polar group (5-doxyl-stearic acid) experienced higher mobility. When
279
attached to the apolar end (16-doxyl-stearic acid) molecular freedom was found as
high as in solution and an environmnetal rigidity effect was revealed only by the peculiar surfactant shell structure of micelle a. In conclusion, the previously defined
structural features of overbased reverse micelles [2, 17-21, 26] have been further
detailed by this study, in view of developing improved performances as detergent
additives of lubricant base oils.
References
1. Liston, T. V., Lubr. Eng. 48 (1992) 389-397
2. Roman, J.P., Hoornaert, P., Faure, D., Biver, C., Jacquet, F., Martin, J.M., J. Coll. Interface Sci. 144 (1991) 324-339
3. Bandyopadhyaya, R., Kumar, R., Gandhi, K.S., Langmuir 17 (2001) 1015-1029
4. Hudson, L.K., Eastoe, J., Dowding, P.J., Adv. Coll. Interface Sci. 123-126 (2006) 425-431
5. Mansot, J.L. and Martin, J.B., J. Microsc. Spectrosc. Electron., 14 (1989) 78
6. Tricaud, C., Hipeaux, J.C., Lemerle, J., Lubr. Sci. Technol. 1 (1989) 207
7. Markovic, I., Ottewill, R.H., Coll. Polymer. Sci. 264 (1986) 454
8. Giasson, S., Espinat, D., Palermo, T., Ober, R., Pessah, M., Morizur, M.F., J. Coll. Interface Sci. 153 (1992) 355
9. Cizaire, L.; Martin, J.M.; Le Mogne, Th., Gresser, E., Coll. Surf. A 238 (2004) 151
10. Berliner, L.J.: Spin Labeling, Theory and Applications, Academic Press, New York (1979)
11. Dzikovski, B.G., Livshits, V.A., Phys. Chem. Chem. Phys. 5 (2003) 5271
12. Wines, T.H., Somasundaran, P., Turro, N.J., Jockusch, S., Ottaviani, M.F., J. Coll.
Interface Sci. 285 (2005) 318
13. Kramer, G., Somasundaran, P., J. Coll. Interface Sci. 273 (2004) 115
14. Tedeschi, A.M., Franco, L., Ruzzi, M., Padano, L., Corvaja, C., DErrico, G., Phys. Chem.
Chem. Phys. 5 (2003) 4204
15. Maddinelli, G., Montanari, L., Ferrando, A., Maestrini, C., J. Appl. Polym. Sci. 102 (2006)
2810
16. Randy, B, Rabek, J.F.: ESR Spectroscopy in Polymer Research, Springer-Verlag, New
York (1977)
17. Tobias, D.J., Klein, M.L., J. Phys. Chem. 100 (1996) 6637-6648
18. Griffiths, J.A., Bolton, R., Heyes, D.M., Clint, J.H., Taylor, S.E., J. Chem. Soc. Faraday
Trans. 91 (1995) 687-696
19. Griffiths, J.A., Heyes, D.M., Langmuir, 12 (1996) 2418-2424
20. Bearchell, C.A., Danks, T.N., Heyes, D.M., Moreton, D.J., Taylor, S.E., Phys. Chem.
Chem. Phys. 2 (2000) 5197-5207
21. Bearchell, C.A., Heyes, D.M., Moreton, D.J., Taylor, S.E., Phys. Chem. Chem. Phys. 3
(2001) 4774-4783
22. Arndt, E.R., Kreutz, K.L. J.Coll. Interface Sci. 123 (1988) 230
23. Accelrys, Inc., San Diego
24. Hill, J.-R., Sauer, J., J. Phys Chem. 98 (1994) 1238-1244
25. Allen, M.P., Tildesley, D.J.: Computer simulations of liquids, Clarendon, Oxford (1987)
26. Hudson, L.K., Eastoe, J., Dowding, P.J., Adv Colloid Interface Sci 123-126 (2006) 425431
State Key Laboratory of Fine Chemicals, Carbon Research Laboratory, School of Chemical
Engineering, Center for Nano-Materials and Science, Dalian University of Technology, Dalian,
116024, China
2
State Key Laboratory of Materials Modification by Laser, Electron, and Ion Beams, School
of Physics and Optoelectronic Technology and College of Advanced Science and Technology;
Dalian University of Technology, Dalian, 116024, China
zhaojj@dlut.edu.cn, jqiu@dlut.edu.cn
1 Introduction
Soon after the discovery of carbon fullerenes, it was found that a variety of atoms
and molecules can be incorporated into the hollow carbon cages to form endohedral
complex structures, which lead to new nanoscale materials with novel physical and
chemical properties [1-3]. Endohedral fullerenes are not only of scientific interest
but are of technological importance for their potential usage in various fields such
as molecular electronics [4], magnetic resonance imaging [5], quantum computer
[6-9], and nuclear magnetic resonance (NMR) analysis [10, 11]. On the other hand,
tremendous efforts have been devoted to the hydrogen storage in carbon
nanostructures like nanotubes [12]. Thus, the study of endohedral fullerene
complexes with encapsulation of H2 molecule is focus of interests from different
aspects.
In order to achieve endohedral fullerene complex with hydrogen molecule
encapsulated inside, the surface of the fullerene cages must be opened to have a
sufficiently large orifice to let the H2 molecule penetrate. Murata et al. investigated
*
Corresponding authors.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 280 287, 2007.
Springer-Verlag Berlin Heidelberg 2007
281
the synthesis, structure, and properties of novel open-cage fullerenes with heteroatom
on the rim of the orifice [13] as well as the feasibility of inserting small atoms or
molecules through the orifice of an open-cage C60 derivative. Hatzimarinaki et al.
reported a novel methodology for the preparation of five-, seven-, and nine-membered
fused rings on C60 fullerene [14].
Recently, molecular hydrogen was successfully placed inside open-cage
fullerenes [13, 15-21]. Murata et al. [16] reported the first syntheses and X-ray
structures of organic and organometallic derivatives of C60 and the usage of the
encapsulated molecular hydrogen as a magnetic shielding probe. After the
encapsulation of H2, the endohedral cages were then closed through a
molecularsurgery method on a gram scale with maximum 100% H2 incorporation
[20]. Stimulated by these experimental progresses, ab initio computational studies
have been reported for endohedral H2@C60 complex. Slanina et al. performed
theoretical calculations of the encapsulation energy using modified Perdew-Wang
and Becke functionals (MPWB1K) [22]. Shigetaa et al. studied dynamic charge
fluctuation of endohedral fullerene with H2 [23].
In addition to the opening and closing of fullerene cages via chemical
approaches, it is possible to have the as-prepared defect fullerene cages with large
holes [24-26]. For example, Qian et al. detected pronounced peak of C62- on the LDFTMS mass spectrum and performed DFT calculation of the C62 cage with one
4MR [24]. Deng et al. observed the odd-numbered clusters C59 in laser desorption
ionization of C60 oxides [26]. Accordingly, ab initio calculatons have been carried
out for the geometries, energies, and stabilities of these defective fullerene C60
cages [27-29]. Hu et al. computed fullerene cages with large hole. [27, 28].
Lee studied the structure and stability of the defective fullerenes of C59, C58 and
C57 [29].
Despite the existing theoretical efforts, within the best of our knowledge, there is
no ab initio calculation on the hydrogen adsorption and encapsulation in the defect
fullerenes. These nonclassical fullerenes with seven-membered ring (7MR), eightmembered ring (8MR), and so on, may serve well as model systems for the open-cage
fullerenes obtained from other methods. Thus, it would be interesting to study the
relationship between the size of the orifice ring and the barrier for H2 molecule
penetrating from outside to inside of fullerene. In this paper, we address these issues
by conducting DFT calculations on the adsorption and penetration of H2 molecule on
C60 and nonclassical fullerenes with 7MR, 8MR, and 9MR.
2 Computational Methods
All-electron DFT calculations were carried out employing the generalized gradient
approximation (GGA) with the PW91 functional [30] and the double numerical
plus polarization (DNP) basis set that are implemented in the DMol program [31].
Self-consistent field (SCF) calculations were carried out with a convergence criterion
of 10-6 a.u. on the total energy. To ensure high quality results, the real-space global
orbital cutoff radius was chosen to be as high as 5.0 . It is known that DFT method
282
within GGA approximation is usually insufficient for describing the weakly van der
Waals (vdW) interaction. A recent DFT calculation of the hydrogen adsorption on
carbon and boron nitride nanotubes [32] demonstrated that PW91 functional can
roughly reproduce the strength of the vdW interaction between a H2 molecule and a
C6H6 benzene molecule by highly accurate HF-MP2 calculations.
(1)
Eexo=Eexo-H2EcageEH2
(2)
To study the penetration behavior of a H2 molecule from the endohedral site to the
exohedral site, we first adjust the orientation of the central H2 molecule to be
perpendicular to the largest hole on the surface of the fullerene cages. Then, singlepoint energies of the H2-cage complex (H2@C60, H2@C60_4-7-7, H2@C59_4-9,
H2@C59_5-8, H2@C58_5-5-7, H2@C58_4-4-8(5), and H2@C58_4-4-8(6)) were computed
along the penetration path by gradually moving the H2 molecule from the cage center
to the outside of the fullerene cage through the largest hole by a step of 0.3 up to
283
the longest distance of 9 from the cage center. The main theoretical results are
summarized in Table 1 and Figure 2.
H2@C60_4-7-7
H2@C60
H2@C59_4-9
H2@C59_5-8
H2@C58_4-4-8(5)
H2@C58_4-4-8(6)
H2@C58_5-5-7
H2@C62
Fig. 1. Optimized configurations of H2@C62, H2@C60, H2@C60_4-7-7, H2@C59_4-9, H2@C59_58, H2@C58_5-5-7, H2@C58_4-4-8(5)
Table 1. Total energies of the eight optimized cages of perfect and defect fullerenes CX (X=58,
59, 60, 62) and the corresponding endohedral complex H2@CX. The total energy of a H2
molecule from our DFT calculation at the same level is -1.1705707 Hartree. Endohedral
adsorption energy (Eendo) and exohedral adsorption (Eexo) for H2 on CX (X=58, 69, 60) cage as
well as energy barrier for penetration of H2 through the largest hole on the cage.
Eendo-H2
C62
C60
C60_4-7-7
C59_4-9
C59_5-8
C58_5-5-7
C58_4-4-8(5)
C58_4-4-8(6)
(Hartree)
-2363.528743
-2287.401287
-2287.273601
-2249.062584
-2249.095940
-2211.063665
-2211.012397
-2210.892028
Eextro-H2
(Hartree)
-2363.528763
-2287.401230
-2287.273788
-2249.063739
-2249.097171
-2211.064968
-2211.013340
-2210.894158
E(CX)
(Hartree)
-2362.357426
-2286.216007
-2286.102568
-2247.892223
-2247.925697
-2209.893787
-2209.842018
-2209.722625
Eendo
(meV )
-20.3
-17.7
-12.6
5.7
8.9
18.8
5.2
31.8
Eextro
(meV)
-20.9
-16.2
-17.7
-26.3
-24.6
-16.6
-20.5
-26.2
Barrier
(eV)
12.6
7.9
9.1
5.2
8.3
4.6
5.2
The total energy between perfect C60 and defect C60_4-7-7 is 3.47 eV. In other
words, formation of two 7MR and one 4MR on perfect C60 requires 3.47 eV, while
previous calculation found that formation of two 7MR on a (6,6) carbon nanotube is
2.74 eV [33]. The total energy of C59_5-8 is lower than C59_4-9 by 0.91 eV, close to
the theoretical value of 0.89 eV by Lee et al. at level of B3LYP/6-31G* [29]. For C58,
C58_5-5-7 is more stable than C58_4-4-8(5) by 1.40 eV and than C58_4-4-8(6) by 4.67
eV, rather close to previous results of 1.34 eV and 4.77 eV by Lee [29].
284
As shown in Table I, for all the cases studied, the exohedral adsorption of H2
molecule on the surface of fullerene cage is exothermic, with Eexo ranging from -16.6
to -26.3 meV. The exohedral adsorption energy of H2 molecule is insensitive to the
atomic configuration of fullerene cages. Experimentally, the adsorption of a H2
molecule on the graphite surface is -42 meV. It is known that GGA usually
underestimate the surface adsorption energy of vdW type [34]. Therefore, the present
GGA calculation might somewhat underestimate the adsorption energy of H2
molecule.
On the contrary, the endohedral adsorption is either exothermic or endothermic,
with Eendo ranging from -12.6 to 31.8 meV. The incorporation of a H2 molecule in C60
(perfect or defect) and C62 cages is exothermic, while encapsulation of a H2 molecule
in C58 and C59 cages is endothermic. This finding can be roughly understood by the
difference in the interior space of the fullerene cages. In other words, C60 and C62
cages are larger and have more space for the encapsulation of H2 molecule. In a
previous study [22], the best estimate for the encapsulation energy for H2@C60 was at
least 173 meV.
The energy barrier for the penetration of H2 molecule through the largest hole of
the eight different fullerene cages are presented in Table 1 and the corresponding
single-point energies for the penetration paths are shown in Figure 2. First of all, in
Figure 2 we find all the energy paths for the H2 penetration are smooth and
have clear highest peak on them, which correspond to the energy barriers given in
Table 1. Among them, the energy barrier for penetrating the six-membered ring on
C60 cage is highest, i.e., 12.6 eV, and the energy barrier for penetrating the eightmembered ring on C58_4-4-8(5) cage is lowest, i.e, 4.6 eV. The energy barriers for
other cages with 8MR such as C59_5-8 and C58_4-4-8(6) are close, both of 5.2 eV.
For those defect fullerene cages with 7MR, such as C60_4-7-7 and C58_5-5-7, the
energy barriers are around 8 eV. In other words, the penetration barrier reduces
from 12.6 eV for 6MR on perfect C60 cage to about 8eV for 7MR and to about 5eV
for 8MR. However, it is interesting to find that the penetration barrier through the
largest 9MR on the C59_4-9 cage is relatively high, i.e., 9.1 eV.
To summarize, the encapsulation and penetration of H2 molecule on the perfect and
defect C60 cages were investigated using density functional theory at level of
PW91/DNP. Fullerene cages of Cx with x=58, 59, 60, 62 containing 7MR, 8MR, and
9MR were considered. The interaction for H2 molecule adsorption on fullerene cages
is relatively weak and of vdW type. The exohedral adsorption for H2 molecule on the
surface of fullerene cage is exothermic, while the endohedral adsorption is exothermic
for C60 and C62 or endothermic for C58 and C59 cages. The penetration barrier from
endohedral to exohedral site significantly reduces from 12.6 eV for 6MR perfect cage
to about 8 eV for 7MR and to about 5 eV for 8MR on defect cages. However, these
reduced energy barriers for 7MR and 8MR are still too high for a H2 molecule to
penetrate at ambient conditions. Finally, it is worthy to point out that the present
calculations focus on the physisorption and penetration of H2 molecule while the
possible chemisorption of the H2 molecule and corresponding transition states were
not considered.
12
10
8
6
4
2
0
(a)
H2@C60
H2@C60_4-7-7
(b)
H2@C59_4-9
H2@C59_5-8
285
Energy (eV)
10
8
6
4
2
0
8
H2@C58_5-5-7
H2@C58_4-4-8(5)
H2@C58_4-4-8(6)
(c)
6
4
2
0
0
Distance (A)
Fig. 2. Relative energy of H2@CX complex as function of the distance for H2 from cage center
along the path towards center of the largest ring. The zero energy is set to be the total energy
for the H2 in the center of cage H2@C62, H2@C60, H2@C60_4-7-7, H2@C59_4-9, H2@C59_5-8,
H2@C58_5-5-7, H2@C58_4-4-8(5).
286
References
1. Funasaka, H., Sugiyama, K., Yamamoto, K., Takahashi, T.: Magnetic Properties of RareEarth Metallofullerenes, J. Phys. Chem. 99 (1995) 1826-1830
2. Michael, D., John: A. M.: Isolation and Properties of Small-Bandgap Fullerenes, Nature
393, (1998) 668-671
3. Boltalina, O. V., Ioffe, I. N., Sorokin, I. D., Sidorov, L. N.: Electron Affinity of Some
Endohedral Lanthanide Fullerenes, J. Phys. Chem. A 101 (1997) 9561-9563
4. Kobayashi, S., Mori, S., Iida, S., Ando, H., Takenobu, T., Taguchi, Y., Fujiwara,
Taninaka, A., Shinohara, A. H., Iwasa, Y.: Conductivity and Field Effect Transistor of
La2@C80 Metallofullerene, J. Am. Chem. Soc. 125 (2003) 8116-8117
5. Kato, H., Kanazawa, Y., Okumura, M., Taninaka, A., Yokawa, T., Shinohara, H.:
Lanthanoid Endohedral Metallofullerenols for MRI Contrast Agents, J. Am. Chem. Soc.
125 (2003) 4391-4397
6. Harneit, W.: Fullerene-Based Electron-Spin Quantum Computer, Phys. Rev. A 65 (2002)
032322-032327
7. Suter, D., Lim, K.: Scalable Architecture for Spin-based Quantum Computers with a
Single Type of Gate, Phys. Rev. A 65 (2002) 052309-052313
8. Twamley, J.: Quantum-Cellular-Automata Quantum Computing with Endohedral
Fullerenes, Phys. Rev. A 67 (2003) 052318-052329
9. John, J. L., Morton, Al. M., Tyryshkin, A., Ardavan, K., Porfyrakis, S. A., Lyon, G. A.
Briggs, D.: High Fidelity Single Qubit Operations Using Pulsed Electron Paramagnetic
Resonance, Phys. Rev. Lett. 95 (2005) 200501-4
10. Saunders, M., Cross, R. J., Jimnez, V., Shimshi, H. A., Khong, R. A.: Noble Gas Atoms
Inside Fullerenes, Science 271 (1996) 1693-1697
11. Martin, S, J. Hugo, V. A., James, C. R., Stanley, M., Daro, F., Frank. I.: Probing the
Interior of Fullerenes by 3He NMR Spectroscopy of Endohedral 3He@C60 and 3He@C70,
Nature, 367 (1994) 256-258
12. Ding, R. G., Lu, G. Q., Yan, Z. F., Wilson, M. A.: Recent Advances in the Preparation and
Utilization of Carbon Nanotubes for Hydrogen Storage, J. Nanosci. Nanotech. 1 (2003)
7-29
13. Murata, Y., Murata, M., Komatsu, K..: Synthesis, Structure, and Properties of Novel
Open-Cage Fullerenes Having Heteroatom(s) on the Rim of the Orifice, Chem. Eur. J. 9
(2003) 1600-1609
14. Maria H., Michael O.:Novel Methodology for the Preparation of Five-, Seven-, and NineMembered Fused Rings on C60, Org. Lett. 8 (2006) 1775-1778
15. Murata, M.., Murata, Y., Komatsu, K.: Synthesis and Properties of Endohedral C60
Encapsulating Molecular Hydrogen, J. Am. Chem. Soc. 128 ( 2006) 8024-8033
16. Murata, Y., Murata, M., Komatsu, K.: 100% Encapsulation of a Hydrogen Molecule into
an Open-Cage Fullerene Derivative and Gas-Phase Generation of H2@C60, J. Am. Chem.
Soc. 125 (2003) 7152-7153
17. Carravetta, M., Murata, Y., Murata, M., Heinmaa, I., Stern, R., Tontcheva, A., Samoson,
A., Rubin, Y., Komatsu, K.., Levitt, M. H.: Solid-State NMR Spectroscopy of Molecular
Hydrogen Trapped Inside an Open-Cage Fullerene, J. Am. Chem. Soc. 126 (2004) 40924093
287
18. Iwamatsu, S.I., Murata, S., Andoh, Y., Minoura, M., Kobayashi, K., Mizorogi, N., Nagase,
S.: Open-Cage Fullerene Derivatives Suitable for the Encapsulation of a Hydrogen
Molecule, J. Org. Chem. 70 (2005) 4820-4285
19. Chuang, S. C., Clemente, F. R., Khan, S.I., Houk, K. N., Rubin, Y.: Approaches to Open
Fullerenes: A 1,2,3,4,5,6-Hexaadduct of C60, Org. Lett. 8 (2006) 4525-4528
20. Komatsu, K., Murata, M., Murata, Y.: Encapsulation of Molecular Hydrogen in Fullerene
C60 by Organic Synthesis, Science 307 (2005) 238-240
21. Komatsu, K., Murata, Y.: A New Route to an Endohedral Fullerene by Way of
-Framework Transformations, Chem. Lett. 34 (2005) 886-891
22. Slanina, Z. K., Pulay, P., Nagase, S.: H2, Ne, and N2 Energies of Encapsulation into
Evaluated with the MPWB1K Functional, J. Chem. Theory Comput. 2 (2006) 782-785
23. Shigetaa Y., Takatsukab K.: Dynamic Charge Dluctuation of Endohedral Fullerene with
Coencapsulated Be Atom and H2, J. Chem. Phys. 123 (2005) 131101-131104
24. Qian, W., Michael D., Bartherger, S.J., Pastor, K.N., Houk, C. L., Wikins, Y. R.: C62, a
Non-Classical Fullerene Incorporating a Four-Membered Ring, J. Am. Chem. Soc. 122
(2002) 8333-8334
25. OBrien, S. C., Heath, J. R., Curl, R. F., Smalley, R. E.: Photophysics of Buckminster
Fullerene and Other Carbon Cluster Ions, J. Chem. Phys. 88 (1988) 220-230
26. Deng, J. P., Ju, D.D., Her, G. R., Mou, C. Y., Chen, C. J., Han, C. C.: Odd-Numbered
Fullerene Fragment Ions from Ca Oxides, J. Phys. Chem. 97 (1993) 11575-11577
27. Hu, Y. H., Ruckensten, E.: Ab Initio Quantum Chemical Calculations for Fullerene Cages
with Large Holes, J. Chem. Phys. 119 (2003) 10073-10080
28. Hu, Y.H., Ruckensten, E.: Quantum Chemical Density-Functional Theory Calculations of
the Structures of Defect C60 with Four Vacancies, J. Chem. Phys. 120 (2004) 7971-7975
29. Lee, S. U., Han, Y.K.: Structure and Stability of the Defect Fullerene Clusters of C60: C59,
C58, and C57, J. Chem. Phys. 121 (2004) 3941-3492
30. Perdew, J. P., Wang Y.: Accurate and Simple Analytic Representation of the Electron-Gas
Correlation Energy, Phys. Rev. B 45 (1992) 13244-13249
31. Delley, B.: An All-Electron Numerical Method for Solving the Local Density Functional
for Polyatomic Molecules, J. Chem. Phys. 92(1990) 508-517;
32. Zhou, Z., Zhao, J. J., Chen, Z. F., Gao, X. P., Yan, T. Y., Wen, B. P., Schleyer, V.R.:
Comparative Study of Hydrogen Adsorption on Carbon and BN Nanotubes, J. Phys.
Chem. B 110 (2006 )13363-13369
33. Zhao, J. J., Wen, B., Zhou, Z., Chen, Z. F., Schleyer, P. R.: Reduced Li diffusion barriers
in composite BC3 nanotubes, Chem. Phys. Lett. 415 (2005) 323-326
34. Zhao, J. J., Buldum, A., Han, J., Lu, J. P.: Gas molecule adsorption in carbon nanotubes
and nanotube bundles, Nanotechnology 13 (2002) 195-200
1 Introduction
The carbenes and halocarbenes are known as reactive intermediates with intriguing
insertion, addition, and rearrangement reactions. How structural factors (bond angle,
electron-withdrawal by induction and electron-donation by resonance) influence the
relative stabilities of these states is still under scrutiny [1]. The synthetic organic
chemistry [2], organometallic chemistry [3] and other areas, principally; the ArndtEistert chain homologation procedure, the Rimer-Tiemann reaction (formylation of
phenols), cyclopropanation of alkenes [4] and subsequent rearrangements, [5] ketene
and allene [6] preparation, synthesis of strained ring systems, ylide generation and
subsequent rearrangements, cycloaddition reactions [7] and photoaffinity labeling. [8]
are some of the vital fields of wide applications of the carbenes and halocarbenes
Among the different types of reactions of singlet carbenes, the highly characteristic
concerted insertion reactions into Y-H bonds (Y=C, Si, O etc.), involving a threecenter cyclic transition state [9] seem to be important in synthetic organic chemistry
[2]. In the halocarbenes, the halogens would interact with the carbenic carbon through
the oppositely operating electronic [mesomeric (+M) - donor and inductive (-I) -
acceptor] effects. Based on this, the electrophilicity of carbenes has been reported to
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 288295, 2007.
Springer-Verlag Berlin Heidelberg 2007
289
2 Computational Details
Geometries of the reactants, the transition states and the products have been optimized
first at HF/6-31g (d, p) level using Gaussian03W suite of program [13]. The resultant
HF geometries obtained were then optimized at MP2 and B3LYP [14-18] levels. The
standard 6-31g (d, p) [19, 20] basis set has been adopted in all the calculations for
better treatment of 1, 2-hydrogen shift during the insertion process. Further single
point energy calculations have been done at the QCISD level on the MP2 optimized
geometries of the species on the lowest energy reaction pathway.[21] All the
stationary points found, except those obtained at the QCISD level, were characterized
as either minima or transition states (TSs) by computing the vibrational harmonic
frequencies TSs have a Hessian index of one while minima have zero hessian index.
All TSs were further characterized by animating the imaginary frequency in
MOLDEN [22] and by checking with intrinsic reaction coordinate (IRC) analyses.
The calculated vibrational frequencies have been used to compute the thermodynamic
parameters like enthalpies of the reaction. The intrinsic reaction coordinate analyses
have been done for the transition structures obtained at the MP2 level [23]. The
Mulliken [24], NPA [25] and charges derived by fitting the electrostatic potential [26]
methods have been followed for the atomic charges computations, along the reaction
path.
290
M. Ramalingam et al.
product. The energy profile diagram for the insertion reactions of 1CHBr and 1CBr2
into methane is shown in Fig. 1, in which the energies of complex, transition state and
the product are shown with reference to the reactants.
TS
10
Reactants
-10
complex
-30
-50
-70
-90
Product
-110
1
2
3
4
Reaction coordinate
Fig. 1.
- - - - - Energy profile for 1CHBr + CH4 CH3-CH2Br at MP2/6-31g**
Energy profile for 1CBr2 + CH4 CH3-CHBr2 at MP2/6-31g**
1
The optimized geometries of the TSs located in the reaction pathway for 1CHBr and
CBr2 insertion reactions are presented in Fig. 2.
Fig. 2. Geometrical parameters (distance in ) and barriers of the transition states for CHBr
and CBr2 insertion into C-H bond of methane and ethane at B3LYP and MP2 levels. (MP2
values in the parentheses).
291
are 4.28(TS-1) and 20.42 (TS-2) kcal/mol respectively. The MP2 value for 1CHBr
insertion is ca. 1 kcal/mol higher and that for 1CBr2 insertion is ca. 3 kcal/mol lower
than those of the corresponding B3LYP values. Replacement of hydrogen by bromine
in 1CHBr decreases its electrophilicity [29], and deactivates the electrophilic attack to
certain extent by the carbene moiety in the first phase of insertion. So the barrier
heights increase dramatically from 4.28 to 20.42 kcal/mol at B3LYP and 5.36 to
17.36 kcal/mol at MP2 calculations respectively for methane. The barriers computed
at QCISD/6-31g (d, p)//MP2/6-31g (d, p) level are 9.68 kcal/mol and 23.93 kcal/mol
for 1CHBr and 1CBr2 insertion into methane. The TSs are first order saddle points as
determined by numerical vibrational frequency.
In the case of ethane, the barrier heights for 1CHBr insertion are 1.47 and 3.27
kcal/mol respectively at B3LYP and MP2 levels (TS-3). These values have been
enhanced to 15.49 and 12.41 kcal/mol (TS-4) correspondingly for the 1CBr2 insertion.
The relevant geometrical parameters of the transition states for the 1CHBr and 1CBr2
insertions to methane and ethane have been shown in Fig. 2, Table 1 and 2. The TS
for 1CBr2 insertion into methane (TS-2) comes much later along the reaction
coordinate than that for 1CHBr insertion (TS-1) as reflected in the relative C2-H3
bond distances of 1.430 (1.345) and 1.274 (1.202) and the charges on H3,
0.279(0.278) and 0.255 (0.216) respectively. Similar trend has been observed for the
singlet bromocarbenes insertion into ethane.
Table 1. Geometrical parameters (distances in ), barriers and heat of reaction (Hr) in
kcal/mol at the TSs of 1CHBr with alkanes at B3LYP (MP2)/6-31g (d, p)
alkane
rc1h1
rc1c2
rc2h1
Ea
qct
Hr
methane
1.276
(1.370)
1.292
(1.490)
22.280
( (2.336)
2.337
(2.479)
1.273
(1.186)
1.260
(1.151)
4.28
(5.36)
1.47
(3.27)
0.252
(0.187)
0.267
(0.130)
-87.41
(-96.40)
-89.13
(-99.31)
ethane
alkane
rc1h1
methane
1.175
(1.199)
1.160
(1.190)
ethane
rc1c2
rc2h1
Ea
qct
Hr
22.233
(2.239)
1.424
(1.344)
20.42
(17.36)
0.322
(0.382)
-68.95
(-80.85)
2.280
(2.271)
1.470
(1.364)
15.49
(1(2.41)
0.362
(0.402)
-71.27
(-84.86)
292
M. Ramalingam et al.
3.2 Energetics
In general the activation barrier depends upon the polarity of the C-H bond of alkane
and the type of bromocarbene (1CHBr or 1CBr2) to be inserted. The above statement
draws support from the fact that the pair of electrons on the carbene carbon involved
in the bonding process with the C-H of alkane is more and more stabilized with the
degree of bromination. This results in the inhibition of the ease of bond formation due
to the less availability of the electron pair on the cabene carbon. The NBO [30]
analysis quantifies this aspect in terms of the energies of the electron pairs on 1CHBr
and 1CBr2 as -0.4057(-0.5595) and -0.4535 (-0.6019) au respectively according to
B3LYP (MP2) theories with 6-31g (d, p) basis set. The enthalpies of the insertion
reactions of 1CHBr and 1CBr2 into methane are -87.41(-96.40) and 68.95(-80.85)
and that for ethane are 89.31(-99.31) and 71.27(-84.86) kcal/mol at B3LYP (MP2)
levels respectively. The reaction enthalpies (Tables 1 and 2) show that the
exothermicity of the insertion reactions indicating that the transition states analyzed
resemble the reactants rather than the products [31]. The proximity of the transition
states to the reactants deviates with the degree of bromination of methylene.
Irrespective of the level of theory (B3LYP or MP2) followed, the insertions of 1CHBr
form the transition states earlier than that of 1CBr2 as revealed by exothermicity
values.
3.3 Transition State Geometries
A scrutiny of the bond breaking and bond forming steps corresponding to C2-H3 and
C6-H3 respectively during the insertion process reveals that it is a concerted reaction.
It is observed that the formation of C6-H3 bond is earlier than the C2-C6 bond in the
TS in terms of the bond distances (Tables 1 and 2). The C6-H3, C2-H3 and C2-C6
bond distances in TSs of 1CBr2 insertion reactions confirm the late transition state in
comparison to the corresponding values in the 1CHBr insertion reactions. In order to
improve the accuracy of the energetic parameters, single point computations at
QCISD level has also been adopted and values are listed in Tables 1and 2. The barrier
heights predicted at QCISD level are higher than the MP2 values both for methane
and ethane.
3.4 NBO Analyses
NBO analyses of charge distribution in the transition states give some insight into the
insertion reactivity. For all the transition states the second-order perturbative analyses
were carried out for all possible interactions between filled Lewis-type NBOs and
empty non-Lewis NBOs. These analyses show that the interaction between the C2H3 bond of alkane and the empty p orbital of the carbenic carbon (CH PC ) and
the charge transfer from lone pair of electrons of the carbenic carbon to the
antibonding orbital of C2-H1(nC *CH) seems to give the strongest stabilization.
Finally we observed that there was a net charge flow from the alkane moiety to the
inserting carbene moiety. The quantum of charge transfer from alkane to carbene
supporting the donor-acceptor interaction in the transition states for all the insertion
reactions both at B3LYP and MP2 levels have been collected in Tables 1 and 2. The
293
inverse relationship between the quantum of charge transfer and the activation
barriers reveals the fact that for the favorable insertion, the nucleophilicity of the
alkane should have been enhanced either sterically or electronically. This correlation
holds good for the reactions analysed in this investigation
3.5 IRC - Charge Analyses
The total charge on the carbene moiety along the IRC for the insertion reactions of
methane and ethane respectively, as calculated by Mulliken [23], NPA [24] and ESP
[25] methods using theoretical models has been shown in Fig.3. We have chosen
density functional (B3LYP) plot showing charge on the carbene moiety in addition to
the MP2 plot, which serve as our ab initio standard.
-0.1
a
Charge on CHBr2(a.u.)
Charge on CHBr(a.u.)
-0.05
-0.1
-0.15
-0.2
-0.25
-0.3
-0.35
-1
-0.2
-0.25
-0.3
-0.35
-0.4
-0.45
-1.5
-0.4
-2
-0.15
-1
-0.5
Charge on CHBr(a.u.)
-0.16
-0.18
-0.2
-0.22
-0.24
-0.26
-1.5
-0.5
IRC()
-0.2
-0.25
-0.3
-0.35
-0.4
-0.45
-2
-1
0.5
-0.15
-0.14
IRC()
IRC()
0.5
-1
1.5
IRC()
Fig. 3. ()-NPA, (y)-Mulliken and (-)-ESP charge analyses respectively. () and (c)
correspond to the transition states and the turning points respectively. Electrophilic-phase
region right to the turning point Nucleophilic-phase region left to the turning point.
We discuss first the insertion reactions with methane, 1CBrX (X = H, Br) + CH4.
The charge/IRC curves of these reactions are shown in Figs. 3. These two reactions
provide clear evidence for the two-phase mechanism in that there is a distinct turning
point(minimum) in all the charge/IRC curves for the two Hamiltonians (MP2 and
B3LYP) regardless of the model used to compute the atomic charges. For the 1CHBr
insertion (Fig.3 a), the charge minimum occurs after the transition state (TS), whereas
with 1CBr2 (Fig. 3b) the minimum occurs just before the TS. Thus for the 1CHBr
insertion, the TS lies within the first, i.e., electrophilic phase, whereas for 1CBr2 the
TS is reached at the starting point of the nucleophilic phase. This indicates that the TS
for insertion of 1CHBr into the C-H bond in methane occurs much earlier along the
reaction coordinate than does the TS for the corresponding 1CBr2 insertion. This
indication is fully supported both by the TS geometries - for example, the C-H bond
undergoing the insertion is much shorter in the 1CHBr (1.202) TS than in the TS for
1
CBr2 (1.345) insertion (Fig. 2) and by the heat of reaction and barrier height
294
M. Ramalingam et al.
(Tables 1 and 2), which are more negative and much smaller, respectively for 1CHBr
(-96.40; 5.36kcal/mol respectively) than for 1CBr2. (-80.85; 17.36 kcal/mol
respectively). This is in agreement with the Hammond postulate [32]. From the
viewpoint of reactivity, it may be said that the vacant p-orbital on 1CHBr is more
available than that on 1CBr2, thus facilitating the initial electrophilic phase of the
reaction. In other words, reactivity increases in the order 1CBr2 < 1CHBr. There is an
agreement in the overall shape and depth of the curves themselves between the
MP2 and B3LYP plots. However the turning points (minima) in the B3LYP plots are
less pronounced. The NPA and ESP curves are identical in shape at MP2 level.
In the case of ethane, 1CBrX (X = H, Br) + C2H6 the position of the turning points
and the charge/IRC curves for these insertions at MP2 level are shown in (Fig. 3).
Unlike for the 1CHBr insertion into methane, the TS-3 occurs at the turning point
(Fig. 1c), which is in neither electrophilic phase nor nucleophilic phase. But for 1CBr2
insertion into ethane at MP2 (Fig. 1d), the TS is observed at the starting point of the
nucleophilic phase conforming to the belated TS formation in comparison with the TS
for insertion of 1CHBr (Fig. 1c). In general, the nucleophilic phase dominates for
1
CBr2 insertions, whereas the electrophilic phase dominates 1CHBr insertions.
4 Summary
The singlet bromocarbenes insertions into the C-H bond of methane and ethane have
been analyzed and the influence of bromine on the transition states, energetics,
geometrical parameters etc., has been investigated both at B3LYP and MP2 levels of
theory using 6-31g (d, p) basis set. For the bromocarbenes B3LYP, MP2 and QCISD
level theories predict the activation barriers of different heights, varying both with the
extent of bromination and the type of alkane. The NBO analyses have been done with
a view to analyzing the charge transfer processes during the insertion reactions. The
charge/IRC plots provide clear evidences for the two-phase mechanism namely an
electrophilic phase and a nucleophilic phase for insertions of both 1CHBr and 1CBr2
into the C-H bond of methane and ethane respectively. B3LYP functional used in this
work, gives the same picture of the investigated insertion reactions as the more
traditional MP2 method for both geometries and heats of reaction.
References
1.
2.
3.
4.
5.
6.
7.
8.
295
Dobson, R.C., Hayes, D.M., Hoffmann, R.: J. Am.Chem. Soc. 93 (1971) 6188
Fukui, K.: J. Phys. Chem. 74 (1970) 4161
Gaussian 03, Revision C.02, Gaussian, Inc., Wallingford CT (2004)
Lee, C., Yang, W., Parr, R.G.: Physical Review B 37 (1988) 785
Becke, D.: Phys. Rev. A 38 (1988) 3098
Miehlich, B., Savin, A., Stoll, H., Preuss, H.: Chem. Phys. Lett. 157 (1989) 200
Becke, A.D.: J. Chem. Phys. 98 (1993) 5648
Becke, A.D.: J. Chem. Phys. 104 (1996) 1040
Franel, M.M., Pietro, W.J., Hehre, W.J., Bimcley, J.S., Gordon, M.S., DeFrees, D.J.,
Pople, J.A.: J. Chem. Phys., 77 (1982) 3654.
Hariharan, P.C., Pople, J.A.: Chem. Phys. Lett. 66 (1972) 217
Pople, J. A., Gordon, M. H., Raghavachari, K.:.J. Chem. Phys. 87 (1987) 5968
Schaftenaar,G., Noordik,J.H.: J Comput Aid Mol Design 14 (2000) 123
Gonzalez, C., Schlegel, H.B.: J. Chem. Phys.94 (1990) 5523
Mulliken, R.S.: J. Chem. Phys. 23 (1955) 1833
Reed, A.E., Carpenter, J.E., Weinhold, F., Curtiss, L.A.: Chem. Rev. 88 (1988) 8991
Breneman, C.M., Wiberg, K.B.:J. Comput. Chem. 11 (1990) 361
Ramalingam, M., Ramasami, K., Venuvanalingam, P., Sethuraman, V.: J.
Mol.Struct.(Theochem) 755 (2005) 169
Bach, R.D., Andres, J.L., Su, M.D., McDouall, J.J.W.: J. Am. Chem. Soc. 115 (1993)
5768
Gilles, M.K., Lineberger, W.C., Ervin, K.M.: J. Am. Chem. Soc.115 (1993) 1031
Glendening, E.D., Reed, A.E., Carpenter, J.E., Weinhold, F., Curtiss, L.: Chem. Rev. 88
(1988) 899 NB Version 3.1
Carpenter, J.E.: Ph.D. Thesis, University of Wisconsin (Madison, WI) (1987)
Hammond, G.S.: J. Am. Chem. Soc. 77 (1955) 334
Abstract. This is a systematic gas phase study of the gauche and trans conformers of 1-bromo-2-chloroethane. The methods used are second order
Mller-Plesset theory (MP2) and density functional theory (DFT). The basis set
used is 6-311++G(d,p) for all atoms. The functional used for DFT method is
B3LYP. G2/MP2 and CCSD(T) calculations have also been carried out using
MP2 optimised structure. The results indicate that there is more preference for
the trans conformer. The energy difference between the trans and gauche conformers (Etg) and related rotational thermodynamics are reported. The MP2/6311++G(d,p) energy difference (Etg) for 1-bromo-2-chloroethane is 7.08
kJ/mol. The conformers of 1-bromo-2-chloroethane have also been subjected to
vibrational analysis. This study has also been extended to investigate solvent effects using the Self-Consistent Reaction Field methods. The structures of the
conformers are not much affected by the solvents but the energy difference
(Etg) decreases with increasing polarity of the solvent. The results from the
different theoretical methods are in good agreement.
1 Introduction
100 years ago, Bischoff found that C-C single bond in ethane is not completely free
[1]. Due to the hindered internal rotation, 1,2-disubstituted ethanes are the simplest
molecules showing conformational isomerism thus leading to the gauche and trans
conformers. It is generally found that the trans conformer is more stable than the
gauche form and this is due to steric hindrance in the gauche conformation [2]. Theoretical calculations of the energy difference between the trans and gauche conformers
(Etg) have been actively pursued for over 40 years, as they are important parameters
to the conformational analysis of molecules [3].
In previous communications, energy differences (Etg) have been calculated for
1,2-dihaloethanes (XCH2CH2X, X=F, Cl, Br and I) [4] and for 1-fluoro-2-haloethanes
(FCH2CH2X, X=Cl, Br and I) [5] in the gas phase. These studies indicate that except
for 1,2-difluoroethane, the trans conformer is more stable that the gauche conformer.
The energy difference (Etg) increases with the size of the halogen. The atypical
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 296303, 2007.
Springer-Verlag Berlin Heidelberg 2007
297
behaviour of 1,2-difluoroethane has been associated with the gauche effect [6-10] but
the latter is not observed for the 1-fluoro-2-haloethanes. Solvent effects have also
been explored for 1,2-dichloroethane and 1,2-dibromoethane [11]. The study indicates
that an increase in the solvent polarity decreases the energy difference (Etg). It is
worth to point out at this stage that literature involving theoretical studies is limited
with respect to solvent effects [11,12] although polarity of the solvent is known to
affect conformational equilibrium [13].
As part of a continuing series of studies on internal rotation [4-5,11], 1-bromo-2chloroethane has been the target of this work. 1-Bromo-2-chloroethane, being a 1,2disubstituted ethane, can exist as the gauche (C1 symmetry) and trans (Cs symmetry)
conformers as illustrated in Figure 1.
Cl
Cl
Br
H
H
H
Br
2 Calculations
All the calculations have been carried out using Gaussian 03W [15] program suite
and GaussView 3.0 [16] has been used for visualising the molecules. The calculations
have been carried out using second order Mller-Plesset perturbation theory (MP2)
and density functional theory (DFT). The basis set used is 6-311++G(d,p) for all
atoms. The functional used for DFT method is B3LYP. A conformer has first been
optimised and the optimised structure has then been used for frequency calculation
using the same method and basis set involved for optimisation. G2/MP2 and
298
P. Ramasami
B3LYP
Gauche
MP2
Trans
Gauche
Trans
r (C-Cl)/
1.809
1.821
1.776
1.783
r (C-C)/
1.511
1.512
1.512
1.512
r (C-Br)/
1.973
1.980
1.937
1.941
r (C-H)/
1.090
1.087
1.090
1.089
(CCCl)/
113.2
109.0
112.3
109.0
(CCBr)/
113.3
109.2
112.6
109.5
W (ClCCBr)/
70.4
180.0
68.0
180.0
2.826
0.013
3.067
0.015
IA/ GHz
8.870
28.689
8.862
28.909
IB/ GHz
1.427
0.961
1.509
0.991
IC/ GHz
1.283
0.941
1.347
0.970
Dipole moment/ D
299
Gauche
Trans
(Hartrees)
(Hartrees)
'Etg
(kJ/mol)
'Htg
'Htg
'Gtg
(0 K)
(298 K)
(298 K)
(kJ/mol)
B3LYP/6-311++G(d,p)
MP2/6-311++G(d,p)
MP2/ 6-311+G(3df,2p)
G2/MP2
MP3/6-311++G(d,p)
CCSD(T)/6-311++G(d,p)
-3113.0202578
-3111.0127999
-3110.6755106
-3110.7491862
-3110.5697388
-3110.5944679
-3113.0234642
-3111.0154953
-3110.6778141
-3110.7515898
-3110.5725913
-3110.5972661
8.42
7.08
6.05
6.31
(kJ/mol)
(kJ/mol)
7.65
6.45
8.01
6.86
5.88
6.26
7.49
7.35
300
P. Ramasami
B3LYP
3158.9
(1.4)
3138.2
(1.2)
3090.1
(12.3)
3071.8
(8.9)
1469.1
(3.0)
1461.7
(10.8)
1338.6
(25.4)
1296.5
(57.3)
1211.4
(3.2)
1146.6
(1.5)
1038.2
(1.8)
928.7
(9.1)
868.5
(23.1)
658.4
(26.0)
555.0
(13.9)
382.0
(8.7)
241.6
(1.4)
94.1
(0.6)
MP2
3206.7
(1.7)
3190.4
(1.4)
3131.8
(13.9)
3120.2
(9.6)
1481.0
(1.0)
1471.7
(10.6)
1382.1
(24.3)
1337.9
(45.2)
1244.7
(3.0)
1179.2
(2.0)
1077.7
(1.3)
968.6
(6.9)
898.7
(18.5)
724.2
(13.8)
610.6
(8.7)
397.1
(5.5)
251.0
(0.9)
106.6
(0.5)
Gauche
Literature Assignments
[17]
3010
CH2 a str
3010
CH2 a str
2960
CH2 s str
2960
CH2 s str
1428
CH2 scis
1428
CH2 scis
1299
CH2 wag
1260
CH2 wag
1190
CH2 twist
1127
CH2 twist
1025
CC str
923
CH2 rock
856
CH2 rock
664
CCl str
571
CBr str
385
CCCl deform
251
CCBr deform
107
Torsion
B3LYP
MP2
3185.5
(0.9)
3159.9
(0.4)
1292.6
(0.02)
11219.3
(2.6)
975.6
(0.3)
771.1
(3.3)
109.2
(6.0)
3113.3
(7.7)
3102.3
(1.9)
1490.9
(1.5)
1486.8
(5.6)
1320.9
(2.7)
1237.0
(49.6)
1060.7
(1.0)
716.3
(30.4)
616.2
(70.1)
242.2
(0.9)
191.1
(7.8)
3229.5
(1.1)
3207.5
(0.4)
1314.6
(0.02)
1158.3
(3.1)
1011.3
(0.5)
785.0
(2.2)
119.0
(5.1)
3151.1
(10.4)
3142.4
(1.5)
1499.7
(0.04)
1493.9
(5.1)
1372.4
(2.9)
1272.9
(49.1)
1100.8
(1.2)
803.3
(24.5)
688.6
(40.6)
259.1
(0.7)
201.0
(6.4)
Trans
Literature
[17]
3010
CH2 a str
3010
CH2 a str
1259
CH2 twist
1111
CH2 twist
961
CH2 rock
763
CH2 rock
123
Torsion
2960
CH2 s str
2960
CH2 s str
1446
CH2 scis
1444
CH2 scis
1284
CH2 wag
1203
CH2 wag
1052
CC str
726
CCl str
630
CBr str
251
CCCl deform
202
CCBr deform
Assignments
This study has also been extended to study solvent effects. The structures of the
conformers are not much affected by the polarity of the polarity of the solvents. The
effects of solvent on the energy of the gauche and trans conformers and energy difference (Etg) are summarised in Table 4 and illustrated in Figure 3. It can be found that
solvent effects are small but they can be calculated and an increase in the polarity of
301
B3LYP
MP2
Arbritary units
the solvent decreases the energy difference (Etg). However in the polar solvents, the
decrease in the energy of the more polar gauche conformer is larger than the trans
conformer.
MP2-Trans
MP2-Gauche
B3LYP-Trans
B3LYP-Gauche
3500
3000
2500
2000
1500
1000
500
-1
cm
7.0
6.5
6.0
5.5
5.0
MP2
4.5
B3LYP
4.0
3.5
3.0
0
10
20
30
40
Dielectric constant
Fig. 3. Energy difference (Etg) for 1-bromo-2-chloroethane in solvents with different dielectric
constants
302
P. Ramasami
Table 4. Energy and energy difference (Etg) for the conformers of 1-bromo-2-chloroethane in
solvents with different dielectric constants
MP2
5
10
15
20
25
30
35
40
B3LYP
Gauche
Trans
Etg
Gauche
Trans
Etg
(Hartrees)
(Hartrees)
(kJ/mol)
(Hartrees)
(Hartrees)
(kJ/mol)
-3110.5351096
-3110.5356523
-3110.5358531
-3110.5359575
-3110.5360216
-3110.5360649
-3110.5360961
-3110.5361197
-3110.5326210
-3110.5332507
-3110.5334889
-3110.5336138
-3110.5336906
-3110.5337428
-3110.5337807
-3110.5338094
6.53
6.31
6.21
6.15
6.12
6.10
6.08
6.07
-3113.0262618
-3113.0268009
-3113.0269959
-3113.0270967
-3113.0271582
-3113.0271996
-3113.0272295
-3113.0272520
-3113.0242279
-3113.0250547
-3113.0253597
-3113.0255187
-3113.0256163
-3113.0256822
-3113.0257298
-3113.0257657
5.34
4.58
4.30
4.14
4.05
3.98
3.94
3.90
: Dielectric constant.
4 Conclusions
This theoretical study has lead to the determination of the optimised structural
parameters, the energy difference (Etg) and related thermodynamics parameters for
1-bromo-2-chloroethane. The results indicate that there is a preference for the trans
conformer both in the gaseous and solution phases. The calculated frequencies of the
conformers are in agreement with literature values. The energy difference (Etg) decreases as the solvent becomes more polar. The results of this study may be used as a
set of reference for the conformers of 1-bromo-2-chloroethane.
Acknowledgements
The author is grateful to anonymous reviewers for their comments to improve the
manuscript. The author acknowledges the facilities from the University of Mauritius.
References
1. Orville-Thomas W.J.: Internal Rotation in Molecules. Wiley, New York, 1974
2. Dixon D.A., Matsuzawa N., Walker S.C.: Conformational Analysis of 1,2-Dihaloethanes:
A Comparison of Theoretical Methods. J. Phys. Chem. 96 (1992) 10740-10746
3. Radom L., Baker J., Gill P.M.W., Nobes R.H., Riggs N.V.: A Theoretical Approach to
Molecular Conformational Analysis. J. Mol. Struc. 126 (1985) 271-290
4. Ramasami P.: Gauche and Trans Conformers of 1,2-Dihaloethanes: A Study by Ab initio
and Density Functional Theory Methods. Lecture Series on Computer and Computational
Sciences. Vol. 1, Brill Academic Publishers, The Netherlands (2005) 732-734
5. Ramasami P.: Gas Phase Study of the Gauche and Trans Conformers of 1-Fluoro-2Haloethanes CH2F-CH2X (X=Cl, Br, I) by Ab initio and Density Functional Methods: Absence of Gauche Effect. Lecture Notes in Computer Science. Vol. 3993, Springer, (2006)
153-160
303
6. Tavasli M., OHagan D., Pearson C. Petty M.C.: The Fluorine Gauche Effect. Langmuir
Isothems Reprot the Relative Conformational Stability of (+/-)-Erythro- and (+/-)-Threo9,10-Difluorostearic acids. Chem. Commun. 7 (2002) 1226-1227
7. Briggs C.R., Allen M.J., OHagan D., Tozer D.J., Slawin A.M., Geota A.E., Howard J.A.:
The Observation of a Large Gauche Preference when 2-Fluoroethylmanine and 2Fluoroethanol Become Protonated. Org. Biomol. Chem. 2 (2004) 732-740
8. Banks J.W., Batsanov A.S., Howard J.A.K., OHagan D., Rzepa H.S., Martin-Santamaria
S.: The Preferred Conformation of -Fluoroamides. J. Chem. Soc., Perkin Trans. 2. 8
(1999) 2409-2411
9. Wiberg K.B., Murcko M. A., Laidig E.K., MacDougall P. J.: Origin of the Gauche Effect in Substituted Ethanes and Ethenes. The Gauche Effect. J. Phys. Chem. 96 (1992)
6956-6959 and references therein
10. Harris W.C., Holtzclaw J.R., Kalasinsky V.F.: Vibrational Spectra and Structure of 1,2Difluoroethane: Gauche-Trans Conformers. J. Chem. Phys. 67 (1977) 3330-3338
11. Sreeruttun R. K., Ramasami P.: Conformational Behaviour of 1,2-Dichloroethane and 1,2Dibromoethane: 1H-NMR, IR, Refractive index and Theoretical Studies. Physics and
Chemistry of Liquids. 44 (2006) 315-328
12. Wiberg K.B., Keith T.A., Frisch M.J., Murcko M.: Solvent Effects on 1,2-Dihaloethane
Gauche/Trans Ratios. J. Phys. Chem. 99 (1995) 9072-9079
13. McClain B.L., Ben-Amotz D.: Global Quantitation of Solvent Effects on the Isomerization
Thermodynamics of 1,2-Dichloroethane and trans-1,2-Dichlorocyclohexane. J. Phys.
Chem. B 106 (2002) 7882-7888
14. Foresman J.B., Keith T.A., Wiberg K.B., Snoonian J., Frisch M.J.: J. Phys. Chem. 100,
(1996) 16098-16104 and references therein
15. Gaussian 03, Revision C.02, Frisch M.J., Trucks G.W., Schlegel H.B., Scuseria G.E.,
Robb M.A.,. Cheeseman J.R, Montgomery J.A., Jr., Vreven T., Kudin K.N., Burant J.C.,
Millam J.M., Iyengar S.S., Tomasi J., Barone V., Mennucci B., Cossi M., Scalmani G.,
Rega N., Petersson G.A., Nakatsuji H., Hada M., Ehara M., Toyota K., Fukuda R., Hasegawa J., Ishida M., Nakajima T., Honda Y., Kitao O., Nakai H., Klene M., Li X., Knox
J.E., Hratchian H.P.,. Cross J.B, Bakken V., Adamo C., Jaramillo J., Gomperts R., Stratmann R.E., Yazyev O., Austin A.J., Cammi, R. Pomelli C., Ochterski J.W., Ayala P.Y.,
Morokuma K., Voth G.A., Salvador P., Dannenberg J.J., Zakrzewski V.G., Dapprich S.,
Daniels A.D., Strain M.C., Farkas O., Malick D.K., Rabuck A.D., Raghavachari K.,
Foresman J.B., Ortiz J.V., Cui Q., Baboul A.G., Clifford S., Cioslowski J., Stefanov B.B.,
Liu G., Liashenko A., Piskorz P., Komaromi I., Martin R.L., Fox D.J., Keith T., Al-Laham
M.A., Peng C.Y., Nanayakkara A., Challacombe M., Gill P.M.W., Johnson B., Chen W.,
Wong M.W., Gonzalez C., and Pople J.A., Gaussian, Inc., Wallingford CT, 2004.
16. GaussView, Version 3.09, R. Dennington II, T. Keith, J. Millam, K. Eppinnett, W. L.
Hovell, R. Gilliland, Semichem, Inc., Shawnee Mission, KS, 2003.
17. Shimanouchi T.: Tables of Molecular Vibrational Frequencies Consolidated Volume I.
National Bureau of Standards (1972) 1-160
Introduction
305
306
associated with how fast the extra charge is added to the system. Moreover, the
created bipolaron is trapped by the breather.
Model
(tji,i+1 Cji+1,s Cji,s + H.c)
i,s
1
1
(nji )(nji )
2
2
i
+V
(nji 1)(nji+1 1)
+U
K
2
yj2i +
M
i
u 2ji ,
j = 1, 2
(2)
and
Hint =
q
(3)
i=p,s
(4)
Ci,s
(Ci,s ) is the creation (annihilation) operator of a electron with spin s at
307
The dynamics of the lattice part is made with the Euler-Lagrange equations
and the Schr
odinger -electrons equation of motion is solved within the unrestricted time-dependent Hartree-Fock approximation. It should be pointed out
that both equations depend explicitly on the occupation number of the oneparticle electronic states.[12]
In order to perform the dynamics, an initial self-consistent state is prepared
solving the equations of motion for the lattice and -electrons simultaneously.[20]
Periodic boundary conditions are considered. The initial state is taken in equilibrium (E = 0). Therefore, we have u n = 0 for all n in the initial state.
The equations of motion are solved by discretizing the time variable with a
step t. The time step t is chosen so that the change of ui (t) and A(t) during
this interval is always very small in the electronic scale.[12]
Simulation Results
One more hole is injected in polymer chains bearing already positively charged
polarons. Since charged excitations defects can be created by quite dierent
means: photoexcitations, chemical doping or direct charge injection via electronic
device, we performed simulations where the extra electron is taken from the
system during dierent time intervals (T ). We varied T from 0 to 100 fs. The
shorter time intervals simulate photoexcitations and the direct charge injection.
The longer time intervals account for the dierent impurity addition procedures
associate with chemical doping. The electron is taken from the highest occupied
level using the following expression
OF (t) =
1
(t ti )
[1 + cos(
)]
2
T
(5)
for t between ti and ti + T . Here, ti is the time when the hole injection begins
and OF (t) is the occupation number of the Fermi level.
We have considered two polymeric interacting chains with N = 60 sites each,
containing initially two positively charged polaron in all simulations. We use a
mean charge density i (t), derived from the charge density i (t), and the order
parameter yi (t) [yi (t) = ui+1 (t) ui (t)] to analyze the simulations.[19] The
dynamics of the system is followed during 100,000 time steps spanning 400 fs.
A smooth transition of one of the polarons to a bipolaron, in its respective
chain, is obtained after the adiabatic removal (T > 80 fs) of the third electron.
Figure 1 shows the time evolution of the energy levels neighboring and inside
the energy gap. It can be seen that the energy levels associated with the polaron
move in the middle-gap direction assuming a bipolaron conformation. The small
oscillation of the levels are due to lattice oscillations induced by the hole injection
perturbation.
Figure 2 presents bond length order parameter of chains 1 and 2. It should be
noted that we use periodic boundary conditions, therefore, the order parameter
of chain 1 (Fig. 2(a)) represents a polaron around site 1 (it begins at site 45,
it goes until site 60 and it continues from site 1 to site 15). Positively charged
308
1.5
Energy (eV)
0.5
0.5
1.5
0
100
200
Time (fs)
300
400
Fig. 1. Time evolution of energy levels inside and around the gap in an adiabatic
transition. The spin up levels are shown. The system changes from polaron levels (t <
80 fs) to bipolaron levels conguration (t > 100 fs).
polarons repel each other. They stay apart from each other as far as possible.
The polaron-bipolaron transition occurs in chain 2. This clear transition happens in chain 2 as an apparent spontaneous symmetry breaking. Nevertheless,
the presence of an impurity on chain 2 leads to a symmetry breaking and the
association of one polaron to it. It is obtained that the polaron associated with
the impurity makes the transition to bipolaron.
Eects of interchain interaction were addressed by varying the extent of the
interacting region (p and q in the Hamiltonian). For the transitions where two
chains interact only on half of their length (p=31 and q=60), one polaron stays
in the interacting region and the other stays in the non-interacting region due
again to Coulomb repulsion. It is obtained that the polaron-bipolaron transition
happens with the polaron in the interacting region. Therefore, the interchain
interaction is also eective in promoting the transition.
Figure 3 presents a very special case where two polarons merge to create a
bipolaron. This case is quite the originally suggested process for the polaronbipolaron transition.[21] Here, after the hole injection, there appears an exciton lasting for about 200 f s and then the bipolaron takes place in the lattice.
Nevertheless, it should be noted that this happens when one chain has a high
density of polarons and the other one has initially none of them. It can be
clearly seen that two polarons in chain 1 merges to a single bipolaron and another polaron appears in chain 2 due to interchain interaction and Coulomb
repulsion.
The fast removal of the third electron (T < 80 fs) leads to the appearance of
a breather oscillation mode in the lattice. This breather appears at the bipolaron
position. As a matter of fact, the bipolaron is trapped by the breather.[19]
309
0.08
0.04
Chain 1
(a)
Chain 2
(b)
0
0.12
0.08
0.04
10
20
30
Sites
40
50
60
Fig. 2. Evolution of the bond length order parameter of two neighboring chains. Solid
line: initial conguration; dotted line: nal conguration. The polaron on chain 1 (Fig.
2(a)) remains stable after the extra electron is adiabatically taken from the system,
but the polaron on chain 2 (Fig. 2(b)) makes a transition and becomes a bipolaron.
Polarons on the Same Chain
0.1
Chain 1
0.08
0.06
0.04
0.02
0
0.1
Chain 2
0.08
0.06
0.04
0.02
0
10
20
30
Sites
40
50
60
This trapping of the Bipolaron leads to a reduction of the Bipolaron mobility. Furthermore, the breather oscillation frequency could be detected by infrared
310
spectroscopy and its presence in association with bipolarons should have eects
on the overall conduction properties of the material.
The distinction between adiabatic and non-adiabatic injection eects is
thought to be associated to the relaxation processes involved at the electronic
level.
Conclusions
311
References
1. Fernandes, M. R., Garcia, J. R., Schultz, M. S., and Nart, F. C.: Polaron and
bipolaron transitions in doped poly(p-phenylene vinylene) lms. Thin Sol. Films
474 (2005) 279.
2. Burroughes, J., Bradley, D. D. C., Brown, A. R., Marks, R. N., Mackay, K., Friend,
R. H., Burn, P. L., and Holmes, A. B.: Light-emitting diodes based on conjugated
polymers. Nature 347 (1990) 539.
3. Jeckelmann, E., and Baeriswyl, D.: The metal-insulator transition in polyacetylene:
variational study of the Peierls-Hubbard model. Synth. Met. 65 (1994) 211.
4. Furukawa, Y.: in P rimary P hotoexcitations in Conjugated P olymers, edited by
N. S. Sariciftci (World Scientic, Singapore, 1997) 496.
5. Steinm
uller, D., Ramsey, M. G., and Netzer, F. P.: Polaron and bipolaronlike states
in n-doped bithiophene. Phys. Rev. B 47 (1993) 13323.
6. Cik, G., Sersen, F., and Dlhan, L. D.: Thermally induced transitions of polarons
to bipolarons in poly(3-dodecylthiophene). Synth. Met. 151 (2005) 124.
7. Kaufman, J. H., and Colaneri, N.: Evolution of Polaron States into Bipolarons in
Polypyrrole. Phys. Rev. Lett. 53 (1984) 1005.
8. Geskin, V. M., and Bredas, J. -L.: Polaron Pair versus Bipolaron on Oligothiophene
Chains: A Theoretical Study of the Singlet and Triplet States. ChemPhysChem 4
(2003) 498.
9. Saxena, A., Brazovskii, S., Kirova, N., Yu, Z. G., and Bishop, A. R.: Stability of
bipolarons in conjugated polymers. Synth. Met. 101 (1999) 325.
10. Xie, S-J., and Mei, L-M.: Transition between bipolaron and polaron states in doped
heterocycle polymers. Phys. Rev. B 50 (1994) 13364.
11. Yao, K. L., Han, S. E., and Zhao, L.: The polaron and bipolaron states of
poly(phenylene vinylene). J. Chem. Phys. 114 (2001) 6437.
12. e Silva, G. M.: Electric-eld eects on the competition between polarons and bipolarons in conjugated polymers. Phys. Rev. B 61 (2000) 10777.
13. Irle, S., and Lischka, H.: Combined ab initio and density functional study on polaron to bipolaron transitions in oligophenyls and oligothiophenes. J. Chem. Phys.
107 (1997) 3021.
14. Bredas, J. L., Scott, J. C., Yakushi, K., and Street, G. B.: Polarons and Bipolarons
in polypyrrole: Evolution of the band structure and optical spectrum upon doping.
Phys. Rev. B 30 (1984) 1023.
15. Farias, G. A., da Costa, W. B., and Peeters, F. M.: Acoustical polarons and bipolarons in two dimensions. Phys. Rev. B 54 (1996) 12835.
16. Verbist, G., Peeters, F. M., and Devreese, J. T.: Large bipolarons in two and three
dimensions. Phys. Rev. B 43 (1991) 2712.
17. Su, W. P., Schhrieer, J. R., and Heeger, A. J.: Soliton excitations in polyacetylene.
Phys. Rev. B 22 (1980) 2099; 28 (1983) 1138.
18. Johansson, A., and Stafstr
om, S.: Polaron Dynamics in a System of Coupled Conjugated Polymer Chains. Phys. Rev. Lett 86 (2001) 3602.
19. Lima, M. P., and e Silva, G. M.: Dynamical evolution of polaron to bipolaron in
conjugated polymers. Phys. Rev. B 74 (2006) 224304.
20. Pinheiro, C. da S., and e Silva, G. M.: Use of polarons and bipolarons in logical
switches based on conjugated polymers. Phys. Rev. B 65 (2002) 94304.
21. Moses, D., Wang, J., Yu, G., and Heeger, A. J.: Temperature-Independent Photoconductivity in Thin Films of Semiconducting Polymers: Photocarrier Sweep-Out
Prior to Deep Trapping. Phys. Rev. Lett 80 (1998) 2685.
1 Introduction
The motivation for research on Ce(III) has been mainly focused on developing
materials for phosphor and scintillator applications [1].
Recently, we introduced Sparkle/AM1 [2], a new paradigm for semiempirical
quantum chemical calculations on lanthanide complexes. Sparkle/AM1 lanthanides
function as new elements to the semiempirical quantum chemistry molecular orbital
model AM1 [3]. That is, when a lanthanide complex is calculated, the lanthanide is
represented by a sparkle, whereas the ligands are modeled by AM1.
The Sparkle model assumes that the angular effects of the f orbitals are negligible,
and do not take them into account. The sparkle model replaces the lanthanide(III) ion
by a Coulombic charge of +3e superimposed to a repulsive exponential potential of
the form exp(-r), which accounts for the size of the ion; provides three electrons to
the orbitals of the ligands; adds two Gaussian functions to the core-core repulsion
energy term; and includes the lanthanide atomic mass. Thus, the sparkle model
assumes that the lanthanide trications behave like simple ions, without any angular
steric properties.
Indeed, Sparkle/AM1 was mainly designed to predict geometries of lanthanide
complexes at a level of accuracy useful for complex design. Recent research on
lanthanide complexes has in fact indicated that Sparkle/AM1 coordination polyhedron
geometries are comparable to, if not better than geometries obtained from the best
contemporary ab-initio full geometry optimization calculations with effective core
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 312318, 2007.
Springer-Verlag Berlin Heidelberg 2007
313
potentials [4]. Besides, Sparkle/AM1 calculations are hundreds of times faster [2],
and have been recently employed for the study of quantum yields of luminescence for
some complexes [5]-[9].
PM3 [10],[11] was introduced in 1989 as a more accurate semiempirical model,
giving lower average errors than AM1 [3], mainly for the enthalpies of formation.
PM3 also became very popular [12]. More recently, Stewart completed the
parameterization of PM3 to all non-radioactive elements of the main group, excluding
the noble gases, thus largely amplifying its usefulness [13].
In order to broaden the range of applications of our sparkle model, we advance, in
the present article, Sparkle/PM3 parameters for the calculation of Ce(III) complexes
to complement the Sparkle/AM1 parameters that have already been published for
Ce(III) ion [14].
2 Parameterization Procedure
The parameterization procedure used for Ce(III) was essentially the same as the one
described in our previous work on Sparkle/AM1 for Ce(III)[14]. Accordingly, we
only used high quality crystallographic structures (R-factor < 5%) taken from the
"Cambridge Structural Database 2003" (CSD) [15]-[17], having found a total of 37
structures of complexes of Ce(III). As training sets, we used the same three subsets of
15 complexes each, already chosen for the parameterization of Sparkle/AM1 for the
same ions[14].
The Sparkle/PM3 parameters found for the cerium (III) ion are shown in Table 1.
Table 1. Parameters for the Sparkle/PM3 model for Ce(III)
GSS
ALP
a1
b1
c1
a2
b2
c2
1
EHEAT (kcal.mol-1)
AMS (amu)
1
Sparkle/PM3 - Ce(III)
58.5701153062
2.5665085968
1.8026688761
7.5971870028
1.8009003439
0.1319892158
9.6116040841
3.0613741124
944.7
140.1150
The heat of formation of the Ce(III) ion in Sparkle/PM3 was obtained by adding to
the heat of atomization of cerium, its first three ionization potentials.
314
UMEi =
1
ni
ni
R
j =1
CSD
i, j
Ricalc
,j
(1)
where ni is the number of ligand atoms directly coordinating the lanthanide ion. Two
cases have been examined: (i) UME(Ln-L)s involving the interatomic distances Rj
between the lanthanide central ion, Ln, and the atoms of the coordination polyhedron,
L, important to complex design; and (ii) UMEs of all the edges of the pyramids, that
is, of the interatomic distances Rj between the lanthanide central ion and the atoms of
the coordination polyhedron, as well as all the interatomic distances Rj between all
atoms of the coordination polyhedron. Table S1 of the supplementary material
presents the UME(Ce-L)s and UMEs for both Sparkle/PM3 and Sparkle/AM1 for thirtyseven cerium (III) complexes.
Table 2 presents unsigned mean errors for both Sparkle/PM3 and Sparkle/AM1 for
various types of distances in the Ce(III) complexes considered. Results indicate that
the two models are essentially equivalent. Distances between the cerium (III) ion and
its directly coordinated ligand atoms are predicted with higher accuracy than either
the distances between two Ce(III) ions in dilanthanide compounds, or the distances
between atoms of the faces of the coordination polyhedron. Luckily that is so, because
radial lanthanide ion-ligand atom distances are far more important for luminescent
complex design [18].
Table 2. Sparkle/AM1 and Sparkle/PM3 unsigned mean errors for all types of sets of distances
involving the central cerium (III) ion, Ce, and the ligand atoms of the coordination polyhedron,
L, for thirty-seven Ce(III) complexes considered
Ce Ce
Ce O
Ce N
L L
Ce L and CeCe
Ce-L, CeCe and L-L
Sparkle/AM1
0.212
0.081
0.073
0.208
0.083
0.174
Sparkle/PM3
0.212
0.078
0.067
0.190
0.080
0.155
Assuming that the sparkle model is a good representation of the lanthanide ion, as
well as of its interactions with the ligands, the distribution of these UMEs should be
random around a mean, whose value can be used as a measure of accuracy of the
model. Since the UMEs are positive, defined in the domain (0,), they should follow
the gamma distribution which has the probability density function g(x; k, ), where
x > 0 stands for the UMEs, k > 0 is the shape parameter, and > 0 is the scale
parameter of the gamma distribution. The expected value of the gamma distribution is
simply k. The shape and scale parameters were estimated with the method of
maximum likelihood in order to obtain the gamma distribution fit of the UME data.
The quality of the gamma distribution fit can be assessed via the one-sample nonparametric Kolmogorov-Smirnov [19] test. For the hypothesis that the UME values
follow a gamma distribution not to be rejected at the usual level of 5%, the p-value of
the test statistic must thus be larger than 0.05.
315
Number of Complexes
24
Cerium (III)
22
20
Sparkle/PM3
18
16
14
= 0.0142
12
k = 5.61
10
8
p-value = 0.062
mean = 0.080
4
2
0
0.00
0.05
0.10
0.15
0.20
0.25
0.30
0.35
0.40
0.45
0.50
UME(Ce-L) ()
Fig. 1. Probability densities of the Gamma distribution fits of the UME(Ce-L)s for the Ce(III)
Sparkle/PM3 model, superimposed to histograms of the same data for all 37 Ce(III) complexes
considered; where k is the shape parameter and is the scale parameter of the gamma
distribution; the p-value is a measure of the significance of the gamma distribution fit; and
mean is the expected value of the fitted gamma distribution, which is set to be equal to the
arithmetic mean value of the 37 UME(Ce-L)s
316
0.40
0.35
Average
UMEs
Sparkle/PM3.............0.067
Sparkle/AM1.............0.072
RHF/STO-3G/ECP.... 0.072
Ce(III)
AFURUO
polydentate
ZUNMAW
tridentate
0.10
HIXWEQ
FILKEQ
bidentate
0.15
monodentate
0.20
nitrate
0.25
-diketone
UME(Ce-L) ()
0.30
0.05
0.00
PEKWEH
TADKEP
Calculated Structures
Fig. 2. Unsigned mean errors, UME(Ce-L)s, involving only the interatomic distances Rj between
the cerium central ion and the atoms of the coordination polyhedron (in ), obtained from the
Sparkle/PM3, Sparkle/AM1 and RHF/STO-3G/ECP ab-initio calculations of the ground state
geometries, for each of the six representative cerium(III) complexes, identified by their
respective Cambridge Structural Database
0.40
0.10
polydentate
bidentate
0.15
monodentate
0.20
nitrate
0.25
-diketone
UME ()
0.30
Average
UMEs
Sparkle/PM3.............0.105
Sparkle/AM1.............0.119
RHF/STO-3G/ECP.... 0.171
tridentate
0.35
Ce(III)
0.05
0.00
PEKWEH
ZUNMAW
AFURUO
TADKEP
HIXWEQ
FILKEQ
Calculated Structures
Fig. 3. Unsigned mean errors, UME(Ce-L)s, (in ), between the cerium central ion and the atoms
of the coordination polyhedron, as well as the interatomic distances Rj between all atoms of the
coordination polyhedron obtained from the Sparkle/PM3, Sparkle/AM1 and RHF/STO-3G/ECP
ab-initio calculations of the ground state geometries, for each of the six representative
cerium(III) complexes identified by their respective Cambridge Structural Database
317
For Ce(III) we chose six of these complexes to have their geometries fully
optimized with the model chemistry RHF/STO-3G/ECP. The chosen complexes were
selected to be representative of the various classes of ligands (-diketones, nitrates,
monodentates, bidentates, tridentates, and polydentates) present in the validation set
(see Fig. S2 in supplementary material).
Figure 2 and 3 presents the average UME(Ce-L) and UME values for Sparkle/PM3,
Sparkle/AM1 and RHF/STO-3G/ECP full geometry optimizations of the six
complexes considered. Clearly, all three model chemistries are comparable, with
Sparkle/PM3 being in average slightly superior to Sparkle/AM1, which is, in turn,
superior to RHF/STO-3G/ECP for the prediction of the geometries of the whole
coordination polyhedra.
4 Conclusion
The most accurate ab initio effective core potential full geometry optimization
calculations that can be nowadays carried out on cerium (III) complexes, of a size
large enough to be of relevance to present-day research, exhibit the same accuracy of
either Sparkle/PM3 or Sparkle/AM1 models. Our results do indicate that the Sparkle
model is seemingly an accurate and statistically valid tool for the prediction of
coordination polyhedra of lanthanide complexes.
More importantly, the ability to perform a screening on many different putative
structures of lanthanide complexes in a combinatorial manner, made possible by both
Sparkle/PM3 and Sparkle/AM1, may prove to be of importance for complexes design
research.
Acknowledgments. We appreciate the support from CNPq (Brazilian agency), from
the Instituto do Milnio de Materiais Complexos, and the Cambridge Crystallographic
Data Centre for the Cambridge Structural Database.
Supplementary Material Available: Instructions and examples on how to
implement the Ce(III) Sparkle/PM3 model in Mopac93r2. Parts of the codes of
subroutines Block.f, Calpar.f and Rotate.f that need to be changed, as well as their
modified versions for Ce(III). Examples of Mopac93r2 crystallographic geometry
input (.dat) and optimized geometry summary output (.arc) files from Sparkle/PM3
calculations for the Ce(III) complex GIFCUT10 and for the dicerium complex
XEXCUY. Tables of UME(Ce-L)s and UMEs for both Sparkle/PM3 and Sparkle/AM1
for Ce(III). Figure with gamma distribution fits of the UME data for both
Sparkle/PM3 and Sparkle/AM1 models.
References
1. Weber, M.J., Lecoq, P., Ruchti, R.C., Woody, C., Yen, W.M., Zhu, R.Y., Scintillator and
Phosphor Materials, Materials Research Society Symposium Proceedings Materials
Research Society, Pittsburgh (1994) Vol.348.
2. Freire, R.O., Rocha, G.B., Simas, A.M. Inorg Chem 44 (2005) 3299.
318
3. Dewar, M.J.S., Zoebisch, E.G., Healy, E.F., Stewart, J.J.P. J. Am. Chem. Soc. 107 (1985)
3902.
4. Freire, R.O., Rocha, G.B., Simas, A.M. J. Mol. Model, 12 (2006) 373.
5. Lima, P.P., Ferreira, R.A.S., Freire, R.O., Paz, F.A.A., Fu, L.S., Alves, S., Carlos, L.D.,
Malta, O.L. Chem Phys Chem 7 (2006) 735.
6. Pavithran, R., Kumar, N.S.S., Biju, S., Reddy, M.L.P., Junior, S.A., Freire, R.O. Inorg.
Chem. 45 (2006) 2184.
7. Faustino, W.M., Malta, O.L., Teotonio, E.E.S., Brito, H.F., Simas, A.M., de As, G.F. J.
Phys. Chem. A 110 (2006) 2510.
8. dos Santos, E.R., dos Santos, M.A.C., Freire, R.O., Junior, S.A., Barreto, L.S., de
Mesquita, M.E. Chem. Phys. Lett. 418 (2006) 337.
9. Pavithran, R., Reddy, M.L.P., Junior, S.A., Freire, R.O., Rocha, G.B., Lima, P.P. Eur. J.
Inorg. Chem. 20 (2005) 4129.
10. Stewart, J.J.P. J. Comput. Chem. 10 (1989) 209.
11. Stewart, J.J.P. J. Comput. Chem. 10 (1989) 221.
12. Stewart, J.J.P. in: Encyclopedia of Computational Chemistry, P. v. R. Schleyer (editor-inchief),John Wiley & Sons Ltd, Athens, USA (1998).
13. Stewart, J.J.P. J. Mol. Model, 10 (2006) 155.
14. Freire, R.O., do Monte, E.V., Rocha, G.B., Simas, A.M. Inorg Chem 691 (2006) 2584.
15. Allen, F.H. Acta Crystallogr. B, 58 (2002) 380.
16. Bruno, I.J., Cole, J.C., Edgington, P.R., Kessler, M., Macrae, C.F., McCabe, P., Pearson,
J., Taylor, R. Acta Crystallogr. B, 58 (2002) 389.
17. Allen, F.H., Motherwell, W.D.S. Acta Crystallogr. B, 58 (2002) 407.
18. de S, G.F., Malta, O.L., Donega, C.M., Simas, A.M., Longo, R.L., Santa-Cruz, P.A., da
Silva Jr., E.F. Coord. Chem. Rev. 196 (2000) 165.
19. William, J.C. Practical nonparametric statistics ed. John Wiley & Sons, New York.
1 Introduction
Organic light-emitting diodes (OLEDs) have been the subjects of intensive
investigation, since they were reported by Tang et al. [1] The major challenges remain,
including the need to develop a blue electroluminescence emitter material, which is
essential for the development of a full color display based on the color changing medium
technology or white emission. [2, 3] OLEDs based on silicon derivatives exhibit
excellent performance with external electroluminescence quantum efficiencies close to
the theoretical limit for a fluorescent material. [4] Compared with spirobifluorene,
spirosilabifluorene may have an improved morphological stability in films.[5] They
have also been extensively studied as charge transport materials, and the frontier
molecular orbitals give the main contribution to charge-transfer interactions. [6, 7]
Recently, a series of aryl-substituted 9,9-spiro-9-silabifluorene (SSF) derivatives,
2,2-di-tert-butyl-7,7-diphenyl-9,9-spiro-9-silabifluorene (1a), 2,2-di-tert-butyl-7,7
-dipyridin-2-yl-9,9-spiro-9-silabifluorene (1b), 2,2-di-tert-butyl-7,7-diphenyl-4-yl9,9-spiro-9-silabifluorene (1c), and 2,2-di-tert-butyl-7,7-bis(2,2-bipyridin-6-yl)-9,
9- spiro-9-silabifluorene (1d) were prepared by Lee et al.[4] The absorption spectrum
of each of the novel spiro-linked siloles was found showing a significant red shift
relative to that of the corresponding carbon analogue. [8] The corresponding solid-state
films were reported to exhibit intense violet-blue emission (PL = 398-415 nm).
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 319 326, 2007.
Springer-Verlag Berlin Heidelberg 2007
320
2 Computational Details
The structures of spirosilabifluorene derivatives (1a-1d) and the designed derivatives
were provided in Figure 1. For the sake of comparison, spirosilabifluorene (SSF) was
used as parent molecule. Two SSF derivatives with phenyl (1e) and t-Bu (1f) groups
were chosen to investigate the ending group effect on f. The other substituted models
used in our calculations, obtained by a systematic substitution of CH by N atoms on
positions 4, 5, 6, and 7, were labeled as shown (see Figure 1(II)). The 4-, 5-, 6-,
7-di-substituted compounds on both A and B moieties were considered for 2a-2d,
respectively. The 4,4-, 5,5-, 6,6-, 7,7-C-substituted compounds (3a-3d) were
considered for di-substitution on the same A moiety of SSF. Furthermore, the dimeric
form of 3d was listed in Figure 1(III).
6'
7'
R3
(I) Rx substitution:
R1
2'
R1=R3=
4'
R2=R4= t-Bu 1a
3'
Si 1
2
3
4
R4
5'
R1=R3=
R2=R4=H
1e
1b
t-Bu
1f
1c
N
N
1d
R2
5'
4'
7'
3'
6'
A
2'
6
2
A
3a
3b
3c
3d
(III) Dimer
Fig. 1. Molecular structures of the investigated derivatives (t-Bu = tert-butyl)
321
All the geometry optimizations for the ground state (S0) were performed using the ab
initio Hartree Fock (HF) [11] and the B3LYP [12] method with the 6-31G* [13] basis
set. The low-lying excited-state (S1) structures were then optimized using the
configuration interaction with single excitations (CIS) [14] with 6-31G* basis set, the
optical spectra was calculated using TD-B3LYP [15] with 6-31G* basis set to obtain
estimates including some account of electron correlation. All the calculations have
been performed using Gaussian 03 package. [16]
322
Table 1. Computed absorption and emission wavelengths (abs and em, nm), oscillator strength
(f), assignment, coefficient
Calca
fa
Coefficient Expc
Absorption
1a
314
0.200 HOMOLUMO
0.65
307
1b
322
0.221 HOMOLUMO
0.67
317
1c
320
0.420 HOMOLUMO
0.64
315
1d
322
0.267 HOMOLUMO
0.66
1e
312
0.137 HOMOLUMO
0.66
1f
299
0.059 HOMOLUMO
0.63
Emission
1a
385
0.473 HOMOLUMO
0.65
383
1b
387
0.585 HOMOLUMO
0.64
382
1c
397
0.939 HOMOLUMO
0.67
393
1d
389
0.658 HOMOLUMO
0.69
1e
382
0.375 HOMOLUMO
0.63
1f
364
0.147 HOMOLUMO
0.64
* a HF/6-31G* optimized S0 geometries; b B3LYP/6-31G*
c
Experimental data from ref. 4; d Theoretical results from ref. 17.
Assignment
Calcb
fb
Calcd
328
337
338
337
0.200
0.180
0.474
0.270
294
309
303
319
optimized S0 geometries;
323
red-shifted wavelength for 1c. On the other hand, the pyridine and bipyridyl ring in 1b
and 1d have no significant influence on em compared with 1a, which is consistent with
the FMO patterns in S1 for 1a, 1b, and 1d. FMOs are only mainly located on the
silafluorene fragments and their adjacent aryl rings, the external aryl rings faily
contributing to them (see Figure 2).
Fig. 2. TD-B3LYP/6-31G* electronic density contours of the orbitals involved in transitions for
1a-1d
324
Fig. 3. TD-B3LYP/6-31G* electronic density contours of the LUMO (upper panel) and HOMO
(lower panel) for spirosilabifluorene, 2a and 3a
The calculated emission wavelengths (em), the oscillator strength (f), the transition,
corresponding assignment, and the main CI expansion of the derivatives of interest are
listed in Table 2. For all CH/N substituted derivatives, emitting states are mainly of
LUMOHOMO character. As there is a slight change for the energy gaps (Eg)
between HOMO and LUMO for the investigated system, slight change can be also
found for em, with the maximum change being 13 nm (in 2c and 3d).
Table 2. Computed emission wavelengths (em), oscillator strength (f), transitions, coefficient
2a
2b
2c
2d
3a
3b
3c
3d
em(nm)
357
367
347
361
362
363
363
373
f
0.093
0.097
0.090
0.070
0.100
0.100
0.100
0.012
transition
S1S0
S1S0
S1S0
S1S0
S1S0
S1S0
S2S0
S2S0
Assignment
coefficient
HOMOLUMO
0.64
HOMOLUMO
0.64
HOMOLUMO
0.64
HOMOLUMO
0.63
HOMOLUMO
0.64
HOMOLUMO
0.64
HOMOLUMO
0.64
HOMOLUMO
0.68
325
328 nm (f = 0.000), 323 nm (f = 0.000) and 307 nm (f = 0.000), it becomes clear that
both abs and f are increased in the dimeric form. The em values for the first three
excited states are predicted to be 405 nm (f = 1.184), 395 nm (f = 0.000) and 395 nm
(f = 0.008), respectively, while those of 3d are 380 nm (f = 0.000), 373 nm (f = 0.012)
and 353 nm (f = 0.042). It can be found that both abs/em and f are increased in the
dimmer form. In general, larger oscillator strengths correspond to the intensive
fluorescent emitting, therefore, this approach may contribute to develop the property of
emitting materials.
4 Conclusions
Calculations have been performed on a novel class of spirosilabifluorene and some of
its derivatives. Some light is shed on a series of experimentally available derivatives
and CH/N on substituted derivatives. Our calculation results on 1a-1d are in good
agreement with experimental results. The similar optical properties for 1a-1d are
ascribed to the identical FMO distribution pattern and similar energy gaps between
FMOs. Compared to the pristine molecule, no significant change of emission
wavelengths is found for the CH/N substituted derivatives. According to our results,
phenyl group and oligomers may play a very important role in enlarging the oscillator
strengths, which will increase the fluorescent intensity. Thus, we may be improved the
emitting properties by adding the aryl substituents or oligomerization. Furthermore, the
dimeric forms of the designed CH/N substituted derivatives are expected to be
promising candidate for blue emitting materials.
Acknowledgment. Financial supports from the NSFC (No.50473032) and Outstanding
Youth Project of Jilin Province are gratefully acknowledged.
References
1. Tang, C. W., Van Slyke, S. A.: Organic electroluminescent diodes. Appl. Phys. Lett.
51(1987) 913-915.
2. Kulkarni, A. P., Tonzola, C. J., Babel, A., Jenekhe, S. A. Electron Transport Materials for
Organic Light-Emitting Diodes. Chem. Mater. 16 (2004) 4556-4573.
3. Tu. G., Zhou, Q., Cheng, Y., Wang, L.X.: White electroluminescence from polyfluorene
Chemically doped with 1,8-napthalimide moieties. Appl. Phys. Lett. 85(2004) 2172-2174.
4. Lee, S. H., Jang, B. B., Kafafi, H. Z.: Highly Fluorescent Soil-State Asymmetric
Spirosilabifluorene Derivatives. J. Am. Chem. Soc. 127(2005) 9071-9078.
5. Ohshita, J., Lee, K. H., Hamamoto, D., Kunugi, Y., Ikadai, J., Kwak, Y. W.: Synthesis of
Novel Spiro-condensed Dithienosiloles and the Application to Organic FET. Chem. Lett.
33(2004) 892-893.
6. Schneider, D., Rade, T., Riedl, T., Dobbertin, T., Werner, O.: Deep blue widely tunable
organic solid-state laser based on a spirobifluorene derivative. Appl. Phys. Lett. 84(2004),
4693-4695.
7. Yin, S. W., Yi, Y.P., Li, Q. X., Yu, G., Liu, Y. Q., Shuai, Z. G.: Balanced Carrier Transports
of Electrons and Holes in Silole-Based Compounds-A Theoretical Study. J. Phys. Chem. A.
110(2006) 7138-7143.
326
8. Luke, V., Plszegir, T., Milota, F., Sperling, J., Kauffmann, H. F.: Density Matrix Analysis,
Simulation, and Measurements of Electronic Absorption and Fluorescence Spectra of
Spirobifluorenes. J. Phys. Chem. A. 110(2006) 1775-1782.
9. Gahungu, G., Zhang, J. P.: CH/N substituted mer-Gaq3 and mer-Alq3 derivatives; an
effective approach for the tuning of emitting color. J. Phys. Chem. B. 109 (2005)
17762-17767.
10. Van Slyke, S. A., Bryan, P. S., Lovencchio, F. V.; US Patent 1990, 5, 150, 006.
11. McWeeny, R. Dierksen. G.: Self-Consistent Perturbation Theroy. II. Exctension to Open
Shells. J. Chem. Phys. 49(1968) 4852-4856.
12. Becke; A. B.: Density-functional thermochemistry. III. The role of exact Exchange. J.
Chem. Phys. 98(1993) 5648-5652.
13. Binkley, J. S., Pople J. A., Hehre, W. J.:Self-Consistent Molecular Orbital Theory for
Excited States. J. Am. Chem. Soc. 102 (1980) 939-947.
14. Foresman, J. B., Head-Gordon, M., Pople, J. A., Frisch, M. J.: Toward a Systematic
Molecular Orbital Theory for Excited States. J. Phys. Chem. 96 (1992) 135-149.
15. Stratman, R. E., Scuseria, G. E., Frisch, M. J.: An efficient implementation of
time-dependent density-functional theory for the calculation of excitation energies of large
molecules. J. Chem. Phys. 109(1998) 8218-8224.
16. Frisch, M. J., et al. Gaussian, Inc., Pittsburgh PA, 2003. Gaussian 03, Revision B.03.
17. Yang, G. C., Su, Z. M., Qin, C. S.: Theoretical Study on the Second-Order Nonlinear Optical
Properties of Asymmetric Spirosilabifluorene Derivatives. J. Phys. Chem. A. 110 (2006)
4817-4821.
18. Yang, L., Feng, J. K., Ren, A. M.: Theoretical Study on Electronic Structure and Optical
Properties of Phenothiazine-Containing Conjugated Oligomers and Polymers. J. Org. Chem.
70 (2005) 5987-5996.
Abstract. To regulate the switch effect induced by NH- anion substitution at the
H8 site of the guanine-cytosine (GC) watson-crick pair and investigate the actual
state in the solution, 1-9 water molecules attached GNH-C derivatives are probed
in the present paper. Results show that the switch effect, i.e., deformation effect
of hydrogen bonding between GNH- and C pair reduces step-wise as the number
of discrete water molecules around the NH- group increases. Thus one can
control the switch action of GNH-C by regulating the number of water molecules
around the NH- group.
1 Introduction
Hydrogen bonding in the DNA pairs plays a vital role, thus it has been the subject of
biological theory chemists [1-13]. These hydrogen bonds (H-bonds), which are
extensively studied, mainly locate between guanine and cytosine (GC pair) [6-8,11-13]
and between adenine and thymine (AT pair) [1, 4, 12]. Recently, Bickelhaupt group [1]
reported an interesting observation that, when the H8 site of guanine species or the H6
site of cytosine species in the GC pair was substituted by an anion or cation, the
H-bonds between G and C would deform and take on switch action. Similar actions are
also reported in other literatures [6-8, 11-13]. The action can be described as follows
from two models in Fig. 1. The O6H4-N4 distance will shorten and, N1-H1N3
and N2-H2N2distances, especially the latter will be elongated when the H8 is
substituted by an anion, however. On the other hand, the change trend of above three
distances will reverse when the H6 of cytosine is substituted by a cation (See GC in
Fig.1). These action looks like a switch.
In the present paper, we will probe how to regulate the switch by attaching water
molecules stepwise around the substituted anion based one of the Bickelhaupt et al
models, NH- substituted GC (GNH-C). The optimized structure of GNH-C is also
displayed in Fig.1.
The geometry optimizations and frequency calculations of all these hydrated
complexes (1-9hydrates) are performed at the B3LYP/6-31G* [14] level. The serial
number of each atom in the GC and GNH-C are shown in the Fig.1. All calculations are
carried out with the GAUSSIAN 03 package of program Revision C.02 [15].
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 327330, 2007.
Springer-Verlag Berlin Heidelberg 2007
328
H. Ai et al.
8
N
8 C8 7
N8
6 4' 4'
C C
C
5 6
4'
N9
C 4
N
N
9
1
1
3'
3 2
2'
N C
C
2'
2 2
N
5'
C
5'
6' C
1'
9 N
6'
1'
C 87
9
6
C C
5 6
C4
N
3 2 1 1
C
N
2 2
N
GC
4'
4'
5'
C C
4' 5'
6' C
N
3' 2' 1'
C
N
2'
O
6'
1'
GNH-C
Base pair
GC
GNH-C
a
O6H4'-N4'
2.818, 2.73a
2.660, 2.60a
N1-H1N3'
2.951, 2.88a
3.001, 2.90a
N2-H2O2'
2.934, 2.87a
3.174, 3.00a
329
in the red and green plots, however, correspond to the distances N1-H1N3' and
N2-H2O2' of GNH-C, while two bottom points to the corresponding distances in GC.
Thus their differences of the identical plot indicate the elongating of the distance
N1-H1N3' or N2-H2O2' induced by the anion in GC. Stepwise hydration also makes
the differences decrease and the octahydrated case appears to reach optimal recovery.
O6...H4'-N4'
N1-H1...N3'
N2-H2...O2'
3.20
3.15
3.10
3.05
3.00
2.95
2.90
2.85
2.80
2.75
2.70
2.65
2.60
-1
10
Fig. 2. The change plot of three H-bonding distances along the hydrated number
3 Conclusions
1-9 water molecules bound GNH-C complexes are probed at the B3LYP/6-31G* level.
Results reveal that the regulation effect from the local hydration is obvious. Up to 8 water
molecules, the regulation effect reaches optimal though the deformation of H-bonds has
not recovered into the state of neutral GC completely. The regulation effect is improved
gradually along with the increase of locally (anion) hydrated molecule number. The trend
is doubtless and can be observed intuitively from Fig.2 though there may be other more
stable hydrated structures missed for each hydrate series discussed in the paper.
Acknowledgement. This work is supported by NSFC (20573047) and Foundations for
doctoral start-up by Jinan University (B0418).
References
1. Guerra, C. F., Wijst,T., Bickelhaupt, F. M.: Supramolecular Switches Based on the Guanine
Cytosine (GC) WatsonCrick Pair: Effect of Neutral and Ionic Substituents. Chem. Eur. J.
12 (2006) 3032-3042.
2. Meng, F., Wang, H., Xu, W., Liu, .C.: Theoretical Study of GC+/GC Base Pair Derivatives.
Chem. Phys. 308 (2005) 117-123.
3. Hunter, K. C., Wetmore, S. D.: Hydrogen-bonding Between Cytosine and Water: Computational Evidence for a Ring-opened Complex. Chem. Phys. Lett. 422 (2006) 500 - 506.
4. Zendlov, L., Hobza, P., Kabel, M.: Potential Energy Surfaces of the Microhydrated
GuanineCytosine Base Pair and its Methylated Analogue. ChemPhysChem. 7 (2006) 439-447.
330
H. Ai et al.
Abstract. Geometries of ground states of mer-tris(8-hydroxyquinolinato)metal (Mq3, M=Al3+, Ga3+, In3+, Tl3+) are optimized by B3LYP/6-31G(d)
methods. The bonding interactions between the metal fragment Mq2 and each
single ligand q have been analyzed with the energy decomposition scheme. The
calculated results suggest that the HOMO and LUMO distribution fashion can
be simply traced back to the lowest electrostatic attractive and highest orbital
interaction energy between fragments A-quinolate ligand and Mq2 and B-ligand
and Mq2, respectively.
Keywords: energy partitioning analysis, Mq3, FMO distribution fashion.
1 Introduction
Tris(8-hydroxyquinolinato)aluminum, Alq3, is the mile stone for the development of
organic light-emitting diode (OLED), which was used in the first OLED [1]. The
majority of the molecular properties of metaloquinolate work carried out thus far has
been on the ground-state (S0) [2-5] and first excited state (S1) [6,7] characteristics of
Alq3. Mq3 has two geometric isomers, the facial (fac-Mq3) and meridianal (merMq3) forms, respectively. The energy partitioning analyses (EPA) method has
recently been used in systematic investigations of the nature of the chemical bond in
main-group and transition metal compounds [8]. In order to explore the difference of
individual ligands from chemical bond point of view, energy partitioning method has
been applied to the series of complexes mer-Mq3 as shown in Fig. 1, as a series study
of our previous works [9,10].
2 Methodology
The calculations for mer-Mq3 (Fig. 1) described here were carried out by the same
methods as described previously [9,10]. The structure of mer-Mq3 in S0 state was
optimized using the B3LYP functional with 6-31G(d) basis set for C, H, O, N, Al(III)
Ga(III) and Stuttgart RLC ECP for In(III) and Tl(III), respectively. In order to explore
the difference of individual ligands from chemical bond point of view, EPA was
applied to the series of complexes.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 331334, 2007.
Springer-Verlag Berlin Heidelberg 2007
332
Fig. 1. The geometry of mer-Mq3 with labels A-C for three q ligands (M=Al, Ga, In, Tl)
O-M
N-M
Oa-M-Nb
Ob-M-Oc
Na-M-Nc
Oa-M-Na
Ob-M-Nb
Oc-M-Nc
Inq3-A
2.063
2.250
Inq3-B
2.080
2.270
166.68
157.08
166.30
77.61
76.39
77.32
Inq3-C
2.090
2.220
Tlq3-A
2.156
2.400
Tlq3-B
2.180
2.400
162.11
151.69
162.72
74.26
73.48
74.69
Tlq3-C
2.190
2.340
333
ligand B the two others (LUMO+1 and LUMO+2) being mainly localized on other
two ligands (C and A), respectively, for Alq3 and Tlq3, while almost uniformly
localized on the same other two ligands (C and A) for Gaq3 and Inq3.
HOMO-2
HOMO-1
HOMO
LUMO
LUMO+1
LUMO+2
B
Fig. 2. FMOs for the ground state (S0) of mer-Mq3(M=In(A), Tl(B)) with small core
(Isocontour value 0.05)
Alq2-qA
Alq2-qB
Alq2-qC
Gaq2-qA
Gaq2-qB
Gaq2-qC
Inq2-qA
Inq2-qB
Inq2-qC
Tlq2-qA
Tlq2-qB
Tlq2-qC
Eint
-192.42
-190.80
-194.37
-169.60
-169.11
-172.25
-164.49
-163.38
-166.92
-148.20
-148.56
-156.01
EPauli
152.46
157.09
158.00
192.67
199.14
199.00
185.09
181.18
184.15
180.50
176.16
180.42
Eelstat
-215.25
-219.11
-221.48
-222.57
-229.06
-230.73
-224.02
-224.59
-228.34
-196.28
-197.74
-202.14
Eorb
-129.62
-128.78
-130.89
-139.70
-139.19
-140.52
-125.56
-119.97
-122.73
-132.42
-126.98
-134.28
Eelstat %
62.41
62.98
62.85
61.44
62.21
62.15
64.08
65.18
65.04
59.72
60.89
60.08
Eorb %
37.59
37.02
37.15
38.56
37.39
37.85
35.92
34.82
34.96
40.28
39.11
39.92
The results given in Table 2 show the same tendency for all investigated
complexes. The interaction energy Eint between the two fragments increases in the
sequence as Alq2-qL < Gaq2-qL < Inq2-qL < Tlq2-qL. Moreover, the larger Eelstat%
(59.72-65.18%) over Eorb% (34.82-40.28%) suggests that metal-ligand interactions
have a larger electrostatic character than covalent character. For each complex, the
334
4 Conclusions
The same HOMO and LUMO distribution fashion for mer-Mq3 system can be simply
traced back to the lowest electrostatic attractive and highest orbital interaction energy
between fragments A-quinolate ligand and Mq2 and B-ligand and Mq2, respectively.
Our results suggest that EPA may be a powerful approach to rationalize the
distribution patterns of HOMO and LUMO for complexes consisting of metal ion and
three same component ligands with C1 symmetry.
Acknowledgment. Financial supports from the NSFC (No.50473032) and
NCET-06-0321.
References
1. Tang, C. W., Slyke, S. A. Van: Organic electroluminescent diodes. Appl. Phys. Lett. 51
(1987) 913-915
2. Curioni, A., Boero, M., Andreoni, W.: Alq3: Ab Initio Calculations of Its Structural and
Electronic Properties in Neutral and Charged States. Chem. Phys. Lett. 294 (1998)
263-271
3. Curioni, A., Andreoni, W.: Metal-Alq3 complexes: The nature of the chemical bonding. J.
Am. Chem. Soc. 121 (1999) 8216-8220
4. Martin, R. L., Kress, J. D., Campbell, I. H., Smith, D. L.: Molecular and solid-state
properties of tris-(8-hydroxyquinolate)-aluminum. Phys. Rev. B 61 (2000) 15804-15811.
5. Stampor, W., Kalinowski, J., Marconi, G., Marco, P. Di, Fattori, V., Giro, G.:
Electroabsorption study of excited states in tris 8-hydroxyquinoline aluminum complex.
Chem. Phys. Lett. 283 (1998) 373-380.
6. Halls, M. D., Schlegel, H. B.: Molecular orbital study of the first excited state of the
OLED material tris (8-hydroxyquinoline) aluminum (III). Chem. Mater. 13 (2001)
2632-2640
7. Sugimoto, M., Sakaki, S., Sakanoue, K., Newton, M. D.: Theory of emission state of
tris(8-quinolinolato)aluminum and its related compounds. J. Appl. Phys. 90 (2001)
6092-6097
8. Lein, M., Frenking, G.: The nature of the chemical bond in the light of an energy
decomposition analysis. Theory and Applications of Computational Chemistry: The First
40 Years, C.E. Dykstra, G. Frenking, K.S. Kim, G.E. Scuseria (Eds), Elsevier,
Amsterdam, 291 (2005).
9. Zhang, J. P., Frenking, G.: Quantum chemical analysis of the chemical bonds in tris
(8-hydroxyquinolinato)aluminum as a key emitting material for OLED. J. Phys. Chem. A
108 (2004) 10296-10301.
10. Zhang, J. P., Frenking, G.: Quantum chemical analysis of the chemical bonds in
Mq3(M=Al ,Ga )as emitting material for OLED. Chem. Phys. Lett. 394 (2004) 120-125.
1 Introduction
There are only a few reaction mechanisms, which postulate termolecular reaction
among three diatomic molecules [1]. However, there is no termolecular reaction
available for which we have both experimental and theoretical evidence [2-5]. A definitive experimental evidence for a termolecular reaction through a six centered transition state [TS] during the bond exchange among halogen molecules is available
from molecular beam experiments. Dixon and Herschbach [6] found that the following reactions:
(Cl2)2 + Br2 2 BrCl + Cl2
(Cl2)2 + HI
(R1)
(R2)
HF + HI + IF
(R3)
has been observed by Durana and McDonald [7]. However, no theoretical calculations
are available in support of these experiments. It would be interesting to know if the
theoretical calculations can support the above experimental findings involving halogens
and hydrogen halides. In the present work we have carried out ab initio quantum
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 335338, 2007.
Springer-Verlag Berlin Heidelberg 2007
336
mechanical calculations for the existence of the six-center TS for the reactions R1-R3,
and find that our calculations confirms the presence of six centered TS for these
reactions.
Table 1. Calculated Energy barrier and vibration frequency of the transitions states
Method
Eb
(kcal/mol)
(cm-1)
Cl4Br2
HF/6-311G*
HF/MIDI!
HF/cc-pVDZ
HF/cc-pVTZ
MP2/MIDI!
MP2/cc-pVDZ
B3LYP/6-311G*
B3LYP/MIDI!
B3PW91/MIDI!
BHandH/MIDI!
93.80
76.91
87.44
92.42
32.86
42.10
27.95
5.70
7.30
7.11
546.80i
664.30i
613.01i
522.32i
249.52i
272.83i
277.24i
235.79i
238.19i
368.50i
B3LYP/cc-pVDZ
B3LYP/cc-pVTZ
25.31
30.34
268.20i
285.16i
Cl4HI
HF/6-311G**
HF/MIDI!
HF/cc-pVTZ
HF/cc-pVQZ
HF/LANL2DZ
MP2/MIDI!
MP2/cc-pVTZ
B3LYP/6-311G**
B3LYP/MIDI!
B3PW91/MIDI!
BHandH/MIDI!
B3LYP/cc-pVTZ
B3LYP/cc-pVQZ
B3LYP/LANL2DZ
76.30
72.85
75.87
74.49
56.0
32.98
30.18
21.99
4.85
6.20
7.05
26.11
26.50
5.73
314.13i
689.83i
261.90i
224.35i
70.33i
851.98i
555.36i
427.86i
359.71i
361.72i
657.03i
471.34i
438.63i
71.65i
H2I2F2
HF/6-311G**
HF/MIDI!
HF/cc-pVTZ
HF/cc-pVQZ
HF/LANL2DZ
MP2/MIDI!
MP2/cc-pVTZ
B3LYP/MIDI!
B3PW91/MIDI!
BHandH/MIDI!
B3LYP/cc-pVTZ
B3LYP/LANL2DZ
54.35
55.75
57.17
54.91
48.28
8.55
3.79
-3.21
-0.38
-0.37
-1.24
-5.49
1035.00i
1766.82i
643.65i
628.78i
1483.38i
227.75i
416.40i
274.79i
205.41i
684.24i
44.34i
47.08i
337
B r6
2 .4 1 4
2 .5 3 8
8 5 .9
8 1 .6
1 5 5 .7 1 4 9 .2
B r5
C l1
1 5 7 .0
2 .5 8 4
1 5 3 .4
2 .6 8 2
2 .5 3 6
2 .4 0 4
1
6
6
.7
8
1
.0
8 1 .4 1 6 1 .6
8 2 .0
8 4 .3
C l4
C l2
C l3
2 .2 5 7
2 .3 6 2
2 .3 4 7
2 .3 3 7
C l2
2 .8 7 8
2 .5 6 9
2 .4 9 7
2 .4 9 4
7 1 .0
7 3 .0
C l 3 1 6 7 .3
C l1
1 4 0 .2
1 5 5 .1
1 4 7 .3
2 .2 9 4
2 .1 2 4
1 6 7 .0
2 .5 4 5
2 .2 4 3
8 1 .4
9
3
.2
1 7 3 .2
8 7 .3
8 4 .1
I6
C l4
1 .6 4 6
H5
2 .2 3 3
1 .7 8 7
1 .8 2 4
2 .2 5 7
2 .4 4 7
I1
2 .0 4 2
8 9 .3
2 .3 7 2
7 7 .6
H 2 1 4 0 .7
F6
1 7 0 .9
1 4 7 .6
1 6 9 .5
1 .7 5 6
3 .3 9 8
1 .6 0 8
1 6 6 .5
2 .8 2 0
7 9 .5
8 9 .6
8 0 .7 1 6 2 .6
8 1 .9
I3
F5
H4
1 .7 1 6
1 .6 3 7
2 .0 9 8
1 .6 2 0
1 .6 0 1
1 .6 2 8
Fig. 1. Transition state geometries for R1 (top), R2 (middle) and R3 (bottom). The upper entries in each geometry was obtained using HF/cc-pVTZ and the lower entries were obtained
using B3LYP/cc-pTVZ. The bond lengths are in and the angles in degrees.
338
range of 5-7 kcal/mol for R1 and R2 which is in good agreement with the experimental results. However, for R3 the DFT methods yield negative Eb values. These negative values could be due to tendency of the DFT methods to underestimate the energy
barriers or due to the numerical errors associated with the absence of pruned grids for
iodine atoms in DFT methods as implemented in Gaussian 98. These negative values
may not be due to relativistic effects, as the use of relativistically corrected
LANL2DZ basis set also leads to negative Eb values. The flatness of the potential
energy surface around the transition state region also makes it difficult to detect it
accurately. Under this scenario, it can be safely assumed that R3 has near-zero energy
barrier.
The TS structures obtained using HF/cc-pVTZ and B3LYP/cc-pVTZ methods are
given in Figure 1. All the TS geometries were found to be planar. The TS geometries
look more like a bulging triangle, rather than as a hexagon as expected for six centered reactions, with the heavier atom at the corner of the triangle and the lighter atom
at the middle of the bulging sides of the triangle.
3 Conclusion
The present ab initio calculations clearly confirms the possibility of six-centered exchange reactions: (Cl2)2 + Br2 2 BrCl + Cl2; (Cl2)2 + HI HCl + ICl +
Cl2 and (HI)2 + F2 HF + HI + IF with low activation barriers. These results are in agreement with the molecular beam experimental results.
Supporting information Available: Energies and geometries of TS for all the
methods.
References
1. Laidler, K.J.: Chemical Kinetics; Mc-Graw Hill, New York (1965)
2. Rabinowitz, M.J.; Gardiner, W.C.: Chem. Phys. Lett. 124 (1986) 63-67
3. (a) Wright, J.S. Can. J. Chem. 53 (1975) 549-555 (b) Wright, J.S. Chem. Phys. Lett. 6
(1970) 476-481
4. (a) Dixon, D.A.; Stevens, R.M.; Herschbach, D.A.: Faraday Discuss. Chem. Soc. 62
(1977) 110-126 (bb) Heidrich D.; Van Eikema Hommes, N.J.R., Schleyer, P .V. R.: J.
Comput. Chem. 14 (1993) 1149-1153 (c) Janoschek, R.; Kalcher, J.: Int. J. Quant. Chem.
38 (1990) 653-664
5. NoorBatcha, I.; Thareja, S.; Sathyamurthy, N. J.: Phys. Chem. 91 (1987) 2171-2173
6. (a) Dixon, D.A.; Herschbach, D.R.: J. Am. Chem. Soc. 97 (1975) 6268-6270 (b) Dixon,
D.A. Herschbach, D.R. Ber. Bunsenges.: Phys. Chem. 145 (1977) 145-151
7. Durana, J.F.; McDonald, J.D.: J. Am. Chem. Soc. 98 (1976) 1289-1291
8. Gaussian 98, Revision A.7,. Frisch, M. J.; et. al.: Gaussian, Inc., Pittsburgh PA(1998)
9. http://www.emsl.pnl.gov:2080
10. Gaussian 98 Users Reference, Gaussian, Inc., Pittsburgh PA(1998)
1 Introduction
Twenty years following its discovery, human immunodeficiency virus type 1 (HIV-1)
remains a major threat to public health and a challenge for drug development [1].
Various interactions of HIV-1 proteins with those of the host cell are known, but a
large-scale network encompassing all known interactions of HIV-1 proteins and host
cell proteins have not been analyzed or visualized. This is partly because large-scale
interaction data are not readily available from public databases and individual
literatures report small-scale interactions.
NCBI recently released a database of all known interactions of HIV-1 proteins and
human proteins (http://www.ncbi.nlm.nih.gov/RefSeq/HIVInteractions/). Now, a
challenging task is to analyze all the interactions in a systematic way and to identify
biologically meaningful interaction groups or patterns. We have developed a webbased system (http://hiv1.hpid.org) for systematically analyzing the large-scale
interactions between HIV-1 and human proteins and the comparative analysis of the
interactions. Comparative analysis of the interactions between HIV-1 and human
proteins using the system revealed several interesting interaction groups. This is the
*
Corresponding author.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 339346, 2007.
Springer-Verlag Berlin Heidelberg 2007
340
first online system for interactively visualizing and analyzing the interactions of
HIV-1 and human proteins. This paper presents the system and some analysis results.
2 Methods
We have constructed a web-based HIV-1 database (http://hiv1.hpid.org) for the
analysis of the experimental data on the interactions between HIV-1 and human
proteins.
The
experimental
data
were
extracted
from NCBI
at
http://www.ncbi.nlm.nih.gov/RefSeq/HIVInteractions. The whole interaction network
contains 1,768 interactions between 11 HIV-1 proteins and 810 human proteins
(Fig. 1). All the 65 types of protein-protein interactions shown in Table 1 were
included in our analysis.
Fig. 1. The whole interaction network between 11 HIV-1 proteins and 810 human proteins.
This network contains 1768 interactions of 65 different types. HIV-1 proteins are displayed in
yellow in the networks.
341
only once). In the first and second columns, all types of interactions are considered,
and the third column considers the interactions of the interact with type. The reason
that the number of interactions differs from the number of proteins in the second
column is because different types of interactions are counted more than once for a
same pair of proteins. The interacting human proteins with an HIV-1 protein are
visualized by our program called InterViewer [2, 3] as a star-shaped networks
centered at the HIV-1 protein. We performed pairwise comparison of the interaction
networks to find interaction groups.
Table 1. Types of interactions between HIV-1 and human proteins
interaction type
1. acetylated by
2. acetylates
3. activated by
4. activates
5. antagonized by
6. associates with
7. binds
8. co-localizes with
9. competes with
10. complexes with
11. cooperates with
12. degraded by
13. degrades
14. dephosphorylates
15. depletes
16. depolymerizes
17. deregulates
interaction type
18. downregulates
19. enhanced by
20. enhances
21. exported by
22. fractionates with
23. imported by
24. inactivates
25. incorporates
26. increases
27. induces
28. influenced by
29. inhibited by
30. inhibits
31. inhibits induction of
32. inhibits release of
33. interacts with
34. interferes with
interaction type
35. isomerized by
36. modified by
37. modifies
38. modulated by
39. modulates
40. myristoylated by
41. phosphorylated by
42. phosphorylates
43. polymerizes
44. promotes binding to
45. protects
46. recruited by
47. recruits
48. redistributes
49. regulated by
50. regulates
51. regulates import of
interaction type
52. releases
53. relocalizes
54. repressed by
55. requires
56. sequesters
57. stabilizes
58. stimulated by
59. stimulates
60. suppressed by
61. suppresses
62. synergizes with
63. transported by
64. ubiquitinated by
65. upregulates
Table 2. The number of human proteins interacting with HIV-1 proteins, the interactions that
share human protein partners with other HIV-1 proteins, and the interactions of the interact
with type that share human protein partners with other HIV-1 proteins
HIV-1 proteins
capsid
nucleocapsid
gag matrix
p6
gag Pr55
pol
rev
tat
vif
vpr
vpu
total
Human
protein
partners
22
20
64
11
27
69
55
667
56
128
18
810
Interactions of interact
with type that share
human protein partners
with other HIV-1 proteins
3
0
0
0
1
2
1
47
39
4
1
98
342
343
Fig. 2. The interaction networks between HIV-1 and human proteins, in which HIV-1 proteins
and human proteins are displayed in yellow and white nodes, respectively. (A) HIV-1 capsid
protein interacting with 22 human proteins. (B) HIV-1 nucleocapsid protein interacting with 20
human proteins. (C) HIV-1 matrix protein interacting with 64 human proteins. (D) HIV-1 p6
protein interacting with 11 human proteins. (E) HIV-1 gag Pr55 protein interacting with 27
human proteins. (F) HIV-1 integrase protein interacting with 69 human proteins. (G) HIV-1 rev
protein interacting with 55 human proteins. (H) HIV-1 tat protein interacting with 667 human
proteins. (I) HIV-1 vif protein interacting with 56 human proteins. (J) HIV-1 vpr protein
interacting with 128 human proteins. (K) HIV-1 vpu protein interacting with 18 human
proteins. All the networks are star-shaped networks centered at an HIV-1 protein.
344
Fig. 3. The interaction groups of human proteins identified from the analysis of the interactions
between HIV-1 and human proteins. Proteins in a same interaction group always have the same
set of interacting partners. There are a total 23 interaction groups, 2 in network A, 1 in network
B, 7 in network C, and 13 in network D. Each interaction group of human proteins is shown in
a red round box, and interacting HIV-1 proteins are shown in yellow round boxes.
345
Fig. 4. Interaction network of HIV-1 and human proteins, consisting of interactions of interact
with type only. The network shows 98 interactions between 11 HIV-1 proteins and 49 human
proteins. The human proteins shared by the vif and tat genes (enclosed in a red box in the
network) are proteasome (prosome, macropain) subunits of a highly ordered ring-shaped 20S
core structure.
1000
667
Interact with
Human
128
100
69
64
55
47
56
39
27
22
20
18
11
10
4
1
ga
g
p6
2
1
1
vp
u
vp
r
vi
f
ta
t
re
v
po
l
m
at
ri
x
ca
ps
id
nu
cl
eo
ca
ps
id
Fig. 5. The number of interacting human proteins of each HIV-1 protein (yellow bars) and the
interactions of the interact with type that share human protein partners with other HIV-1
proteins (orange hatched bars)
346
4 Conclusion
Most of the interactions between virus and host cells are complex and have not been
fully understood despite the substantial discoveries in recent years. Investigating
virus-host interactions is important for understanding viral replication and for
identifying new targets with potential for drug intervention. We have constructed a
web-based HIV-1 database (http://hiv1.hpid.org) for the comparative analysis of the
experimental data on the interactions between HIV-1 and human proteins.
Comparative analysis of the interactions between HIV-1 and human proteins using the
system revealed several interesting interaction groups. Our work can be extended in
several directions. First, biological experiments can be performed to identify
functions or other biological properties common to all proteins in the same interaction
group. Second, our study analyzed the interactions between HIV-1 and human
proteins, but can be expanded to include the interactions between human proteins.
Finally, our system should be updated to include the interaction data for the HIV-1 nef
protein, which has been added to the HIV-1 database of NCBI very recently. We
believe that this is the first online system for the comparative analysis of the
interactions networks of HIV-1 and human proteins and that it is a valuable tool for
scientists in the field of protein-protein interactions and HIV/AIDS research.
Acknowledgements
This work was supported by the Korea Research Foundation Grant funded by the
Korean Government (KRF-2006-D00038) and in part by MOST (KOSEF) through
the Systems Bio-Dynamics Research Center.
References
1. Trkola, A.: HIV-host interactions: vital to the virus and key to its inhibition. Current
Opinion in Microbiology 7 (2004) 555-559
2. Han, K., Ju, B., Jung, H.: WebInterViewer: Integrated Framework for Visualizing and
Analyzing Molecular Interaction Networks. Nucl. Acids Res. 32 (2004) W89-W95
3. Ju, B.-H., Han, K.: Complexity Management in Visualizing Protein Interaction Networks.
Bioinformatics 19 (2003) i177i179
4. Yang, X., Gabuzda, D.: Regulation of human immunodeficiency virus type 1 infectivity by
the ERK mitogen-activated protein kinase signaling pathway. Journal of Virology 73 (1999)
3460-3466
5. Mller, B., Patschinsky, T., Krusslich, H.G.: The Late-Domain-Containing Protein p6 Is the
Predominant Phosphoprotein of Human Immunodeficiency Virus Type 1 Particles. Journal
of Virology 76 (2002) 1015-1024
Abstract. There are a number of dierent attributes to describe ontology of proteins such as protein structure, biomolecular interaction, cellular location, and protein domains which represent the basic evolutionary
units that form protein. In this paper, we propose a mathematical approach, formal concept analysis (FCA), which toward abstracting from
attribute-based object descriptions. Based on this theory, we present
extended version of algorithm, tripartite lattice, to compute a concept
lattice. By analyzing tripartite lattice, we attempt to extract proteins,
which are related to domains and gene ontology (GO) terms from bottom nodes to the top of lattice. In summary, using tripartite lattices, we
classied proteins from protein domain composition with their describing
gene ontology (GO) terms.
Introduction
The theory of concept (or Galois) lattices (Wille, 1884) provides a natural and
formal approach to discover and represent concept hierarchies (Carpineto et al.,
1993). Conceptual data processing (also widely known as formal concept analysis) has become a standard technique in data and knowledge processing that
has been applied for data visualization, data mining, information retrieval (using ontologies) and knowledge management. Concept (or Galois) lattice analysis
represents patterns of intersection and inclusion among dual subsets of two sets
of discrete elements (i.e. objects and attributes) (Mische et al., 2000).
Since concepts are necessary for expressing human knowledge, any knowledge
management process benets from a comprehensive formalization of concepts.
Formal concept analysis (FCA) oers such a formalization by mathematizing
the concept of concept as a unit of thought constituted of two parts: extension
and intension. If data are small, as compared with data bases in bioinformatics,
* Corresponding authors
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 347354, 2007.
c Springer-Verlag Berlin Heidelberg 2007
348
formal concept data analysis shows how this abstract technique can unfold and
better interpret the biological topics. Using formal concept data analysis, we
can focus on exploratory data analysis with meaningful concept relationships.
Therefore, in this paper, we approach protein classication using a new extension
of lattice analysis - tripartite lattices - (Fararo et al., 1984; Mische et al., 2000)
which is based on the formal concept analysis (FCA).
We use protein, protein domain and Gene Ontology (GO) (Ashburner et al.,
2000) terms to show the intersections and inclusions among them by proposing
tripartite lattices. Protein domains represent the basic evolutionary units that
form protein. Multi-domain proteins can be made from single domain combination, and proteins with two or more domains constitute the majority of proteins
in all organisms studied. Furthermore, domains that co-occur in proteins are
more likely to display similar function or localization (Mott et al., 2002) than
domains in separate proteins. Therefore we can classify similar protein functional
groups from protein domain composition.
2
2.1
Methods
Formal Concept Analysis
In table 1, six proteins (G) are annotated with four GO terms (M) using
gene ontology information: {(g, m): (Protein 1, DNA repair, Protein amino acid
phosphorylation, ATPase activity), (Protein 2, DNA repair, Protein binding),
(Protein 3, DNA repair, ATPase activity), (Protein 4, Protein amino acid phosphorylation), (Protein 5, Protein amino acid phosphorylation, Protein binding),
(Protein 6, DNA repair, Protein amino acid phosphorylation, ATPase activity)}
349
350
DNA repair
Protein binding
Top
C3
C8
C2
Protein 4
ATPase activity
C5
Protein 3
C6
C7
C4
Protein 1
Protein 6
Protein 2
Protein 5
Bottom
Fig. 1. Bipartite lattice: the concept lattice of the context in Table1 (Letter C stands
for concept)
Figure 1 presents a nine nodes lattice diagram based upon the protein by GO
term matrix (6 X 4). This lattice diagram can be read in two directions, beginning
at the top or the bottom. In here, {Protein 1, Protein 6} is a superconcept of
{Protein 4} and {Protein 3} because {Protein 4} and {Protein 3} is described
by a subset of the attributes describing {Protein 1, Protein 6}.
2.2
351
Fararo et al. introduces tripartite structural analysis and shows how bipartite
lattices can be extended to the tripartite lattices. They use persons, groups, and
organizations; or persons, cultural systems, and social systems (Fararo et al.,
1984). We investigated their analysis a step further to show the intersections and
inclusions among three sets of interpenetrating biological elements (i.e. proteins,
domains, GO terms). In this paper, tripartite lattices (theoretically generalizable
to the k-partite level) show the interpenetration among three two-mode matrices:
we use proteins by domains (PD), proteins by GO terms (PG), domains by GO
terms (DG).
Let P, G and D denote the set of Proteins, GO terms and Domains respectively. We let the number of entities in the set X by nx (where X stands for
P, G or D). Rxy denote the nx x ny-matrix in which Rxy (i, j) = 1 if the ith
element of X is linked to the jth element of Y, and Rxy (i, j) = 0, otherwise.
The matrix specifying the relationship between sets X and Y is the transpose of
that representing the relationship between Y and X.
Rxy = Ryx (Rxx = 0, for each X)
Table 2. Matrix structure of a tripartite lattice
GO
Protein
Domain
GO
0
RP G
RDG
Protein
RGP
0
RDP
Domain
RGD
RP D
0
Table 2 shows a symmetrical matrix with the upper right blocks composed of
transposes of three lower left blocks. There are no within set relationships.
3
3.1
Results
Bipartite Lattice
Dataset. Exploratory data analysis is rst performed using protein lists from
Krebs TCA cycle pathway and Citrate TCA cycle pathway. We test bipartite
lattice analysis using these pathways because they are one of the most investigated pathways. We use ArrayXPath which is publicly available major pathway
resources including KEGG, GenMAPP, BioCarta and PharmGKB Pathways
(Chung HJ et al., 2004). For further analysis, we have created a repository of
protein, domain and gene ontology (GO) from SwissProt/TrEMBL for protein,
InterPro for domain and Gene Ontology for GO term. In this paper, we use
these resources to extract object and attribute information, and to perform formal concept analysis. The initial letter of protein ID is P or Q and Domain
ID starts with three big letters IPR.
352
Analysis of Bipartite lattice. We construct three two-mode binary matrices (see gure 2 (a), (b), (c)). These bipartite lattices show the relationship
between protein and protein domain, protein and protein annotated GO term,
domain and domain annotated GO term respectively (Each concept lattice of
the matrices is not shown here). Through these lattices, we can point out which
domains are common to several proteins or which GO terms are common to
several proteins or which GO terms are common to several domains. However,
the limitation of bipartite lattice analysis is that it presents only an abstract
overview of the relations between two elements. For example, Krebs TCA cycle,
Citrate TCA cycle pathways related protein P36957, Q02218 have the same
GO term energy pathways. If we want to know domain composition of those
proteins, we have to search lattice twice with the same protein IDs (protein and
protein domain, protein and protein annotated GO term). Then we can nd
that these proteins have dierent domains {P36957: IPR003016, IPR000069,
IPR011053} {Q02218: IPR011603, IPR005475}. For further information, we have
to search domain related GO terms in dierent concept lattice.
Protein domain
GO term
Protein domain
Protein
Protein
(a)
GO term
(b)
(c)
Fig. 2. Input matrix with attribute and object. (a) Two-mode binary matrix of Protein
domain and Protein. (b) Two-mode binary matrix of GO term and Protein. (c) Twomode binary matrix of GO term and Protein domain: Row elements are objects and
column elements are attributes.
Therefore, bipartite lattice does not show us how these protein and domain
elements come together with particular GO terms. If one more set of biological
element is added to the bipartite lattice, which is called tripartite lattice, we
can extract more compact and concrete information with three sets of biological
elements (proteins, domains, GO terms). By proposing tripartite lattice, we can
explore domain related proteins and their common GO terms simultaneously.
3.2
Tripartite Lattice
Dataset. We use Pathway crosstalk to select protein lists from random sampled pathways (see gure 3(a)) (Chung HJ et al., 2005). By random sampling,
we choose a group of pathways from Pathway crosstalk with our xed window
size (see gure 3(b)). Random sampling approach is used to obtain more accurate estimates of data statistics. Then domains and GO terms are extracted
using protein lists from below three random sampled pathways. We use distinct
domains, proteins and GO terms to make matrix (see table 2). The GO terms
are including domain annotated GO terms and protein annotated GO terms.
(a)
(b)
353
Fig. 3. Select specic pathways. (a) Pathway crosstalk: Calculating pairwise similarity
matrix between each pair of pathways and applying multi-dimensional scaling method
created the global crosstalk graph of major biological pathways. Yellow nodes represent BioCarta, green nodes GenMAPP, red nodes KEGG, and blue nodes PharmGKB
Pathways. (b) Three pathways are selected by random sampling with our xed window size. (Three neighboring pathways are chosen because we want to have as much
common protein attributes as possible.) This is shown in transparent red rectangular
region (BioCarta/Hs IGF-1 Signaling Pathway, BioCarta/Hs Insulin Signaling Pathway, BioCarta/Hs Inhibition of Cellular Proliferation by Gleevec Pathway).
Discussion
354
Acknowledgement
This study was supported by a grant from Korea Health 21 R&D Project, Ministry
of Health and Welfare, Republic of Korea (A060711), a grant from Korea Health
21 R&D Project, Ministry of Health & Welfare, Republic of Korea (01-PJ3-PG601GN07-0004), and a grant from Korea Health 21 R&D Project, Ministry of Health
& Welfare, Republic of Korea (0412-MI01-0416-0002).
References
1. Ashburner, M., Ball, C.A., Blake, J.A., Botstein, D., Butler, H., Cherry, J.M., Davis,
A.P., Dolinski, K., Dwight, S.S., Eppig, J.T. et al. (2000) Gene Ontology: tool for the
unication of biology. The Gene Ontology Consortium. Nat. Genet. 25, 25-29
2. Carpineto, C., Romano, G. (1993) GALOIS: An order-theoretic approach to conceptual clustering. Proceedings of 10th International Conference on Machine Learning,
Amherst. pp. 33-40
3. Chung HJ, Kim M, Park CH, Kim J, Kim JH. (2004) ArrayXPath: mapping and visualizing microarray gene expression data with integrated biological pathway resources
using Scalable Vector Graphics, Nucleic Acids Res. Jul 1;32:W460-W464.
4. Chung HJ, Park CH, Han MR, Lee S, Ohn JH, Kim J, Kim JH, Kim JH. (2005)
ArrayXPath II: mapping and visualizing microarray gene expression data with biomedical ontologies and integrated pathway resources using Scalable Vector Graphics.
Nucleic Acids Res.
5. Fararo, Thomas, J., Patrick Doreian. (1984) Tripartite structural analysis: Generalizing the Breiger-Wilson Formalism. Social Networks. 6, 141-175.
6. Ganter, B., Wille, R. (1999) Formal Concept Analysis: Mathematical Foundation.
Springer, Heidelberg.
7. Mische, A., Pattison., P. (2000) Composing a civic arena: Publics, projects, and social
settings. Poetics. 27, 163-194.
8. Mott, R., Schults, J., Bork, P., Ponting, C. P. (2002) Predicting protein cellular localization using a domain projection method. Genome Res. 12, 1168-1174.
9. Wille, R. (1884) Line diagrams of hierarchical concept systems. International Classication. 2, 77-86.
learning;
artificial
immune
system;
supervised
1 Introduction
In the last twenty years there has been a great deal of interest in exploiting the known
properties of the immune system as metaphorical inspiration for computational problem solving. Exciting results have been obtained from the research of network
intrusion detection system, pattern recognition, combination optimization, machine
learning, and etc [1-4].
In machine learning field, De Castro and Von Zubens Work examined the role of
the clonal selection process within the immune system and went on to develop an
unsupervised learning known as CLONALG [5]. This work was extended by employing the metaphor of the immune network theory, which led to the aiNet algorithm.
Timmis et al. developed a resource limited artificial immune network [6]. All these
models reported good benchmark results for cluster extraction and exploration, and
indicated that immune system may be an excellent machine learning method.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 355362, 2007.
Springer-Verlag Berlin Heidelberg 2007
356
L. Peng et al.
Building on these previous works, in particular the ideas of CLONALG and resource limitation, Watkins presented the artificial immune recognition system (AIRS)
algorithm in 2001 [7] and the revision in 2002 [8]. Watkins convincingly demonstrated not only that artificial immune systems could be used for supervised learning
but also the AIRS classifier was a highly effective classifier [7-8].
Subsequently, AIRS has been successfully and widely applied to many fields.
Zhang et al. found AIRSs performance was better than that of traditional K-means,
ISODATA, fuzzy, and SOM on remote sensing imagery classification [9]. Xu et al.
found AIRSs performance was better than that of neural network on weather forecast
[10]. Polat et al. found AIRSs performance was better than that of MLP and PNN on
medical diagnosis [11].
However, first of all, classification accuracy of AIRS is still lower than that of
some traditional methods [7-8]. Secondly, at training stage in AIRS, the size of the
evolved memory cells pool is huge, with small distances among memory cells. After
the new candidate memory cell joins the memory cells pool, AIRS just calculates the
affinity of match memory cell and candidate memory cell to judge whether the match
memory cell should be discarded, but the affinity of match memory cell and any other
memory cell is not calculated. For the Ionosphere dataset, the Diabetes dataset, and
the Sonar dataset, the percentages of the size of the evolved memory cells pool for the
whole training dataset are over 75% [7-8]. Finally, AIRS adopts [0,1]n feature vector
to describe the features of antigens [7-8] and memory cells, and match them with
Euclidean distance, which does not calculate the right weight of the feature. However,
the present literatures for the right weights of features mainly include man-made factors and lack of mathematical gist.
In order to solve the above problems in AIRS, this paper proposes a supervised
classifier based on artificial immune system (UCAIS). The experimental results show
that UCAIS not only reduces the size of the evolved memory cells pool, but also improves the classification accuracy, compared with AIRS.
The rest of the paper is organized as follows. In Section 2, an UCAIS classifier is
presented. In Section 3, simulations and experimental results are provided. Finally,
Sections 4 contains our summary and conclusions.
2 Proposed Classifier
Broadly, the training principle of UCAIS is based upon the mammalian immune systems response to an invading antigen. In a mammalian immune system, the system
generates B-cells, which respond to an invader and its presenting characteristics, and
through mutation, these B-cells develop greater and greater affinity for the antigen.
Most B-cells have a short lifetime, but a small proportion of them become memory
cells, which are longer-lived. These memory cells in nature enable a mammalian
immune system to respond rapidly to a second invasion by a previously encountered
threat. In UCAIS, the antigens are the training data. When a training example is presented, an initial population of B-cells is mutated; the resulting B-cells with the high
357
affinity to the training data continue to propagate, producing larger numbers of mutated clones, while those with less affinity produce fewer offspring and even die out.
Before the UCAIS classifier is given, let us establish the notional conventions first.
Let MC represent the set of memory cell, and mc represents one memory cell where
mc MC. Let AB represent the set of ARB (Artificial Recognition Ball) [9], and ab
represents one B-cell where ab AB. Let AG represent the set of antigen, and ag
represents one antigen where ag AG. Let mc.c, ab.c, and ag.c represent the class of
a given memory cell and B-cell, antigen, respectively, where mc.c C={1 2
nc}, ab.c C={1 2 nc}, and ag.c C={1 2 nc}, nc is the number of
classes in the dataset. Let ab.stim represent the stimulation of a given ag to AB ab. Let
TotalResource represent the allowed total resources of the system. Let mc.f, ab.f, and
ag.f represent the feature vector of a given memory cell, B-cell and antigen, respectively. Let mc.fi, ab.fi, and ag.fi, represent the value of the ith value of mc.f, ab.f, and
ag.f, respectively.
Definition 1. Let MCc represent the set of memory cell of the cth class, such that
MCcMC=MC1MC2.MCnc. If ag.c c, then mc MCc.
Definition 2. Let ABc represent the AB set of the cth class, such that
ABcAB=AB1AB2.ABnc. If ab.c c, then AB ABc.
Definition 3. Let AGc represent the AG set of the cth class, such that
AGcAG=AG1AG2.AGnc. If ag.c c, then AG AGc.
Definition 4. MMCD (Minimum Memory Cell Distance): the minimum distance of
the same class in the memory cells set.
MMCD is used to control the size of memory cell pool, which is to reduce the huge
size of memory cells pool in AIRS. After the mach memory cell joins into the set of
memory cells pool, if the affinity of mach memory cell and any other memory cell is
smaller than MMCD, the mach memory cell will be discarded from the memory cells
set.
During training, the first is to initialize a pool of memory cells. Then, B-cell population is evolved and the memory cells pool is updated until the stopping criterion is
met, which may be thought of as generalizations of the training instances vectors. The
classifier includes five following processes.
2.1 Initialization
The initialization stage is to normalize the feature vectors of the training data, and
seed the memory cell if desired. The process is as follows.
1) Normalize the feature vectors of the training data.
2) Randomly select antigen from the training set of AG and join it into the set of
memory cells pool.
With the change of AG class, the variation degree of each feature varies. Specifically, the larger variation degree of the feature, the larger right weight is given to the
feature. The right weight is to reduce the size of memory cells pool and improve the
classification accuracy. For the training set of AG, suppose there are m antigens, and n
features constitute every feature vector. Let ag[m] represent the mth antigen. Let
358
L. Peng et al.
AG.f i represent the average value of the ith feature. Let SDi represent the standard
deviation of the ith feature and SDi = (
1
1 m
(ag[ j ]. f i AG. f i ) 2 ) 2 . Let vi represent
m 1 j =1
variation coefficient of the ith feature of feature vector and vi=SDi/ AG.f i . Let i
represent the ith feature right weight of the feature vector, which is defined by
formula (1).
n
i =vi / vi
(1)
i=1
The calculation of affinity and stimulation are defined by formula (2) and formula
(3) respectively. When the parameters are mc and ag, formula (3) and formula (3)
present the affinity and stimulation of mc and ag, respectively. When the parameters
are ab and ag, formula (2) and formula (3) present the affinity and stimulation of ab
and ag, respectively. When the parameters are mc and mc, formula (2) present the
affinity of two memory cells.
Affinity ( x, y ) =
x. f i y. f i / n
(2)
Stimulation( x, y ) = 1 Affinity ( x, y )
(3)
i =1
UCAIS then learn from each training antigen, and the first is to identify the memory
cell which has the same class as the antigen and which is most stimulated by the antigen ag according to formula (4). If there are no memory cells having the same class as
ag in the memory cells pool, add ag to the pool as mcmatch.
mcmatch = {
ag iff MCag.c=
arg max stimulation(ag ,mc) otherwise
mcMCag .c
(4)
Once the mcmatch with highest stimulation is identified, it generates new ARBs. Let
NumClones=clonalRate*hyperClonalRate*stimulation (mcmatch, ag). The hyperClonalRate and clonalRate are integer values set by the user. The clonalRate is used to
determine how many clones are produced by ARBs and memory cells. A typical
value is 10. The hyperClonalRate is a multiplier, which ensures that a hypermutating
memory cells produces more new cells than standard ARB. UCAIS creates NumClones new clones of mcmatch, where each feature vector of the clone can be mutated
with stimulation value. Specifically, the higher the normalized stimulation value, the
smaller the range of mutation allowed. The mutated ARBs of clone and mcmatch are
then joined into the set of AB.
359
The number of resources in the system is a fixed value, TotalResource. For each ab
AB, if ab.c=ag.c, then ab is allocated a number of resources. The principle of resources allocation is that a B-cell which is highly stimulated by the given ag can own
more resources, and the total resources which are allocated to B-cells can not exceed
TotalResource. The competitive allocation of resources will result in some
B-cells owning the least resources died. The goal is to control the number of B-cells.
This process include following steps.
1) If ab is of the same class as the antigen ag, find the maximum stimulation and
minimum stimulation among all the ARBs in the set of AB by formula (3). For each
ab AB, normalize its stimulation by formula (5).
ab.stim =
(5)
(6)
3) Sum all resources. If the sum of resources just allocated to the ARBs exceeds the
allowance Totalresource, resources are removed from the least stimulated ARBs first.
4) Meanwhile, all surviving ARBs are allowed to generate mutated clones.
5) A stopping criterion is calculated by formula (7) at this point. It is met if the average stimulation level for the same class as the antigen ag is above a stimulation
threshold value set by the user. If the stopping criterion has not been met, repeat,
beginning at step 1).
ABi
s=
ab .stim
j =1
ABi
(7)
If the new candidate for the memory cells pool, mccand, which is defined by formula
(8), is a better fit for the presenting antigen than the best existing memory cells,
mcmatch, it will be added to the pool, MCag.c=MCag.c{mccand}. Moreover, if the affinity
between mccand and mcmatch is less than the MMCD, then mccand actually replaces
mcmatch in the memory cells pool and mcmatch is discarded. Calculate the affinity of
mcmatch and other memory cell. If the affinity is lower than MMCD, mcmatch is also
discarded from the memory cells set.
mccand = arg max stimulation(ag , ab) iff ab.c = ag.c
ab ABag . c
(8)
360
L. Peng et al.
3 Experiments
UCAIS has been used to classify four benchmark datasets taken from the repository
of the UCI [12], the Fisher iris flowers dataset, the Pima diabetes dataset, the Ionosphere dataset, and the Sonar dataset. These four datasets are famously used for testing classification algorithm. The size of the training datasets, and the user-assignable
parameters include the stimulation threshold, , clonalRate, hyperClonalRate, Totalresource, and k-value are 0.8, 0.2, 1, 500, 3, respectively, which are all same with
literatures [7-8]. The experiments adopt formula (3) and formula (4) to calculate affinity and stimulation respectively where =2.
In order to test the setting of MMCD to the size of the evolved memory cells pool
and ACA (Average Classification Accuracy), we carry out the experiments on four
datasets respectively. The results are shown in Fig.1 and Fig.2. Fig.1 presents ACA
increases with the increase of MMCD, for four datasets, when MMCD is 0.05, 0.03,
0.03, and 0.03, respectively, ACA gets satisfied results; meantime, the sizes of
evolved memory cells pool are relatively small. However, with the continuous increase of MMCD, ACA decreases.Fig.2 illustrates that the size of the evolved memory cells pool decreases with the increase of MMCD. The results prove that the proper
setting of MMCD can not only reduce the size of the evolved memory cells pool, but
also help to improve the ACA.
UCAIS reduces the set of memory cells pool. We compared the size of evolved
memory cells pool of UCAIS with AIRS1 [7], the first version of AIRS, and AIRS2
[8], the revision of AIRS1. Both AIRS1 and AIRS2 have been widely and successfully applied to many fields. The results are shown in Fig.3, which illustrates that
361
UCAIS is the smallest of three. Fig.4 presents the percentage reduction of the evolved
set of memory cells of AIRS1, AIR2 and UCAIS, which can be seen that UCAIS is
the highest on four datasets. Compared UCAIS with AIRS2, which reduces the size of
the memory cells pool on formal three datasets, the percentage reduction and the
improvement of UCAIS are 79.6% (+5.6%), 70% (+18%), 79.6% (+19.6%), and 38%
(+31%), respectively.
Fig. 4. Comparison of the percentage reduction of the evolved memory cells pool
Iris
98.2%
98.0%
98.0%
96.0%
96.7%
Classification accuracy
Ionosphere
Diabetes
96.9%
78.3%
96.7%
77.7%
77.6%
93.2
95.6%
74.2%
94.9%
75.8%
Sonar
92.3%
90.4%
84.9%
84.0%
4 Conclusion
A supervised classifier named UCAIS is presented in this paper. Compared with
AIRS, UCAIS not only reduces the huge size of evolved memory cells pool, but also
362
L. Peng et al.
improves the classification accuracy. The next work is to apply UCAIS to more actual
problems. UCAIS is a general algorithm, and can be used in other fields. For example, if the antigen set is considered as specified patterns, or normal status of network,
and etc., UCAIS can be used for pattern recognition, anomaly detection, and others.
Acknowledgments
This work was supported by 863 High Tech Project of China under Grant NO.
2006AA01Z435, the National Natural Science Foundation of China under Grant
No.60373110, No.60573130, and NO.60502011.
References
1. Li, T.: Computer Immunology. Publishing House of Electronics Industry Beijing (2004)
2. Klarreich E. Inspired by Immunity. Nature, vol. (415) (2002) 468-470
3. Li T., An immune based dynamic intrusion detection model. Chinese Science Bulletin,
vol. 50(22) (2005) 2650-2657
4. Li, T.: An immunity based network security risk estimation. Science in China Ser. F Information Sciences, vol. 48(5) (2005) 798-816
5. De Castro, L. N., F. Von Zuben.: The clonal selection algorithm with engineering applications. in Proc. of Genetic and Evolutionary Computation Conference. USA: Morgan
Kaufman Publishers, (2000) 36-37
6. De Castro, L. N., J. Timmis.: An Artificial Immune Network for Multimodal Optimisation.
Congress on Evolutionary Computation. Part of the World Congress on Computational Intelligence, (2002) 699-704
7. Watkins, L. Boggess.: A Resource Limited Artificial Immune Classifier. Proceedings of
Congress on Evolutionary Computation, Berlin Heidelberg: Springer Verlag, (2002)
926-931
8. Watkins, J. Timmis, L. Boggess.: Artificial Immune Recognition System (AIRS): An Immune-Inspired Supervised Learning Algorithm. Genetic Programming and Evolvable Machines, vol. 5 (3) (2004) 291-317
9. Zhong, Y.F., Zhang, L.P., Huang B., Li P.X.: An unsupervised artificial immune classifier
for multi/hyperspectral remote sensing imagery. IEEE Transactions on Geosciences and
Remote Sensing, vol. 44(2) (2006) 420-431
10. Xu, C.L., Li, T., Huang X.M.: Artificial Immune Algorithm Based System for Forecasting
Weather, Journal of Sichuan University(Engineering Science Edition), vol. 37(5) (2005)
125-129
11. Polat, K., Sahan, S., Kodaz, H., Gunes, S.: A new classification method to diagnosis liver
disorders: supervised artificial immune system (AIRS). in Proc. of the IEEE 13th Signal
Processing and Communications Applications,New Yok (2005) 169-174
12. Blake,C.L.Merz,C,J.:
UCI
Repository
of
machine
learning
databases.
http://www.ics.uci.edu/~mlearn/MLRepository.html (1998)
13. W. Duch.: Datasets used for classification: Comparison of results. http://
www.phys.uni.torun.pl/kmk/projects/datasets.html (2002)
Shanghai Center for Bioinformation Technology, 100 Qinzhou Road, Shanghai, China
Bioinformatics Center, Key Lab of Systems Biology, Shanghai Institutes for Biological
Sciences, Chinese Academy of Sciences; Graduate School of the Chinese Academy of
Sciences, 320 YueYang Road, Shanghai 200031, China
zwcao@scbit.org,
yxli@scbit.org
1 Introduction
To protect ourselves from intruders, our immune system produces antibody proteins
which are able to recognize and neutralize foreign substances, namely antigens. In
response to the different varieties of antigens encountered over a humans lifetime, B
cells need to make thousands of millions of different antibodies deriving from the
limited immunologic information encoded in human genome[1]. It is estimated that
the human body can produce at least 108 different antibodies[2], as a homo-dimmer of
heavy and light peptide chains, each of them containing a unique variable region. In
contrast to the huge diversities of unique regions of antibodies, the variable region of
immunologic protein is only encoded by combination of three kinds of gene
segments: variable (V), diversity (D) and joining (J) fragments (V and J segments
only in the case of light chain). Taking heavy chain as an example, all the possible
variable regions is only encoded by gene groups of 51 V genes, 27 D genes and 6 J
genes in human chromosome 14 [2].
Obviously human beings has gained the most important and amazing
immunological mechanism to generate the vast diversity of antibodies during the long
Corresponding author.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 363369, 2007.
Springer-Verlag Berlin Heidelberg 2007
364
X. Wang et al.
history of evolution[1]. But how can the human bodies produce such a huge
number of antibodies from limited number of gene groups? Several mechanisms
in vivo have been revealed to answer this question, such as combinatorial V-(D)-J
genetic joining, junctional flexibility, somatic hypermutation and combinatorial
association of light and heavy chains[2]. It is notable that the random
recombination of the V, (D), J genetic segments plays the most critical role[1],
not only creating the diversity at level of 105 (10 3 for light chain), but also
providing the basic structural frame for further diversity developing of the
antibody variable region. In this sense, analysis of the V-(D)-J recombination
process could help to facilitate antibody engineering for potential therapeutic and
research applications.
With the accomplishment of human genome project, genetic information of
immunoglobulins (Igs) has been collected into public databases[3], which makes
bioinformatics analysis of V-D-J junction possible. Several tools have been developed
trying to trace back to genetic coding from the mature immunoglobulin sequences,
including some pioneer work which applied alignment methods[4, 5] or consecutive
matches for D segment matching[6]. Recently, a new tool based on dynamic
programming named SoDA was established, which is intended to process sequences
in batch[7].
Although these existing tools produced some positive results, their methods
were too complex. At the present time BLAST has been proved a very successful
and efficient tool for sequence alignment, which motivates us to achieve the task
with this handy and powerful tool. However, BLAST is a program for general
sequence analysis, while the antibody sequences have their own specialities, so it
is indispensable for us to assign these specialities to BLAST by setting appropriate
parameters.
In this paper, a similar tool named Ab-origin was setup based on BLAST[8]
algorithm, which has been widely accepted as a powerful tool for sequence alignment
that allows custom parameter settings according to specific situations. Ab-origin was
developed by JAVA language and run on Linux server. To better model the natural
process of antibody maturation induced by antigen-affinity, the unconfirmed events
such as D-D fusion[5, 9] and insertion/deletion during somatic hypermutations are
excluded after checking with related reference [2, 10].
2 Method
2.1 Germline Database
Sequences of V, D, J germline genes of human immunoglobulin heavy chains were
collected from IMGT[3] database. After removing the partial genes, the numbers
of the V, D and J alleles are 187, 34, and 12 respectively. V germline sequences
vary from 288 to 305 nucleotides in length, D vary from 11 to 37 and J from 48
to 63.
365
2.2 Principle
To our knowledge, V, D and J gene segments assemble through a site-specific
recombination reaction which is thought to be a random assortment[11]. Selections of
V, D and J segments during rearrangement process are independent. So, according to
the Bayes rule, there is
P(V,D,J|Q)=P(V)P(D)P(J)/P(Q) .
(1)
Where Q is the query sequence which is the target we need to analyze from mature
antibody. V, D, and J represent the three germline segments, respectively. P(V,D,J|Q)
is the probability of finding the correct V, D and J genes of the giving sequence
Q. This is the real case from germline to the mature antibody sequence in our body,
but when we decipher the mature sequence, the identification of the D region always
lies on the location of the V and J segments which you found in the query sequence.
So the formula changed to
P(V,D,J|Q)=P(V)P(D|V,J)P(J)/P(Q) .
(2)
366
X. Wang et al.
367
Total number
Correct pickup
353
301
a
SoDA Ab SoDA Ab
243
SoDA Ab
10
146
SoDA Ab
V 339
347
276
287
232
234
134
138
D 276
292
235
241
178
193
111
351
291
293
241
241
140
350
124
SoDA Ab
113
117
118
84
103
142
119
122
* The numbers represent the correct results from two programs at five different mutation
rates. A correct inference means that the finding out gene segment was exactly the one we
used in simulation, even not allowing for mismatched alleles. a, Ab-origin.
368
X. Wang et al.
the D extremity, and meanwhile the random insertion of N-nucleotides may occur
between the V-D and D-J joints. In addition, different D gene segments may have
identical sequences, such as IGHD5-5*01 and IGHD5-18*01, IGHD4-4*01 and
IGHD4-11*01, resulting in some unexpected inference mistakes. As a result, its very
difficult to recognize the D segment source. In contrast, the proportion of V and J
being influenced in the recombination is much smaller, making the error rates in
identifying D segment significantly higher than those of both V and J segments.
Fig. 1. Comparison of error rates between the results from Ab-origin (dashed line) and SoDA
(solid line) at five mutation rates
4 Conclusions
An improved tool Ab-origin was developed to efficiently identify V, D, and J gene
segments from a rearranged antibody sequence by searching against germline
database using appropriate rules. To evaluate the tool, we compared Ab-origin and
SoDA with a set of artificial antibody sequences which were produced by simulating
the antibody maturation process. The results show Ab-origin not only finds more
correct V, D and J segments, with 2, 7 and 1 percent higher compared to SoDA
respectively, but also reduces the computational cost. Though this paper only take the
human heavy chain for an example, the algorithm established here also suits for the
analysis of all immunoglobulin and TCR sequences in human, even other mammals
369
References
1. Maizels N.: Immunoglobulin gene diversification. Annu Rev Genet. Vol. 39. (2005)
23-46.
2. Goldsby R. A., Kindt T. J., Osborne B. A.Kuby J.: Chapter5, Immunology 5e. 5th edn;
(2003).
3. Lefranc M. P.: IMGT, the international ImMunoGeneTics database. Nucleic Acids Res.
Vol. 29. (2001) 207-209.
4. Giudicelli V., Chaume D.Lefranc M. P.: IMGT/V-QUEST, an integrated software
program for immunoglobulin and T cell receptor V-J and V-D-J rearrangement analysis.
Nucleic Acids Res. Vol. 32. (2004) W435-440.
5. Corbett S. J., Tomlinson I. M., Sonnhammer E. L., Buck D.Winter G.: Sequence of the
human immunoglobulin diversity (D) segment locus: a systematic analysis provides no
evidence for the use of DIR segments, inverted D segments, "minor" D segments or D-D
recombination. J Mol Biol. Vol. 270. (1997) 587-597.
6. Souto-Carneiro M. M., Longo N. S., Russ D. E., Sun H. W.Lipsky P. E.: Characterization
of the human Ig heavy chain antigen binding complementarity determining region 3 using
a newly developed software algorithm, JOINSOLVER. J Immunol. Vol. 172. (2004)
6790-6802.
7. Volpe J. M., Cowell L. G.Kepler T. B.: SoDA: implementation of a 3D alignment
algorithm for inference of antigen receptor recombinations. Bioinformatics. Vol. 22.
(2006) 438-444.
8. Altschul S. F., Gish W., Miller W., Myers E. W.Lipman D. J.: Basic local alignment
search tool. J Mol Biol. Vol. 215. (1990) 403-410.
9. Ohm-Laursen L., Nielsen M., Larsen S. R.Barington T.: No evidence for the use of DIR,
D-D fusions, chromosome 15 open reading frames or VH replacement in the peripheral
repertoire was found on application of an improved algorithm, JointML, to 6329 human
immunoglobulin H rearrangements. Immunology. Vol. 119. (2006) 265-277.
10. Odegard V. H.Schatz D. G.: Targeting of somatic hypermutation. Nat Rev Immunol.
Vol. 6. (2006) 573-583.
11. Jung D., Giallourakis C., Mostoslavsky R.Alt F. W.: Mechanism and control of V(D)J
recombination at the immunoglobulin heavy chain locus. Annu Rev Immunol. Vol. 24.
(2006) 541-570.
12. Bedell J., Korf I.Yandell M.: BLAST. O'Reilly; (2003) 360.
Abstract. In this paper a Simulated Annealing algorithm (SA) for solving the
Protein Folding Problem (PFP) is presented. This algorithm has two phases:
quenching and annealing. The first phase is applied at very high temperatures
and the annealing phase is applied at high and low temperatures. The
temperature during the quenching phase is decreased by an exponential
function. We run through an efficient analytical method to tune the algorithm
parameters. This method allows the change of the temperature in accordance
with solution quality, which can save large amounts of execution time for PFP.
Keywords: Peptide, Protein Folding, Simulated Annealing.
1 Introduction
The protein folding problem (PFP) is one of the most challenging problems in the
bioinformatics area. The folding protein process starts with an initial protein state
(i.e. special configuration of amino acids atoms), followed by intermediate states and
ends in a final state. The final state is known as native structure, which is
characterized by the minimal energy in the last configuration of amino acids' atoms.
The natural protein folding process is not yet completely understood; the protein
follows an unknown path from any conformation to its native structure [1]. It seems
that in natural folding, the protein does not explore all its possible states [2]. In order
to save time, computational folding simulation helps to find the native structure of a
given protein and avoids generating all the possible states. Ab Inition Methods are
very popular to predict protein final conformation. The protein states are
characterized by their energy which depends on the interaction among their atoms.
Atomic energies are affected by position of atoms, torsion angles and distance among
atoms. The force fields are used to measure the configuration energies of a protein;
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 370377, 2007.
Springer-Verlag Berlin Heidelberg 2007
371
these include many interactions among atoms, affecting different energies; the most
important are: 1) Torsional energy; 2) Hydrogen bonds energy; 3) Nonbonded
energy; 4) Electrostatic energy. The most popular and successful software systems for
calculating force fields are AMBER [3], CHARMM [4], ECEPP/2 [5] and ECEPP/3
[6]. Heuristic methods are used for solving PFP, the most common are: Genetic
Algorithms, Simulated Annealing (SA), Neural Network, and Tabu Search. SA
provides excellent solutions [7][20] in a short execution time [21][22]; it is an
analogy with thermodynamics and the way that liquids freeze and crystallize. The SA
parameters must be tuned for finding good solutions; these parameters are obtained by
an analytical method [27] or by experimentation [31]-[32]. Analytical methods are
used for defining the parameters with formal models; on the other hand, in
experimental methods, the parameters are defined by trial and error. Once SA is
tuned, it is executed to obtain very good solutions; during the execution, the
temperature changes in accordance with equilibrium stochastic, which is detected by
three methods [24]: (1) trial and error, (2) mean and standard deviation and (3)
accepted solutions vs proposed solutions criterion. Recently, a new method was
developed [23] to set the cooling scheme parameters in SA Algorithms, this method
establishes that both, the initial and final temperature are a function of the maximum
and minimum cost increment obtained from the neighborhood structure. This method
has been applied to solve NP-Hard Problems like Satisfiability problem [SAT] [23]
[24]. This papers deals with a new SA algorithm for PFP. The proposed algorithm has
two phases named Quenching and Annealing Phases. The first phase is an analogy of
the physical quenching process, which is similar to the annealing process but the
temperature, is quickly decreased until a quasi-thermal equilibrium is reached. In the
case of PFP, the energy is changed in a chaotic way because it has extreme variations.
The quenching phase is applied at very high temperatures and decreased with an
exponential function. Once the quasi-thermal is reached by this function, the
algorithm starts the annealing phase, which gradually reduces the temperature values
adapting the analytical tuning [23] methods to PFP.
2 Analytical Tuning
2.1 Setting Initial and Final Temperatures
Analytical tuning can be helpful for setting up the initial temperature. The probability
of accepting any new solution is near to 1 at high temperatures, so, the deterioration
of cost function is maximal. The initial temperature C(1) is associated with the
maximum deterioration admitted and the defined acceptance probability. Let Si be the
current solution and Sj a new proposed one, and Z(Si) and Z(Sj) are the costs
associated to Si and Sj; the maximum and minimum deteriorations are expressed
as Zmax and Zmin. Then, the probability P( Zmax) of accepting a new solution
with the maximum deterioration is (1) and then C(1) can be calculated as in (2). In a
similar way, the final temperature is established according to the probability
P( Zmin) of accepting a new solution with the minimum deterioration (see (3)).
372
J. Frausto-Solis et al.
Z max
= P(Z max) .
exp
C (1)
(1)
C (1) =
Z max
.
ln( P(Z max))
(2)
C( f ) =
Z min
.
ln( P(Z min))
(3)
With these parameters, SA is able to find solutions near the optimal or in some
cases, the optimal one. The initial temperature can be extremely high because
according to (2), C(1) is extremely affected by Zmax.
2.2 Setting the Markov Chain Length
SA can be devised with constant or variable Markov Chains (MC). Let L(k) be the
number of iterations at k temperature in Metropolis Loop (ML); it can be set as a
multiple of variables of the problem. In SA with constant MC, L(k) is set as a
constant for all the temperatures; in other implementations, ML is stopped by a
certain number of accepted solutions. On other hand, analytical methods determine
L(k) with a simple Markov model [23]; at high temperatures, only a few iterations
are required because the stochastic equilibrium is quickly reached; nevertheless, at
low temperatures a more exhaustive exploration is needed, so, a larger L(k) is used.
Let L(1) be L(k) at C(1) and Lmax be the maximum MC length; C(k) is decreased by
the cooling function (4), where parameter is between 0.7 and 0.99 [21][22] and
L(k) is calculated with (5):
C (k + 1) = C (k ) .
(4)
L(k + 1) = L(k ) .
(5)
In (5), is the increment coefficient of MC (>1); so, L(k+1) > L(k) and L(1) =1
and the last MC L(f) is equal to Lmax. The functions (4) and (5) are applied
successively in SA from C(1) to C(f); consequently C(f) and Lmax can be obtained in
(6) and (7).
C ( f ) = nC (1) .
(6)
L max = n L(1) .
(7)
In (6) and (7), n is the step number from C(1) to C(f); so we get (8) and (9).
n=
ln C ( f ) ln C (1)
.
ln
(8)
ln L max ln L(1) .
= exp
373
(9)
3 Implementation
The general cooling scheme was tested with two small proteins (Met5enkephaline,
C-peptide). SMMP was used [28][29], and the objective to evaluate the
conformation energy function with ECEPP/2 [5]. Neighbor solutions were selected
randomly (angles in [-180, 180]), and C(1) and C(f) were calculated using
P( Zmax)=0.7 and P( Zmin)=0.3. If the former probability were superior to 0.70
and closer to 1, it would allow excellent exploration, but SA would be inefficient; on
the contrary, with lower values, SA would have a short exploration level but it would
not be able to find a good solution. The initial temperature (C(1)=1.76x1025) is
extremely high because the high values of the energies; therefore, Zmax has
extremely high or low values; C(f) is set as 0.001. At the end of the process, a small
probability to accept deteriorations is enough and after trial and error, 0.3 was chosen. In
other words, the general cooling scheme establishes the adequate value of C(1) to
perform a better stochastic walk. Nevertheless, the cooling function allows that the
temperature decreases very fast at the beginning of the process (chaos phase) and the
chaos phase. The cooling function at this phase is given by (10), and it uses (11) and (12):
c(k + 1) = k c(k )
k = (1 k )
k = k21
(10)
(11)
(12)
In (11) and (12), 0< 1 < 1 but closer to one (e.g. 0.999); therefore (11) gradually
converges to one and, the cooling function becomes equivalent to (4). The value is
changed according to the percentage of accepted solutions into the Markov chain, and
its value is different for each implementation. When 1 reaches one, the quenching
phase ends and the annealing phase starts. At the beginning of the quenching process,
is set as 0.7 There are five different tested analytical approaches: one with
constant MC length equal to 3,600 for all the temperatures range, another one with
adaptable MC length, and the other three with growing MC length (from L(1)=360 to
L(f)=3,600); these values are obtained by different values of the parameter and then
equations (8) and (9) are applied for calculating the Metropolis parameters.
374
J. Frausto-Solis et al.
4 Results
The following implementations were tested and compared: 1) Original SMMP code
[26]; 2) Experimental tuning with MC of constant length (ESAC); 3) Experimental
tuning with MC of adaptable length as [6] (ESAP); 4) Experimental with MC of
adaptable length as [6] and low dispersion as [6] (ESAD); 5) Analytical tuning with
MC of constant length (ASAC); 6) Analytical tuning with MC of adaptable length as
[6] (ASAA); 7) Analytical tuning with MC of growing length and regular cooling
( = 0.7, 0.85 and 0.95) (ASAR); 8) Analytical tuning with MC of growing length
and slow cooling ( = 0.7, 0.85 and 0.98) (ASAS); 9) Analytical tuning with MC of
growing length and regular/slow cooling ( = 0.7, 0.85, 95 and 0.98) (ASARS).
Table 1 shows the results for Met5enkephaline, and table 2 shows the results for
C-peptide. These tables show the average and standard deviation of the results
obtained after thirty tests in each case. Results are displayed in terms of the cost for
the final solution and the time required for finding it. All the results were validated in
Ramachandran Plots [30] and we can notice that all the final configurations have
angles into the feasible region. The final configuration of ASAR was also very similar
to the one reported in PDB (Protein Data Bank, www.pdb.org). When the searching
Table 1. Met5 Enkephaline Average of the results, this includes best and worst solutions
Approach
SMMP
ESAC
ESAP
ESAD
ASAC
ASAA
ASAR
ASAS
ASARS
Approach
SMMP
ESAC
ESAP
ESAD
ASAC
ASAA
ASAR
ASAS
ASARS
11.9
0.05
3.1
0.05
13.4
7.86
2.1
0.24
5.5
0.02
3.6
0.50
2.2
0.12
4.5
0.12
4.0
0.07
Best Solutions
Time
Energies
11.9
-10.3897
3.1
-10.7110
20.8
-10.7032
2.3
-9.3143
5.5
-10.7101
4.6
-10.0857
2.3
-10.6886
4.6
-10.6768
3.9
-10.6462
-9.1674
2.3145
-8.9461
2.2017
-7.8249
1.5978
-6.9538
1.0404
-9.8721
0.5233
-6.2292
2.0609
-8.0136
1.4801
-8.7191
1.5968
-8.1564
1.3745
Worst Solutions
Time
Energies
11.9
-6.6521
3.1
-4.2083
5.7
-5.2110
1.9
-5.8780
5.5
-6.2117
3.1
-1.9257
2.0
-3.2091
4.4
-7.0253
3.8
-5.4932
375
process of these implementations is close to the end, the variables of the problem
converge to a specific value; the total variables of Met5enkephaline are nineteen, of
which only seventeen are clearly convergent. We made additional experimentation
using a Genetic Algorithm obtaining the worst results. With Met5enkephaline the
algorithm reached only -3.5 Kal/mol in average, and with C-Peptide an average of -57
Kcal/mol was obtained.
5 Conclusions
A SA algorithm for Folding Problems is presented in this paper. This algorithm uses
extremely high temperatures in a chaos (quenching) phase allowing the exploration of
a bigger percentage of the solution space than previous SA approaches; the algorithm
uses two phases, one for the chaos phase where temperatures are too high and the
other for lower temperatures. The results presented in the paper with two peptides
show that the new approach is able to find solutions with better quality than the
classical SA algorithms. According to this experimentation, the general cooling
scheme presented here obtains very good results. This method is useful for setting the
initial temperature of SA applied to the protein folding problem and it guarantees to
reach more suitable solutions. This method also provides a good technique to save
time execution at high temperatures using dynamic Markov Chains. The values of the
cost function for the best configurations obtained with the analytical implementations
376
J. Frausto-Solis et al.
are fairly close to each other and they are very close to those obtained by
experimental tuning procedures. For the quenching phase, a cooling function
decreasing gradually the temperature of the system is presented. The most remarkable
advantage of this tuning method is the saving of time in setting the initial and final
temperatures. Now we are validating these approaches with larger common proteins;
it represents a very interesting greater challenge.
References
1. Anfinsen, C.: Principles that govern the folding of protein chains. Science 181, (1973)
223 230.
2. Levinthal, C.: Are there pathways for protein folding?. J. Chem. Phys. 65, (1968) 44 45.
3. Ponder, J.: Case, Force fields for protein simulations. Adv. Prot. Chem. 66, (2003) 27 85.
4. Brooks, R., Bruccoleri, R., Olafson, B., States, D., Swaminathan, S., Karplus, M.: A
program for macromolecular energy, minimization, and dynamics calculations. J. Comp.
Chem. 4, (1983) 187 217.
5. Momany, F., McGuire, R., Burgess, A., Scheraga, H.: Energy Parameters in Polypeptide.
VII. Geometric Parameters, Partial Atomic Charges, Nonbonded Interactions, Hydrogen
Bond Interactions, and Intrinsic Torsional Potentials for the Naturally Occurring Amino
Acids. The Journal of Physical Chemistry. Vol 79, No. 22, (1975).
6. Nemethy, G., Gibson, K., Palmer, K., Yoon, C., Paterlini, G., Zagari, A., Rumsey, S.,
Scheraga, H.: Energy parameters in polypeptides. 10. Improved geometrical parameters
and nonbonded interactions for use in the ECEPP/3 algorithm with application to prolinecontaining peptides. J. Phys. Chem. 18, 323. (1992).
7. Morales, L., Garduo, R., Romero, D.: Application for simulated annealing to the multiple
minima problem in small peptides. J. Biomol. Str. And Dyn. 8, (1991) 1721 735.
8. Morales, L., Garduo, R., Romero, D.: The multiple minima problem in small peptide
revisited. The threshold accepting approach. J. Biomol. Str. And Dyn. 9, (1992).
9. Hansmann, U., Okamoto, Y.: Prediction of Peptide Conformation by the Multicanonical
Algorithm. arXiv: cond-mat/9303024 v1, (1993).
10. Okamoto, Y.: Protein Folding Problem as Studied by New Simulation Algorithms. Recent
Research Developments in Pure & Applied Chemistry. Proc. Acad. Sci. USA 1987, 84,
(1998) 6611-6615.
11. Garduo, R., Romero, D.: Heuristic Methods in conformational space search of peptides.
J. Mol. Str. 308, (1994) 115 123.
12. Simons, K., Kooperberg, C., Huang, E., Baker, D.: Assembly of Protein Tertiary
Structures from Fragments with Similar Local Sequences using Simulated Annealing and
Bayesian Scoring Functions. J. Mol. Biol. 268, (1997) 209 225.
13. Pillardy, J., Czaplewski, C., Liwo, A., Lee, J., Ripoll, D., Kazmierkiewicz, R., Odziej, S.,
Wedemeyer, W., Gibson, K., Arnautova, Y., Saunders, J., Ye, Y., Scheraga, H.: Recent
improvements in prediction of protein structure by global optimization of a potential
energy function. PNAS vol 98. No. 5. (2000) 2329 2333.
14. Hiroyasu, T., Miki, M., Ogura, S., Aoi, K., Yoshida, T., Okamoto, Y., Dongarra, J.:
Energy Minimization of Protein Tertiary Structure by Parallel Simulated Annealing using
Genetic Crossover. Proceedings of 2002 Genetic and Evolutionary Computation
Conference (GECCO 2002) Workshop Program. (2002) 49-51.
377
15. Vila, J., Ripoll, D., Scheraga, H.: Atomically detailed folding simulation of the B domain
of staphylococcal protein A from random structures. PNAS vol 100. No. 25.
14812 14816.
16. Hung, L., Samudrala, R.: PROTINFO: Secondary and tertiary protein structure prediction.
Nucleic Acids Research, Vol. 31, No. 13: (2003) 3296 3299.
17. Chen, W., Li, K., Liu, J.: The simulated annealing method applied to protein structure
prediction. Third international conference on machine learning and cybernetics, Shanghai.
(2004).
18. Liwo, A., Khalili, M., Scheraga, H.: Ab initio simulations of protein-folding pathways by
molecular dynamics with the united-residue model of polypeptide chains. PNAS 2005,
vol. 102. No. 7. (2004) 2362 2367.
19. Alves, R., Degrve, L., Caliri, A.: LMProt: An Efficient Algorithm for Monte Carlo
Sampling of Protein Conformational Space. Biophysical Journal; ProQuest Medical
Library. 87, 3. (2004).
20. Lee, J., Kim, S., Lee, J.: Protein structure prediction based on fragment assembly and
parameter optimization. Biophisycal Chemestry 115 (2005) 209 214.
21. Kirkpatrick, S., Gelatt, C., Vecchi, M.: Optimization by simulated annealing. Science,
Number 4598, 220, 4598. (1983) 671 680.
22. Cerny, V.: Thermo dynamical approach to the traveling salesman problem: An efficient
simulation algorithm. Journal of Optimization Theory and Applications, 45(1). (1985)
41 51.
23. Sanvicente, H., Frausto, J.: A Method to Establish the Cooling Scheme in Simulated
Annealing Like Algorithms. ICCSA 2004. Springer Verlag. LNCS, ISSN: 0302-9743.
(2004).
24. Sanvicente, H.: Metodologa de paralelizacin del ciclo de temperatura en algoritmos tipo
recocido simulado. Tesis doctoral, ITESM Campus Cuernavaca, Mxico. (2003).
25. Sanvicente, H., Frausto, J.: Optimizacin de los dimetros de las tuberas de una red de
distribucin de agua mediante algoritmos de recocido simulado. Ingeniera hidrulica en
Mxico. Vol XVIII, num. 1, (2003) 105 118.
26. Sanvicente, H., Frausto, J., Imperial, F.: Solving SAT Problems with TA Algorithms
Using Constant and Dynamic Markov Chains Length. AAIM05. Springer Verlag. LNCS,
ISSN: 0302-9743, (2005).
27. Frausto, J., Sanvicente, H., Imperial, F.: ANDYMARK: An analytical method to establish
dynamically the length of the Markov chain in simulated annealing for the satisfability
problem. Lecture Notes in Computer Science, Springer Verlag. LNCS, ISSN:0302-9743,
(2006).
28. Eisenmenger, F., Hansmann, U., Hayryan, S., Hu, C.: SMMP: A modern Package for
Protein Simulation. Comp. Phys. Comm. 138, 192, (2001).
29. Eisenmenger, F., Hansmann, U., Hayryan, S., Hu, C.: An Enhanced Version of SMMP
Open source software package for simulation of proteins. Comp. Phys. Comm, (2006)
174-422,
30. Ramachandran, G. N., Ramakrishnan, C., Sasisekharan, V.: Stereochemistry of
polypeptide chain configuration. J. Mol. Biol.7, (1963) 95 99.
31. Perez Joaquin O., Pazos Rodolfo, Velez Laura, Rodrguez Guillermo: Automatic
Generation of Control Parameters for the Threshold Accepting Algorithm, LNCS 2313,
Springer Verlag, MICAI (2002) 118-127.
32. Perez Joaquin O., Pazos R.A., Romero David, Santaolaya Rene., Rodrguez Guillermo,
Sosa V:,: Adaptive and Scalable Allocation of Data-Objects in the Web, LCNS 2667
Springer Verlag, ICCSA (2003) 134-143.
Introduction
Understanding protein functions and how they interact with each other give
biologists a deeper insight into the understanding of living cell as a complex
machine, disease process and provide targets for eective drug designs. As of to
date, vast knowledge of protein-protein interactions are still locked in the fulltext journals. As a result, automatically extracting information about proteinprotein interactions is crucial to meet the demand of the researchers.
Most existing approaches are either based on simple pattern matching, or by
employing parsing methods. Approaches using pattern matching [1] rely on a set
of predened patterns or rules to extract protein-protein interactions. Parsing
based methods employ either deep or shallow parsing. Shallow parsers [2] break
sentences into none overlapping phases and extract local dependencies among
phases without reconstructing the structure of an entire sentence. Systems based
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 378385, 2007.
c Springer-Verlag Berlin Heidelberg 2007
379
on deep parsing [3] deal with the structure of an entire sentence and therefore are
potentially more accurate. The major drawback of the aforementioned methods
is that they may require complete manual redesign of grammars or rules in order
to be tuned to dierent domains. On the contrary, statistical models can perform
the protein-protein interactions extraction task without human intervention once
they are trained from annotated corpora. Many empiricist methods [4] have been
proposed to automatically generate the language model to mimic the features of
un-structured sentences. For example, Seymore [5] used Hidden Markov Model
(HMM) for task of extracting important elds from the headers of computer
science research papers. In [6], a statistical method based on the hidden vector
state model (HVS) to automatically extract protein-protein interactions from
biomedical literature has been proposed. However, methods of this categories
do not perform well partially due to the lack of large-scale, richly annotated
corpora.
How to learn from both annotated and un-annotated data, i.e. semi-supervised
learning, have been investigated. The proposed methods include EM (expectationmaximization) with generative mixture models [7], self-training [8], co-training
[9], transductive support vector machines, graph-based methods [10] and so
on. Nigam et al. [7] applied the EM algorithm on the mixtures of polynomials
for the task of text classication. They showed that the classiers trained from
both the labeled and unlabeled data perform better than those trained solely
from the labeled data. Yarowsky [11] used self-training for word sense disambiguation. Rosenberg et al. [8] applied self-training to object detection from
images. Jones [9] used co-training, co-EM and other related methods for information extraction from text. Blum et al. [10] proposed an algorithm based on
nding minimum cuts in graphs to propagate labels from the labeled data to the
unlabeled data. For a detailed survey on semi-supervised learning, please refer
to [12].
In this paper, we present a novel method to automatically train the HVS
model from un-annotated data. Considering a semantic annotation as a class
label for each sentence, we employ Part-Of-Speech (POS) tagging to convert
the original sentence into the POS tag sequence, we then use the modied knearest-neighbors (KNN) classiers to assign a semantic annotation to an unseen sentence based on its POS tag sequence. The rest of the paper is organized
as follows. Section 2 briey describes the HVS model and how it can be applied to extract protein-protein interactions from the biomedical literature. Section 3 presents the proposed approach on automatically training the HVS model
from un-annotated data. Experimental results are discussed in section 4. Finally,
section 5 concludes the paper.
The Hidden Vector State (HVS) model [13] is a discrete Hidden Markov Model
(HMM) in which each HMM state represents the state of a push-down automaton
with a nite stack size. Each vector state in the HVS model is in fact equivalent
380
T
t=1
t1
P (ct [1]|W1t1 , Ct1
, Ct1 )
1 , nt ) P (wt |W1
(1)
where:
Ct1 denotes a sequence of vector states c1 ..ct . ct at word position t is a
vector of Dt semantic concept labels (tags), i.e. ct = [ct [1], ct [2], .., ct [Dt ]]
where ct [1] is the preterminal concept and ct [Dt ] is the root concept;
W1t1 Ct1
denotes the previous word-parse up to position t 1;
1
nt is the vector stack shift operation and takes values in the range of 0, .., Dt1
where Dt1 is the stack size at word position t 1;
ct [1] = cwt is the new preterminal semantic tag assigned to word wt at word
position t.
The details of how this is done are given in [13]. The result is a model which
is complex enough to capture hierarchical structure but which can be trained
automatically from only lightly annotated data.
To train the HVS model, an abstract annotation needs to be provided for each
sentence. For example, for the sentence,
CUL-1 was found to interact with SKR-1, SKR-2, SKR-3, SKR-7, SKR-8 and SKR-10 in
yeast two-hybrid system.
The HVS model does not require explicit semantic tag/word pairs to be given
in the annotated corpus. All it needs are abstract semantic annotations for training. This means that many sentences might share the same semantic annotation
and they therefore could possibly exhibit the similar syntactic structures which
can be revealed through part-of-speech (POS) tagging. Figure 1 gives an example of several sentences sharing the same semantic annotation and their corresponding abbreviated POS tag sequences which were generated by removing
unimportant POS tags from the original POS tag sequences. Here the symbol KEY denotes the protein-protein interaction keyword and PTN denotes the
protein name.
381
Methodologies
In this section, the procedure of training the HVS model from un-annotated
corpus is described which employs the k-nearest-neighbors algorithm with POS
sequences alignment.
Considering the semantic annotation as the class label for each sentence, semantic annotation can be converted to a traditional classication problem. Given
a small set of annotated data and a large set of un-annotated data, we would like
to predict the annotations for the sentences from the un-annotated data based
on their similarities to the sentences in the annotated corpus. At the beginning,
full papers are retrieved from MedLine and split into sentences. Protein names
and keywords describing protein-protein interaction are then identied based on
a preconstructed dictionary. After that, each sentence is parsed by a POS tagger
and the POS tag sequence is generated. Finally, based on the POS tag sequence,
the sentence will be assigned an annotation based on the similarity measure to
the existing sentences in the annotated corpus.
The details of each step are described below.
1. Identifying protein names and protein interaction keywords.
Protein names need to be identied rst in order to extract protein-protein
interaction information. In our system, protein names are identied based on
a manually constructed dictionary. Since protein interaction keywords play
an important role in later step, a keyword dictionary describing interaction
categories has been built based on [3].
2. Part-of-speech tagging.
The part-of-speech (POS) tags for each sentence is generated by the Brills
tagger [14]. The Brills tagger can only achieve 83% overall accuracy on
biomedical text since there are many unknown biomedical domain-specic
words. We plan to replace it with the POS tagger trained from the biomedical
domain in our future work.
3. Automatically generating semantic annotations for the un-annotated
sentences.
The semantic annotations for the un-annotated sentences are assigned by
the KNN classier.
382
3.1
3.2
The similarity between two POS sequences is calculated based on sequence alignment. Suppose a = a1 a2 an and b = b1 b2 bm be the two POS tag sequences
of length of n and m, dene S(i, j) as the score of the optimal alignment between
the initial segment from a1 to ai of a and the initial segment from b1 to bj of b,
where S(i, j) is recursively calculated as follows:
S(i, 0) = 0, i = 1, 2, ...n
(2)
S(0, j) = 0, j = 1, 2, ...m
(3)
0,
S(i 1, j 1) + s(a , b ),
i j
S(i, j) = max
S(i
1,
j)
+
s(a
,
),
i
S(i, j 1) + s( , bj )
(4)
383
p(ai ,bj )
p(ai )p(bj )
,
where p(ai ) denotes the appearance probability of tag ai and p(ai , bj ) denotes the
probability that ai and bj appear at the same position in two aligned sequences.
A score matrix can then be built and dynamic programming is used to nd
the largest score between the two sequences.
Experiments
To evaluate the eciency of the proposed methods, corpus I was construct based
on the GENIA corpus [15]. GENIA is a collection of research abstracts selected
from the search results of MEDLINE database with keyword (MESH terms)
human, blood cells and transcription factors. These abstracts were then split
into sentences and those containing more than two protein names were kept.
Altogether 2600 sentences were left.
The corpus I was split into two parts; part I contains 1600 sentences which
can be further split into two data sets: EL consisting of 400 sentences with annotations and EU consisting of the remaining 1200 sentences without annotations,
part II consists of 1000 sentences which was used as the test data set.
4.1
Choosing Proper k
The EL data in Part I of Corpus I were split randomly into the training set
and the validation set at the ration of 9:1. The validation set consists of 40
sentences and the remaining 360 sentences were used as the training set. Experiments were conducted ten times (i.e Experiment 1, 2, 3,..,9 in Figure 3)
with dierent training and validating set each round. At each round, a set of
experiments were conducted with k set to 1, 3, 5, 7. Figure 3 shows the classication precision of KNN with dierent k values, where precision is dened as
P recision = T P/(T P + F P ). Here, T P is the number of sentences that have
been assigned with the correct annotations, F P is the number of sentences that
do not get the correct annotations. It can be observed from Figure 3 that the
overall best performance was obtained when k is set to 3.
4.2
Extraction Results
The baseline HVS model was trained on EL from the part I of Corpus I which
consists of 400 sentences. Sentences from data set EU were then automatically assigned with semantic annotations using the KNN method described in
384
section 3.1. The HVS model were incrementally trained with these newly added
training data. Total 187 sentences from the un-annotated training data were
successfully assigned with the semantic annotations.
The results reported here are based on the values of TP (true positive), FN
(false negative), and FP (false positive). TP is the number of correctly extracted
interactions. (TP+FN) is the number of all interactions in the test set and
(TP+FP) is the number of all extracted interactions. F-score is computed as
2RecallPrecision
, where Recall is dened as TP/(TP+FN) and Precision is
Recall+Precision
dened as TP/(TP+FP). All these values are calculated automatically.
Figure 4 shows the protein-protein interactions extraction performance versus
the number of un-annotated sentences added. It can be observed that in general
the F-score value increases when increasingly adding more un-annotated data
from EU . The best performance was obtained when adding in 187 un-annotated
sentences where F-score reaches 58.9%.
1
0.61
0.9
0.6
Performance
0.8
Precision
0.7
0.6
0.5
0.4
k=1
0.3
k=5
0.1
0
0.58
0.57
0.56
Fscore
0.55
k=3
0.2
0.59
Precision
0.54
Recall
k=7
0.53
0
Experiment
385
References
1. Minlie Huang, Xiaoyan Zhu, and Yu Hao. Discovering patterns to extract proteinprotein interactions from full text. Bioinformatics, 20(18):36043612, 2004.
2. J. Pustejovsky, J. Castano, J. Zhang, M. Kotecki, and B. Cochran. Robust Relational Parsing Over Biomedical Literature: Extracting Inhibit Relations. In
Proceedings of the Pacic Symposium on Biocomputing., pages 362373, Hawaii,
U.S.A, 2002.
3. Joshua M. Temkin and Mark R. Gilder. Extraction of protein interaction information from unstructured text using a context-free grammar. Bioinformatics,
19(16):20462053, 2003.
4. Nikolai Daraselia, Anton Yuryev, Sergei Egorov, Svetalana Novichkova, Alexander
Nikitin, and llya Mazo. Extracting human protein interactions from MEDLINE
using a full-sentence parser. Bioinformatics, 20(5):604611, 2004.
5. Kristie Seymore, Andrew McCallum, and Roni Rosenfeld. Learning Hidden Markov
Model Structure for Information Extraction. In AAAI 99 Workshop on Machine
Learning for Information Extraction, 1999.
6. Deyu Zhou, Yulan He, and Chee Keong Kwoh. Extracting Protein-Protein Interactions from the Literature using the Hidden Vector State Model. In International
Workshop on Bioinformatics Research and Applications, Reading, UK, 2006.
7. Kamal Nigam, Andrew K. McCallum, Sebastian Thrun, and Tom M. Mitchell. Text
classication from labeled and unlabeled documents using EM. Machine Learning,
39(2/3):103134, 2000.
8. Chuck Rosenberg, Martial Hebert, and Henry Schneiderman. Semi-supervised selftraining of object detection models. In Seventh IEEE Workshop on Applications
of Computer Vision, 2005.
9. Rosie Jones. Learning to extract entities from labeled and unlabeled text. PhD
thesis, Carnegie Mellon University, 2005.
10. Avrim Blum and Shuchi Chawla. Learning from labeled and unlabeled data using graph mincuts. In Proceedings of 18th International Conference on Machine
Learning, pages 1926. Morgan Kaufmann, San Francisco, CA, 2001.
11. David Yarowsky. Unsupervised word sense disambiguation rivaling supervised
methods. In Meeting of the Association for Computational Linguistics, pages 189
196, 1995.
12. Xiaojin Zhu. Semi-supervised learning literature survey. Technical Report 1530,
Computer Sciences, University of Wisconsin-Madison, 2005.
13. Yulan He and Steve Young. Semantic processing using the hidden vector state
model. Computer Speech and Language, 19(1):85106, 2005.
14. Eric Brill. Some Advances in Transformation-Based Part of Speech Tagging. In
National Conference on Articial Intelligence, pages 722727, 1994.
15. JD. Kim, T. Ohta, Y. Tateisi, and J Tsujii. GENIA corpussemantically annotated
corpus for bio-textmining. Bioinformatics, 19(Suppl 1):i1802, 2003.
1 Introduction
The problem of genetic load has concerned geneticists for over 50 years [1][2].
Theoretically, high mutation rates and the natural inefficiencies of selection both appear
to ensure the accumulation of deleterious mutations within the genomes of higher
organisms [3]. These concerns have been accentuated by the apparent reduction of
selection pressures within human populations within historical time frames [4]. All
these earlier concerns were based upon purely theoretical considerations.
Advances in computer science and the increasing power of simulation programs provide us with a new way of understanding the problem of mutation
accumulation. The use of numerical simulation allows us to test empirically previous
mathematical analyses, which are otherwise inherently abstract and difficult to test.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 386392, 2007.
Springer-Verlag Berlin Heidelberg 2007
387
2 The Program
The computer program Mendels Accountant (hereafter referred to simply as
Mendel) has been developed to provide a biologically realistic forward-time
numerical simulation of mutation accumulation [5]. This is a highly flexible program
which for the first time effectively models natural mutation distributions,
environmental variance, and improved modeling of linkage/recombination. Mendel is
designed to model sexually reproducing diploid organisms. Mendel tracks individual
mutations in a detailed manner from parents to progeny through many generations.
Mutations are modeled so as to have a continuous range of effects from lethal to
beneficial and to vary in expression from fully dominant to fully recessive. Each
mutations unique identifier encodes its genotypic fitness effect, whether it is
recessive or dominant, and its location within the genome (the specific linkage block
where it resides within a specific chromosome). This allows realistic treatment of
linkage of mutations along segments of chromosomes. Mutational effects may be
combined either in a multiplicative or additive manner to yield an overall genotypic
fitness for each new offspring.
Mendel is designed to track large numbers of distinct mutations by using a single
four-byte integer word to store the mutations unique identifier. This allows up to
about four billion different unique mutations to be tracked in a given population. The
number of mutations per individual is limited by the available processor memory and
the population size before selection. As an example, 1.6 GB of memory available for
storing mutation identifiers translates into a maximum of 40,000 mutations in each of
10,000 individuals. Thus, Mendel is effectively an infinite sites model, in contrast
with k-allele and stepwise models that both impose highly restrictive limits on the
number and variety of mutations. Mendel offers the option of tracking only those
mutations whose fitness effect exceeds a user-specified threshold. This threshold
usually is chosen to lie in that region of extremely small mutation effect which is
beyond the reach of selection. Typically, we find that half to two-thirds of all
mutations lie in this un-selectable region. The fitness effects of the untracked
mutations under this option are nevertheless accounted for in the composite fitness
effect of the linkage block where the mutation occurs. This option allows the user to
investigate scenarios that involve two to three times more total mutations that would
be possible otherwise.
Mendel offers the important option of including the effects of environmental
variation. Environmental variance, specified via a heritability parameter and a nonscaling noise standard deviation, combines with genotypic fitness to yield the
phenotypic fitness. Selection then acts on phenotypic fitness to eliminate that fraction
of the offspring (the population surplus) required to maintain the user-specified
population size. The surplus population is a consequence of the specified fertility, as
implied by the average number of offspring per female. Mendel provides the user the
388
J. Sanford et al.
3 Analysis
Mendels input parameters include: number of offspring per female, mutation rate,
fraction of mutations which are beneficial, fraction of mutations that are recessive,
high-impact mutation threshold, fraction of mutations with effect greater than
threshold (two parameters that specify the distribution of mutation effects), number of
linkage blocks, number of chromosomes, genome size, mutation effect combining
method, heritability of genotypic fitness, type of selection, number of generations, and
population size. Mendels output report is provided at regular generation intervals and
includes summary statistics on number and types of mutations, mean population
fitness, fitness standard deviation, and related information. In addition, data for each
generation is stored in various files and is also plotted in output figures.
In the example we present below, we employ the following input parameters:
number of offspring per female = 6 (4 surplus offspring selected away), mutation rate
= 10 per offspring, fraction of mutations which are beneficial = 0.01, fraction of
mutations that are recessive = 0.8, high-impact mutation threshold = 0.1, fraction of
mutations with effect greater than threshold = 0.001, number of linkage blocks =
1000, number of chromosomes = 23, genome size = 3 billion, mutation effect
combination method = multiplicative, heritability of genotypic fitness = 0.2, type of
selection = probability, number of generations = 5,000, and population size = 1000.
Although the current human population size is more than six billion, we have found
that population sizes above 1,000 result in only marginal increases in selection
efficiency. It is reasonable to expect that, beyond a certain level, larger population
size will not result in more efficient selection, because of increased environmental
variance.
Some of the output from this example is displayed in the following figures. Fig. 1a
shows the mean mutation count per individual plotted with respect to time. A
noteworthy aspect of this figure is a nearly exact linear accumulation of mutations, a
feature we observe consistently across a broad region of parameter space. The slope
of this line is governed primarily by the mutation rate. Selection intensity modifies the
slope of this line only to a limited degree. This is because of the preponderance of unselectable nearly-neutral deleterious mutations (as further described below).
389
Fig. 1. (a) Mutation count per individual and (b) mean population fitness, plotted for 5,000
generations. (a) shows that deleterious mutations accumulate in close to a strict linear fashion
(reaching 47,730scale on left). Beneficial mutations also accumulate in a linear manner, but
their lower number results in sampling error fluctuations (reaching 498 scale on right). (b)
shows a progressive decline in population fitness.
390
J. Sanford et al.
Fig. 1b shows an initial non-linear genotypic fitness decline, which soon becomes
essentially a linear decline. We observe this pattern across most of the parameter
space we have explored. Mendel defines an individuals genotypic fitness as 1.0 plus
the combined positive and negative effects of all the individuals mutations. In this
case mutation effects are being combined multiplicatively. We have found that the
slope of this curve (fitness change over time) is determined primarily by three things
the mutation rate, the average mutational effect, and the selection intensity.
Fig. 2 shows the distribution of mutation effects of accumulating deleterious
mutations. Mendel employs a distribution of mutation effects (prior to selection),
which reflects what is found in nature a continuous distribution essentially
exponential in character. Input parameters such as genome size and the fraction of
high-impact mutations define the exact shape of the mutation-effect distribution
curve. Because of the shape of the mutation-effect curve, lethal mutations will always
be very rare, and a large fraction of deleterious mutations will have near-zero impact.
When strong selection is applied, regardless of the other input parameters, high
impact mutations are consistently eliminated quite effectively especially the
dominant ones. However, across a wide range of parameter space the bins nearest to
Fig. 2. Distributions of accumulating mutations are shown above. Red bins represent the
expected mutation accumulation when no selection is applied. Blue bins represent actual
accumulation of recessive mutations. Green bins represent actual accumulation of dominant
mutations. The magnitude of each mutations effect is shown on the x-axis, which is a linear
scale. The bin nearest zero represents mutations which change fitness by a factor between .0001
and .00001. Mutations with a magnitude of less than .00001 were not tracked or plotted.
391
zero fill at essentially the same rate, regardless of whether or not selection is being
applied. Experimentally, these nearly-neutral mutations are consistently found to be
un-selectable in accordance with mathematical theory [6][7]. Mutations with
intermediate levels of impact accumulate at intermediate rates. The transition zone
between selectable and un-selectable mutations is very wide, especially for recessive
mutations. The actual point at which mutations become un-selectable depends on
numerous input parameters, but is readily apparent in Mendels output for any given
scenario.
Fig. 3 shows that over time many alleles move toward fixation. The movement
toward fixation is extremely slow for both deleterious and beneficial mutations
consistent with the mathematical predictions of Haldane [8]. However, over long
periods of time, even with intense selection, a significant number of deleterious
mutations consistently become fixed.
All these findings strongly support previous theoretical and mathematical analyses
[1], [3], [9], [10] which have predicted that deleterious mutation accumulation in the
human population is a very real biological concern.
Fig. 3. Mutant allele frequencies are shown above, with rare alleles (<1%) on the far left, and
fixed or nearly fixed alleles (>99%) on the far right. Deleterious mutations are shown in red,
beneficial mutations are shown in green. In this instance 5,845 deleterious mutations have been
fixed after 5,000 generations. No beneficial mutations were fixed in this example.
392
J. Sanford et al.
4 Conclusions
The program Mendels Accountant provides a biologically realistic platform for
analyzing the problem of mutation accumulation. This program demonstrates that the
problem of deleterious mutation accumulation is very serious under a wide range of
scenarios and across a vast portion of parameter space. The relentless accumulation of
deleterious mutations is primarily due to the existence of un-selectable nearlyneutral mutations, but the genetic load problem is greatly amplified when mutation
rates are high. Intensified natural selection only marginally slows the accumulation of
deleterious mutations. Preliminary Mendel experiments indicate that the most
effective means of slowing mutation accumulation and reducing a populations
genetic load is by reduction of the mutation rate. This study clearly indicates that
more research is needed. Mendels Accountant is freely available to users and can be
downloaded at either http://mendelsaccountant.info or http://sourceforge.net/ projects/
mendelsaccount.
References
1. Muller, H.J.: Our load of mutations. Amer. J. Human Genetics 2 (1950) 111-176.
2. Wallace, B.: Fifty years of genetic load. J. Hered. 78 (1987) 134-142.
3. Kondrashov, A.S.: Contamination of the genome by very slightly deleterious mutations:
why have we not died 100 times over? J. Theor. Biol. 175 (1995) 583-594.
4. Crow, J.F.: The high spontaneous mutation rate: a health risk? PNAS 94 (1997)
8380-8386.
5. Sanford, J., Baumgardner, J., Gibson, P., Brewer, W., Remine, W.: Mendels Accountant:
a biologically realistic forward-time population genetics program. SCPE, 8(2) (submitted).
6. Kimura, M.: Model of effectively neutral mutations in which selective constraint is
incorporated. PNAS 76 (1979) 3440-3444.
7. Kimura, M.: Neutral Theory of Molecular Evolution. Cambridge University Press, New
York (1983) 30-31.
8. Haldane, J.B.S.: The cost of natural selection. J. Genetics 55 (1957) 511-524.
9. Muller, H. J.: The relation of recombination to mutational advance. Mutation Research 1
(1964) 2-9.
10. Loewe, L.: Quantifying the genomic decay paradox due to Mullers ratchet in human
mitochondrial DNA. Genetical Research 87 (2006) 133-159.
1 Introduction
Biological pathways represent our current understanding of living organisms at the
cellular level. Increasingly, pathway datasets have become an important source for
biomedical research, ranging from the elucidation of biological functions using the
systems biology approach [1] to the discovery of new pharmaceutical targets [2]. The
availability of genomic sequence datasets and advancement of high throughput
laboratory techniques have helped accumulation of a large amount of pathway
datasets. Today, there exist more than 200 publicly accessible pathway databases [3,
4], each with its own data model and access method, leading to data heterogeneity,
incompleteness and inconsistency [5]. The availability of a large amount of pathway
datasets is providing an opportunity for large scale analyses [6] which call for a
consistent and homogeneous representation and an efficient storage of a variety of
pathways and networks for metabolic reactions, signaling transduction, regulatory
pathways and protein-protein interactions.
Representing the processes of cellular machinery, biological pathways are human
constructs describing molecules involved in particular processes and their
relationships. Owning to the nature of pathways, they are typically modeled as
directed graphs [5, 7], and such a treatment facilitates the visualization of pathways
by human eyes. Internally, pathway software systems use graph data structures to
model pathway datasets, and most of them store the datasets in a relational database
management system (DBMS) by taking advantage of the mature and efficient query
mechanisms and storage built into those database engines. However, mapping graph
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 393396, 2007.
Springer-Verlag Berlin Heidelberg 2007
394
K. Jiang
data structures onto relational models leads to more complex designs of databases and
inefficient queries, and such an approach is not suitable for many applications that
analyze pathway datasets in further elucidating biological functions [5]. After
reviewing and analyzing the existing data models for storing pathway datasets,
Deville et al [5] suggested that the most appropriate data model is the object-oriented
model for storing biological pathways.
To overcome the data heterogeneity and adopt the object-oriented data model for
biological pathways, we present in this paper our recent work on designing and
implementing a storage system for pathway objects based upon the emerging XML
database technology. The object-oriented model of pathways is based upon the
community-developed BioPAX (Biological Pathways Exchange) standard [8], and
each individual object defined in BioPAX is stored in the XML datatype column to
provide XML fidelity and leverage the XQuery technology performing sophisticated
queries on various BioPAX objects.
2 Design Considerations
Several efforts have been made in order to unify the data format of pathways, notably
BioPAX [8], PSI-MI (Proteomics Standard Initiative Molecular Interactions) [9],
SBML (Systems Biology Markup Language) [10], and CellML (Cell Markup
Language) [11]. SBML and CellML are primarily for describing quantitative
(mathematical) models of cellular networks, and PSI-MI focuses on the molecular
interactions. On the other hand, the BioPAX standard is an object-oriented
representation of biological pathways with high expressiveness capable of
representing various types of interactions and pathways [12]. The BioPAX standard,
documented as ontology, defines components of a pathway as classes (entities). Each
class is made up of a collection of attributes which may be instances of the BioPAX
utility classes. A class may represent a physical object such as an RNA molecule or a
process in a pathway such as a biochemical reaction.
The BioPAX standard also defines a special XML format based upon OWL (Web
Ontology Language) [13] for representing each entity or utility class. This allows each
instance (or object) of a BioPAX class to be represented as an XML document.
For large scaled analyses, it is common to retrieve objects instantiated from the
BioPAX classes such as a biochemical reaction, a small molecular, a pathway, an
external reference to the identifier in the authoritative data source, each having a
biological meaning to some extend. The appropriate granularity of the pathway data
model lies at the level of BioPAX objects for a variety of pathway analyses. In our
design, BioPAX objects were chosen as the storage unit for data model.
Since there are dozens of BioPAX classes defined in the BioPAX standard,
modeling them with the conventional relational model seems awkward. A user or
program may need to retrieve the object by merely specifying its unique ID which is
its URI made up of the concatenation of the value of xmlns:base and that of rdf:ID
according the W3C specification. This type of retrieval is difficult, if not impossible,
to implement with the relational model, because the query needs to determine at the
runtime which table to query against.
395
In our design, instead of using the character datatype in the relational model, we
chose the emerging XML datatype, which provides XML fidelity by preserving the
Infoset and XQuery data model, and supports query and update of all aspects of stored
XML documents. In addition, a single XML datatype column allows storing multiple
categories of XML documents, enabling us to store various BioPAX objects in a
single column which facilitates querying objects by their URIs. Leveraging XQuery, a
search on an object with one of its synonyms can be readily achieved without creating
a linking table to associate objects and their synonyms, simplifying the query
statements.
Like any other XML data, BioPAX compliant datasets are hierarchical in nature.
When defined, objects can be embedded in the composing object, and such
embedding can be multiple levels in depth. In order to store various types of objects
in our data store, the XML-based hierarchy was flattened by rearranging the BioPAX
compliant data such that embedded objects were replaced with references and moved
out of the composing object. In other words, all the objects are organized in a single
layer. When the composing object along with all its components is retrieved, all its
components are retrieved by specifying their IDs and placed in the same result set.
3 Implementation
Our pathway repository was implemented using Microsoft SQL Server 2005 which
supports the XML datatype, XML indexing, and XQuery. In our database, there is a
single XML column to store all types BioPAX objects and a primary key column for
object unique IDs: their URIs. All the queries were created as stored procedures in
order to achieve the best performance.
Three different strategies were employed to create queries. 1) For simple queries
such as one that only involves a URI, standard SQL statements are executed. 2) If a
query deals with the internal part of a BioPAX object for example, a synonym, an
XQuery statement is issued. 3) The most sophisticated queries involve retrieving all
the components that make up a particular object (e.g., all the objects making up a
particular pathway). This will require multiple queries to accomplish. In this case, we
use C# to create CLR (Common Language Runtime) stored procedures which
demonstrate high flexibility and performance in manipulating the data stored in a
SQL Server 2005.
To provide public and platform-neutral access to our pathway repository by other
software applications, we developed a SOAP-based Web service called
PathwayGateway service which furnishes a number of predefined access methods. In
addition, the same set of methods is available as HTTP POST and GET methods.
More detailed documentation on these methods as well as the WSDL [16] file can be
found at http://jlab.calumet.purdue.edu/theGateway. We have imported into our
repository a number of pathway datasets retrieved from KEGG [15] and BioCyc
Websites. Currently our system contains the datasets of the following species: homo
sapiens, Escherischia coli (K-12), and Escherischia coli (O157:H7).
396
K. Jiang
4 Discussions
Our approach of employing XML database technology to store BioPAX objects
provides a much simplified data model in storing biological pathways, significantly
reduces the complexity of system design and the implementation, without any
compromise on the query power. Leveraging the XML database technology, three
different query strategies are explored to provide the best performance and flexibility.
The availability of a large quantity of pathway datasets kept in an efficient data
store will promote future researches in large scaled analyses of biological pathways
and development of a new breed of software applications. Examples of future
directions may include (a) the comparative study of pathways through similarity
searches, and (b) the dynamic visualization and exploration of pathways by parsing
the XML-based pathway objects at the runtime.
Acknowledgments. The author wishes to thank Microsoft Research for its support to
this project, Christopher Nash and Qian Wu for their efforts in implementing the
system, and reviewers for their constructive comments.
References
1. Cary, M.P., Bader, G.D. and Sander, C.: Pathway information for systems biology. FEBS
Lett. 579 (2005) 1815-20
2. Fishman, M.C. and Porter, J.A.: Pharmaceuticals: a new grammar for drug discovery.
Nature. 437 (2005) 491-3
3. Pathguide: the Pathway Resource List [http://pathguide.org]
4. Bader, G.D., Cary, M.P. and Sander, C.: Pathguide: a pathway resource list. Nucleic Acids
Res. 34 (2006) D504-6
5. Deville, Y., et al.: An overview of data models for the analysis of biochemical pathways.
Brief Bioinform. 4 (2003) 246-59
6. Sharan, R. and Ideker, T.: Modeling cellular machinery through biological network
comparison. Nat Biotechnol. 24 (2006) 427-33
7. Schaefer, C.F.: Pathway databases. Ann N Y Acad Sci. 1020 (2004) 77-91
8. Luciano, J.S.: PAX of mind for pathway researchers. Drug Disc Today. 10 (2005) 937-42
9. Hermjakob, H., et al.: The HUPO PSI's molecular interaction format--a community
standard for the representation of protein interaction data. Nat Biotechnol. 22 (2004)
177-83
10. Hucka, M., et al.: The systems biology markup language (SBML). Bioinformatics. 19
(2003) 524-31
11. Lloyd, C.M., Halstead, M.D. and Nielsen, P.F.: CellML: its future, present and past. Prog
Biophys Mol Biol, 85 (2004) 433-50
12. Stromback, L., et al.: Representing, storing and accessing molecular interaction data: a
review of models and tools. Brief Bioinform. 7 (2006) 331-8
13. W3C: Web Ontology Language (OWL). [http://www.w3.org/2004/OWL/].
14. BioCyc: BioCyc Database Collection. [http://biocyc.org/.
15. KEGG: Kyoto Encyclopedia of Genes and Genomes. [http://www.genome.jp/kegg/].
16. W3C: Web Service Description Language. [http://www.w3.org/TR/wsdl].
1 Introduction
The HP model for protein folding was introduced by Dill [1]. In the model a protein
consists of a sequence of amino acids, each labeled as either hydrophobic (H) or hydrophilic (P). The sequence must be placed on a 2D or 3D grid without overlapping
so that the adjacent amino acids in the sequence remain horizontally or vertically
adjacent in the grid. The goal is to minimize the energy, which in the simplest variation corresponds to maximizing the number of adjacent hydrophobic pairs.
Recent theoretical work has focused on approximation algorithms, although these
have not proven helpful for finding minimum energy conformations. Many heuristic
algorithms for finding minimum energy conformations have been explored [2]~[6]. In
this paper we demonstrate the effectiveness of a new local move set with Monte
Carlo and genetic search algorithm on the HP lattice model in protein folding
problem.
398
X.-M. Li
3 Algorithm
The Monte Carlo method for protein folding can be described in the following general
algorithm. (1) Start from a random conformation. (2) From a conformation S1 with
energy E1, make a single random change of the conformation to another conformation
S2 and evaluate its energy E2. (3) If E2 is less than E1, then accept the change to
conformation S2, otherwise decide nondeterministically whether to accept the change
according to the energy increase with the change. Usually the criterion is that the new
conformation is accepted if:
ber between 0 and 1 and
E1 E 2
] , where Rnd is a random numck
convergence. If the change was not accepted, then retain the former conformation S1.
(4) If the stop criterion is not met, then repeat steps (2) to (4).
The algorithm (IMC) we applied here is a special implementation of Monte Carlo
for the 3D lattice model. We choose new move set as our change in conformation in
protein folding.
In improved Genetic algorithms (IGA) of protein folding, each candidate solution
is referred to as a set of coordinate value. The process involved in IGA optimization
problems is based on natural evolution and works as follows,
(1) Randomly generate an initial population of potential solutions. Each individual
must be a legal conformation.
(2) Evaluate the fitness or energy of each solution.
(3) Each conformation of population evolves independently for some iteration by
the improved Monte Carlo procedure.
(4) According to crossover probability select two solutions biased in favor of
fitness.
(5) Crossover the solutions at a random point on the coordinate string to produce
two new solutions.
(6) The lowest energy conformation in current generation is directly replicated to
next generation. If the stop criterion is not met, then go back to step (2).
4 Experience Results
Table 1 and 2 shows the results of the 10 different 3D 48mer sequences[9] in 3D lattice
model with Monte Carlo and Genetic algorithm using traditional move set and new
move set respectively. For all the sequences, 3 independent simulations are carried
out at the same situations. In the table the N denotes the number of residues of the
sequence and E denotes optimal energies determined from the designed structure. The
first item of tables was the obtained minimum energy, the second item was the number of conformations scanned before that energy value was found.
For the ten test cases of 48mer we choose to start with temperature coefficient T=2
and was cooled by T=0.98T every 10,000 move steps with Monte Carlo. Genetic
algorithm was run for 300 iterations with the population size 200. For the mutation
399
stage the cooling scheme starts with T=2 and cooled by T=0.97T very 5 generations.
The crossover stage starts with T=0.3 and is cooled by T=0.99T very 5 generations.
Bold items in the table show best result per sequence. From the table 1, we know that
the Monte Carlo using new move set acquire the lower energy conformations than
using classical move set except seq#1 and seq#10 which have the same best results.
Table 2 indicates that the Genetic Algorithm using new move set find the lower energy conformations than using classical move set except seq#6 which have the same
best results. Because new move set includes not only the classical move set but also
mirror reflection, It is not an unexpected result that new move set shows better energy
conformation than classical move set. From table 2 we find that IGA methods search
the lowest energy conformations for nine of the ten sequences.
Table 1. Results from 3 runs per 3D sequence with MC and IMC
N/E
1(-32)
2(-34)
3(-34)
4(-33)
5(-32)
6(-32)
7(-32)
8(-31)
9(-34)
10(-33)
1
-31(482)
-34(830)
-33(434)
-32(714)
-31(560)
-31(984)
-32(1,091)
-30(1,081)
-31(482)
-34(830)
The results of IGA were summarized and compared with other methods in Table 3.
The data item of IGA and IMC of Table 3 come from the best results of table 2 and
table 1 respectively. The data item of MC comes from reference [9].
From the table 3 we find that new move set is superior in protein folding simulations. IMC method finds lower energy conformation than MC in six of ten sequences
and two sequences obtain the same local minima and only two sequences inferior to
MC method.
400
X.-M. Li
Table 3. Comparison IMC and IGA with other methods in 3D lattice model
N/E
48-1(-32)
48-2(-34)
48-3(-34)
48-4(-33)
48-5(-32)
IGA
-32 (685)
-34 (830)
-34 (535)
-33(1,212)
-32 (831)
IMC
-31 (756)
-31 (892)
-33 (625)
-31 (546)
-30(271)
MC
-30
-30
-31
-30
-30
N/E
48-6(-32)
48-7(-32)
48-8(-31)
48-9(-34)
48-10(-33)
IGA
-31(958)
-32 (1,091)
-31 (756)
-34 (711)
-33 (991)
IMC
-30 (1,240)
-30 (635)
-30 (507)
-32(451)
-32 (421)
MC
-30
-31
-31
-30
-30
5 Conclusion
We proposed a new move set and carried out comparative studies on the effects of
move sets in protein folding in the cubic lattice model. It would like to expand our
prototype to handle more challenging protein folding problems. We can conclude that
GA and MC simulation of lattice protein folding is highly dependent on the move set
used. In the folding simulation a more flexible move set always results in faster folding and lower energy conformation than commonly used move set. With appropriate
modifications and enhancements, we expect the method to be useful for dealing with
folding simulation of real protein sequence.
References
1. Ken A..Dill. Theory for the folding and stability of globular proteins. Biochemistry,
(1985)24:1501
2. S. Kirkpatrick, C. D. Gelatt, Jr., and M. P. Vecchi, Optimization by simulated annealing.
Science (1983)220:671
3. Ron Unger and John Moult. Genetic algorithms for protein folding simulations. J.Mol. Biol.
(1993)231:75
4. Rainer Konig and Thomas Dandekar. Improving genetic algorithms for protein folding
simulations by systematic crossover. Biosystems. (1999) 50: 17~25
5. Faming Liang. Evolutionary Monte Carlo for protein folding simulations. J.Chem.Phys.
(2001) 115:3374
6. Tianzi. Jiang Protein folding simulations of the hydrophobic-hydrophilic model by combining tabu search with genetic algorithms. J.Chem.Phys. (2003)119:4592
7. J.Shin, W.S. Oh. Study of move set in cubic lattice model for protein folding. J.Phys.Chem.
(1998) 102:6405~6412.
8. N.L. Nunes, K. Chen, J.S. Hutchinson, A flexible lattice model to study protein folding,
J.Phys. Chem. (1996) 100:10443.
9. Yue K and Fiebig KM. A test of lattice protein folding algorithms. Proc Natl Acad Sci
USA. (1995) 92:325
Abstract. This paper aims to provide a scheme for effectively and efficiently
finding an approximately optimal example size with respect to a given dataset
when using Multiple-Criteria Linear Programming (MCLP) classification
method. By integrating techniques of both progressive sampling and
classification committee, it designs a dynamic classification committee scheme
for MCLP. The experimental results have shown that our idea is feasible and
the scheme is effective and efficient for exploring an approximately optimal
sample size. The empirical results also help us to further investigate some
general specialties of MCLP, such as the more general function expressions
reflecting the relationship between accuracy and sample size, and between
computing cost and sample size.
Keywords: Classification, Multiple-Criteria Linear Programming, Progressive
Sampling, and Committee.
1 Introduction
In data mining field, Multiple-Criteria Linear Programming (MCLP) classification
method is an outstanding classification tool [1-5]. But, just like many other
classification tools, its computation efficiency is sometimes low when faced with
large and high-dimension datasets. Among research efforts to improve classification
efficiency of MCLP, sampling is an important approach. In practice, MCLP is often
executed on a one-off (static) selected sample, while the sample size is often
determined by analysts subjectively. The subsequential problem is that we cant judge
whether the one-off selected sample is good enough for analyses. If the sample is
small, it cant reflect the original data sufficiently; contrarily, if it is too large,
computation cost will be unacceptable. So, how to identify an appropriate sample size
is the key to the success of applying sampling techniques to MCLP. Among various
sampling approaches, progressive sampling is a well-known one for finding an
approximately optimal example size [6, 7].
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 401408, 2007.
Springer-Verlag Berlin Heidelberg 2007
402
M. Zhu et al.
2 Background Knowledge
To understand our idea and method, three aspects of background knowledge are
needed.
2.1 Two-Class MCLP Classification Model
MCLP classification model is first presented by Shi et al.[1]. A two-class MCLP
model can be depicted as follows:
Given a training dataset which has p predictive variables (attributes) a = (a1, . . . ,
ap ) and n cases, let Ai = (Ai1, . . . , Aip) be the data for the variables in ith case, where i
= 1, . . . , n. We hope to explore the best coefficients of p variables denoted by X =
(x1, . . . , xp )T, and a boundary value b(a scalar ) to separate existing data into two
classes: G1 and G2; that is,
Ai X b, Ai G1 and Ai X b, Ai G2
(1)
403
In this expression, AiX is a linear function of attribute variables X used for classifying
each labeled or unlabeled case. To measure the separation degree of G1 and G2, we
define:
i = the overlapping degree of two classes boundary for case Ai ;
i = the distance of case Ai from its adjusted boundary.
The objective function is minimizing the sum of i and maximizing the sum of i
simultaneously. So there is following classification model (M1).
M in im iz e
i a n d M a x im iz e
S u b je c t to :
(2)
A i X = b + i - i , A i G 1 ,
A i X = b - i + i , A i G 2 .
*+ i i = d - d +
(3)
* - i i = d - d +
Ai X = b + i - i , A i G 1 ,
Ai X = b - i + i , A i G 2 .
Where Ai, *, and * are given, X and b are unrestricted, and i , i , d-, d+ , d- , d+
0. If b is given and X is found, we can classify a labeled or unlabeled by using linear
discriminant AX.
The standard two-class MCLP algorithm is based on the M2. It uses the idea of
linear programming to determine a boundary separating classes. Comparing with
other classification tools, its simple and direct, free of the statistical assumptions,
flexible in defining and modifying parameters, and high on classification accuracy
[5]. It has been widely used in business fields, such as credit card analysis, fraud
detecting, and so on. But faced with high dimension data or too much size of data,
sometimes its computing efficiency is low.
2.2 Progressive Sampling
Progressive sampling [7] is a famous dynamic sampling method that can be used in
large datasets. It attempts to maximize model accuracy as efficiently as possible. It is
based on the fact that when the sample size is large enough, with the further increase
404
M. Zhu et al.
of sample size, the model accuracy doesnt increase significantly. It is in fact a tradeoff between classification accuracy and computing cost. Because of dynamic
interactions of sampling process, it overcomes the weakness of one-off (static)
sampling.
It starts with a small sample n0 and augment sample amount progressively at each
step. At each step, a model is built from the current sample and is evaluated. If the
resulting model has not reached user-specified accuracy threshold, the algorithm must
operate once again. Generally, the relation between accuracy and corresponding
sample size can be expressed in learning curve (Figure 1). The convergence nmin in the
curve is the approximately optimal sample size.
In progressive sampling, two key aspects affecting sampling effectivity and
efficiency are increasing mechanism of sample size and stopping or convergence
criterion of sampling .
As for the first aspect, [6] proposed an arithmetic increasing schedule as
405
(4)
(5)
{nk+1 ,nk+2 ,nk+3 } ={nk +n' , nk +2n' , nk +3n' }, where n' < n
(6)
If formula (7) is satisfied, sampling process is cutoff; or else, later sample sizes are
still increased according to the increment n.
acc( nk+1 )-acc(nk ) c, acc( n k+2 )-acc(nk+1 ) c, and acc( nk+3 )-acc( nk+2 ) c (7)
When sampling process is stopped, the committee with the highest accuracy among
the six sequential committees generated from the above six sample
sizes { nk 2 ,nk 1 ,nk ,nk +1 ,nk + 2 ,nk +3 } is the final committee for prediction.
4 Empirical Research
To indicate effectivity and efficiency of our design, two real databases with different
sizes are used in our experiment research. They are described as follows:
Table 1. Description of the Two Databases
Database
Credit Card
Census Income
63
43
4000(small)
50000(large)
1000
20000
406
M. Zhu et al.
As for the credit card dataset, considering its high dimension, we judge the computing
cost is high, so parameter c should be set comparatively high, and nand n0
comparatively low. Here c is predefined as 0.3%, n0 as 200, and n as 200. The initial
scheme is S={200,400,600,800}. The results show that the absolute improvement of
acc on n2 vs. n1, n3 vs. n2 are all not more than 0.3%, i.e., the results on different
sample sizes are stabile, so latter sample sizes are changed at a less scope by n' =100
sequentially. Then S={200, 400, 600, 800, 900, 1000, 1100, }.The acc
improvement on n4 vs. n3 ,n5 vs. n4, and n6 vs. n5 are all less than 0.3%,while the
computing costs significantly grow with the increase of n. So sampling process is
terminated. Among the latter six committees, the committee on n3 is adopted as the
final classifier for prediction due to its good performance. Additionally, to depict the
time vs. n curve, we add two excess sample points 700 and 1500 which are all marked
with symbol *.
Table 2. Time and Accuracy on Different Sample Sizes for the Credit Card Database
Time
200
400
600
800
900
1000
1100
700*
1500*
1
10
60
210
390
660
1200
120
4800
acc1
acc2(%)
acc
69.09
71.52
72.00
71.52
70.06
71.64
70.40
71.39
71.89
82.57
81.14
80.00
84.00
84.57
81.71
85.65
84.00
83.51
69.7
73.2
73.4
73.7
73.6
73.4
73.1
73.6
73.8
time vs.n
acc vs. n
90
5000
4500
85
4000
3500
80
acc1
75
3000
acc2
2500
acc
2000
1500
70
1000
500
65
0
200
400
600
0
0
200
400
600
800
1000
1200
1400
1600
Fig. 2. Result of acc vs. n for Credit Card Fig. 3. Result of time vs. n for Credit Card
Database
Database
407
Similarly, we have following results with respect to the census database. The
approximately optimal sample size is n6=1700.
Table 3. Time and Accuracy on Different Sample Sizes for the Census Database
N
time (s)
300
600
900
1200
1500
1600
1700
1800
1900*
2500*
Acc1 %
78.52
78.07
77.89
78.44
78.42
78.57
78.77
78.13
78.79
78.56
8
9
25
55
143
200
230
290
340
940
Acc %
85.20
86.00
87.42
87.25
86.38
86.72
86.69
87.75
86.77
86.86
Acc %
80.89
80.88
81.27
81.57
81.25
81.47
81.58
81.54
81.62
81.51
acc vs. n
time vs.n
90
88
1000
900
86
800
a cc 1
84
a cc 2
82
a cc
80
700
600
500
400
300
200
78
100
0
76
0
300
600
900
1200 1500
1800
2100 2400
2700
500
1000
1500
2000
2500
3000
Fig. 4. Result of acc vs. n for the census Fig. 5. Result of time vs. n for the census
database
database
From the results of two databases, we have three empirical results. Firstly, the
Dynamic Committee-Classifier Scheme on MCLP can effectively find the
approximately optimal example size for MCLP classification method with respect to a
given dataset, i.e., the approximately optimal example size really exists. Considering
the time cost, 800 is enough for the first dataset, which only accounts for 20% of
original training dataset; 1700 is sufficient for the second dataset, which only equals
to 3.5% of the whole training set. Secondly, it can efficiently find the approximately
optimal sample size. For example, in the credit card database, we can see
4800>1+10+60+210+390+660+1200. That is to say, if we sample a sample with 1500
cases, its computing cost outclasses the whole computing time of scheme
{200,400,600,800,900,1000,1100}, while its accuracy rate only has 0.1 percent of
improvement. From the time vs. n curve, we can also see that time cost is
unacceptable when n is too large. Lastly, we find some laws reflecting the relationship
between acc and n, between time and n, and between number of attributes and time.
The time vs. n curve is in the form of power function.
408
M. Zhu et al.
References
1. Shi, Y., Wise, M., Luo, M., Lin, Y.: Data mining in credit card portfolio management: a
multiple criteria decision making approach. In: Koksalan, M., Zionts, S. (eds.): Multiple
Criteria Decision Making in the New Millennium, Springer, Berlin(2001)427-436
2. Shi, Y., Yu, P. L.: Goal setting and compromise solutions. In: Karpak, B., Zionts, S. (eds.):
Multiple Criteria Decision Making and Risk Analysis Using Microcomputers, SpringerVerlag, Berlin (1989) 165-204
3. Shi,Y.: Multiple Criteria Multiple Constraint-levels Linear Programming: Concepts,
Techniques and Applications. World Scientific Publishing, River Edge, New Jersey (2001)
4. Shi, Y., Peng, Y., Xu, W. ,Tang, X.: Data Mining via Multiple Criteria Linear
Programming: Applications in Credit Card Portfolio Management. International Journal of
Information Technology and Decision Making. 1 (2002) 131-151.
5. Kou, G., Liu, X., Peng, Y., Shi, Y., Wise, M., Xu, W.: Multiple Criteria Linear
Programming to Data Mining: Models, Algorithm Designs and Software Developments.
Optimization Methods and Software. Vol. 18(2003) 453-473
6. John, G., Langley, P.: Static Versus Dynamic Sampling for Data Mining. In : Simoudis,
E., Han, J.W., Usama M. Fayya( eds): Proceedings of the Second International Conference
on Knowledge Discovery in Databases and Data Mining, AAAI/MIT Press( 1996)367370
7. Provost, F., Jensen, D., Oates, T.: Efficient progressive sampling. In: Proceedings of the
Fifth KDDM, ACM Press, New York(1999) 2332
8. Breiman, L.: Bagging predictors. Machine Learning. 24(2)(1996)123140
9. Freund. Y., Schapire, RE. :Experiments with a new boosting algorithm. In: Proceedings
of 13th International Conference on Machine Learning (1996) 148156
10. Ho, T.K.: The random subspace method for constructing decision forests. IEEE
transactions on Pattern Analysis and Machine Intelligence.20(8)(1998)832844
11. Breiman, L.: Random forests. Machine Learning. 45(1)( 2001)532
12. Freund, Y., Schapire, RE.: Discussion of the paper Arcing Classifiers by Leo Breiman.
The Annals of Statistics 26 (3) (1998) 824832
13. Efron, B., Tibshirani, R.: An Introduction to the Bootstrap. Chapman& Hall, New
York(1993)
Abstract. Kimberlites identication is a very important task for diamond mining. In traditional way, geologists draw upon past experience
to do this work. Whether the bedrock should be drilled depends on their
analysis of rock samples. This method has two disadvantages. First, as
the database increasing, it becomes more dicult to do this work by
manual inspection. Secondly, the accuracy is inuenced by the experts
experience, and it reaches scarcely 80 percents averagely. So an analytical
method to kimberlites identication over large geochemical datasets is
demanded. This article applies two methods (SVM and decision tree) to
a dataset provided by a mining company. Comparing the performances
of these two methods, our results demonstrate that SVM is an eective
method for this work.
Keywords: Kimberlites Identication, Classication, Feature Selection,
SVM, Decision Tree.
Introduction
World natural diamond production for 2004 is estimated at 156 million carats
and it translated into 61.5 billion US dollars in worldwide jewellery sales [1]. Even
though, the current level of demand for diamonds with high color and quality is
still not being met by the worlds producing diamond mines. Numerous companies are carrying out various phases of diamond exploration in Botswana, which
is the worlds leading producer of gem quality diamonds. Due to the extensive
This research has been partially supported by a grant from National Natural Science
Foundation of China (#70621001, #70531040, #70501030, #70472074), #9073020
from NSFB, 973 Project #2004CB720103, Ministry of Science and Technology,
China, and BHP Billiton Co., Australia.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 409414, 2007.
c Springer-Verlag Berlin Heidelberg 2007
410
Y. Chai et al.
Kalahari sand cover (and Karoo basalts underneath), sophisticated and innovative sampling and geophysical techniques are required to locate undiscovered
kimberlites [2].
The goal of this paper is to build an analytical model for kimberlites identication. Two classication methods are applied to a dataset containing information
about rock samples drilled in Botswana. This article is organized as follows. In
Section 2, we describe the dataset and its preprocessing steps. Section 3 gives
an overview of those two classication methods of SVM and decision tree, and
their results are listed out in Section 4. Finally, we conclude this work with a
summary in Section 5.
The dataset contains rock samples data from one region of Botswana. Original
dataset has 5921 row of observations and 89 variables, and each observation
describes detailed information of one rock sample about its position, physical
and chemical attributes. These variables include numeric and character types.
After consulting the experts, we deleted some rows missing important variables
and exclude some variables, which are irrelevant, redundant, or correlated such
as sample-id and horizon. Then some types of variables are transformed from
character to binary to satisfy the requirements of models, such as color and
shape.
After data transformation, the dataset includes 4659 observations and 101
variables.
Methods
Data classication is a two-step process [3]. In the rst step, a model is built
describing a predetermined set of data classed or concepts. This model is constructed by analyzing database tuples described by attributes. Each tuple is
assumed to belong to a predened class, as determined by one of the attributes,
called the class label attributes. The data used to build the model is called training set. And this step can be called supervised learning. In the second step, the
model is used to classication. And the predictive accuracy of the model is estimated. The data set used to classication in this step is called testing set. When
the constructed model is proved to be stable and robust, then this model can be
used to predict the new data.
The kimberlites identication for this dataset can be regarded as a four-group
classication problem based on the fact that there are four important kinds of
rock in this dataset. We will apply two standard classication methods for this
work.
3.1
411
SVM
The support vector machine[4] is a powerful machine learning method for classication, and it is always described as an optimal problem as follows:
M in
1
w 2
2
(1)
Subject To:
yi (( xi ) + b) 1, i = 1, 2, . . . , l
(2)
l
i=1
l
1
i j yi yj xi , xj
2 i,j=1
(3)
Subject To:
i 0,
l
i yi = 0,
i = 1, 2, l
(4)
i=1
Here, use a kernel to compute xi , xj = (xi ), (xj ) = k (xi , xj ),and the
decision function is:
l
f (x) = sgn(
i yi k(x, xi ) + b )
(5)
i=1
3.2
Decision Tree
412
Y. Chai et al.
Cross-Validation
There are several ways to estimate the classier accuracy, such as holdout
method, k-fold cross-validation method, and leaving-one-out and so on. In this
article we choose the 10-fold Cross-validation method. The initial data are randomly partitioned into 10 mutually exclusive subsets or folds, each of which has
the approximately equal size. Training and testing are performed 10 times.
Experimental Results
For this dataset are linearly inseparable, we use C-SVM with RBF kernel function [6] to classify the rock samples. (This model is called C SV M 1 ) There
are two parameters (C for the objective function and GAMMA for the kernel
function) selected for this model. The most common and reliable approach is to
decide on parameter ranges, and to do an exhaustive grid search over the parameter space to nd the best setting [7]. Figure.1 shows its process. It contains
contour plots for training datasets. The dierent colors of the projected contour
plots show the progression of the grid methods best parameter estimate. The
nal optimal parameter settings are C=128 and GAMMA=0.0078125.
413
Decision tree is assembled to SPSS 12(SPSS Inc.), and it is easy to use the
GUI to import the data and export the tree model. The depth of the tree is 3,
and 36 nodes are created for this model. There are 12 rules to classify the rock
samples. The accuracy is also estimated by 10 folds cross validation method.
Table.1 shows the accuracy result of both these methods compared with another
method linear discriminant:
Table 1. The ten folds cross validation accuracy for those methods
Methods
C SV M 1 Decision tree Linear discriminant C SV M 2
Cross validation 95.66%
89.1%
80.1%
95.04%
The two main approaches take the comparable computation time with 2
minutes around, while the SVM has excellent accuracy compared with decision
tree and linear disciminant. Still we nd that the parameter selection for SVM
takes a couple of hours. For reducing the computation time and computational
complexity, a feature selection is needed. And this work can also help the geophysical experts to make right decision based on less rock sample attributes. In
this article, we use F-score [8] as a feature selection criterion base on the simple
rule that the large score is, the more likely this feature is more discriminative.
Table 2. The accuracy after feature selection
Feature selected
Cross validation
101
95.66%
88
95.15%
44
95.04%
Based on the F-score rank, we selected 44 features and then apply C-SVM
with RBF for training and prediction. Its accuracy is still above 95 percents.
This model (C SV M 2 ) takes less time on parameter selection and the best
settings are C=64, GAMMA=0.00195. Through the ten-fold cross validation,
this compromise model is proved to be accurate and stable, so it can be applied
to a new geochemical dataset.
Conclusion
A sophisticated and innovative method for Diamond-bearing kimberlites identication is needed for the diamond mining, especially in the area covered by
extensive Kalahari sand. When a model is proved to be robust and eective
for this work, it will be greatly helpful to the experts on kimberlites discovery.
This article applies two methods to this new domain of application. Our results
demonstrate that, both of these two methods have much higher prediction accuracy than 80 percents (the experts suggested). The tree model is faster than
SVM while SVM provides a higher accuracy. Feature selection method is used to
414
Y. Chai et al.
build a compromise model between higher accuracy and less computation time,
and its classication accuracies are acceptable.
This paper is not aimed at providing a method to take place of the experts
dicision. It is just the opposite that the process developed in this research should
be supervised by a veteran expert, and its results must be understandable.
Acknowledgement
The author received much help from following members: Dr.Yi Zeng(exploration
and mining technology BHP billiton centre, Principal Scientist), Dr.Dongping
Wei(College of earth science, Graduate University of Chinese Academy of Sciences, Professor), Zhan Zhang(School of Management, Graduate University of
Chinese Academy of Sciences, Masters).
References
1. Diamond Facts 2004/05 NWT Diamond Industry Report, available at
http://www.iti.gov.nt.ca/diamond/diamond facts2005.htm
2. C. Williams, B. Coller, T. Nowicki, J. Gurney: MEGA KALAHARI GEOLOGY:
CHALLENGES OF KIMBERLITE EXPLORATION IN THIS MEDIUM (2003)
3. Han, J. W. and Kamber, M.: Data Mining: Concepts and Techniques. Morgan Kaufmann Publication (2001)
4. Vapnik, V.: The Nature of Statistical Learning Theory. New York: Springer-Verlag
(1995)
5. C. Wu, D. Landgrebe, and P. Swain: The decision tree approach to classication.
Technical Report TR-EE-75-17, Laboratory for Applications of Remote Sensing,
School of Engineering, Purdue University, West Lafayette, IN, May (1975)
6. Mackay D.: Introduction to Gaussian processes. In: Neural Networks and Machine
Learning (1999)
7. Chih-Chung Chang and Chih-Jen Lin, LIBSVM: a library for support vector machines. (2001) Software available at http://www.csie.ntu.edu.tw/ cjlin/libsvm
8. Yi-Wei Chen and Chih-Jen Lin: Combining SVMs with Various Feature Selection
Strategies. In: Feature extraction, foundations and applications (2005)
Abstract. A fast and accurate method for pricing early exercise options
in computational nance is presented in this paper. The main idea is to
reformulate the well-known risk-neutral valuation formula by recognizing
that it is a convolution. This novel pricing method, which we name the
CONV method for short, is applicable to a wide variety of payos and
only requires the knowledge of the characteristic function of the model.
As such the method is applicable within exponentially Levy models,
including the exponentially ane jump-diusion models. For an M -times
exercisable Bermudan option, the overall complexity is O(M N log(N ))
with N grid points used to discretize the price of the underlying asset.
It is also shown that American options can be very eciently computed
by combining Richardson extrapolation to the CONV method.
Keywords:
Transform.
Option
pricing,
Levy
Process,
Convolution,
FFT,
Introduction
416
R. Lord et al.
In this paper we present a novel FFT-based method for pricing options with
early exercise features. The only requirement of the method is that the characteristic function of the underlying asset is known, which is the case for many
exponential Levy model, with the popular exponentially ane jump-diusion
(EAJD) models of [7] as an important subclass. In contrast to the PIDE methods, our method has no diculty in handling processes of innite activity, such
as the Variance Gamma (VG) or CGMY models. A real benet of this class of
methods is, next to its exibility, the impressive computational speed, as the
FFT algorithm is employed.
All transform methods depart from the risk-neutral valuation formula that, for
a European option, reads:
V (t, S(t)) = er E[V (T, S(T ))] ,
(1)
Throughout the paper we assume that interest rates are deterministic, this assumption can be relaxed at the cost of increasing the dimensionality of some of the
methods.
417
Dene the set of exercise dates as T = {t0 , . . . , tM } and assume the exercise
dates are equally spaced: tk+1 tk = t. The best known examples of early
exercise options are the American and Bermudan options. American options
can be exercised at any time prior to the options expiry; Bermudan options can
only be exercised at certain dates in the future. The Bermudan option price can
then be found via backward induction as
C(tk , S(tk )) = ert E [V (tk+1 , S(tk+1 ))]
k = M 1, . . . , 0,
(4)
V (tk , S(tk )) = max{C(tk , S(tk )), E(tk , S(tk ))},
where C denotes the continuation value of the option and V is the option value
on the very next exercise date. Clearly the dynamic programming problem in (4)
is a successive application of the risk-neutral valuation formula, as we can write
the continuation value as
rt
C(tk , S(tk )) = e
V (tk+1 , y)f (y|S(tk ))dy,
(5)
IR
One of the rening properties of a Levy process is that its increments are independent of each other, which is the main premise of the CONV method:
f (y|x) = f (y x).
(6)
Note that x and y do not have to represent the asset price directly, they could
be monotone functions of the asset price. The assumption made in (6) therefore
certainly holds when the asset price is modeled as a monotone function of a
Levy process, since one of the dening properties of a Levy process is that its
increments are independent of each other. In this case x and y in (6) represent
the log-spot price. By including (6) in (5) and changing variables z = y x the
continuation value can be expressed as
rt
C(tk , x) = e
V (tk+1 , x + z)f (z)dz,
(7)
which is a cross-correlation of the option value at time tk+1 and the density f (z).
If the density function has an easy closed-form expression, it may be benecial
418
R. Lord et al.
to compute the integral straight forwardly. However, for many exponential Levy
models we either do not have a closed-form expression for the density (e.g. the
CGMY/KoBoL model of [3] and many EAJD models), or if we have, it involves
one or more special functions (e.g. the Variance Gamma model).
Since the density is hard to obtain, let us consider taking the Fourier transform of (7). In the remainder we will employ the following denitions for the
continuous Fourier transform and its inverse,
h(u)
:= F {h(t)}(u) =
eiut h(t)dt,
(8)
1
h(t) := F 1 {h(u)}(t)
=
eiut h(u)du.
(9)
2
If we dampen the continuation value (7) by a factor exp (x) and subsequently
take its Fourier transform, we arrive at
ert F {ex C(tk , x)}(u) =
eiux ex
V (tk+1 , x + z)f (z)dzdx. (10)
(11)
In the last step we used the fact that the complex-valued Fourier transform of
the density is simply the extended characteristic function
(x + yi) =
ei(x+yi)z f (z)dz,
(12)
419
Implementation
Lets ignore the damping factor in this section, for the ease of analysis, and
simplify the notations as: ert C(x, tk ) C(x) and V (y, tk+1 ) V (y).
lies in TL :=
Suppose
that we are only interested in a portion of C(x)Athat
L2 , L2 . Assume that f (z) 0 for z outside TA := A
2 , 2 . Both L and A
denote positive real numbers. Then we may re-write the risk-neutral valuation
formula as
C(x) =
V (x + z)f (z)dz =
V (x + z)f (z)dz,
(14)
TA
IR
which indicates that if values of C(x) arewanted on TL then values of V (y) that
L+A
we need for computation lie in TA+L := L+A
.
2 , 2
Remark 1 (Value of A). When working in the log-stock domain (e.g. x :=
log(S)), we approximate the standard deviation of the density function by the
volatility of its characteristic function, therefore approximate A by 10 times
volatility. The approximation gives good results in series of experiments.
4.1
vk
kZZ
2
2
f (z)eik A+L z dz eik A+L x ,
(16)
TA
where the integration inside the brackets is precisely the denition of the char2
acteristic function at u = k A+L
. Truncate the series in (16) to yield
C(x)
=
kZN
2
2
vk k
eik A+L x ,
A+L
(17)
420
R. Lord et al.
where ZN = {n| N2 n < N2 , ZZ}. Up to this point, (17) is almost ready for
the implementation, were vk to be obtained numerically as well. To recover vk ,
quadrature rules are employed. With composite mid-point rule one obtains
vk =
2
y ik L+A
yj
e
V (yj ),
L+A
(18)
jZN
where y = L+A
N , {yj := jy + yc |j ZN } and yc denotes the grid center.
It then yields the discrete version of the CONV formula after substituting (18)
into (17):
Cm =
1 iuk xm
e
(uk )
eiuk yj V (yj ),
N
kZN
(19)
jZN
2
where uk = k L+A
and {xm := my + xc |m ZN } with grid center xc . Note
that the x- and y-grids share the same mesh size so that the same u-grid can be
used in both the inner and the outer summations.
4.2
The pleasing feature of (19) is that both summations can be fast resolved by
existing FFT algorithms. Therefore, the overall computational complexity is
O(N log(N )) for European options, and O(M N log(N )) for an M -times exercisable Bermudan options.
In the mean while, it can be proven analytically that the convergence rate of
the method is O( N12 ) for both vanilla European and Bermudan options. Though
well not include the error analysis in this paper, the regular point-wise convergence rate of the method can be well observed in the experiment results.
Numerical Results
421
Table 1. CPU time, errors and convergence rate in pricing 10-times exercisable Bermudan put under GBM and VG with the CONV method
GBM: Reference= 10.4795201;
VG: Reference= 9.04064611;
N = 2d time(sec) absolute error convergence time(sec) absolute error convergence
6
0.002
9.54e-02
0.001
7.41e-02
7
0.002
2.44e-02
3.91
0.002
5.42e-03
1.37
8
0.003
6.45e-03
3.78
0.003
2.68e-03
2.02
9
0.010
1.69e-03
3.81
0.006
6.10e-04
4.39
10
0.011
4.47e-04
3.79
0.015
1.38e-04
4.40
11
0.021
1.12e-04
3.97
0.022
3.16e-05
4.38
12
0.043
2.83e-05
3.97
0.042
7.92e-06
3.99
13
0.091
7.09e-06
4.00
0.096
1.99e-06
3.97
14
0.210
1.76e-06
4.04
0.208
5.15e-07
3.88
For GBM: S0 = 100, K = 110, T = 1, = 0.2, r = 0.1, q = 0;
For VG: S0 = 100, K = 110, T = 1, = 0.12, = 0.14, = 0.2, r = 0.1, q = 0;
Reference values are obtained by the PIDE method with 4 million grid points.
Table 2. CPU time, errors and convergence rate in pricing 10-times exercisable Bermudan put under VG and CGMY with the CONV method
CGMY(Y < 1)
CGMY(Y > 1)
Reference=
Reference=
0.112171 [2]
9.2185249 [13]
Richardson
Richardson
time(sec) error time(sec) error
0.02 1.37e-02
0.02 5.68e-01
0.04 2.08e-03
0.04 2.78e-01
0.07 4.83e-04
0.08 1.29e-01
0.12 9.02e-05
0.14 8.68e-03
0.26 4.21e-05
0.28 6.18e-04
0.55 2.20e-05
0.59 6.14e-03
Bermudan options, and Richardson denotes the results obtained by the 6-times
repeated Richardson extrapolation scheme. For the VG model, the extrapolation
method turns out to converge much faster and spend far less time than the direct
approximation approach (e.g., to get the same 104 accuracy, the extrapolation
method is more than 20 times faster than the direct-approximation method). For
CGMY model, results by the extrapolation approach are given. They demonstrate that the CONV method can be well combined with the extrapolation
technique as well as any models with known characteristic functions.
422
R. Lord et al.
The CONV method, like other FFT-based methods, is quite exible w.r.t the
choice of asset process and also the type of option contract. It can be applied if
the underlying follows a Levy processe and its characteristic function is known.
The CONV method is highly accurate and fast in pricing Bermudan and American options. It can be used for fast option pricing and for parameter calibration
purposes.
The future works include thorough error analysis and application of the
method to exotic options. Generalization of the method to high-dimensions
and incorporation of the method with sparse grid method are also of our great
interest.
References
1. Andricopoulos, A.D., Widdicks, M., Duck, P.W. and Newton, D.P.: Universal Option Valuation Using Quadrature, J. Financial Economics, 67(2003),3:
447-471
2. Almendral, A. and Oosterlee, C.W.: Accurate Evaluation of European and
American Options Under the CGMY Process., to appear in SIAM J. Sci. Comput(2006)
3. Boyarchenko, S. I. and Levendorski, S. Z.: Non-Gaussian Merton-BlackScholes theory, vol. 9 of Advanced Series on Statistical Science & Appl. Probability,
World Scientic Publishing Co. Inc., River Edge, NJ, 2002
4. Carr, P. P. and Madan, D. B.: Option valuation using the Fast Fourier Transform, J. Comp. Finance, 2 (1999), pp. 6173
5. Chang, C-C , Chung, S-L and Stapleton, R.C.: Richardson extrapolation technique for pricing American-style options Proc. of 2001 Taiwanese Financial Association, Tamkang University Taipei, June 2001. Available at http://papers.ssrn.
com/sol3/papers.cfm?abstract id=313962
6. Cont, R. and Tankov, P.: Financial modelling with jump processes, Chapman
& Hall, Boca Raton, FL, 2004
7. Duffie, D., Pan, J. and Singleton, K.: Transform analysis and asset pricing
for ane jump-diusions. Econometrica 68(2000): 13431376
8. Gil-Pelaez, J.: Note on the inverse theorem. Biometrika 37(1951): 481-482
9. Heston, S.: A closed-form solution for options with stochastic volatility with applications to bond and currency options, Rev. Financ. Stud., 6 (1993), pp. 327343.
10. Hirsa, A. and Madan, D. B.: Pricing American Options Under Variance
Gamma, J. Comp. Finance, 7 (2004).
11. Matache, A. M., Nitsche, P. A. and Schwab, C.: Wavelet Galerkin pricing of
American options on L
evy driven assets, working paper, ETH, Z
urich, 2003.
12. OSullivan, C.: Path Dependent Option Pricing under Levy Processes EFA 2005
Moscow Meetings Paper, Available at SSRN: http://ssrn.com/abstract=673424,
Febr. 2005.
13. Wang, I., Wan, J.W. and Forsyth, P. : Robust numerical valuation of European and American options under the CGMY process. Techn. Report U. Waterloo,
Canada, 2006.
Abstract. This study proposes a novel neural-network-based fuzzy group forecasting model for foreign exchange rates prediction. In the proposed model,
some single neural network models are first used as predictors for foreign exchange rates prediction. Then these single prediction results produced by each
single neural network models are fuzzified into some fuzzy prediction representations. Subsequently, these fuzzified prediction representations are aggregated
into a fuzzy group consensus, i.e., aggregated fuzzy prediction representation.
Finally, the aggregated prediction representation is defuzzified into a crisp
value as the final prediction results. For illustration and testing purposes, a typical numerical example and three typical foreign exchange rates prediction experiments are presented. Experimental results reveal that the proposed model
can significantly improve the prediction performance for foreign exchange
rates.
Keywords: Artificial neural networks, fuzzy group forecasting, foreign
exchange rates prediction.
1 Introduction
Foreign exchange rate forecasting has been a common research stream in the last few
decades. Over this time, the research stream has gained momentum with the advancement of computer technologies, which have made many elaborate computation
methods available and practical [1]. Due to its high volatility, foreign exchange rates
forecasting is regarded as a rather challenging task. For traditional statistical methods,
it is hard to capture the high volatility and nonlinear characteristics hidden in the
foreign exchange market. As a result, many emerging artificial intelligent techniques,
such as artificial neural networks (ANN), were widely used in foreign exchange rates
forecasting and obtained good prediction performance. For example, De Matos [2]
compared the strength of a multilayer feed-forward neural network (FNN) with that of
a recurrent network based on the forecasting of Japanese yen futures. Kuan and Liu
[3] provided a comparative evaluation of the performance of MLFN and a recurrent
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 423430, 2007.
Springer-Verlag Berlin Heidelberg 2007
424
425
Step II: Single Predictors Fuzzification. Based on these different training sets, each
neural network can produce some different predictors. Using the different predictors,
we can obtain different prediction results. Because neural predictor is an unstable
learning paradigm, we are required to integrate these different results produced by
different predictors, as earlier noted in Section 1. For these different predictions, we
consider them as a fuzzy number for further processing. For example, suppose that the
original dataset is used to create k different training sets, i.e., TR1, TR2, , TRk, via
f1i ( x), f 2i ( x), " f ki ( x) , can be generated by the ith neural network predictor when
out-of-sample forecasting. In order to make full use of all information provided by
different predictions, without loss of generalization, we utilize the triangular fuzzy
number to construct the fuzzy representation for different predicted results. That is,
the smallest, average and largest of the k predictions are used as the left-, mediumand right membership degrees. That is, the smallest and largest values are seen as the
optimistic and pessimistic prediction and the average value is considered to be the
most likely prediction. Using this fuzzification method, one can make a fuzzy prediction judgment for each time series. More clearly, the triangular fuzzy number in this
case can be represented as
([ (
k ], [max ( f
)]
( x ) )])
~
Z i = ( z i1 , z i 2 , z i 3 ) = min f 1i ( x ), f 2i ( x ), " , f ki ( x ) ,
k
j =1
f ji ( x )
i
1
( x ), f 2i ( x ), " , f ki
(1)
~
~
p
Z = i =1 wi Z i =
p
i =1
wi z i1 , i =1 wi z i 2 , i =1 wi z i 3
p
(2)
i =1 wi = 1
p
(3)
The key to this aggregation procedure is how to determine the optimal weight wi of
the ith fuzzy prediction representation under fuzzy group forecasting environment.
426
Often the fuzzy representations of the predictions are largely dispersed and separated.
In order to achieve the maximum similarity, the fuzzy prediction representations
should move towards one another. This is the principle on the basis of which an aggregated fuzzy prediction representation is generated. Relied on this principle, a leastsquares aggregation optimization approach is proposed to integrate fuzzy prediction
results produced by different prediction models.
The generic idea of this proposed aggregation optimization approach is to minimize
the sum of squared distance from one fuzzy prediction to another and
~ thus make
~ them
maximum agreement. Particularly, the squared distance between Z i and Z j can be
defined by
d ij2 =
( (w Z~ w Z~ ) ) =
2
3
l =1
(w z
i il
w j z jl )
(4)
Using this definition, we can construct the following optimization model, which
minimizes the sum of the squared distances between all pairs of weights fuzzy prediction representations:
p
p
p
p
3
2
2
Minimize D = d ij = l =1 (wi z il w j z jl )
i
=
1
j
=
1
,
j
i
i
=
1
j
=
1
,
j
p
( P) Subject to wi = 1
i =1
wi 0, i = 1,2, " p
(5)
(6)
(7)
In order to solve the above optimal weights, the constraint (7) is first not considered. If the solution turns out to be nonnegative, then constraint (7) is satisfied automatically. Using Lagrange multiplier method, Equations (5) and (6) can construct the
following Lagrangian function:
p
L( w, ) =
[l =1 (wi zil w j z jl ) ] 2 (i =1 wi = 1)
p
(8)
i =1 j =1, j i
(9)
j =1, j i
l =1
for each i = 1, 2, , p.
(10)
Setting W = (w1, w2, , wp)T, I = (1, 1, , 1)T and the T denotes transpose,
3
3
bij = ( p 1) l =1 zil2 , i = j = 1,2,", p , bij = l =1 z il z jl , i , j = 1, 2, " , p ; j i and
B = (bij ) p p
3
2
( p 1) l =1 z1l
3
(z 2l z1l )
= l =1
"
3
(z pl z1l )
l =1
(z1l z 2l )
l =1
( p 1)(3l =1 z 22l )
"
(z pl z 2l )
3
l =1
(z1l z pl )
l =1
3
"
(z 2l z pl )
l =1
"
"
3
2
" ( p 1) l =1 z pl
427
"
(11)
Using matrix form and above settings, Equations (10) and (6) can be rewritten as
BW I = 0
(12)
I TW = 1
(13)
Similarly, Equation (5) can be expressed in a matrix form as D = W BW . Because D is a squared distance which is usually larger than zero, B should be positive
definite and invertible. Using Equations (12) and (13) together, we can obtain
T
* = 1 (I T B 1 I )
W * = B 1 I
) (I
B 1 I
(14)
(15)
Since B is a positive definite matrix, all its principal minors will be strictly positive
and thus B is a nonsingular M-matrix [10]. According to the properties of M-matrices,
we know B-1 is nonnegative. Therefore W * 0, which implies that the constraint in
Equation (7) is satisfied.
Step IV: Aggregated Prediction Defuzzification. After completing aggregation, a
fuzzy group consensus can be obtained by Equation (2). To obtain crisp value of
credit score, we use a defuzzification procedure to obtain the crisp value for decisionmaking purpose. According to Bortolan and Degani [11], the defuzzified value of a
triangular fuzzy number
~
Z = ( z1 , z 2 , z 3 ) can be determined by its centroid, which is
computed by
z3
x z1
z x
dx
x
dx + x 3
z1
z2
z 2 z1
z 3 z 2
(z + z + z3 )
z1
z = z3
=
= 1 2
(16)
z2 x z
z3 z x
3
3
1
z1 ~z ( x)dx
dx
+
dx
z1 z 2 z1 z2 z3 z2
z3
x ~z ( x)dx
z2
In this way, a final group forecasting consensus is computed with the above processes. For illustration and verification purposes, an illustrated numerical example and
three typical foreign exchange rates are conducted.
428
3 Experiments
In this section, we first present an illustrative numerical example to explain the implementation process of the proposed fuzzy group forecasting model using US dollar
against Chinese Renminbi (USD/RMB) exchange rate series. Then three typical foreign
exchange rates, US dollar against each of the three currencies British pounds (GBP),
euros (EUR) and Japanese yen (JPY), are used for testing. All four exchange data are
obtained from Pacific Exchange Rates Services (http://fx.sauder.ubc.ca/), provided by
Professor Werner Antweiler, University of British Columbia, Vancouver, Canada.
3.1 An Illustrative Numerical Example
Assume that there is USD/RMB series covered from January 1, 2006 to November
30, 2006, one would like to predict future USD/RMB exchange rate, e.g., December
1, 2006. For simplification, we first apply three standard FNN models with different
topological structures to conduct this example. For example, we use three different
numbers of hidden neurons to generate three different FNN models. In this example,
we try to utilize five different models for prediction. For this purpose, the bagging
sampling algorithm [9] is then used to create five different training sets. For each
FNN model, five different training sets are used and five different prediction results
are presented. With the above assumptions, three FNN models can produce 15 different prediction results, each for five predictions, as shown below.
FNN (5-09-1) = (7.8211, 7.8321, 7.8451, 7.8122, 7.8247)
FNN (5-12-1) = (7.8309, 7.8292, 7.8302, 7.8385, 7.8278)
FNN (5-15-1) = (7.8082, 7.8199, 7.8208, 7.8352, 7.8393)
where the numbers in parentheses indicate the topological structures of standard FNN
model, for example, (5-12-1) represents five input nodes, twelve hidden nodes and
one output node. Using Equation (1), the predictions of the three FNN models can be
fuzzified into three triangular fuzzy numbers as fuzzy prediction representations, i.e.,
~
Z FNN1 = ( z11 , z12 , z13 ) = (7.8122,7.8270,7.8451)
~
Z FNN 2 = ( z 21 , z22 , z23 ) = (7.8278,7.8313,7.8385)
~
Z FNN 3 = ( z31 , z32 , z33 ) = (7.8082,7.8247,7.8393)
The subsequent task is to aggregate the three fuzzy prediction representations into
a group prediction consensus. Using the above optimization method, we can obtain
the following results:
367.6760 183.9417
B = 183.9417 368.0916
183.7432 183.8470
2.1439 2.1427
1
3
B = 10 2.1427 2.1415
2.1450 2.1438
183.7432
183.8470 ,
367.2971
2.1450
2.1438 ,
2.1461
429
3
~
~
W *T = (0.3333, 0.3332; 0.3335) , Z * = i=1 w*Zi = (7.8161, 7.8277, 7.8410)
The final step is to defuzzify the aggregated fuzzy prediction value into a crisp prediction value. Using Equation (14), the defuzzified value of the final group prediction
consensus is calculated by
GBP
NMSE
Dstat (%)
0.0811
57.75
0.0792
63.38
0.0767
69.01
0.0083
84.51
EUR
NMSE
Dstat (%)
0.0892
59.15
0.0669
67.61
0.0663
70.42
0.0112
83.10
NMSE
0.2346
0.1433
0.1782
0.0458
JPY
Dstat (%)
56.33
70.42
71.83
81.69
From Table 1, a clear comparison of various methods for the three currencies is
given via NMSE and Dstat. Generally speaking, the results obtained from the two tables also indicate that the prediction performance of the proposed neural network
based fuzzy group forecasting model is better than those of the single neural network
model, linear regression and logit regression forecasting models for the three main
currencies. The main reasons are that (1) aggregating multiple predictions into a
group consensus can definitely improve the performance, as Yu et al. [1] revealed; (2)
fuzzification of the predictions may generalize the model by processing some uncertainties of forecasting; and (3) as an universal approximator, neural network might
also make a contribution for the performance improvement.
430
4 Conclusions
In this study, a new neural network based fuzzy group forecasting model is proposed
for foreign exchange rates prediction. In terms of the empirical results, we can find
that across different models for the test cases of three main currencies British
pounds (GBP), euros (EUR) and Japanese yen (JPY) on the basis of different
evaluation criteria, our proposed neural network based fuzzy group forecasting
method performs the best. In the proposed neural network based fuzzy group forecasting cases, the NMSE is the lowest and the Dstat is the highest, indicating that the
proposed neural network based fuzzy group forecasting model can be used as a promising tool for foreign exchange rates prediction.
Acknowledgements
This work is supported by the grants from the National Natural Science Foundation of
China (NSFC No. 70221001, 70601029), the Chinese Academy of Sciences (CAS
No. 3547600), the Academy of Mathematics and Systems Sciences (AMSS No.
3543500) of CAS, and the Strategic Research Grant of City University of Hong Kong
(SRG No. 7001677, 7001806).
References
1. Yu, L., Wang, S.Y., Lai, K.K.: A Novel Nonlinear Ensemble Forecasting Model Incorporating GLAR and ANN for Foreign Exchange Rates. Computers & Operations Research
32 (2005) 2523-2541
2. De Matos G.: Neural Networks for Forecasting Exchange Rate. M. Sc. Thesis. The University of Manitoba, Canada (1994)
3. Kuan, C.M., Liu, T.: Forecasting Exchange Rates Using Feedforward and Recurrent Neural Networks. Journal of Applied Econometrics 10 (1995) 347-364
4. Tenti, P.: Forecasting Foreign Exchange Rates Using Recurrent Neural Networks. Applied
Artificial Intelligence 10 (1996) 567-581
5. Hsu, W., Hsu, L.S., Tenorio, M.F.: A Neural Network Procedure for Selecting Predictive
Indicators in Currency Trading. In Refenes A.N. (Ed.): Neural Networks in the Capital
Markets. New York: John Wiley and Sons (1995) 245-257
6. Leung, M.T., Chen, A.S., Daouk, H.: Forecasting Exchange Rates Using General Regression Neural Networks. Computers & Operations Research 27 (2000) 1093-1110
7. Chen, A.S., Leung, M.T.: Regression Neural Network for Error Correction in Foreign Exchange Rate Forecasting and Trading. Computers & Operations Research 31 (2004)
1049-1068
8. Yu, L., Wang, S.Y., Lai, K.K. Adaptive Smoothing Neural Networks in Foreign Exchange
Rate Forecasting. Lecture Notes in Computer Science 3516 (2005) 523-530
9. Breiman, L.: Bagging Predictors. Machine Learning 26 (1996) 123-140
10. Berman, A., Plemmons, R.J.: Nonnegative Matrices in the Mathematical Sciences. Academic, New York (1979)
11. Bortolan, G., Degani, R.: A Review of Some Methods for Ranking Fuzzy Subsets. Fuzzy
Sets and Systems 15 (1985) 1-19
Institute of Policy & Management, Chinese Academy of Sciences, Beijing 100080, China
2
Graduate University of Chinese Academy of Sciences, Beijing 100039, China
{lwwei, ljp, zychen}@casipm.ac.cn
Abstract. Recent studies have revealed that emerging modern machine learning
techniques are advantageous to statistical models for credit risk evaluation, such
as SVM. In this study, we discuss the applications of the support vector machine with mixture of kernel to design a credit evaluation system, which can
discriminate good creditors from bad ones. Differing from the standard SVM,
the SVM-MK uses the 1-norm based object function and adopts the convex
combinations of single feature basic kernels. Only a linear programming problem needs to be resolved and it greatly reduces the computational costs. More
important, it is a transparent model and the optimal feature subset can be obtained automatically. A real life credit dataset from a US commercial bank is
used to demonstrate the good performance of the SVM- MK.
Keywords: Credit risk evaluation SVM-MK Feature selection Classification
model.
1 Introduction
Undoubtedly credit risk evaluation is an important field in the financial risk management. Extant evidence shows that in the past two decades bankruptcies and defaults
have occurred at a higher rate than any other time. Thus, its a crucial ability to accurately assess the existing risk and discriminate good applicants from bad ones for
financial institutions, especially for any credit-granting institution, such as commercial banks and certain retailers. Due to this situation, many credit classification models have been developed to predict default accurately and some interesting results
have been obtained.
These credit classification models apply a classification technique on similar data
of previous customers to estimate the corresponding risk rate so that the customers
can be classified as normal or default. Some researchers used the statistical models,
such as Linear discriminate analysis [1], logistic analysis [2] and probit regression [3],
in the credit risk evaluation. These models have been criticized for lack of classification precision because the covariance matrices of the good and bad credit classes are
not likely to be equal.
Recently, with the emergence of Decision tree [4] and Neural network [5], artificial
intelligent (AI) techniques are wildly applied to credit scoring tasks. They have
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 431438, 2007.
Springer-Verlag Berlin Heidelberg 2007
432
obtained promising results and outperformed the traditional statistics. But these methods often suffer local minima and over fitting problems.
Support vector machine (SVM) is first proposed by Vapnik [6]. Now it has been
proved to be a powerful and promising data classification and function estimation
tool. Reference [7], [8] and [9] applied SVM to credit analysis. They have obtained
some valuable results. But SVM is sensitive to outliers and noises in the training sample and has limited interpretability due to its kernel theory. Another problem is that
SVM has a high computational complexity because of the solving of large scale quadratic programming in parameter iterative learning procedure.
Recently, how to learn the kernel from data draws many researchers attention. The
reference [10] draws the conclusion that the optimal kernel can always be obtained as
a convex combinations of many finitely basic kernels. And some formulations [11]
[12] have been proposed to perform the optimization in manner of convex combinations of basic kernels.
Motivated by above questions and ideas, we propose a new method named support
vector machines with mixture of kernel (SVM-MK) to evaluate the credit risk. In this
method the kernel is a convex combination of many finitely basic kernels. Each basic
kernel has a kernel coefficient and is provided with a single feature. The 1-norm is
utilized in SVM-MK. As a result, its objective function turns into a linear programming parameter iterative learning procedure and greatly reduces the computational
complexity. Furthermore, we can select the optimal feature subset automatically and
get an interpretable model.
The rest of this paper is organized as follows: section 2 gives a brief outline of
SVM-MK. To evaluate the performance of SVM-MK for the credit risk assessment,
we use a real life credit card data from a major US commercial bank in this test in
section 3. Finally, section 4 draws the conclusion and gives an outlook of possible
future research areas.
{(xG y )}
i,
i =1
G
xi R m is the i th input pattern and
1 2
n
K
min J ( , ) = + c i =1 i
2
K K
yi T (xi ) + b 1 i
s.t.
i 0
i = 1," n
(1)
(2)
Credit Risk Evaluation Using Support Vector Machine with Mixture of Kernel
433
where c is a constant denoting a trade-off between the margin and the sum of total
K
errors. ( x ) is a nonlinear function that maps the input space into a higher dimensional feature space. The margin between the two parts is 2
The quadratic optimization problem can be solved by transforming (1) and (2) into
the saddle point of the Lagrange dual function:
1 n
K K
n
maxi=1i i, j=1i j yi y j k (xi , x j )
2
n yi i = 0
i =1
s.t.
0 i c, i = 1,", n
(K K )
(3)
(4)
(K )
where
(5)
K
xi , d denotes the d th component of the input vector xi .
Substituting Equation (5) into Equation (3), and multiplying Equation (3) and (4)
by d , suppose i , d
1 n,m
i,d yi i ,d = 0
m
s.t. 0 d =1 i ,d c, i = 1, ", n
0, d = 1,", m
i ,d
(6)
(7)
The new coefficient i , d replaces the Lagrange coefficient i . The number of coef-
ficient that needs to be optimized is increased from n to n m . It increases the computational cost especially when the number of the attributes in the dataset is large. The
linear programming implementation of SVM is a promising approach to reduce the
computational cost of SVM and attracts some scholars attention. Based on above
idea, a 1-norm based linear programming is proposed:
n
K K
min J ( , ) = i , d i , d + i =1i
(8)
434
yi
s.t.
j,d
j , d y j k (xi , d , x j , d ) + b 1 i
i 0, i = 1,", n
i , d 0, d = 1,", m
i, d .
(9)
ui
(10)
max
n
i =1
0 ui , i = 1,", n
(11)
The choice of kernel function includes the linear kernel, polynomial kernel or RBF
kernel. Thus, the SVM-MK classifier can be represented as:
K
f (x ) = sign j , d j , d y j k (xi , d , x j , d ) + b
(12)
It can be found that above linear programming formulation and its dual description
is equivalent to that of the approach called mixture of kernel [12]. So the new coefficient i , d is called the mixture coefficient. Thus this approach is named support
vector machine with mixture of kernel (SVM-MK). Comparing with the standard
SVM that obtains the solution of i by solving a quadratic programming problem, the
SVM-MK can obtain the value of mixture coefficient i, d by solving a linear programming. So the SVM-MK model greatly reduces the computational complexity. It
is more important that the sparse coefficients i , d give us more choices to extract the
satisfied features in the whole space spanned by all the attributes.
3 Experiment Analysis
In this section, a real-world credit dataset is used to test the performance of SVMMK. The dataset is from a major US commercial bank. It includes detailed information of 5000 applicants, and two classes are defined: good and bad creditor. Each
record consists of 65 variables, such as payment history, transaction, opened account
etc. This dataset includes 5000 applicants, in which the number of bad accounts is 815
and the others are good accounts. Thus the dataset is greatly imbalance. So we preprocess the data by means of sampling method and making use of 5-fold crossvalidation to guarantee valid results. In addition, three evaluation criteria measure the
efficiency of classification:
Credit Risk Evaluation Using Support Vector Machine with Mixture of Kernel
Type error =
Type error =
435
(13)
(14)
(15)
2 and the regularized parameter . The Type I error (e1), Type II error (e2), Total
2
error (e), number of selected features and the best pairs of ( , ) for each fold
using SVM-MK approach are shown in table 1. For this method, its average
Type I error is 24.25%, average Type II error is 17.24%, average Total error is
23.22% and average number of selected features is 18.
Table 1. Experimental results for each fold using SVM-MK
Fold #
e1 (%)
e2 (%)
e (%) Optimized
1
2
3
4
5
Average
20.2
27.75
24.54
20.27
28.49
24.25
15.7
15.39
14.29
13.68
27.14
17.24
18.9
26.3
23.1
19.5
28.3
23.22
4
5.45
5
3
1.2
5
3
1
5
8
19
13
8
25
26
18
436
Table 2. Classification error and selected features of various parameters in SVM-MK (fold #2)
10
15
20
3
13
20
32
41
41
54 3,8
3,8,9,10,11 3, 4, 8,9,10,12 3,4,5,6,8,10,12
3,4,5,6,8,10,12,14,15
55 10,11 14,20,24,31 14,15,16,17,20 14,15,16,17,19,20
16,17,19,20,23,24,25
61 14,20,31 38,40,42,47 23,24,25,28,31 23,24,25,28,31,32,33 28,31,32,33,34,37,38
NSF
Selected
specific
features
38,47,52 51,52,53,54
53,55,61 55,60,61
e1
e2
2 =2 e
e1
5
e2
e
e1
5.45 e2
e
e1
10 e2
e
e1
11.4 e2
e
e1
15 e2
e
100
0
87.3
17.8
32.7
18.1
0
100
13.9
0
100
13.9
0
100
13.9
0
100
13.9
92
3. 37
63. 5
38.2
8.6
34.1
27.75
15.39
26.3
98.88
0
86
99.88
0
87.3
100
0
87.3
32,34,38,39,40 34,37,38,39,40,41,42
42,45,47,51,52 43,45,47,48,50,51,52
53,54,55,58
53,54,55,58,59,61,63
14. 52
48.2
19. 2
22
29
23
21
32.4
24.5
19. 4
35. 3
21. 6
26. 62
16. 24
25. 4
32.1
10. 8
29.1
22. 55
41. 45
26.2
4. 2
83.89
17
11.7
100
11.7
2 .3
93.16
11.8
1. 1
94. 87
11. 9
1. 15
92.83
13.9
35. 4
21. 55
32. 45
14.04
29. 9
15. 9
11.7
100
11.7
88
3. 1
77. 8
92
7. 53
79. 94
94. 36
6. 3
81. 6
39,40,41,42,43,45
47,48,50,51,52,53
54,55,58,59,61,63
0.11
98. 29
11. 6
0.68
93.16
11.5
11.7
100
11.7
3. 2
87. 9
11. 9
12.9
29.9
14.9
5. 21
60. 68
11. 7
result, the sparse of i , d becomes bad in the primal LP problem. That is to say, a
bigger parameter results in selecting a good many of features. But the parame-
(3) When the value of parameter matches the certain values of parameter , we
can get promising classification results. In general, there is a trade off between
Type I and II error in which lower Type II error usually comes at the expense of
higher Type I error.
2
Credit Risk Evaluation Using Support Vector Machine with Mixture of Kernel
437
obtain a credit evaluation model with the minimum expected misclassification [13].
When there are only two different populations, the cost function in computing the
expected misclassification is considered as follows:
(16)
c21 and c12 are the corresponding misclassification costs of Type I and Type II
error, 1 and 2 are prior probabilities of good and bad credit applicants,
where
p(21) and p(1 2) measure the probability of making Type I error and Type II error. In
this study, p(21) and p(1 2) are respectively equal to Type I and Type II error. The
misclassification ratio associated with Type I and Type II error are respectively 1 and
5 [13]. In order to further evaluate the effectiveness of the proposed SVM-MK credit
evaluation model, the classification results are compared with some other methods
using the same dataset, such as multiple criteria linear programming (MCLP), multiple criteria non-linear programming (MCNP), decision trees and neural network. The
results of the four models quoted from the reference [14]. Table 3 summarizes the
Type I, Type II and Total error of the five models and the corresponding expected
misclassification costs (EMC).
Table 3. Errors and the expected misclassification costs of the five models
Model
e1 (%)
e2 (%)
e (%)
EMC
MCLP
24.49
59.39
30.18
0.51736
MCNP
49.03
17.18
43.84
0.52717
Decision Tree
47.91
17.3
42.92
0.51769
Neural Network
32.76
21.6
30.94
0.40284
SVM-MK
24.25
17.24
23.22
0.30445
The priors of good and bad applicants are set to as 0.9 and 0.1 using the ratio of good and bad
credit customers in the empirical dataset.
From table 3, we can conclude that the SVM-MK model has better credit scoring
capability in term of the overall error, the Type I error about the good class, the Type
II error about the bad class and the expected misclassification cost criterion in comparison with former four models. Consequently, the proposed SVM-MK model can
provide efficient alternatives in conducting credit evaluating tasks.
4 Conclusions
This paper presents a novel SVM-MK credit risk evaluation model. By using the
1-norm and a convex combination of basic kernels, the object function which is a
quadratic programming problem in the standard SVM becomes a linear programming
parameter iterative learning problem so that greatly reducing the computational costs.
In practice, it is not difficult to adjust kernel parameter and regularized parameter to
obtain a satisfied classification result. Through the practical data experiment, we have
obtained good classification results and meanwhile demonstrated that SVM-MK
model is of good performance in credit scoring system. And we get only a few
438
valuable attributes that can interpret a correlation between the credit and the customers information. So the extractive features can help the loaner make correct decisions. Thus the SVM-MK is a transparent model, and it provides efficient alternatives
in conducting credit scoring tasks. Future studies will aim at finding the law existing
in the parameters setting. Generalizing the rules by the features that have been
selected is another further work.
Acknowledgements
This research has been partially supported by a grant from National Natural Science
Foundation of China (#70531040), and 973 Project (#2004CB720103), Ministry of
Science and Technology, China.
References:
1. G. Lee, T. K. Sung, N. Chang: Dynamics of modeling in data mining: Interpretive approach to bankruptcy prediction. Journal of Management Information Systems, 16(1999),
63-85
2. J. C. Wiginton: A note on the comparison of logit and discriminate models of consumer
credit behavior. Journal of Financial Quantitative Analysis 15(1980), 757-770
3. B.J. Grablowsky, W. K. Talley: Probit and discriminant functions for classifying credit
applicants: A comparison. Journal of Economic Business. Vol.33(1981), 254-261
4. T. Lee, C. Chiu, Y. Chou, C. Lu: Mining the customer credit using classification and regression tree and multivariate adaptive regression splines. Computational Statistics and
Data Analysis, Vol.50, 2006(4), 1113-1130
5. Yueh-Min Huang, Chun-Min Hung, Hewijin Christine Jiau: Evaluation of neural networks
and data mining methods on a credit assessment task for class imbalance problem. Nonlinear Analysis: Real World Applications 7(2006), 720-747
6. V. Vapnik: The nature of statistic learning theory. Springer, New York(1995)
7. T. Van Gestel, B. Baesens, J. Garcia, and P. Van Dijcke: A support vector machine approach to credit scoring. Bank en Financiewezen 2 (2003), 73-82
8. Y. Wang, S. Wang, K. Lai, A new fuzzy support vector machine to evaluate credit risk.
IEEE Transactions on Fuzzy Systems, Vol.13, 2005(6), 820-831
9. Wun-Hwa Chen, Jin-Ying Shih: A study of Taiwans issuer credit rating systems using
support vector machines. Expert Systems with Applications 30(2006), 427-435
10. A. Ch. Micchelli, M. Pontil: Learning the kernel function via regularization. Journal of
Machine Learning Research, 6(2005), 1099-1125
11. G. R.G. Lanckrient, N. Cristianini, P. Bartlett, L. El Ghaoui, M.I. Jordan: Learning the
kernel matrix with semidefinite programming. Journal of Machine Learning Research,
5(2004), 27-72
12. F.R. Bach, G. R.G. Lanckrient, M.I. Jordan: Multiple kernel learning, conic duality and the
SMO algorithm. Twenty First International Conference on Machine Learning, (2004),
41-48
13. D. West: Neural network credit scoring models. Computers and Operations Research,
27(2000), 1131-1152
14. J. He, Y. Shi, W. X. Xu: Classifications of credit cardholder behavior by using multiple
criteria non-linear programming. In Y. Shi, W. Xu, Z. Chen (Eds.) CASDMKM 2004,
LNAI 3327, Springer-Verlag Berlin Heidelberg, (2004), 154-163
Abstract. This article presents the way how creditor can predict the trends of
debtors financial standing. We propose the model for forecasting changes of
financial standings. Model is based on the Self-organizing maps as a tool for
prediction, grouping and visualization of large amount of data. Inputs for
training of SOM are financial ratios calculated according any discriminate
bankruptcy model. Supervised neural network lets automatically increase
accuracy of performance via changing of weights of ratios.
Keywords: self-organizing maps, Z-score, bankruptcy, prediction, bankruptcy
class, multivariate discriminate model, Altman, Zmijewski, feed-forward neural
network, model.
1 Introduction
Bankruptcy is a process which results reorganization of the company in order to repay
debts and fulfill other liabilities. Close monitoring of financial standing of the
company is very important in order to prevent possible bankruptcy.
Model forecasting changes in financial standing is presented in this article. The
fundamental bankruptcy models (Altman, Zmijewski etc.), supervised and
unsupervised artificial neural networks are used as the base in this model. The
concept of the model is universal any of discriminate bankruptcy model can be used
in order to describe the company by one meaning.
Related works are presented in the first part of the article. The methodology of the
model is described in the second part. Third part includes description and results of
testing of the model with the actual financial data.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 439446, 2007.
Springer-Verlag Berlin Heidelberg 2007
440
2 Related Work
Bankruptcy is described as inability or impairment of ability of an individual or
organization to pay their creditors, in other words default. One of the most
important tasks of the creditors is to manage the credit risk making forecast of
changes in financial standing. The early history of research attempts to classify and
predict bankruptcy is well documented in [1],[7]. Altman [2], Zmijewski, [16],
Ohlson [10], Shumway [14] and other authors are the first and fundamental creators
of bankruptcy models. The key-point of these models is to determine most important
indicators (ratios) and their weights in discriminate or logistic function. A detailed
description of the SOM method is presented in [9].
During the past 15 years investigations in area of SOM applications to financial
analysis have been done. Doebeck described and analyzed most cases in [5]. Martindel-Prio and Serrano-Cinca generated SOMs of Spanish banks and subdivided those
banks into two large groups, the configuration of banks allowed establishing root
causes of the banking crisis [11].
Based on Kiviluotos study [8], through visual exploration one can see the
distribution of important indicators (i.e. bankruptcy) on the map.
The following authors have estimated only historical and current financial data of
the companies and afterwards they have interpreted it for forecasting bankrupt of
those companies. In this paper, we suggest generating SOM as one that could be
applied for forecasting of bankruptcy classes for other than trained companies.
3 Methodology
In this section we present Neuro-discriminate model for forecasting of changes of
companies financial standings on the basis of Self-organizing maps (further - Model).
The Model includes various methods - multivariate discriminate analysis, selforganizing maps, feed-forward supervised neural network, combination of which
makes original model of forecasting. These methods [2], [16], [9], [1] used in the
Model are original with no major adjustments, so they are not presented.
The main concept of the Model is presented in figure 1.
Description of the Model concept:
1.
2.
3.
441
Financial data
data
Multivariate discriminate
bankruptcy model
corrected
weights
FF ANN
inputs / outputs
SOM
w
w
w
w
. ..
x
weights
M ySQL
DB
Local companies
financial d atabase
Weights of
components of
discriminate
bankruptcy model
Financial ratios:
components of
discriminate
bankruptcy model
- EDGAR
inputs
trained
SOM
EDGAR
label nodes of
trained
SOM
calculate
corresponding
nodes
LT
label nodes of
trained
SOM
Financial ratios:
components of
discriminate
bankruptcy model
- LT
LT
Calculate
Z-scores/
classification
EDGAR
labeled nodes
of trained
SOM/
targets
accuracy is
acceptable
yes
ED GA R PRO
Financial
d atabas e
EDGAR
Calculate
Z-scores/
classification
inputs
x
x
x
w
w
w
w
Status Report
y
...
x
442
2.
3.
4.
5.
6.
7.
8.
Result of prediction is the most important information for creditor showing the
trend of a company (positive or negative changes of financial standing of company).
443
4 Results of Testing
In this section we have presented the results of Model testing.
The testing of proposed Model has been executed using two real financial datasets:
companies from NASDAQ list, (further - TRAINDATA) loaded from EDGAR PRO
Online database and a dataset of Lithuanian companys financial statements
(TESTDATA) presented by one of the Lithuanian banks.
The basis for generating the SOM is TRAINDATA. Calculated bankruptcy ratios
are based on the original discriminate bankruptcy model by Zmijewski [16]. The
ratios are used as inputs and changes of Z-Scores during two years are used as labels
for the identification of units in the SOM.
Table 1. Characteristics of financial datasets
Dataset
Taken from
TRAINDATA
TESTDATA
EDGAR PRO Online Database Database of Lithuanian
(free trial)
bank.
Period of financial data
7 periods consecutively
2003-2004
Amount of companies
9364
776
Count of records
56184
776
Count of records after
46353
767
elimination of missing
data
Number
of
inputs
6
(attributes)
Risk
classes
of If the Z-score of second period is less than the Z-score of
bankruptcy
first period then the risk class is determined as 0, otherwise
1.
The SOM was trained using the SOM Toolbox for Matlab package [15]. Changing
of weights with FF ANN has been executed using NNSISID Toolbox for Matlab [13].
The testing process was as follows:
1.
2.
3.
4.
5.
6.
Getting data from financial sources and putting them to the MySQL
database.
Filtering missing data.
Calculating Z-scores; assigning of the risk classes.
Dividing TRAIN data into two subsets: training and testing data with ratio
70:30.
Preprocessing of training data: normalizing of data set, selecting structure of
map and topology, setting of other options like data filter, delay etc.
Executing algorithm which is described in the section 3 while accuracy of
corresponding nodes between TRAINDATA and TESTDATA achieves
desirable result.
444
445
-4,336
-4,513
5,679
0,004
-4,336
-4,513
5,679
0,004
-4,336
-5,834
5,255
-0,207
-4,336
-4,545
4,617
-0,180
79.15%
84.47%
5 Conclusions
References
1. Atiya.: Bankruptcy prediction for credit risk using neural networks: a survey and new
results. IEEE Transactions on Neural Networks, Vol. 12, No. 4, (2001) 929-935
2. Altman, E.: Financial Ratios, Discrimination Analysis and the Prediction of Corporate
Bankruptcy. Journal of Finance, (1968)
446
3. Altman. E.: Predicting Financial Distress of Companies: Revisiting the Z-Score and
ZETA Models. (working paper at http://pages.stern.nyu.edu/~ealtman/Zscores.pdf)
(2000)
4. Deboeck, G.: Financial Applications of Self-Organizing Maps. American Heuristics
Electronic Newsletter, Jan, (1998)
5. Deboeck, G.: Self-Organizing Maps Facilitate Knowledge Discovery In Finance. Financial
Engineering News, (1998)
6. EDGAR Online, Inc. http://pro.edgar-online.com (1995-2006)
7. Galindo, J., Tamayo, P.: Credit Risk Assessment Using Statistical and Machine Learning:
Basic Methodology and Risk Modeling Applications. Computational Economics. (2000),
Vol 15
8. Kiviluoto, K.: Predicting bankruptcies with the self-organizing map. Neurocomputing,
Vol. 21, (1998),191201
9. Kohonen, T.: The Self-Organizing Map. Proceedings of the IEEE, 78:1464-1480
10. Ohlson, J. A.: Financial Ratios and the Probabilistic Prediction of Bankruptcy. Journal of
Accounting Research (Spring). (1980), 109-131
11. Martin-del-Prio, K., Serrano-Cinca, Self-Organizing Neural Network: The Financial State
of Spanish Companies. In Neural Networks in Finance and Investing. Using Artificial
Intelligence to Improve Real-World Performance. R.Trippi, E.Turban, Eds. Probus
Publishing, (1993), 341-357
12. Merkeviius, E., Garva, G., Girdzijauskas, S.: A Hybrid SOM-Altman Model for
Bankruptcy Prediction. International Conference on Computational Science (4), Lecture
Notes in Computer Science, 3994, 364-371, (2006), ISSN 0302-9743
13. Nrgaard, M.: Neural Network Based System Identification Toolbox Version 2. Technical
Report 00-E-891, Department of Automation Technical University of Denmark. (2000).
http://kalman.iau.dtu.dk/research/control/nnsysid.html
14. Shumway, T.: Forecasting Bankruptcy More Accurately: A Simple Hazard Model, Journal
of Business, Vol. 74, No. 1 (2001), 101-124
15. Vesanto, J., Himberg, J., Alhoniemi, E., Parhankangas, J.: SOM toolbox for Matlab 5,
Technical report A57 (2000), Helsinki University of Technology, Finland
16. Zmijewski, M. E.: Methodological Issues Related to the Estimation of Financial Distress
Prediction Models. Journal of Accounting Research 24 (Supplement): (1984) 59-82
Introduction
(2)
for an exponentially discounted value of the payo function (ST ), where E[]
denotes the expectation operator. The sensitivity of more sophisticated payo
functions including path-dependent Asian-type options like
E[erT (
1T
St dt)],
T 0
(3)
be treated in a similar manner along the lines that are investigated in this study.
In nance, this is the so-called model risk problem. Commonly referred to
as Greeks, sensitivities in nancial market are typically dened as the partial
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 447454, 2007.
c Springer-Verlag Berlin Heidelberg 2007
448
M. Koda
Malliavin Calculus
Let R be the space of random variables of the form F = f (Wt1 , Wt2 , , Wtn ),
where f is smooth and Wt denotes the Brownian motion [6]. For a smooth
random variable F R, we can dene its derivative DF = Dt F , where the
dierential operator D is closable. Since D operates on random variables by
dierentiating functions in the form of partial derivatives, it shares the familiar
chain rule property, Dt (f (F )) = f (F ) Dt F = f (F )Dt F , and others.
We denote by D the Skorohod integral, dened as the adjoint operator of D.
If u belongs to Dom(D ), then D (u) is characterized by the following integration
by parts (ibp) formula:
T
E[F D (u)] = E[ 0 (Dt F )ut dt].
(4)
Note that (4) gives a duality relationship to link operators D and D . The
adjoint operator D behaves like a stochastic integral. In fact, if ut is an adapted
process, then the Skorohod integral coincides with the Ito integral: i.e., D (u) =
T
ut dWt . In general, one has
0
D (F u) = F D (u)
T
0
(5)
449
T
T
T
E[GF D (u)] = E[ 0 Dt (GF )ut dt] = E[ 0 G(Dt F )ut dt] + E[ 0 (Dt G)F ut dt]
T
= E[G 0 (Dt F )ut dt] + E[GD (F u)],
T
which implies that E[GD (F u)] = E[G(F D (u) 0 (Dt F )ut dt)] for any
random variables G. Hence, we must have (5).
In the present study, we frequently use the following formal relationship to
remove the derivative from a (smooth) random function f as follows:
E[f (X)Y ] = E[f (X)Y ] = E[f (X)HXY ],
(6)
where X, Y , and HXY are random variables. It is noted that (6) can be deduced
from the integration by parts formula (4), and we have an explicit expression for
HXY as
Y
HXY = D
.
(7)
T
Dt Xdt
0
If higher order derivatives are involved then one has to repeat the procedure (6)
iteratively.
European Options
In the case of European option whose payo function is dened by (2), the essence
of the present method is that the gradient of the expected (discounted) payo,
E[erT (ST )], is evaluated by putting the gradient inside the expectation, i.e.,
E[erT (ST )], which involves computations of (ST ) = (ST ) and ST .
Further, applying Malliavin calculus techniques, the gradient is rewritten as
E[erT (ST )H] for some random variable H. It should be noted, however, that
there is no uniqueness in this representation since we can add to H any random
variables that are orthogonal to ST . In general, H involves Ito or Skorohod
integrals.
3.1
Delta
Now we compute Delta, , the rst-order partial dierential sensitivity coecient of the expected outcome of the option, i.e., (2), with respect to the initial
asset value S0 :
=
ST
erT
E[erT (ST )] = erT E[ (ST )
]=
E[ (ST )ST ].
S0
S0
S0
=
E[(ST )HXY ] =
E (ST )D
.
(8)
T
S0
S0
Dt ST dt
0
450
M. Koda
T
T
T
Since 0 Dt ST dt = 0 ST Dt WT dt = ST 0 1{tT } = T ST , we evaluate
the stochastic integral
ST
1
D (1)
WT
HXY = D
= D (
)=
=
T
T
T
T
0 Dt ST dt
with the help of (5) applied to u = 1 (a constant process which is adapted and
Ito integral yields D (1) = WT ). Then the nal expression for reads
=
3.2
erT
E[(ST )WT ].
T S0
(9)
Vega
Next Greek Vega, V , is the sensitivity of (2) with respect to the volatility :
V =
ST
E[erT (ST )] = erT E[ (ST )
] = erT E[ (ST )ST {WT T }].
Then, utilizing (6) and (7) again with X = ST and Y = ST (WT T ), we apply
the ibp to give
rT
WT
T T )
V = erT E[(ST )HXY ]erT E (St )D STT(W
=
e
E
(S
1
.
T )D
T
D S dt
0
HXY = D
1 =
D (WT ) D (1) =
D (WT ) WT .
T
T
T
With the help of (4) applied to u = 1 (adapted process) and F = WT , we have
T
T
D (WT ) = WT2 0 Dt WT dt = WT2 0 dt = WT2 T.
If we bring together the partial results obtained above, we derive the nal expression
2
WT
1
V = erT E (ST )
WT
.
(10)
T
3.3
Gamma
2
erT
E[erT (ST )] =
E[ (ST )ST2 ].
2
S0
S02
Utilizing (6) and (7) with X = ST and Y = ST2 , we obtain after a rst ibp
erT
ST2
erT
ST
=
E (ST )D
=
E (ST )D
.
T
S02
S02
T
Dt ST dt
0
451
With the help of (5) applied to u = 1/T (constant adapted process) and F =
ST , we have
ST
ST
1 T
WT
D
=
D (1)
Dt ST dt = ST
1 .
T
T
T 0
T
Then, repeated application of (6) and (7) with X= ST and Y = ST (WT /T 1),
the second ibp yields
T
erT
rT
WT
T ST
= e S 2 E (ST )ST W
1
=
E
(S
)D
1
.
2
T
T
T
S
D S dt
0
With the help of (5) as before, we can evaluate the stochastic integral as
ST
WT
1 WT
1 WT2
1
D
1
=
D
1 =
WT
.
T
T
T
T
T T
0 Dt ST dt
If we combine the results obtained above, the nal expression becomes
erT
WT2
1
=
E (ST )
WT
.
T S02
T
(11)
Asian Options
In the case of Asian option whose payo functional is dened by (3), the essence
of the present approach is again that the gradient of the expected (discounted)
T
T
payo is rewritten as E[erT ( T1 0 St dt)] = erT E[( T1 0 St dt)H], for some
random variable H. Dierent from the European options, however, we do not
have a known closed solution in this case.
4.1
Delta
1T
erT
1T
1T
E[erT ( 0 St dt)] =
E[ ( 0 St dt) 0 St dt].
S0
T
S0
T
T
T
Utilizing (6) and (7) with X = Y = 0 St dt/T , we may apply the ibp to give
=
rT
= e S0 E
1
T
T
0
rT
T
S dt
T
St dt) D T DY Xdt = e S0 E T1 0 St dt D 0T tSt dt ,
0
452
M. Koda
T T
T
where we have used the relationship 0 0 Dv St dvdt= 0 tSt dt. With the help
T
T
of (5) applied to u = 1/ (constant adapted process) and F = 0 St dt/ 0 tSt dt,
we may obtain
erT
1T
1
WT
< T2 >
=
E
St dt
+
1
,
(13)
S0
T 0
<T >
<T >
T T
T
where we have used the relationship 0 0 tDv St dvdt = 0 t2 St dt, and where
we dened
T
T 2
tSt dt
t St dt
< T >= 0T
and < T 2 >= 0 T
.
S
dt
S
dt
t
t
0
0
4.2
Vega
1T
1T
1 T St
rT
V =
E erT
S
dt
=
e
E
S
dt
dt
t
t
T 0
T 0
T 0
1T
1T
= erT E
St dt
St {Wt t}dt .
0
T
T 0
T
As before, with the help of (6) and (7) applied to X = 0 St dt/T and Y =
T
St (Wt t)dt/T , we have
0
V = erT E
1
T
T
0
T
S W dt
T
St dt D T DY Xdt = erT E T1 0 St dt D 0 T ttS tdt 1 ,
0
1
T T St Wt dtdW
t St dt 0T St Wt dt
rT
0
0
0
V =e
E T St dt
+
WT
. (14)
T tS dt
( T tS dt)2
0
4.3
Gamma
HXY = D
,
T
0 Sv Dv Xdv
=
453
erT
St Y
1 T
=
E ( 0 S d )D
T
S02
T
Sv Dv Xdv
0
rT
e
1T
2St
=
E ( 0 S d )D
,
(15)
2
S0
T
T
T T
T t
T
where the relation 0 0 Sv Dv St dvdt = 0 0 St Sv dvdt = 2 ( 0 St dt)2 is
used. Further, we obtain
rT
= 2e
E ( T1
T S 2
0
T
0
S d )
T
0
T
T
rT
St dWt = 2e2 T S 2 E ( T1 0 St dt)(ST S0 r 0 St dt) ,
0
2erT
2
2 S0
E ( T1
2erT
2
2 S0
E ( T1
T
0
T
0
St dt)D
St dt)D
ST S0 r 0T St dt
0T tSt dt
ST S0
0T tSt dt
2rerT
2
2 S0
E ( T1
T
0
St dt)D
T
T
St dt
0T
0 tSt dt
With the help of (5) applied to u = 1/ and F = (ST S0 )/ 0 tSt dt, the
present approach yields a brand new estimate which gives an explicit relationship
between and as follows:
2erT
1T
S
S
2r
T
0
= 2 2 E ( 0 St dt)D
2
T
S0
T
S0
0 tSt dt
2erT
1T
1
WT
< T2 >
= 2 2 E ( 0 St dt) T
+
(ST S0 ) T ST
S0
T
<T >
tSt dt
0
2r
2 .
S0
(16)
454
M. Koda
Conclusions
We have presented a stochastic sensitivity analysis method, in particular, a constructive approach for computing Greeks in nance using Malliavin calculus. As
a result, a new relation between and is obtained for the Asian option. The
present approach may be useful when the random variables are smooth in the
sense of stochastic derivatives. It is, however, necessary to further investigate and
improve Monte Carlo procedures to reduce the bias involved in the simulation
of Vega in Asian-type options and other sophisticated options.
References
1. Broadie, M., Glasserman, P.: Estimating security price derivatives using simulation.
Management Science 42 (1996) 269-285
2. Fournie, E., Lasry, J.M., Lebuchoux, L., Lions, P.L.: An application of Malliavin
calculus to Monte Carlo methods in Finance II. Finance and Stochastics 5 (2001)
201-236
3. Koda, M., Okano, H.: A new stochastic learning algorithm for neural networks.
Journal of the Operations Research Society of Japan 43 (2000) 469-485
4. Koda, M., Kohatsu-Higa, A., Montero, M.: An Application of Stochastic Sensitivity
Analysis to Financial Engineering. Discussion Paper Series, No. 980, Institute of
Policy and Planning Sciences, University of Tsukuba (2002)
5. Montero, M., Kohatsu-Higa, A.: Malliavin calculus applied to nance. Physica A
320 (2003) 548-570
6. Nualert, D.: The Malliavin Calculus and Related Topics. Springer, New York (1995)
7. Okano, H., Koda, M.: An optimization algorithm based on stochastic sensitivity
analysis for noisy objective landscapes. Reliability Engineering and System Safety,
79 (2003) 245-252
Abstract. Predictive models are generally fitted directly from the original noisy
data. It is well known that noise can seriously limit the prediction performance
on time series. In this study, we apply the nonlinear noise reduction methods to
the problem of foreign exchange rates forecasting with neural networks (NNs).
The experiment results show that the nonlinear noise reduction methods can
improve the prediction performance of NNs. Based on the modified DieboldMariano test, the improvement is not statistically significant in most cases. We
may need more effective nonlinear noise reduction methods to improve prediction performance further. On the other hand, it indicates that NNs are particularly well appropriate to find underlying relationship in the environment characterized by complex, noisy, irrelevant or partial information. We also find that
the nonlinear noise reduction methods work more effectively when the foreign
exchange rates are more volatile.
1 Introduction
Foreign exchange rates exhibit high volatility, complexity and noise that result from
the elusive market mechanism generating daily observations [1]. It is certainly very
challenging to predict foreign exchange rates. Neural networks (NNs) have been
widely used as a promising alternative approach for a forecasting task because of
several distinguishing features [2]. Several design factors significantly affect the
prediction performance of neural networks [3]. Generally, NNs learn and generalize
directly from noisy data with the faith on ability to extract the underlying deterministic dynamics from the noisy data. However, it is well known that the model's generalization performance will be poor unless we prevent the model from over-learning.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 455461, 2007.
Springer-Verlag Berlin Heidelberg 2007
456
Given that most financial time series contain dynamic noise, it is necessary to reduce
noise in the data with nonlinear methods before fitting the prediction models. However, not much work has been done [4]. In this study, we employ two nonlinear noise
reduction methods to alleviate these problems. The remainder of this paper is organized as follows. In Section 2, we give a brief introduction to the two nonlinear noise
reduction methods. Section 3 presents the experiment design. Section 4 discusses the
empirical experiment result. Finally, Section 5 offers some concluding remarks.
zn =
whrere
xk U n
U n
(1)
such that
approximation of the dynamics and is based on the assumption that the dynamics is
continuous.
2.2 Locally Projective Nonlinear Noise Reduction (LP)
LP rests on hypotheses that the measured data is composed of the output of a lowdimensional dynamical system and of random or high-dimensional noise. This means
that in an arbitrarily high-dimensional embedding space the deterministic part of the
data would lie on a low-dimensional manifold, while the effect of the noise is to
spread the data off this manifold. If we suppose that the amplitude of the noise is
Application of NNs for Foreign Exchange Rates Forecasting with Noise Reduction
457
sufficiently small, we can expect to find the data distributed closely around this manifold. The idea of the projective nonlinear noise reduction scheme is to identify the
manifold and to project the data onto it.
Suppose the dynamical system forms a q-dimensional manifold containing the
trajectory. According to the embedding theorems, there exists a one-to-one image of
the attractor in the embedding space, if the embedding dimension is sufficiently high.
Thus, if the measured time series were not corrupted with noise, all the embedding
vectors
~
S n would lie inside another manifold in the embedding space. Due to the
noise this condition is no longer fulfilled. The idea of the locally projective noise
projection to the manifold can only be a reasonable concept if the vectors are
embedded in spaces which are higher dimensional than the manifold . Thus we
have to over-embed in m-dimensional spaces with m>q.
The notion of orthogonality depends on the metric used. Intuitively one would
think of using the Euclidean metric. But this is not necessarily the best choice. The
reason is that we are working with delay vectors which contain temporal information.
Thus even if the middle parts of two delay vectors are close, the late parts could be far
away from each other due to the influence of the positive Lyapunov exponents, while
the first parts could diverge due the negative ones. Hence it is usually desirable to
correct only the center part of delay vectors and leave the outer parts mostly
unchanged, since their divergence is not only a consequence of the noise, but also of
the dynamics itself. It turns out that for most applications it is sufficient to fix just the
first and the last component of the delay vectors and correct the rest. This can be
expressed in terms of a metric tensor P which we define to be
1 1 < i = j < m
Pij =
0 otherwise
where
(2)
min
P
i
s.t.
a ni Pa nj = ij
where
~
ani are the normal vectors of at the point S n n .
(3)
458
3 Experiments Design
3.1 Neural Network Models
In this study, we employ one of the widely used neural networks models, the threelayers back-propagation neural network (BPNN), for foreign exchange rates forecasting. The activation function used for all hidden nodes is the logistic function, while
the linear function is employed in the output node. The number of input nodes is a
very important factor in neural network analysis of a time series since it corresponds
to the number of past lagged observations related to future values. To avoid introducing a bias in results, we choose the number of input nodes as 3, 5, 7 and 9, respectively. Because neural networks with one input node are too simple to capture the
complex relationships between input and output, and it is rarely seen in the literatures
that the number of input nodes is more than nine. Generally speaking, too many nodes
in the hidden layer produce a network that memorizes the input data and lacks the
ability to generalize. Another consideration is that as the number of hidden nodes in a
network is increased, the number of variables and terms are also increased. If the
network has more degrees of freedom (the number of connection weights), more
training samples are needed to constrain the neural network. It has been shown that
the in-sample fit and the out-of-sample forecasting ability of NNs are not very sensitive to the number of hidden nodes [8]. Parsimony is a principle for designing NNs.
Therefore, we use four hidden nodes in this study.
3.2 Random Walk Model
The weak form of efficient market theory describes that prices always fully reflect the
available information, that is, a price is determined by the previous value in the time
series because all the relevant information is summarized in that previous value. An
extension of this theory is the random walk (RW) model. The RW model assumes that
not only all historic information is summarized in the current value, but also that incrementspositive or negativeare uncorrelated (random), and balanced, that is,
with an expected value equal to zero. In other words, in the long run there are as many
positive as negative fluctuations making long term predictions other than the trend
impossible. The random walk model uses the actual value of current period to predict
the future value of next period as follows:
y t +1 = y t
(4)
where y t +1 is the predicted value of the next period; y t is the actual values of current
period.
3.3 Performance Measure
We employ root of mean squared error (RMSE) to evaluate the prediction performance of neural networks as follows:
Application of NNs for Foreign Exchange Rates Forecasting with Noise Reduction
RMSE =
2
( y t y t )
459
(5)
where y t is the actual value; y t is the predicted value; T is the number of the
predictions.
3.4 Data Preparation
4 Experiments Results
Table 1 show the prediction performances of the random walk model, which are used
as benchmarks of prediction performance of foreign exchange rates. In Table 2 and 3,
the RMSE of noisy data is largest, and RMSE of LP is least in the same row. It indicates that noise reduction methods actually improve the prediction performance of
NNs. Further, LP is more effective than SNL in reducing noise of exchange rates.
We also apply the modified Diebold-Mariano test [10] to examine whether the two
noise reduction methods can improve NNs financial forecasting significantly. From
the test statistic values shown in Table 4 and 5, only in the prediction of JPY, the NNs
with 9 input nodes using data filtered by LP outperform those using noisy data significantly at 20% level (the rejection of equality of prediction mean squared errors is
based on critical value of student's t-distribution with 69 degrees of freedom, namely
1.294 at 20% level). Perhaps there is still noise in exchange rates time series after
using the noise reduction methods. We look forward more effective noise reduction
methods in the future. On the other hand, it also implies that NNs are useful to extract
the underlying deterministic dynamics from noisy data at present stage. In addition,
the test statistic value of SNL for GBP is less than that of SNL for JPY in the same
row. Such a pattern is observed between LP for GBP and LP for JPY. JPY is more
volatile than GBP, that is, there are more noises in JPY than in GBP to be filtered. So
the improvement for JPY after noise reduction is more significant than GBP.
Table 1. The prediction performance of the random walk models
RMSE of GBP
0.005471
RMSE of JPY
0.007508
460
Table 2. The prediction performance of NNs using data with noise, filtered by SNL and filtered
by LP, respectively (GBP)
#Input nodes
3
5
7
9
Noisy data
0.005471
0.004491
0.004496
0.0054671
Data filtered by LP
0.005461
0.004457
0.004467
0.00541
Table 3. The prediction performance of NNs using data with noise, filtered by SNL and filtered
by LP, respectively (JPY)
#Input nodes
3
5
7
9
Noisy data
0.007438
0.006348
0.006358
0.007293
Data filtered by LP
0.006719
0.005989
0.006067
0.006399
Table 4. The test statistic value of equality of prediction errors between noisy and filtered
data (GBP)
#Input nodes
3
5
7
9
Data filtered by LP
0.021
0.093
0.087
0.129
Table 5. The test statistic value of equality of prediction errors between noisy and filtered
data (JPY)
#Input nodes
3
5
7
9
Data filtered by LP
1.122
0.733
0.509
1.605
5 Conclusions
In the paper, we apply the two nonlinear noise reduction methods, namely SNL and
LP, to the foreign exchange rates forecasting with neural networks. The experiment
results show that SNL and LP can improve the prediction performances of NNs. The
improvement is not statistically significant based on the modified Diebold-Mariano
test at 20% level. Especially, LP performs better than SNL in reducing noise of foreign exchange rates. The noise reduction methods work more effectively on JPY than
Application of NNs for Foreign Exchange Rates Forecasting with Noise Reduction
461
on GBP. In the future work, we will employ more effective nonlinear noise reduction
methods to improve prediction performance further. On the other hand, it indicates
that NNs are particularly well appropriate to find underlying relationship in an environment characterized by complex, noisy, irrelevant or partial information. In the
most cases, NNs outperform the random walk model.
Acknowledgements
The work described in this paper was supported by Strategic Research Grant of City
University of Hong Kong (SRG No.7001806) and the Key Research Institute of
Humanities and Social Sciences in Hubei Province-Research Center of Modern
Information Management.
References
1. Theodossiou, P.: The stochastic properties of major Canadian exchange rates. The Financial Review, 29(1994) 193-221
2. Zhang, G., Patuwo, B.E. and Hu, M.Y.: Forecasting with artificial neural networks: the
state of the art. International Journal of Forecasting, 14(1998) 35-62
3. Huang, W., Lai, K.K., Nakamori, Y. and Wang, S.Y:. Forecasting foreign exchange rates
with artificial neural networks: a review. International Journal of Information Technology
& Decision Making, 3(2004) 145-165
4. Soofi, A., Cao, L.: Nonlinear forecasting of noisy financial data. In Modeling and Forecasting Financial Data: Techniques of Nonlinear Dynamics, Soofi, A. and Cao, L. (Eds),
Boston: Kluwer Academic Publishers, (2002) 455-465
5. Davies, M.E.: Noise reduction schemes for chaotic time series. Physica D, 79(1994)
174-192
6. Kostelich, E.J. and Schreiber, T.: Noise reduction in chaotic time series data: A survey of
common methods. Physical Review E, 48(1993) 1752-1800
7. Grassberger, P., Hegger, R., Kantz, H., Schaffrath, C. and Schreiber, T.: On noise reduction methods for chaotic data, CHAOS. 3(1993) 127
8. Zhang, G. and Hu, M.Y.: Neural network forecasting of the British Pound/US Dollar exchange rate. Journal of Management Science, 26(1998) 495-506
9. Huang, W., Nakamori, Y., Wang, S.Y. and Zhang, H.: Select the size of training set for financial forecasting with neural networks. Lecture Notes in Computer Science, Vol. 3497,
Springer-Verlag Berlin Heidelberg (2005) 879884
10. Harvey, D., Leybourne, S. and P. Newbold: Testing the Equality of Prediction Mean
Squared Errors. International Journal of Forecasting 13(1997) 281-91
Abstract. Fuzzy modeling provides a very useful tool to deal with human
vagueness in describing scales of value. This study examines the relative error
in decision tree models applied to a real set of credit card data used in the
literature, comparing crisp models with fuzzy decision trees as applied by See5,
and as obtained by categorization of data. The impact of ordinal data is also
tested. Modifying continuous data was expected to degrade model accuracy, but
was expected to be more robust with respect to human understanding. The
degree of accuracy lost by See5 fuzzification was minimal (in fact more
accurate in terms of total error), although bad error was worse. Categorization
of data yielded greater inaccuracy. However, both treatments are still useful if
they better reflect human understanding. An additional conclusion is that when
categorizing data, care should be taken in setting categorical limits.
Keywords: Decision tree rules, fuzzy data, ordinal data.
1 Introduction
Classification tasks in business applications may be viewed as tasks with classes
reflecting the levels of the same property. Evaluating creditworthiness of clients is
rather often measured on an ordinal level as, e.g., {excellent}, {good}, {acceptable},
or {poor} (Ben David et al., 1989.) Applicants for a job are divided into accepted and
rejected, but sometimes there may be also a pool of applicants left for further analysis
as they may be accepted in some circumstances [2], [11]. Different cars may be
divided into groups {very good}, {good}, {acceptable}, {unacceptable}. This type of
tasks is called ordinal classification [5]. The peculiarity of the ordinal classification
is that data items with {better} qualities (characteristics) logically are to be presented
in {better} classes: the better the article in its characteristics the closer it is to the class
{accepted}. It was shown in[6] that taking into account possible ordinal dependence
between attribute values and final classes may lead to a smaller number of rules with
the same accuracy and enable the system to extend obtained rules to instances not
presented in the training data set.
There are many data mining tools available, to cluster data, to help analysts find
patterns, to find association rules. The majority of data mining approaches to
classification tasks, work with numerical and categorical information. Not many data
mining techniques take into account ordinal data features.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 462469, 2007.
Springer-Verlag Berlin Heidelberg 2007
463
A (x)
is a membership function
464
reduced the number of variables used in models to about 20. Using 50 percent of the
data for training, See5 selected 3000 observations at random as the training set, which
was then tested on the remaining 3000 observations in the test set. Minimum support
on See5 was varied over the settings of 10, 20, and 30 cases. Pruning confidence
factors were also varied, from 10% (greater pruning), 20%, 30%, and 40% (less
pruning). Data was locked within nominal data runs, so that each treatment of pruning
and minimum case settings was applied to the same data within each repetition. Five
repetitions were conducted (thus there were 12 combinations repeated five times, or
60 runs). Each run was replicated for original crisp data, original data using fuzzy
settings, ordinal crisp data, ordinal data using fuzzy settings, and categorical data
(See5 would have no difference between crisp and fuzzy settings). Rules obtained
were identical across crisp and fuzzy models, except fuzzy models had adjusted rule
limits. For instance, in the first run, the following rules were obtained:
CRISP MODEL: RULE 1:
RULE 2:
RULE 3:
RULE 4:
RULE 5 ELSE
IF RevtoPayNov 11.441,
then GOOD
IF RevtoPayNov > 11.441 AND
IF CoverBal3 = 1
then GOOD
IF RevtoPayNov > 11.441 AND
IF CoverBal3 = 0 AND
IF OpentoBuyDec > 5.35129
then GOOD
IF RevtoPayNov > 11.441 AND
IF CoverBal3 = 0 AND
IF OpentoBuyDec 5.35129 AND
IF NumPurchDec 2.30259
then BAD
GOOD
Binary and categorical data are not affected by the fuzzy option in See5. They are
considered already fuzzified with several possible values and corresponding
membership function of 1 and 0.
Models run with initial data (numeric and categorical scales) in original crisp form,
and using See5s fuzzification were obtained. There were 15 runs averaged for each
pruning level, and 20 runs averaged for each minimum case level. The overall line is
465
based on all 60 runs. The average number of crisp rules was 9.4 (fuzzy rules were the
same, with different limits). Crisp total error averaged 488.7, while fuzzy total error
averaged 487.2.
The number of rules responded to changes in pruning rates and minimum case
settings as expected (the tie between 20 percent and 30 percent pruning rates can be
attributed to data sampling chance). There were no clear patterns in error rates by
treatment. Fuzzy models were noticeably different from crisp models in that they had
higher error rates for bad cases, with corresponding improvement in error in the good
cases. The overall error was tested by t-test, and the only significant differences found
were that the fuzzy models had significantly greater bad error than the crisp models,
and significantly less cheap error. The fuzzy models had slightly less overall average
error, but given the context of credit cards, bad error is much more important. For
data fit, here the models were not significantly different. For application context, the
crisp models would clearly be preferred. The generalizable conclusion is not that crisp
models are better, only that in this case the fuzzy models were worse, and in general
one cannot count on the same results across crisp and fuzzified models.
In this case introducing fuzzy thresholds in the rules did not lead to any significant
results. The usage of small fuzzy intervals instead of crispy thresholds did not
significantly improve the accuracy of the model and did not provide better
interpretation of the introduced interval rules. On the other hand, crisp data was not
significantly better than the fuzzy data.
The same tests were conducted with presenting relevant binary and categorical
variables in an ordinal form. See5 allows stating that the categorical scale is
[ordered] with the presented order of attribute values corresponding to the order of
final classes. The order is not derived from the data but is introduced by the user as a
pre-processing step in rules/tree formation.
See5 would not allow locking across data sets, and required different setup for
ordinal specification, so we could not control for data set sampling across the tests.
Some categorical and/or binary variables such as Months late were clearly ordinal
and were marked as ordinal for this experiment. Categorical variables with no clear
ordinal qualities such as State, were left nominal. Crisp rules averaged 7.0, with
total error of 487. Fuzzy total error was 482.
The number of rules clearly dropped. Expected response of number of rules to
pruning and minimum case settings behaved as expected, with the one anomaly at 20
percent pruning, again explainable by the small sample size. Total error rates within
ordinal model were similar to the nominal case in the first set of runs, with fuzzy
model total error rates showing up as slightly significant (0.086 error probability) in
the ordinal models.
Comparing nominal and ordinal models, the number of rules was significantly
lower for ordinal models (0.010 error probability.) There were no significances in
errors across the two sets except for total error (ordinal models had slightly
significantly lower total errors, with 0.087 error probability.) This supports our
previous finding that using ordinal scales where appropriate lead to a set of more
interesting rules without loss in accuracy [6].
The data was categorized into 3 categories for each continuous variable. This in
itself is another form of fuzzification. Twenty five variables were selected based upon
the typical winnowing results of the original data. The same tests were conducted,
466
although fuzzification was not used since See5 would have no difference in applying
its fuzzification routine (we did run as a check, but results were always identical).
Average number of rules was just over 6, with average total error 495.7. Results were
much worse than the results obtained in prior runs with continuous and ordinal data.
That is clearly because in the third set of runs, data was categorized manually, while
in the prior two runs See5 software set the categorical limits. The second set of runs
involved data converted to fuzzy form by the See5 software. These are two different
ways to obtain fuzzy categories. Clearly the software can select cutoff limits that will
outperform ad hoc manual cutoffs.
467
Rule 1: IF a donor was enrolled in any donor activity in the past (ENROLL=YES),
THEN he/she will have RESPONSE=YES
Rule 2: IF a donor was enrolled in any donor activity in the past (ENROLL=YES)
AND did not attend it (ATTENDED=NO), THEN he/she will have RESPONSE=YES
Rule 3: IF FREQEVER = MEDIUM, THEN RESPONSE=YES
Rule 4: IF FREQEVER = HIGH, THEN RESPONSE=YES
Rule 5: IF FREQEVER = VERY HIGH, THEN RESPONSE=YES
We infer two conclusions based on these results. First, if obvious ordinal
dependences between final classes of RESPONSE (YES/NO) and such attributes as
ENROLL, ATTENDED, and FREQEVER were taken into account the five rules
could be collapsed into two without any loss of accuracy and with higher levels for
measures of support and confidence: rule 1 and a modified rule 3 in the following
format IF FREQEVER is at least MEDIUM, THEN RESPONSE=YES. Second,
although presented rules are user friendly and easily understandable, they are not as
easily applicable. Overlapping scales for FREQEVER makes it difficult for the user to
apply the rules directly. It is necessary to carry out one more step - agree on the
number where medium frequency starts (if we use initial database) or a level of a
membership function to use in selecting medium frequency if we use the
rewritten dataset. The assigned interval of 3 to 5 evidently includes High
frequency (which does not bother us) but also includes Low frequency which we
possibly would not like to include into our mailing list. As a result a convenient
approach for expressing continuous scales with overlapping intervals at the
preprocessing stage may be not so convenient in applying simple rules.
This presentation of the ordinal classification task allows use of this knowledge to
make some additional conclusions about the quality of the training set of objects.
Ordinal classification allows introduction of the notion of the consistency of the
training set as well as completeness of the training set. In the case of the ordinal
classification task quality of consistency in a classification (the same quality objects
should belong to the same class) can be essentially extended: all objects with higher
quality among attributes should belong to a class at least as good as objects with
lower quality. This condition can be easily expressed as follows: if Ai(x) Ai(y) for
each i=1, 2, , p, then C(x) C(y).
We can also try to evaluate representativeness of the training set by forming all
possible objects in U (we can do that as we have a finite number of attributes with a
small finite number of values in their scales) and check on the proportion of them
presented in the training set. It is evident that the smaller this proportion the less
discriminating power well have for the new cases. We can also express the resulting
rules in a more summarized form by lower and upper border instances for each
class [6].
Advantages of using ordinal scales in an ordinal classification task do not lessen
advantages of appropriate fuzzy set techniques. Fuzzy approaches allow softening
strict limitations of ordinal scales in some cases and provides a richer environment for
data mining techniques. On the other hand, ordinal dependences represent essential
domain knowledge which should be incorporated as much as possible into the mining
process. In some cases the overlapping areas of attribute scales may be resolved by
introducing additional linguistic ordinal levels. For example, we can introduce an
468
ordinal scale for age with the following levels: Young (less than 30), Between
young and medium (30 to 40), Medium (40 to 50), Between medium and old (50
to 60) and Old (over 60). Though it will increase the dimensionality of the problem,
it would provide crisp intervals for the resulting rules.
Ordinal scales and ordinal dependences are easily understood by humans and are
attractive in rules and explanations. These qualities should be especially beneficial in
fuzzy approaches to classification problems with ordered classes and linguistic
summaries in the discretization process. The importance of ordinal scales for data
mining is evidenced by appearance of this option in many established mining
techniques. See5 includes the variant of ordinal scales in the problem description [9].
4 Conclusions
Fuzzy representation is a very suitable means for humans to express themselves.
Many important business applications of data mining are appropriately dealt with by
fuzzy representation of uncertainty. We have reviewed a number of ways in which
fuzzy sets and related theories have been implemented in data mining. The ways in
which these theories are applied to various data mining problems will continue to
grow.
Ordinal data is stronger than nominal data. There is extra knowledge in knowing if
a greater value is preferable to a lesser value (or vice versa). This extra information
can be implemented in decision tree models, and our results provide preliminary
support to the idea that they might strengthen the predictive power of data mining
models.
Our contention is that fuzzy representations better represent what humans mean.
Our brief experiment was focused on how much accuracy was lost by using fuzzy
representation in one application classification rules applied to credit applications.
While we expected less accuracy, we found that the fuzzy models (as applied by See5
adjusting rule limits) usually actually were more accurate. Models applied to
categorical data as a means of fuzzification turned out less accurate in our small
sample. While this obviously cannot be generalized, we think that there is a logical
explanation. While fuzzification will not be expected to yield better fit to training
data, the models obtained by using fuzzification will likely be more robust, which is
reflected in potentially equal if not better fit on test data. The results of these
preliminary experiments indicate that implementing various forms of fuzzy analysis
will not necessarily lead to reduction in classification accuracy.
References
1. Au, W-H, Keith C. C. Chan: Classification with Degree of Membership: A Fuzzy
Approach. ICDM (2001): 35-42
2. David, B. A. (1992): Automated generation of symbolic multiattribute ordinal knowledgebased DSSs: Methodology and applications. Decision Sciences, 23(6), 157-1372
3. Chan, Keith C. C., Wai-Ho Au, Berry Choi: Mining Fuzzy Rules in A Donor Database for
Direct Marketing by a Charitable Organization. IEEE ICCI (2002): 239-246
469
1 Introduction
In recent years, the development of technology has paved the way for the industry to
use more sophisticated analytics for making business decisions in on-line analytical
processing (OLAP). In the check and credit card processing business, for example, the
advanced artificial intelligence is widely used to authorize transactions. This is mainly
due to the fact that the fraud activities nowadays are more and more aggressive than
ever before. Once certain forms of fraud were identified or caught by the industry, a
new form will be intercepted in a very short period of time. People are convinced that
fighting fraud requires a non-stopping effort, i.e. constantly updating fraud pattern
recognition algorithms and timely incorporating new fraud patterns in the algorithm
development process.
The traditional method of least squares presents a challenge for updating the model
on the fly of transactions in both a general linear model and a general non-linear
model. This challenge is mainly due to the matrix manipulation in the implementation
of the computation.
In dealing with the challenge, both industry and academic researchers have made
substantial efforts. The most successful stories, however, are for the linear case only
and mainly for the improvement of computational properties of least squares. Since
the method known as recursive least squares - RLS was derived; many variants of
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 470477, 2007.
Springer-Verlag Berlin Heidelberg 2007
471
RLS have been proposed for a variety of applications. A method so called a sliding
window RLS was discussed in many papers such as [2] and [3]. By applying QR
decomposition, U-D factorization, and singular value decomposition (SVD), more
computationally robust implementations of RLS have been discussed in papers such
as [1]. Certainly, these researches have substantially increased the computational
efficiency of RLS, of cause LS algorithms, but they are limited for the linear case
only. Furthermore, the core ingredient in the computation of the algorithm of RLS and
its variants are still a matrix version, although some matrices are more re-usable this
time in the implementation.
In view of the difficulties that traditional least squares have when updating models
on the fly of transactions, a new procedure Component-wise Iterative Optimization
(CIO) was proposed in [10]. Using the new method of CIO, updating models on the
fly of transactions becomes straightforward for both linear and non-linear cases. More
importantly, the method itself yields an optimal solution with the objective function of
sum of squares, in particular, least square estimates when a general linear model is
used. The method CIO can be described as follows.
Let X be a new pattern, F be the objective function, and
E = (e1( 0) ,", e (p0) ) t p be the initial estimates, where p is the domain of the
parameter vector. Given the notation below
e 1( 1 ) = Arg _ OP F ( e 1 , e 2( 0 ) , " , e
e1
(0 )
p
, X ) ,
e1(1) is an optimal solution for the parameter of e1 over the objective function
F given the sample pattern of X and e2 , , e p being held fixed.
then
With the above given notations, the method CIO can be described by the following
procedure. Given the initial estimates of E
CIO updates the estimates in
Step 1. Compute e
(1 )
1
p steps below:
e2
(1)
(0)
tuting e1 for e1
ep
(1)
k
for
e , k = 1, 2,... p 1 .
(0)
k
472
Y. Lin
The idea of CIO is no stranger to one who is familiar with the Gibbs sampler by
[6]. It is no harm or may be easier to understand the procedure of CIO in terms of the
non-Bayesian version of Gibbs sampling. The difference is that CIO generates optimal estimates for a given model and the Gibbs sampler or MCMC generates samples
from some complex probability distribution. It has been shown in [10] that the procedure of CIO converges.
How can the algorithm CIO be applied in the neural network field? It is well
known that a useful learning algorithm is developed for generating optimal estimates
based on specific neural network framework or structure. Different forms and structures of f represent the different types of neural networks. For example, the architecture of the feed-forward networks with a single hidden layer and one output can be
sketched in the following figure:
+1
+1
x1
x2
xp
However, too many learning algorithms proposed in the literatures were just ad hoc in
nature and their reliability and generalization were often only demonstrated on applications for limited empirical studies or simulation exercises. Such analyses usually
emphasize on a few successful cases of applications and did not necessarily establish
a solid base for more general inferences. In the study of this kind, much theoretical
justification is needed. In the present study, a useful learning algorithm can be derived
from a well established theory of the algorithm CIO. To establish the link between
CIO and neural networks, we can look at any types of neural networks in a view of a
functional process. A common representation of the processing flow based on neural
networks can be written as follows:
(1.1)
y = f ( x i j , w j , j = 0 , 1 ,..., p ) + i
where
is the
parameter vector.
Information first is summarized into
i = ( 0i ,..., pi ) t R p +1
activated
by
= [1 , 2 ,..., m ] .
in
the
and
function
Secondly it is
way
of
t
1
t
1
473
( t X i ) ,
From the above discussion, we can see that feed-forward neural network with a
single hidden layer fit into the general modeling frame work of (1.1) very well. Only
in this setting, the targeted or response variable Y can be expressed by the function
f = t ( t X i ). Therefore, one can image that the algorithm CIO can be applied
to feed-forward neural networks with a single hidden layer because the function
yi = t ( t X i ) + i ,
(2.1)
where
training the neural network is equivalent to finding least square estimates of the
weight parameters.
474
Y. Lin
Since (2.1) is only a special form of (1.1), given the objective function of the mean
squared errors, we can apply the algorithm CIO to train the network. There are two
options: (a) directly to apply CIO to (2.1), and (b) only apply CIO
to
layer and the output layer. Considering the condition of the theorem for CIO, we only
discuss option (b) in this paper.
Simple computations for (2.1) based on CIO lead to
Thus, updating for the estimates of
tion that given
g ' ( (j k ) (i )) = ( tj X i ).
= ( 0 , 1 ,..., m )t R m+1
( 0) = ( 0( 0) , 1( 0) ,", p( 0) ) t
Step 1. Compute
Compute
the equation
sample patterns
0(1) =
Compute
1(1) :
1 n
0(1) (i).
n i
0(1)
First, substitute
for
0( 0)
in function of
g ( 1 ), where
pattern
( ( X ))
=
( ( X ) )
i =1
t
1
(1)
1
t
1
1(1) (i ).
(p) Compute the last component p : By the p-1 steps above, components of
(1)
function of
for given
( ( X ))
=
( ( X ) )
i =1
Step k. Compute
get
t
p
(1)
p
475
t
p
p(1) (i ).
(k ) .
Let us denote the above procedure by CIO( ; ), which means that given , update by CIO( ; ). The other group of weight parameters in the network
= [1 , 2 ,..., m ], i = ( 0i ,..., pi ) t R p +1
3 An Illustrative Example
This section gives a numeric example of a classification problem using Fishers famous Iris data. A comprehensive study on applying neural networks to this data set
was given in [11]. In the following, both algorithms Neural-CIO and Backpropagation are implemented and compared over the data in the framework of three
476
Y. Lin
feed-forward neural networks with a single hidden layer, 4-2-1, 4-3-1, 4-4-1, i.e. 2, 3,
and 4 hidden nodes, respectively.
For the data, a sample of three records of the original data can be seen in the following table.
Table 1. Three records of Fishers Iris data
Sepal Length
5.1
7.0
6.3
Sepal width
3.5
3.2
3.3
Petal length
1.4
4.7
6.0
Petal width
0.2
1.4
2.5
Class
Setosa
Versicolor
Verginica
All measurements are in centimeters. It is well-known that the class Setosa can be
linearly separated from the other two and the other two can not be separated linearly.
Thus, we only apply the algorithms to the network to separate these two classes. The
data is further transformed using the following formulas and then each record is assigned a class number either 0.0999 or 0.0001.
Sepal length == (Sepal length - 4.5) / 3.5; Sepal width == (Sepal width - 2.0) / 1.5;
Petal length == (Pepal length - 3.0) / 3.5; Petal width == (Pepal width - 1.4) / 1.5;
Table 2. Two records of transformed Fishers Iris data
Sepal Length
0.7143
0.5143
Sepal width
0.8000
0.8667
Petal length
0.4857
0.4286
Petal width
0.0000
0.7333
Class
0.0999
0.0001
Note: There are total 100 records in the data set and 50 for each class.
In the training process, for both algorithms, the stopping rule is chosen to be the
mean squared error less than a pre-assigned number. The activation function is taken
the form of ( x ) = (1 + e ) .
The training results and performance are summarized in the table in the next page.
The results in the table clearly shows the advantages that the new learning algorithm incorporates the internal structure of feed-forward neural networks with a single
hidden layer by applying the algorithm CIO in closed-form expressions to update
weights between the output layer and the hidden layer. Its optimally computational
property is a natural consequence inherited from the property of the algorithm CIO
and this point has been further verified in the above illustrative example.
x 1
Structure
4-2-1
4-3-1
4-4-1
Error
0.0002
0.0002
0.0002
#Misclassification
CIO
Back
6
6
5
6
5
6
# Iteration
CPU Time(second)
CIO
Back
CIO
Back
2433
9092
68
93
1935
8665
96
120
811
6120
60
110
477
References
1. Baykal, B., Constantinids, A.: Sliding window adaptive fast QR and QR-lattice algorithm.
IEEE Signal Process 46 (11), (1998) 2877-2887
2. Belge, M., Miller, E.: A sliding window RLS-like adaptive algorithm for filtering alphastable noise. IEEE Signal Process Letter 7 (4), (2000) 86-89
3. Choi, B., Bien, Z.: Sliding-windowed weighted recursive least-squares method for parameter estimation. Electron Letter 25 (20), (1989) 1381-1382
4. Fisher, R: The use of multiple measurements in taxonomic problems, Ann. Eugencis 7, Pt
II, (1939). 197-188
5. Fletcher, R.: Practical Methods of Optimization Vol I: Unconstrained Optimization, Comput. J. 6, (1980). 163 168
6. Geman, S., Geman, D.: Stochastic relaxation, Gibbs distribution and Bayesian restoration
of images. IEEE Transactions on Pattern Analysis and Machine Intelligence 6, (1984)
721-741
7. Hwang, J. N., Lay, S. R., Maechler, M., and Martin, D. M.: Regression modeling in backpropagation and projection pursuit learning, IEEE Trans. on Neural networks vol. 5, 3,
(1994)342 - 353
8. Jones, L. K.: A simple lemma on greedy approximation in Hilbert space and convergence
rates for projection pursuit regression and neural network training, Ann. Statist. Vol. 20
(1992) 608- 613
9. Karayiannis, N. B., Venetsanopoulos, A. N.: Artificial Neural Networks: Learning algorithms, Performance evaluation, and Applications KLUWER ACADEMIC
PUBLISHERS(1993).
10. Lin, Y.: Component-wise Iterative Optimization for Large Data, submitted (2006)
11. Lin, Y.: Feed-forward Neural Networks Learning algorithms, Statistical properties, and
Applications, Ph.D. Dissertation, Syracuse University (1996)
12. Rumelhart, D. E., Hinton, E. G., Williams, R. J.: Learning internal representations by error
propagation, Parallel Distributed Processing. Chap. 8, MIT, Cambridge, Mass. (1986)
13. Watrous, R. L.: Learning algorithms for connectionist networks: applied gradient methods
of nonlinear optimization, IEEE First Int. Conf. Neural Networks, San Diego, (1987) II
619-627
Introduction
Basel II for banking mandates a focus on operational risk. In the Basel framework, operational risk is dened as the risk of loss resulting from inadequate or
failed internal processes, people and systems or from external events. The operational risk is one of the most important risks for Chinese commercial banks,
and brings huge losses to Chinese commercial banks in recent years. Considering
the size of these events and their unsettling impact on the nancial community
as well as the growing likelihood of operational risk losses, it is very important
for analysis, modelling and prediction of rare but dangerous extreme events.
Quantitative approaches should be achieved.
EVT has developed very rapidly over the past two decades. Also it has been
recognized as a useful set of probabilistic and statistical tools for the modelling
of rare events and its impact on insurance, nance and quantitative risk management is well recognized [2]. The distribution of operational risk is heavy-tailed
This research has been partially supported by a grant from National Natural Science
Foundation of China (# 70531040) and the President Fund of Institute of Policy and
Management, Chinese Academy of Sciences (CASIPM) (0600281J01).
The Corresponding author.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 478481, 2007.
c Springer-Verlag Berlin Heidelberg 2007
479
and high-kurtosis. Considering the nature of the operational risk and their unsettling impact, EVT can play a major role in analyzing such data. A fast growing
literature exists. For details, see references [1],[2],[3],[4] . . .
In this paper, we presented an ERM-POT method to measure the operational
risk. In POT method, how to choose the threshold in an optimal way is a delicate
matter. A balance between bias and variance has to be made. In general, Hillplot and mean excess function (MEF) can be used to choose the threshold.
However, selection of the threshold by the two approaches may produce biased
estimates because the two are empirical. The ERM-POT method can lead to
bias-corrected estimators and techniques for optimal threshold selections. With
ERM-POT, the optimal threshold is selected, and then VaR is obtained.
The paper is organized as follows: In section 2, we give a brief view of the
ERM-POT method. Section 3 is the experiment with the ERM-POT. The last
part concludes the paper.
with Maximum Likelihood (ML). For x > u, from equation(1) and equation (2),
We estimate the tail of F with
Nu
x u 1/
F (x) = 1
(1 +
)
,
n
VaR = u +
u
(N
np ) 1
u
(N
np ) 1
, then
(3)
j
) )fj,k , 1 j k .
k+1
(4)
480
2
bn,k 2
+(
) .
k
1
(5)
Similar to the adaptive threshold selection method [6], in the ERM we cal bn,k
, with ML for each k = {3, ......, n 1}. Determine
culate the estimates ,
AMSE(Hk,n ) for each k = {3, ......, n 1} and then determine the optimal k with
kopt = argmink {AMSE}. Thus we choose Xnkopt ,n as the threshold.
Experiment
3.1
Data Set
For obvious reasons, operational risk data are hard to come by. This is to some
extent true for Chinese commercial banks. We collect 204 operational losses of
more than 20 banks from public media. The time of the database ranged from
1994 to 2006. We use quantile-quantile plot (QQ-plot) to infer the tail behavior
of observed losses. From Fig. 1, the 204 public reported operational loss data are
heavy-tailed. (units: Ten thousand RMB)
2
0
Exponential Quantiles
2*10^6
4*10^6
6*10^6
Ordered Data
Fig. 1. QQ plot
From Table. 1, the threshold is u = 43200 ten thousand RMB. Almost 80%
operational losses are less than this, and most extreme values are beyond this.
So this threshold calculated sounds reasonable.
481
VaR0.95
VaR0.99
VaR0.999
43200
1.505829
116065.6
417740.1
5062954
163319974
Conclusions
References
1. Chavez-Demoulin, V., Davison, A.: Smooth extremal models in nance. The Journal
of the Royal Statistical Society, series C 54(1) (2004) 183-199
2. Chavez-Demoulin, V., Embrechts, P., Neslehov
a: Quantitative models for Operational Risk: Extrems, Dependence and Aggregation. The meeting Implementing an
AMA for Operational Risk, Federal Reserve Bank of Boston.(2005)
3. Chernobai, A., Rachev, S., T.: Applying Robust Methods to Operational Risk Modeling. Journal of Operational Risk (Spring 2006) 27-41
4. Lijun Gao: The research on operational risk measurement and capital distribution
of Chinese commercial banks, Doctorate thesis.(2006)(in Chinese)
5. Lijun Gao, Jianping Li, Weixuan Xu. Assessment the Operatinal Risk for Chinese
Commercial Banks. Lecture Notes in Computer Science 3994. (2006) 501-508
6. Matthys, G. and Beirlant, J. :Adaptive threshold selection in tail index estimation.
In Extremes and Integrated Risk Managenent, Risk Books, London.(2000a) 37-49.
7. Matthys, G. and Beirlant, J. : Estimating the extreme value index and high quantiles
with exponential regression models. Statistica Sinica 13 (2003) 853-880
8. Neslehov
a, J., Chavez-Demoulin, V., Embrechts, P., :Innite-mean models and the
LDA for operational risk. Journal of Operational Risk (Spring 2006)3-25
1 Introduction
Credit risk evaluation decisions are crucial for financial institutions due to high risks
associated with inappropriate credit decisions. It is an even more important task today
as financial institutions have been experiencing serious competition during the past
few years. The advantage of using behavior scoring models can be described as the
benefit from allowing financial institutions to make better decisions in managing
existing clients by forecasting their future performance. The decision to be made
include what credit limit to assign, whether to market new products to these particular
clients, and how to manage the recovery of the debt while the account turns bad.
Therefore, new techniques should be developed to help predict credit more accurately.
Currently, researchers have developed a lot of methods for behavior scoring, the
modern data mining techniques, which have made a significant contribution to the
field of information science [1], [2], [3]. At the same time, with the size of databases
growing rapidly, data dimensionality reduction becomes another important factor in
building a prediction model that is fast, easy to interpret, cost effective, and
This research has been supported by academician start-up fund (Grant No. X01109) and 985
information technology fund (Grant No. 0000-X07204) in Xiamen University.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 482485, 2007.
Springer-Verlag Berlin Heidelberg 2007
483
generalizes well to unseen cases. Data reduction is performed via feature selection in
our approach. Feature selection is an important issue in building classification
systems. There are basically two categories of feature selection algorithms: feature
filters and feature wrappers. In this paper we adopt the wrapper model of feature
selection which requires two components: a search algorithm that explores the
combinatorial space of feature subsets, and one or more criterion functions that
evaluate the quality of each subset based directly on the predictive model [4].
GA is used to search through the possible combinations of features. GA is an
extremely flexible optimization tool for avoiding local optima as it can start from
multiple points. The input features selected by GA are used to train a Multi-Class
Support Vector Machines (SVM) that extracts predictive information. The trained
SVM is tested on an evaluation set, and the individual is evaluated both on predictive
accuracy rate and complexity (number of features).
This paper is organized as follows. In Section 2, we show the structure of the
GA+SVM model, and describe how GA is combined with SVM. The experimental
results are analyzed in Section 3. Conclusions are provided in Section 4.
Our behavior scoring model is a hybrid model of the GA and SVM procedures, as
shown in Fig. 1. In practice, the performance of genetic algorithm depends on a
number of factors. Our experiments used the following parameter settings: the
population size is 50, the maximum number is 100, the crossover rate is 0.9, and the
mutation rate is 0.01.
The fitness function has to combine two different criteria described to obtain better
performance. In this paper we use Faccuracy and Fcompexity to denote the two criteria.
484
Faccuracy: The purpose of the function is to favor feature sets with a high predictive
accuracy rate, SVM takes a selected set of features to learn the patterns and calculates
the predict accuracy. The radial basis function (RBF) is used as the basic kernel
function of SVM. With selected features, randomly split the training data set, the ratio
of Dtrain and Dvalidation is 2:1. In addition, since SVM is a stochastic tool, five iterations
of the proposed method are used to avoid the affect of randomized algorithm. And the
Faccuracy is an average of five iterations.
Fcompexity: This function is aimed at finding parsimonious solution by minimizing
the number of selected feature as follows:
Fcompexity = 1 - (d-1)/(D-1) .
(1)
Where D is the dimensionality of the full data set, and d is the dimension of the
selected feature set. We expect that lower complexity will lead to easier
interpretability of solution as well as better generalization.
The fitness function of GA can be described as follows:
Fitness(x) = Faccuracy(x) + Fcompexity(x) .
(2)
3 Experimental Results
A credit card data set provided by a Chinese commercial bank is used to demonstrate
the effectiveness of the proposed model. The data set is in recent eighteen months,
and includes 599 instances. Each instance contains 17 independent variables. The
decision variable is the customer credit: good, bad, and normal credit. The number of
good, normal, and bad is 160, 225, and 214 respectively.
In this section, GA+SVM is compared with a pure SVM, back-propagation neural
network (BPN), Genetic Programming (GP) and logistic regression (LR). The scaling
ratio of the training and test data set is 7:3. In order to compare the proposed method
with other models, five sub-samples are used to compare the predictive accuracy rate
of those models. The predictive accuracy rates of the test data set are shown in Table 1.
In the first sample, the feature subset selected by GA is shown in Table 2.
Table 1. Predictive accuracy rates of proposed models
GA+SVM
SVM
BPN
GP
LR
Sample 1
0.8883
0.8771
0.8659
0.8827
0.8492
Sample 2
0.8994
0.8715
0.8676
0.8939
0.8659
Sample 3
0.9162
0.8883
0.8892
0.9106
0.8770
Sample 4
0.8771
0.8492
0.8431
0.8827
0.8436
Sample 5
0.8883
0.8659
0.8724
0.8883
0.8715
Overall
0.8940
0.8704
0.8676
0.8916
0.8614
Selected Features
Age, Customer type, Education level
Total asset, Average of saving
485
On the basis of the simulated results, we can observe that the classificatory
accuracy rate of the GA+SVM is higher than other models. In contrast with other
models, we consider that GA+SVM is more suitable for behavior scoring problems
for the following reasons. Unlike BPN which is only suited for large data sets, our
model can perform well in small data sets [8]. In contrast with the pure SVM,
GA+SVM can choose the optimal input feature subset for SVM. In addition, unlike
the conventional statistical models which need the assumptions of the data set and
attributes, GA+SVM can perform the classification task without this limitation.
4 Conclusions
In this paper, we presented a novel hybrid model of GA+SVM for behavior scoring.
Building a behavior scoring model involves the problems of the features selection and
model identification. We used GA to search for possible combinations of features and
SVM to score customers behavior. On the basis of the experimental results, we can
conclude that GA+SVM obtain higher accuracy in the behavior scoring problems.
In future work, we may incorporate other evolutionary algorithms with SVM for
feature subset selections. How to select the kernel function, parameters and feature
subset simultaneously can be also our future work.
References
1. Chen, S., Liu, X: The contribution of data mining to information science. Journal of
Information Science. 30(2004) 550-558
2. West, D.: Neural network credit scoring models. Computers & Operations Research.
27(2000) 1131-52
3. Li, J., Liu, J., Xu, W., Shi. Y.: Support Vector Machines Approach to Credit Assessment.
International Conference on Computational Science. Lecture Notes in Computer Science,
Vol. 3039. Springer-Verlag, Berlin Heidelberg New York (2004)
4. Kohavi, R., John, G.H.: Wrappers for feature subset selection. Artificial Intelligence.
1(1997) 273-324
5. Michalewicz, Z.: Genetic Algorithms + Data Structures = Evolution Programs. 3rd edn.
Springer-Verlag, Berlin Heidelberg New York (1996)
6. Vapnik, V.N.: The Nature of Statistical Learning Theory. Springer-Verlag, Berlin
Heidelberg New York (1995)
7. Allwein, E., Schapire, R., Singer, Y.: Reducing multiclass to Binary: A Unifying Approach
for Margin Classifiers. The Journal of Machine Learning Research. 1 (2001) 113-141
8. Nath, R., Rajagopalan, B., Ryker, R.: Determining the saliency of input variables in neural
network classifiers. Computers & Operations Research. 8(1997) 767773
Abstract. In this study, we propose an intelligent customer relationship management (CRM) system that uses support vector machine (SVM) ensembles to
help enterprise managers effectively manage customer relationship from a risk
avoidance perspective. Different from the classical CRM for retaining and targeting profitable customers, the main focus of our proposed CRM system is to
identify high-risk customers for avoiding potential loss. Through experiment
analysis, we find that the Bayesian-based SVM ensemble data mining model
with diverse components and choose from space selection strategy show the
best performance over the testing samples.
Keywords: Customer relationship management, support vector machine,
ensemble data mining, high-risk customer identification.
1 Introduction
Customer relationship management (CRM) has become more and more important
today due to the intensive competitive environment and increasing rate of change in
the customer market. Usually, most enterprises are interested in knowing who will
respond, activate, purchase, or use their products or services. However, customer risk
avoidance and management is also a critical component to maintain profitability in
many industries, such as commercial banks and insurance industries. These businesses are concerned with the amount of risk they are taking by accepting someone or
a certain corporate as a customer. Sustainability and profitability of these businesses
particularly depends on their ability to distinguish faithful customers from bad ones
[1-2]. In order to enable these businesses to take either preventive or correct immediate action, it is imperative to satisfy the need for efficient and reliable model that can
accurately identify high-risk customers with potential default trend.
In such a CRM system that focusing on customer risk analysis, a generic approach
is to apply a classification technique on similar data of previous customers both
faithful and delinquent customers in order to find a relationship between the characteristics and potential default [1-2]. One important ingredient needed to accomplish
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 486489, 2007.
Springer-Verlag Berlin Heidelberg 2007
487
this goal is to seek an accurate classifier in order to categorize new customers or existing customers as good or bad. In the process of customer classification, data mining
techniques, especially classification techniques, play a critical role. Some existing
techniques about risk identification can be referred to [1-3].
Recent studies [2-3] found that the unitary data mining technique did not produce
consistently good performance because each data mining technique had their own
shortcomings and different suitability. Therefore the ensemble data mining technique
is an effective way to remedy this drawback. In this study, our aim is to propose a
support vector machine (SVM) based ensemble data mining model to identify the
high risk customer. The rest of the study is organized as follows. Section 2 describes a
four-step SVM ensemble data mining model for CRM to identify high risk customer
in detail. In Section 3, we conduct some experiments with a real-world customer dataset. Finally, some conclusions are drawn in Section 4.
488
analysis (PCA) [7], choose the best (CTB) [8] and choose from subspace (CFS) [8]
for ensemble member selection. The PCA is used to select a subset of members from
candidate members using the maximizing eigenvalue of the error matrix. The idea of
CTB is to select the classifier with the best accuracy from candidate members to formulate a subset of all members. The CFS is based on the idea that for each model
type, it chooses the model exhibiting the best performance. Readers can refer to [7-8].
After single classifiers are selected, ensemble classifier will be combined in the final step. Typically, majority voting based ensemble strategy [4] and Bayesian-based
ensemble strategy [11] are the most popular methods for constructing an accurate
ensemble model. Interested readers can refer to [4, 11] for more details.
3 Experimental Analysis
In this section a real-world credit dataset is used to test the performance of the SVMbased ensemble data mining model. The dataset used in this study is from the
financial service company of England, obtained from accessory CDROM of a book
[12]. For space consideration, the data is omitted. For testing purpose, we randomly
divide the scaled dataset into two parts: training set with 800 samples, testing set with
1071 samples. Particularly, the total accuracy [1-2] is used to measure the efficiency
of classification. For comparison, logistic regression-based (LogR) ensemble and
artificial neural network-based (ANN) ensemble are also conducted. Note that LogR
ensemble, ANN ensemble and SVM ensemble are constructed with 20 different
classifiers respectively. Accordingly different experimental results are reported in
Table 1.
Table 1. The total accuracy of different ensemble models (%)
Ensemble
LogR
ANN
SVM
Selection
strategy
PCA
CTB
CFS
PCA
CTB
CFS
PCA
CTB
CFS
Ensemble strategy
Majority voting ensemble
Bayesian-based ensemble
57.65
60.08
58.63
62.29
59.49
60.86
68.63
73.35
69.06
71.24
68.65
72.93
70.75
76.36
71.30
77.68
75.63
87.06
From Table 1, we find the following interesting conclusions. (1) Diversity of individual classifiers can improve the performance of the SVM-based ensemble models;
(2) CFS always performs the best among the three strategies of ensemble members
selection; (3) Bayesian-based ensemble strategy always performs much better than
majority voting ensemble strategy. These results and findings also demonstrate the
effectiveness of the SVM-based ensemble models relative to other ensemble approaches, such as logit regression ensemble and neural network ensemble.
489
4 Conclusions
In this study, we propose an intelligent CRM system that uses SVM ensemble techniques to help enterprise managers effectively manage customer relationship from a
risk avoidance perspective. Through experiment analysis, we can easily find that the
SVM-based ensemble model performs much better than LogR ensemble and ANN
ensemble, indicating that the SVM-based ensemble models can be used as an effective CRM tool to identify high risk customers.
Acknowledgements
This work is supported by the grants from the National Natural Science Foundation of
China (NSFC No. 70221001, 70601029), Chinese Academy of Sciences (CAS No.
3547600), Academy of Mathematics and Systems Sciences (AMSS No. 3543500) of
CAS, and City University of Hong Kong (SRG No. 7001677, 7001806).
References
1. Lai, K.K., Yu, L., Zhou, L.G., Wang, S.Y.: Credit Risk Evaluation with Least Square
Support Vector Machine. Lecture Notes in Computer Science 4062 (2006) 490-495
2. Lai, K.K., Yu, L., Wang, S.Y., Zhou, L.G.: Credit Risk Analysis Using a Reliability-based
Neural Network Ensemble Model. Lecture Notes in Computer Science 4132 (2006)
682-690
3. Lai, K.K., Yu, L., Huang, W., Wang, S.Y.: A Novel Support Vector Metamodel for Business Risk Identification. Lecture Notes in Artificial Intelligence 4099 (2006) 980-984
4. Hansen, L., Salamon, P.: Neural Network Ensemble. IEEE Transactions on Pattern Analysis and Machine Intelligence 12 (1990) 993-1001
5. Yu, L., Wang, S.Y., Lai, K.K.: A Integrated Data Preparation Scheme for Neural Network
Data Analysis. IEEE Transactions on Knowledge and Data Engineering 18 (2006) 217-230
6. Yu, L., Lai, K.K., Wang, S.Y., Huang, W.: A Bias-Variance-Complexity Trade-Off
Framework for Complex System Modeling. Lecture Notes in Computer Science 3980
(2006) 518-527
7. Yu, L., Wang, S.Y., Lai, K.K.: A Novel Nonlinear Ensemble Forecasting Model Incorporating GLAR and ANN for Foreign Exchange Rates. Computers & Operations Research
32(10) (2005) 2523-2541
8. Partridge D., Yates, W.B.: Engineering Multiversion Neural-Net Systems. Neural Computation 8 (1996) 869-893
9. Vapnik, V.N.: The Nature of Statistical Learning Theory. Springer: New York (1995)
10. Suykens J.A.K., Vandewalle, J.: Least Squares Support Vector Machine Classifiers. Neural Processing Letters 9 (1999) 293-300
11. Xu, L., Krzyzak, A., Suen, C.Y.: Methods of Combining Multiple Classifiers and Their
Applications to Handwriting Recognition. IEEE Transactions on Systems, Man, and
Cybernetics 22(3) (1992) 418-435
12. Thomas, L.C., Edelman, D.B., Crook, J.N.: Credit Scoring and its Applications. Society of
Industrial and Applied Mathematics, Philadelphia (2002)
Abstract. Web usage mining (WUM) is an important and fast developing area
of web mining. Recently, some enterprises have been aware of its potentials,
especially for applications in Business Intelligence (BI) and Customer
Relationship Management (CRM). Therefore, it is crucial to analyze the
behaviors and characteristics of web user so as to use this knowledge for
advertising, targeted marketing, increasing competition ability, etc. This paper
provides an analytic method, algorithm and procedure based on suggestions
from literature and the authors experiences from some practical web mining
projects. Its application shows combined use of frequent sequence patterns
(FSP) discovery and the characteristic analysis of user clusters can contribute to
improve and optimize marketing and CRM.
Keywords: WUM, FSP, clustering.
1 Introduction
Data mining has been used by many organizations to extract the valuable information
from large volumes of data and then use them to make critical business decisions. As
for WUM, a lot of work mainly focus on web user navigating patterns discovery and
association analysis, user and web pages clustering. However, it is insufficient in
analyzing the characteristics of web clusters after identifying interesting frequent
browsing patterns. In this paper, firstly we introduce related work in WUM and its
analytic steps. And then, we discuss the three main steps in WUM, taking an
educational web server for example. Here our main work lies in creating a data mart
of web usage data, discovering some FSP of web user, providing a method that
measures the similarities among different FSP for user clusters, and providing an
algorithm and its applications. In the end, a comparison between this algorithm and kmeans, Kohonen is given.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 490493, 2007.
Springer-Verlag Berlin Heidelberg 2007
491
2 Related Work
2.1 Taxonomy of Web Mining
Web mining involves a wide range of applications that aims at discovering and
extracting hidden information in data stored on the Web. Besieds, Web mining can be
categorized into three different classes: (i) Web content mining, (ii) Web structure
mining and (iii) WUM. For detailed surveys of Web mining please refer to [1].
Respectively, Web content mining [1] is the task of discovering useful information
available on-line. Web structure mining [1, 2, 3] is the process of discovering the
structure of hyperlinks within the Web. WUM is the task of discovering the activities
of the users while they are browsing and navigating through the Web [1].
2.2 WUM
WUM, from the data mining aspect, is the task of applying data mining techniques to
discover usage patterns from Web data in order to understand and better serve the
needs of users navigating on the Web [1]. As every data mining task, the process of
WUM also consists of three main steps: (i) data selecting and preprocessing, (ii)
pattern discovery and (iii) pattern analysis.
SDJHBYLHZ
VHVVLRQ,'
SDJHYLHZ,'
SDJHYLHZ,'
SDJHYLHZ,'
SDJHYLHZ,'
FOLFNV
XVHUBVHVVLRQ
VHVVLRQ,'
XVHU,'
SDJHYLHZ,'
GXUDWLRQ
GDWH
XVHUBUHJLVWHU
XVHU,'
ORJLQ,'
ORJLQ1DPH
IHTXHQWBSDWWHUQV
XVHU,'
VXSSRUW
FRQILGHQFH
FRQVHTXHQW
DQWFHGHQW
DQWFHGHQW
DQWFHGHQWN
492
Here eq (*,*) may be the combined probability distribution function of the fpi and fp j .
5.2 Algorithm
In this part, we give an algorithm which implement maximum spanning tree (MST)
clustering based on the above FSP (MSTCBFSP), as the following:
Input: FP = { fp1 , fp2 , " , fpm } , W = {w1 , w2 , " , wk } , . Output: T // Set of clusters.
Processing Flow: // MST clustering based on FSP.
Step one: Compute the similarity of the different FSP and construct a graph G .
Step two: Building a MST Tmax on graph G .
Step three: Clustering analysis according to the MST Tmax .
493
Each gets the five clusters (Table1.) of web user with the different characteristics after
we run algorithm MSTCBFSP, k-means and Kohonen on the above data set of FSP.
Table 1. The comparison of the results between MSTBFSP and k-means, Kohonen
Algorithm
Clusters
K-means
Cluster#1
Cluster#2
Cluster#3
Cluster#4
Cluster#5
Cluster-1
Cluster-2
Cluster-3
Cluster-4
Cluster-5
Cluster+1
Cluster+2
Cluster+3
Cluster+4
Cluster+5
Kohonen
MSTCBFSP
Percent
(User)
3.59%
64.54%
24.70%
6.77%
0.40%
23.90%
64.94%
0.80%
3.59%
6.77%
65.74%
22.71%
2.39%
0.40%
8.76%
Antecedent1(Pagevie
wID, UserPercent)
359 100% 557 0%
557 100% 359 0%
557 100% 359 0%
359 100% 557 0%
359 0% 557 0%
557 100% 359 0%
557 100% 359 0%
359 0% 557 0%
359 100% 557 0%
359 100% 557 0%
359 0% 557 100%
557 100% 359 0%
557 0% 359 100%
359 0% 557 0%
359 100% 557 0%
Antecedent2(Pagevie
wID, UserPercent)
67 100% 1 0%
1 100% 67 0%
67 100% 1 0%
1 0% 67 0%
1 0% 67 0%
1 0% 67 0%
1 100% 67 0%
1 0% 67 100%
1 0% 67 100%
1 0% 67 0%
67 0% 1 100%
1 0% 67 100%
67 100% 1 0%
1 0% 67 0%
1 0% 67 0%
Consequent(Pagevi
ewID, UserPercent)
388 100% 666 0%
388 0% 666 0%
388 100% 666 0%
388 0% 666 0%
388 0% 666 100%
388 100% 666 0%
388 0% 666 100%
388 100% 666 0%
388 100% 666 0%
388 0% 666 0%
388 0% 666 100%
388 100% 666 0%
388 100% 666 0%
388 0% 666 100%
388 0% 666 0%
References
1. Margaret H. Dunham, Data Mining Introductory and Advanced topics, Prentice Hall (2003)
206-218.
2. Ajith Abraham, Business Intelligence from Web Usage Mining, Journal of Information &
Knowledge Management, Vol. 2, No. 4 (2003) 375-390.
Introduction
495
w, b,
1 T
C N
w w +
2
k=1 k
2
2
(1)
(2)
Where the k is the Lagrange multiplier, in this study, we chose kernel function
to be Radial-basis function (RBF): K(x, xk ) = exp(||x xk ||2 / 2 ).
In the above LSSVM model, there are two parameters to be determined, C and
. A method inspired by DOE proposed by Staelin [3] can reduce the complexity
sharply, relative to grid search method. The main steps of this approach are as
follows:
1. Set initial range for Cand as [C min, C max], [D min, D max],iter = 1;
2. While iterMAXITER do
2.1. According to the pattern as shown in Figure 1, nd the 13 points in the
space [(C min, D min), (C max, D max)], set C Space=C max-C min, D Space=
D max-D min;
2.2. For each of the 13 points which have never been evaluated, carry out the
evaluation: set the parameters according to coordinate of this point, run LSSVM
via k-fold cross validation, the average classication accuracy is the performance
index of this point;
2.3. Choose the point p0(C0, D0) with best performance to be the center, set
new range of the searching space. C Space= C Space/2, D Space=D Space/2. If
the rectangle area with (C0, D0) as the center and C Space, D Space as width
and height exceeds the initial range, adjust the center point until the new search
space is contained within the [(C min, D min),(C max, D max)].
2.4. Set new searching space, C min=C0-C Space/2, C max=C0+C Space/2,
D min=D0-D Space/2, D max=D0+D Space/2, iter = iter +1;
3. Return the point with best performance, use its best parameters to create
a model for classication.
Conjoint analysis is a technique with wide commercial uses, such as prediction
of protability or market share for proposed new product, providing insights
about how customers make trade-os between various service features, etc. For
an
Nevaluated applicant with feature x , its utility can be dened by the value
k=1 k yk K(x, xk ) + b from the LSSVM model, the larger is this value, the less
is the possibility of its default. All the tested applicants can be ranked by their
utility. Then the part-worth model is selected to be the utility estimation model
496
Dmin
Cmin
Cmax
(3)
i=1
Where Pij is the part-worth of level j for attribute i, Li is the number of levels
for attribute i, n is the number of attributes.
Empirical Study
A real world data set German dataset from UCI is used. it consists of 700 good
instances and 300 bad ones. For each instance, 24 input variables described 19 attributes. 5-fold cross validation is used to evaluate the performance of each group
of parameters setting for the LSSVM model. We set MAXITER =5, searching
space of log2 C is [-5, 15], log2 is [-15, 5] and nally get the optimal parameters
C = 27.5 , = 25.0 . Then we use 10-fold cross validation to test the eciency of
this model and ve repetitions are conducted to reduce the stochastic variability
of model training and the testing process. The results were also compared with
other methods on the same dataset shown in Table 1.
The proposed method can provide high classication accuracy, but a major
deciency of the model is the diculty in explaining the role of the input features
for making the decision. We conjoint analysis to calculate the relative importance
of each feature after ranking the utility of the testing sample. For the 10-fold cross
validation running, there are 10 group testing samples; Figure 2 illustrate the
average relative importance of each feature of the 10 group testing samples for
the LSSVM+DOE model. From this gure, we can see that only three features of
the applicants exceed 8%. Although some of the features have less importance,
they all contribute to the decision in the LSSVM+DOE model.
497
Table 1. Results from dierent methods on the German credit data set
Methods
Classication accuracy (%) Std. (%)
SVM+Grid Searcha
76.00
3.86
SVM+Grid Search + F-scorea
77.50
4.03
SVM+GAa
77.92
3.97
MOEb
75.64
RBFb
74.60
MLPb
73.28
LVQb
68.37
FARb
57.23
LS-SVM+DOE
77.96
5.83
a
Conclusion
This study proposes a two-phrase model for credit scoring. The parameters of
the LSSVM model are optimized by a searching procedure inspired by Design
of Experiment. Then the decision from the LSSVM model is estimated by the
conjoint analysis method. The relative importance of attributes derived from
conjoint analysis provide the decision makers with some idea about what features of the applicant are of importance for the model and whether the decision is
consistent with their past experience. The results show that the proposed model
has good classication accuracy and, in some degree, can help the decision makers to explain their decision.
References
1. Thomas, L.C.: A Survey of Credit and Behavioural Scoring: Forecasting Financial Risk of Lending to Consumers. International Journal of Forecasting 16 (2000)
149-172
2. Suykens, J.A.K., Gestel, T.V., Brabanter, J.D., Moor, B.D., Vandewalle, J.: Least
Squares Support Vector Machines. World Scientic, Siningapore (2002)
3. STAELIN, C.: Parameter Selection for Support Vector Machines. Tech. Rep.,
HPL-2002-354 (R. 1), HP Laboratories Israel, (2003)
498
4. Huang, C.L., Chen, M.C., Wang, C.J.: Credit Scoring with a Data Mining Approach Based on Support Vector Machines. Expert Systems with Applications
(2006) doi:10.1016/j.eswa.2006.1007.1007
5. West, D.: Neural Network Credit Scoring Models. Computers & Operations Research
27 (2000) 1131-1152
1 Introduction
Data Mining is a discipline combining a wide range of subjects such as Statistics,
Machine Learning, Artificial Intelligence, Neural Network, Database Technology and
Pattern recognition [1]. Recently, classification models based on mathematical
programming approaches have been introduced in data mining. In 2001, Shi et al [2,
3] proposed a Multiple Criteria Linear Programming (MCLP) model which has been
successfully applied to a major US bank credit card portfolio management. In this
paper, a new Multi-criteria Quadratic-programming Linear Classification (MQLC)
model is proposed and used in the VIP E-Mail dataset provided by a major web
hosting company in China. As a new model, the performance and stability of MQLC
are focal issues. In order to respond to these challenges, this paper conducts a
variance of k-folders cross-validation experiment and compares the prediction
accuracy of MQLC with decision tree in software C5.0. Our findings indicate that
MQLC is highly stable and performs well in small samples.
This paper is organized as the following. Next section is an overview of MQLC
model formulation; the third section describes the characteristics of the VIP E-Mail
dataset; the fourth section talks about the process and results of cross validation; the
fifth section illustrates the comparison study with decision tree in commercial
software C5.0; and the last section concludes the paper with summary of the findings.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 499502, 2007.
Springer-Verlag Berlin Heidelberg 2007
500
A i x b, Ai G2 ;
[2,
3,
4,
5].
We
define
external
(1)
Subject to:
Ai x i + i b = 0, Ai G1
Ai x + i i b = 0, Ai G2
i , i 0, i = 1,..., n
i =1
i =1
i =1
i =1
i =1
(2)
Subject to:
Ai x i + i b = 0, Ai G1
Ai x + i i b = 0, Ai G2
i , i 0, i = 1,..., n
In MQLC model, the normal value of is larger than implies that the penalty
for misclassifying Ai is more severe than not enlarging the distance from the adjusted
501
boundary. Since it is possible that i is less than 1, in such scenario the objective value
will decrease when we square i . To make sure the penalty is aggravated when
misclassification occurs, MQLC add 1 to all i before squaring them.
502
Percentage
of training
Decision Tree
MQLC
2%
5%
Training
92.7%
94.9%
Testing
71.9%
77.3%
Training
96.0%
92.8%
Testing
78.54%
82.95%
10%
25%
95.2%
95.9%
80.8%
83.2%
90.7%
88.95%
83.75%
83.56%
6 Conclusion
In this paper, a new Multi-criteria Quadratic-programming Linear Classification
(MQLC) Model has been proposed to the classification problems in data mining. 230
features are extracted from the original data source to depict all the VIP E-Mail users,
and 9996 records are chosen to test the performance of MQLC. Through the results of
cross-validation, we can see that the model is extremely stable for multiple groups of
randomly generated training set and testing set. The comparison of MQLC and
Decision Tree in C5.0 tells us that MQLC performs better than Decision Tree on
small samples. There have been experiments that show the accuracy of MQLC is not
affected by the parameters of the objective function, further research will include
mathematically proving this phenomenon.
Acknowledgments. This research has been partially supported by a grant from
National Natural Science Foundation of China (#70621001, #70531040, #70501030,
#70472074), 973 Project #2004CB720103, Ministry of Science and Technology,
China, NSFB(No.9073020) and BHP Billiton Co., Australia.
References
1. Han, J. W., M. Kamber: Data Mining: Concepts and Techniques. San Diego. CA: Academic
Press (2000) ch.1.
2. Shi, Y., Wise, M., Luo, M. and Lin, Y.: Data mining in credit card portfolio management: a
multiple criteria decision making approach. in Multiple Criteria Decision Making in the
New Millennium, M. Koksalan and S.Zionts, eds., Berlin: Springer (2001) 427-436
3. Shi, Y., Peng, Y., Xu, W., Tang, X.: Data Mining via Multiple Criteria Linear
Programming: Applications in Credit Card Portfolio Management. International Journal of
Information Technology and Decision Making, vol. 1(2002) 131-151.
4. Gang Kou, Yi Peng, Yong Shi, Weixuan Xu: A Set of Data Mining Models to Classify
Credit Cardholder Behavior. International Conference on Computational Science (2003)
54-63
5. Yi Peng, Gang kou, Zhengxin Chen, Yong Shi: Cross-Validation and Ensemble Analyses
on Multiple-Criteria Linear Programming Classification for Credit Cardholder Behavior.
International Conference on Computational Science (2004) 931-939
Abstract. Interpolating scattered data points is a problem of wide ranging interest. One of the most popular interpolation methods in geostatistics is ordinary kriging. The price for its statistical optimality is that
the estimator is computationally very expensive. We demonstrate the
space and time eciency and accuracy of approximating ordinary kriging
through the use of covariance tapering combined with iterative methods.
Keywords: Geostatistics, kriging, tapering, iterative methods.
Introduction
504
Recently a more principled approach to approximating kriging has been proposed based on a technique called covariance tapering [7]. The problems arise
from the fact that the covariance functions that are used in kriging have global
support. In tapering these functions are approximated by functions that have
only local support, and that possess certain necessary mathematical properties.
This achieves greater eciency by replacing large dense kriging systems with
much sparser linear systems. Covariance tapering has been successfully applied
to a restriction of our problem, called simple kriging [7]. Simple kriging is not an
unbiased estimator for stationary data whose mean value diers from zero, however. We generalize these results by showing how to apply covariance tapering
to the more general problem of ordinary kriging.
Our implementations combine, utilize, and enhance a number of dierent approaches that have been introduced in literature for solving large linear systems
for interpolation of scattered data points. For very large systems, exact methods
such as Gaussian elimination are impractical since they require O(n3 ) time and
O(n2 ) storage. As Billings et al. suggested, we use an iterative approach [8].
In particular, we use the symmlq method [9], for solving the large but sparse
ordinary kriging systems that result from tapering.
The main technical issue that need to be overcome in our algorithmic solution
is that the points covariance matrix for kriging should be symmetric positive
denite [3,10]. The goal of tapering is to obtain a sparse approximate representation of the covariance matrix while maintaining its positive deniteness.
Furrer et al. used tapering to obtain a sparse linear system of the form Ax = b,
where A is the tapered symmetric positive denite covariance matrix [7]. Thus,
Cholesky factorization [11] could be used to solve their linear systems. They implemented an ecient sparse Cholesky decomposition method. They also showed
if these tapers are used for a limited class of covariance models, the solution of
the system converges to the solution of the original system. Matrix A in the
ordinary kriging system, while symmetric, is not positive denite. Thus, their
approach is not applicable to the ordinary kriging system [10]. After obtaining a sparse ordinary kriging linear system through tapering, we use symmlq
to solve it[9].
We show that solving large kriging systems becomes practical via tapering and
iterative methods, and results in lower estimation errors compared to traditional
local approaches, and signicant memory savings compared to the original global
system. We also developed a more ecient variant of the sparse symmlq method
for large ordinary kriging systems. This approach adaptively nds the correct
local neighborhood for each query point in the interpolation process.
We start with a brief review of the ordinary kriging in Section 2. In Section 3
the tapering properties are mentioned. We introduce our approaches for solving
the ordinary kriging problem in Section 4. Section 5 describes data sets we
used. Then, we describe our experiments and results in Section 6. Section 7
concludes the paper. Full version of our paper has details that were omitted
here [10].
505
Ordinary Kriging
1
where C is the matrix of points pairwise covariances, L is a column vector of
all ones and of size n, and w is the vector of weights wi , . . . , wn . Therefore, the
minimization problem for n points reduces to solving a linear system of size
(n + 1)2 , which is impractical for very large data sets via direct approaches. It is
also important that matrix C be positive denite [10,3]. Note that the coecient
matrix in the above linear system is a symmetric matrix which is not positive
denite since it has a zero entry on its diagonal.
Pairwise covariances are modeled as a function of points separation. These
functions should result in a positive denite covariance matrix. Christakos [13]
showed necessary and sucient conditions for such permissible covariance functions. Two of these valid covariance functions, are the Gaussian and Spherical
covariance functions (Cg and Cs respectively). Please see [13,3,5] for details of
these and other permissible covariance functions.
Tapering Covariances
(2)
The tapered covariance matrix, Ctap , is zero for points that are more than a
certain distance apart from each other. It is also positive denite since it is the
506
Schur product of two positive denite matrices. A taper is considered valid for
a covariance model if it perseveres its positive-deniteness property and makes
the approximate systems solution converge to the original systems solution.
The authors of [7] mention few valid tapering functions. We used Spherical,
W endland1 , W endland2 , and T opHat tapers [7]. These tapers are valid for R3
and lower dimensions [7]. Tapers need to be as smooth as the original covariance
function at origin to guarantee convergence to the optimal estimator [7]. Thus,
for a Gaussian covariance function, which is innitely dierentiable, no taper
exists that satises this smoothness requirement. However, since tapers proposed
in [7] still maintain positive deniteness of the covariance matrices, we examined
using these tapers for Gaussian covariance functions as well. We are using these
tapers mainly to build a sparse approximate system to our original global system
even though these tapers do not guarantee convergence to the optimal solution
of the original global dense system theoretically.
Our Approaches
We implemented both local and global methods for the ordinary kriging problem.
Local Methods: This is the traditional and the most common way of solving
kriging systems. That is, instead of considering all known values in the interpolation process, points within a neighborhood of the query point are considered.
Neighborhood sizes are dened either by a xed number of points closest to the
query point or by points within a xed radius from the query point. Therefore,
the problem is solved locally. We experimented our interpolations using both of
these local approaches. We dened the xed radius to be the distance beyond
which correlation values are less than 106 of the maximum correlation. Similarly, for the xed number approach, we used maximum connectivity degree of
points pairwise covariances, when covariance values are larger than 106 of the
maximum covariance value. Gaussian elimination [14] was used for solving the
local linear systems in both cases.
Global Tapered Methods: In global tapered methods we rst redene
our points covariance function to be the tapered covariance function obtained
through Eq. (2), where C(h) is the points pairwise covariance function, and
C (h) is a tapering function. We then solve the linear system using the symmlq
approach as mentioned in [9]. Note that, while one can use conjugate gradient
method for solving symmetric systems, the method is guaranteed to converge
only when the coecient matrix is both symmetric and positive denite [15].
Since ordinary kriging systems are symmetric and not positive denite, we used
symmlq. We implemented a sparse symmlq method, similar to the sparse conjugate gradient method in [16]. In [16]s implementation, matrix elements that are
less than or equal to a threshold value are ignored. Since we obtain sparseness
through tapering, this threshold value for our application is zero.
Global Tapered and Projected Methods: This implementation is motivated by numerous empirical results in geostatistics indicating that interpolation
weights associated with points that are very far from the query point tend to be
507
close to zero. This phenomenon is called the screening eect in the geostatistical
literature [17]. Stein showed conditioned under which the screening eect occurs
for gridded data [17]. While the screening eect has been the basis for using local
methods, there is no proof of this empirically supported idea for scattered data
points [7]. We use this conjecture for solving the global ordinary kriging system
Ax = b and observing that many elements of b are zero after tapering. This
indicates that for each zero element bi , representing the covariance between the
query point and the ith data point, we have Ci0 = 0. Thus, we expect their associated interpolation weight, wi , to be very close to zero. We assign zero to such
wi s, and consider solving a smaller system A x = b , where b consists of nonzero
entries of b. We store indices of nonzero rows in b in a vector called indices. A
contains only those elements of A whose row and column indices both appear
in indices. This method is eectively the same as the xed radius neighborhood
size, except that the local neighborhood is found adaptively. There are several
dierences between this approach and the local methods. One is that we build
the global matrix A once, and use relevant parts of it, contributing to nonzero
weights, for each query point. Second, for each query, the local neighborhood is
found adaptively by looking at covariance values in the global system. Third,
the covariance values are modied.
Data Sets
As mentioned before, we cannot solve the original global systems exactly for
very large data sets, and thus cannot compare our solutions with respect to the
original global systems. Therefore, we need ground truth values for our data
sets. Also, since performance of local approaches can depend on data points
density around the query point, we would like our data sets to be scattered nonuniformly. Therefore, we create our scattered data sets by sampling points of a
large dense grid from both uniform and Gaussian distributions. We generated
our synthetic data sets using the Sgems [18] software. We generated values on a
(1000 1000) grid, using the Sequential Gaussian Simulation (sgsim) algorithm
of the Sgems software [19,18]. Points were simulated through ordinary kriging
with a Gaussian covariance function of range equal to 12, using a maximum of
400 neighboring points within a 24 unit radius area. Then, we created 5 sparse
data sets by sampling 0.01% to 5% of the original simulated grids points. This
procedure resulted in sparse data sets of sizes ranging from over 9K to over 48K.
The sampling was done so that the concentration of points in dierent locations
vary. For each data set, 5% of the sampled points were from 10 randomly selected
Gaussian distributions. The rest of the points were drawn from the uniform
distribution. Details of the real data tests and results are in our full paper [10].
Experiments
All experiments were run on a Sun Fire V20z running Red Hat Enterprise release
3, using the g++ compiler version 3.2.3. Our software is implemented in c++,
508
using the GsTL and ANN libraries [19,20]. GsTL is used to build and solving the
linear systems. ANN is used for nding nearest neighbors for local approaches.
For each input data we examined various ordinary kriging methods on 200
query points. Half of these query points were sampled uniformly from the original
grids. The other 100 query points were sampled from the Gaussian distributions.
We tested both local and global methods. Local methods used Gaussian elimination for solving the linear systems while global tapered methods used sparse
symmlq. Running times are averaged over 5 runs.
We examined methods mentioned in Section 4. Global approaches require
selection of a tapering function. For synthetic data, we examined all tapers mentioned in Section 3. Even though there is no taper which is as smooth as the
Gaussian model to guarantee convergence to the optimal estimates, in almost all
cases, we obtained lower estimation errors when using global tapered approaches.
As expected, smoother functions result in lower estimation errors. Also, results
from tapered and projected cases are comparable to their corresponding tapered
global approaches. In other words, projecting the global tapered system did not
signicantly aect the quality of results compared to the global tapered approach
in our experiments. In most cases, Top Hat and Spherical tapers performed similar to each other with respect to the estimation error, and so did Wendland
tapers. Wendland tapers give the lowest overall estimation errors. Among Wendland tapers, Wendland1 has lower CPU running times for solving the systems.
Figure 1 shows the results when W endland1 taper was used.
For local approaches, using xed radius neighborhoods resulted in lower errors
for query points from the Gaussian distribution. Using xed number of neighbors seems more appropriate for uniformly sampled query points. Considering
maximum degree of points covariance connectivity as number of neighbors to
use in the local approach requires extra work and longer running times compared
to the xed radius approach. The xed radius local approach is faster than the
xed neighborhood approach by 1-2 orders of magnitude for the uniform query
points, and is faster within a constant factor to an order of magnitude for query
points from clusters, while giving better or very close by estimations compared
to the xed number of neighbors approach (Tables 1 and 2).
Tapering, used with sparse implementations for solving the linear systems,
results in signicant memory savings. Table 3 reports these memory savings for
synthetic data to be a factor of 392 to 437.
Table 1. Average CPU Times for Solving the System over 200 Random Query Points
n
48513
39109
29487
19757
9951
Local
Fixed Fixed
Num Radius
0.03278 0.00862
0.01473 0.00414
0.01527 0.00224
0.00185 0.00046
0.00034 0.00010
Top
Hat
8.456
4.991
2.563
0.954
0.206
Tapered Global
Top Hat Spherical Spherical W1
W1
Projected
Projected
Projected
0.01519
7.006
0.01393 31.757 0.0444
0.00936
4.150
0.00827 17.859 0.0235
0.00604
2.103
0.00528 08.732 0.0139
0.00226
0.798
0.00193 02.851 0.0036
0.00045
0.169
0.00037 00.509 0.0005
W2
57.199
31.558
15.171
05.158
00.726
W2
Projected
0.04515
0.02370
0.01391
0.00396
0.00064
509
Table 2. Average Absolute Errors over 200 Randomly Selected Query Points
n
48513
39109
29487
19757
9951
Local
Fixed Fixed
Num Radius
0.416 0.414
0.461 0.462
0.504 0.498
0.569 0.562
0.749 0.756
Tapered Global
Top Top Hat Spherical Spherical W1
W1
Hat Projected
Projected
Projected
0.333 0.334
0.336
0.337 0.278 0.279
0.346 0.345
0.343
0.342 0.314 0.316
0.429 0.430
0.430
0.430 0.384 0.384
0.473 0.474
0.471
0.471 0.460 0.463
0.604 0.605
0.602
0.603 0.608 0.610
W2
0.276
0.313
0.372
0.459
0.619
W2
Projected
0.284
0.322
0.382
0.470
0.637
(n + 1)2
(Total Elements)
2,353,608,196
1,529,592,100
869,542,144
39,0378,564
99,042,304
Stored % Stored
Elements
5,382,536 0.229
3,516,756 0.230
2,040,072 0.235
934,468
0.239
252,526
0.255
Savings
Factor
437.267
434.944
426.231
417.755
392.206
100
0.8
0.7
0.6
0.5
0.4
0.3
0.2
Fixed Num
Fixed Radius
Wendland1 Tapered
Wendland1 Tapered & Projected
0.1
0
10000
20000
30000
40000
Number of Scattered Data Points (n)
0.9
10
1
1E-1
1E-2
1E-3
1E-4
1E-5
10000
Fixed Num
Fixed Radius
Wendland1 Tapered
Wendland1 Tapered & Projected
20000
30000
40000
Number of Scattered Data Points (n)
Fig. 1. Left: Average Absolute Errors. Right: Average CPU Running Times.
Conclusion
Solving very large ordinary kriging systems via direct approaches is infeasible for
large data sets. We implemented ecient ordinary kriging algorithms through
utilizing covariance tapering [7] and iterative methods [14,16]. Furrer et al. [7]
had utilized covariance tapering along with sparse Cholesky decomposition to
solve simple kriging systems. Their approach is not applicable to the general ordinary kriging problem. We used tapering with sparse symmlq method to solve
large ordinary kriging systems. We also implemented a variant of the global tapered method through projecting the global system on to an appropriate smaller
system. Global tapered methods resulted in memory savings ranging from a factor of 4.54 to 437.27. Global tapered iterative methods gave better estimation
errors compared to the local approaches. The estimation results of the global tapered method were very close to the global tapered and projected method. The
510
global tapered and projected method solves the linear systems within order(s)
of magnitude faster than the global tapered method.
Acknowledgements
We would like to thank Galen Balcom for his contributions to the c++ implementation of the symmlq algorithm.
References
1. Amidror, I.: Scattered data interpolation methods for electronic imaging systems:
a survey. J. of Electronic Imaging 11 (2002) 157176
2. Alfeld, P.: Scattered data interpolation in three or more variables. Mathematical
methods in computer aided geometric design (1989) 133
3. Isaaks, E.H., Srivastava, R.M.: An Introduction to Applied Geostatistics. Oxford
University Press (1989)
4. Journel, A., Huijbregts, C.J.: Mining Geostatistics. Academic Press Inc (1978)
5. Goovaerts, P.: Geostatistics for Natural Resources Evaluation. Oxford University
Press, Oxford (1997)
6. Meyer, T.H.: The discontinuous nature of kriging interpolation for digital terrain
modeling. Cartography and Geographic Information Science, 31 (2004) 209216
7. Furrer, R., Genton, M.G., Nychka, D.: Covariance tapering for interpolation of
large spatial datasets. J. of Computational and Graphical Statistics 15 (2006)
502523
8. Billings, S.D., Beatson, R.K., Newsam, G.N.: Interpolation of geophysical data
using continuous global surfaces. Geophysics 67 (2002) 18101822
9. Paige, C.C., Saunderszi, M.A.: Solution of sparse indenite systems of linear equations. SIAM J. on Numerical Analysis 12 (1975) 617629
10. Memarsadeghi, N., Mount, D.M.: Ecient implementation of an optimal interpolator for large spatial data sets. Technical Report CS-TR-4856, Computer Science
Department, University of Maryland, College Park, MD, 20742 (2007)
11. Loan, C.F.V.: Intro. to Scientic Computing. 2nd edn. Prince-Hall (2000)
12. Rasmussen, C.E., Williams, C.K.I.: Gaussian Processes for Machine Learning. MIT
Press (2006)
13. Christakos, G.: On the problem of permissible covariance and variogram models.
Water Resources Research 20 (1984) 251265
14. Nash, S.G., Sofer, A.: Linear and Nonlinear Programming. McGraw-Hill Companies (1996)
15. Shewchuk, J.R.: An intro. to the conjugate gradient method without the agonizing
pain. CMU-CS-94-125, Carnegie Mellon University (1994)
16. Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P.: Numerical Recipes
in C++, The Art of Scientic Computing. Cambridge University Press (2002)
17. Stein, M.L.: The screening eect in kriging. Annals of Statistics 1 (2002) 298323
18. Remy, N.: The Stanford Geostatistical Modeling Software (S-GeMS). SCRC Lab,
Stanford University. (2004)
19. Remy, N.: GsTL: The Geostatistical Template Library in C++. Masters thesis,
Department of Petroleum Engineering of Stanford University (2001)
20. Mount, D.M., Arya, S.: ANN: A library for approximate nearest neighbor searching. http://www.cs.umd.edu/ mount/ANN/ (2005)
1 Introduction
Recently, OGC(Open GIS Consortium) has presented the GML(Geography Markup
Language) specification[3,4] for the interoperability of the geographic information.
However, since the GML documents are encoded in text and its tag is very repetitive,
it yields problems such as large data size, slow transmission time, and enormous
document scanning cost[6]. The major method to reduce the size of the text includes
compressing such as GZIP[1]. However, as the data compressed by GZIP must be
decompressed into the original GML document, the document scanning cost and the
coordinate-value converting cost increase enormously.
OGC has proposed the BXML(Binary-XML) encoding specification[5] that can
encode the GML document into binary XML format and reduce the document size by
removing the repetitive tag names and attributes. And, the BXML encoding specification also can reduce the coordinate-value converting cost to display geographic information by encoding coordinate values into binary values.
In this paper, we designed and implemented a Conversion System for GML documents. The system uses the BXML-based binary encoding specification proposed by
OGC. BXML documents are generally more effective in scanning cost and space
requirement than GML documents. Especially, coordinate values in the form of
BXML documents can be used directly without conversion. The system can directly
display geographic information from BXML documents and can convert GML
documents to BXML documents without loss of information, and vice versa. In addition, this paper analyzed the performance results of the system.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 511514, 2007.
Springer-Verlag Berlin Heidelberg 2007
512
2 Related Works
OGC proposed the GML specification for interoperability[3,4]. GML is an XML
encoding in compliance with ISO 19118 for the transport and storage of geographic
information modeled according to the conceptual modeling framework used in the
ISO 19100 series and including both the spatial and non-spatial properties of geographic features[2,3]. GML as presently encoded using plain-text XML[7] has three
major performance problems[5]: the text in the XML structure is highly redundant
and bulky, making it slow to transfer over the Internet; the lexical scanning of XML is
unexpectedly costly; and the conversion of text-encoded numerical coordinate and
observation values is also very costly.
BXML was proposed for more effective transmission by reducing the size of the
XML document without changes in contents for a limited environment[5]. If an XML
file is used as a database of objects with a specific attribute used as a primary key,
then it will be greatly more efficient to randomly seek directly to the data tokens that
encode those objects. BXML can directly represent raw binary data without any indirect textual-encoding methods, and a backward-compatibility mechanism is provided
to enable the translation raw-binary blocks into an equivalent XML representation.
3 System Development
Fig. 1 shows the architecture of the conversion system for GML documents presented
in this paper.
This system is divided into a server and a client. The server system is composed of
a GML document analysis module to analyze GML documents, an encoding module
to encode GML documents into BXML documents, a BXML document analysis
module to analyze BXML documents, a decoding module to decode BXML documents into GML documents, a display module to read the spatial data from BXML
documents for display, and a network transmitting module to transmit the data encoded into BXML documents through network. The client system is composed of a
network transmitting module, a BXML document analysis module, and a display
module.
513
In order to convert the GML document into the BXML document, the GML document is analyzed, made into tokens, and encoded into the corresponding binary values
based on the code values. Fig. 2 and Fig. 3 shows an example of a GML document
and a BXML document converted from the GML document of Fig. 2, respectively. In
addition, In order to convert the BXML document into the original GML document,
the BXML document is analyzed and the token types are classified.
The display module derives out the spatial data from a BXML document and displays it on the screen as maps. Fig. 4 shows the screen display from the BXML document of Fig. 3.
4 Performance Evaluation
This chapter examines the performance evaluation results of the conversion system
for GML documents. The GML documents used are 20Mbytes, 40Mbytes, 60Mbytes,
and 80Mbytes and are composed of point data, polyline data, and polygon data.
Fig. 5 illustrates the document size when the GML documents are compressed by
GZIP and when the GML documents are encoded into the BXML documents. As
shown in Fig 5, the compression of the GML document using GZIP achieves the
better compression rate. However, the GZIP compression does not consider document
scanning but solely reduces the data size. Therefore, the compressed GZIP document
should be decompressed and restored to its original state in order for us to use the data
contained within. On the other hand, encoding into the BXML document can save
more document scanning cost than the GZIP compression.
Fig. 6 illustrates the display time of the geographic information of the GML document and the BXML document. As shown in Fig 6, using the BXML document rather
than the GML document achieves faster display time and the gap between the two
document types increases as the file size enlarges. In case of the GML document,
since all data are encoded in texts, the coordinate values must be separated for coordinate value conversion. However, in case of the BXML document, since its geographic
data are encoded in its original data type, faster speed is possible as it can be used
without any type conversion process.
514
5 Conclusion
This paper designed and implemented the conversion system for GML documents that
can convert GML documents into BXML documents without loss of information, and
vice versa. The system also can directly display geographic information from the
BXML documents. By using the conversion system, it is possible to enhance
the transmission speed by reducing the GML document size and also can enhance the
document scanning speed for faster display of the geographic information of the
BXML documents.
Acknowledgements
This research was supported by the Seoul Metropolitan Government, Korea, under the
Seoul R&BD Program supervised by the Seoul Development Institute.
References
1. IETF RFC 1952: GZIP File Format Specification Version 4.3, http://www.ietf.org/
rfc/rfc1592.txt (1996).
2. ISO/TC 211: ISO 19136 Geographic Information - Geography Markup Language(GML)
(2004).
3. OpenGIS Consortium, Inc.: Geography Markup Language(GML) Implementation Specification 3.1.0. (2004).
4. OpenGIS Consortium, Inc.: Geography Markup Language(GML) Version 3.1.1 Schemas
(2005).
5. OpenGIS Consortium, Inc.: Binary-XML Encoding Specification 0.0.8. (2003).
6. Piras, A., Demontis, R., Vita, E. D., Sanna, S.: Compact GML: Merging Mobile Computing
and Mobile Cartography, Proceedings of the 3rd GML and Geo-Spatial Web Service Conference (2004).
7. W3Consortium: Extensible Markup Language (XML) 1.0., (Second Edition),
http://www.w3.org/ TR/REC-xml (2000).
Abstract. Previous spatial characterization methods does not analyze well spatial regions for a given query since it only focus on characterization for users
pre-selected area and without consideration of spatial density. Consequently,
the effectiveness of characterization knowledge is decreased in these methods.
In this paper, we propose a new hybrid spatial characterization system combining the density-based clustering module which consists of the attribute removal
generalization and the concept hierarchy generalization. The proposed method
can generate characteristic rule and apply density-based clustering to enhance
the effectiveness of generated rules.
1 Introduction
Recently, the need for the spatial data mining has increased in many applications such
as geographic information system, weather forecasting, and market analysis, etc. The
study on spatial data mining techniques is as follows: the spatial characteristic rule to
extract summary information of spatial and non-spatial data, spatial association rule to
find the spatial relationship between data, and the spatial clustering to partition spatial
data objects into a set of meaningful subclasses, and so on [6,7,8,9].
Especially, spatial characterization is one of methods for discovering knowledge
by aggregating non-spatial data and spatial data [4]. Many previous data mining systems support spatial characterization methods. Economic Geography and GeoMiner
are the representative spatial data mining system which support spatial knowledge
discovery [7, 9].
Ester et al. suggest Economic Geography system based on BAVIRIA database [9].
Economic Geography uses a part of entire database and performs characterization by
using the relative frequency of spatial and non-spatial data. That is, it increases effectiveness of characterization using only relative frequencies of objects nearest to target
object. GeoMiner system enhances DBMiner system to treat both spatial and nonspatial data [7]. This system enables knowledge discovery for association, clustering,
characterization, and classification. It also presents both NSD(Non-Spatial Data
*
Corresponding author.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 515522, 2007.
Springer-Verlag Berlin Heidelberg 2007
516
517
The attribute removal generalization is used in the process of converting nonspatial task-relevant data into summary information. The attributes are removed in the
following cases: (1) tuple values with respect to a specific attribute are all distinct or
the attribute has more distinct tuple values than the user threshold. (2) The tuple value
with respect to a specific attribute cannot be replaced with high level concept data.
After attribute removal steps, non-spatial task-relevant data is converted to summary information using concept hierarchy. A concept hierarchy is a sequence of mappings from a set of low-level raw data to more general high-level concepts which
represent summary information [5]. At the end, the algorithm returns spatial characteristic rules.
This generalization algorithm is the key point of the proposed spatial characterization. Extracting generalized knowledge from spatial database using spatial
characterization requires generalization of spatial data and non-spatial data. Thus, the
generalization module performs the generalization task for non-spatial task-relevant
data by using the user defined concept hierarchy.
2.2 Density-Based Spatial Clustering
Spatial data mining uses both non-spatial data and spatial data. A tuple in the database
includes a spatial object. Spatial object has the coordinate information of spatial data
related with the non-spatial data. Spatial clustering is used to partition the areas the
user wants to search [2, 3, 9, 10]. We use DBSCAN as the density-based spatial clustering module to group spatial areas for spatial characterization since it can be used as
a basic tool for spatial analysis [9, 10].
DBSCAN merges regions with sufficient high density into clusters. The proposed
method supports not only a point type but also a polygon type. We extend DBSCAN
with minmax distance function to support two types of spatial data. Let object be a
point data or a polygon data. In order for objects to be grouped, there must be at least
a minimum number of objects called MinObj in -neighbourhood, Ne(p), from an
518
object p, given a radius where p and q are objects and D is a data set. If p and q are
point type objects, their distance can be calculated by Euclidian distance function [9].
Otherwise, their distance can be calculated by minmax distance function [11]. The
minmax distance function is to compute the minimum value of all the maximum distances between objects.
Ne( p) = {q D | dist ( p, q) }
(1)
Fig. 2 illustrates clustering example of polygon type objects with respect to the
map of the province in Incheon city. To cluster polygon type objects, we calculate
MBR of each polygon object. After that, we calculate the minmax distance values
between the center of selected MBR and other MBRs. The remaining step is the same
as the clustering process of the point type objects.
Fig. 3 illustrates the extended DBSCAN algorithm. For this clustering algorithm,
we need some parameters. Let SetOfbject be a set of spatial data, NoOfClusters be the
given number of clusters, and r be a radius of -neighborhood.
The complexity of the expended DBSCAN algorithm can be expressed by O(n2),
where n is the number of objects.
519
Example 1. SMQL query for characterization with respect to annual_income, education, and age of women who reside in Incheon city.
MINE Characterization as woman_pattern
USING HIERARCHY H_inome, H_education, H_age
USING Clustering distance 30
FOR annual_income, education, age
FROM census
WHERE province = "InCheon", gender = "F"
SET distinct_value threshold 20
[Step1] Given a SMQL query statement in Example.1, the system collects annual_income, education, age, and coordinate information attribute values of taskrelevant data from census table in the spatial database. Please refer to [13] for SMQL
query processor.
[Step 2] Clustering is performed by using coordinate information, which is stored
in object pointer attribute, with respect to spatial task-relevant data.
[Step3] In this step, low level attribute values are replaced with matching high
level attribute value in the concept hierarchy. The system generalizes task-relevant
data in Table.1 with respect to annual_income attribute. This generalization will make
the high opportunity of aggregation task.
520
[Step4] Characterization that aggregates all tuples is performed. Table 2 shows the
aggregated data as the result of SMQL query shown in Example 1.
Table 1. Task-relevant data
id
1
2
3
4
Annual_income
2580
2400
3850
1780
age
45
40
36
27
education
Univ
Senior
Master
Univ
object
<X,Y>
<X,Y>
<X,Y>
<X,Y>
Cluster
C1
C3
C1
annual_income
Middle
Middle
Middel high
Age
middle
middle
middle
education
Higher
Secondary
Higher
count
481
316
156
Entropy(S ) = pi log 2 pi
(2)
i =1
where S is a selected data set, pi is the ratio that the set S includes class i, and C is the
number of set that is distinct from the set S.
The average weight of an attributes is defined as:
W = wni / T
(3)
where wni is the weight of ni, ni represents randomly selected attribute, and T is the
total weight.
In order to measure whether the result of spatial characterization reflects well data
distribution in the database, the entropy and weight of attribute is used. Thus, the
information gain from the result of spatial characterization using the entropy and the
weight of each attribute is defined as follows:
Gain(G ) = E Wa Ea + Wb Eb
(4)
521
where E is a total entropy, a is a data set, b is another data set distinct from a, Wa is an
average weight of a, Wb is an average weight of b, Ea is an entropy of a, and Eb is an
entropy of b, respectively.
We apply the information gain to the sample data used in application example 1
mentioned in section 3. Characterization without clustering denotes the previous
method [7,9] using only data generalization while characterization with clustering
denotes the proposed method. Fig 4 shows the experimental result that compares
characterization with clustering and characterization without clustering in terms of the
information gain.
1.2
1
0.8
ina 0.6
G
0.4
0.2
0
Annual_income
Age
Education
5 Conclusion
We propose a new spatial characterization method that generalizes spatial objects
and groups them by using DBSCAN density-based clustering as automatically selected areas, and aggregates them on non-spatial attributes. The proposed spatial
characterization method has the properties as follows: first, we use a density based
clustering to automatically select search scope. Second, the method can eliminate
unnecessary spatial objects using attribute removal and concept hierarchy generalization operation.
The elimination of unnecessary spatial objects can give us useful knowledge,
where information gain is high. The experimental result demonstrates that the performance of the proposed characterization method is better than that of the previous
characterization method.
522
Acknowledgement
This research was supported by the MIC(Ministry of Information and Communication), Korea, under the ITRC(Information Technology Research Center) support program supervised by the IITA(Institute of Information Technology Assessment).
References
1. Baeza-Yaters, R., Ribeiro-Neto, B.: Modern Information Retrieval. ACM Press (2000)
pp.144-149
2. Edwin, M., Knorr, Raymond, Ng.: Robust Space Transformations for Distance-based Operations. SIGKDD, San Francisco, California USA 2 (2001) pp.126-135
3. E., Shaffer, and M., Garland.: Efficient Adaptive Simplification of Massive Meshes. In
Proceedings of IEEE Visualization 2001 (2001) pp.127-134
4. J., Amores, and P., Radeva.: Non-Rigid Registration of Vessel Structures in IVUS Images,
Iberian Conference on Pattern Recognition and Image Analysis. Puerto de Andratx, Mallorca, Spain, Lecture Notes in Computer Science, Springer-Verlag 2652 (2003) pp.45-52
5. J., Han, and M., Kamber.: Data Mining Concept and Techniques. Morgan Kaufman (2001)
pp.130-140
6. J., Han, Y., Cai, and N., Cercone.: Knowledge Discovery in Databases : An AttributeOriented Approach. Proceedings of the 18th VLDB Conference. Vancouver, British Columbia, Canada (1992) pp.547-559
7. J., Han, K., Koperski, and N., Stefanovic.: GeoMiner : A system prototype for spatial data
mining, Proceedings of 1997 ACM-SIGMOD International Conference on Management of
Data 26 2 (1997) pp.553-556
8. M., Ester, H., -P., Kriegel, and J., Sander.: Knowledge discovery in large spatial databases
: Focusing Techniques for Efficient Class Identification. In proc. 4th Intl. Symp. on Large
Spatial Databases 951 (1995) pp.67-82
9. M., Ester, H., -P., Kriegel, and J., Sander.: Algorithms and applications for spatial data
mining. Geographic Data Mining and Knowledge Discovery, London: Taylor and Francis
(2001) pp.160-187
10. M., Ester, H., -P., Kriegel, J., Sander, and X., Xu.: A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise. In Proc. of ACM SIGMOD 3rd
International Conference on Knowledge Discovery and Data Mining. AAAI Press (1996)
pp.226-231
11. N., Roussopoulos, S., Kelley, and F., Vincent.: Nearest Neighbor Queries. In Proc. of
ACM SIGMOD Intl. Conf. on Management of Data, San Jose, CA (1995) pp.71-79
12. N., Roy, and C., Earnest.: Dynamic Action Space for Information Gain Maximization in
Search and Exploration. In Proc. of American Control Conference, Minneapolis 12 (2006)
pp.1631-1636
13. S., Park, S.H., Park, C.M., Ahn, Y.S., Lee, J.H., Lee,: Spatial Data Mining Query Language for SIMS. Spring conference of The Korea Information Science Society 31 1 (2003)
pp.70-72
China Remote Sensing Satellite Ground Station, #45, Bei San Huan Xi Road, Beijing, China
Institute of electronic Chinese academy of science, #19, Bei Si Huan Xi Road, Beijing, China
{pliu, dsliu, fhuang}@ne.rsgs.ac.cn
3
Graduate University of Chinese Academy of Sciences
1 Introduction
In order to measure the on orbit MTF of remote sensing images, knife-edges method
makes use of special targets for evaluating spatial response since the targets stimulate
the imaging system at all spatial frequencies [8]. The algorithm must determine edge
locations with very high accuracy, such as Figure 1.1(a). The ESF (edge spread
function) was then differentiated to obtain the LSF (line spread function) as in the
second picture in Figure 1.1(d). Then the LSF was Fourier-transformed and
normalized to obtain the corresponding MTF, see Figure 1.1 (e).
So like Figure1.2 (a) and (b), we hope that we can extract the edges arbitrarily and
like figure1.2 (c), we can acquire the perpendicular profiles easily. But for the
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 523530, 2007.
Springer-Verlag Berlin Heidelberg 2007
524
complexity of the images, fully automated locating the expected edge is still an
unsolved problem. Especially, in most case the edge in the image could be not straight
or regular. So the aim to cut a profile that is perpendicular to the edge is also very
difficult. As far as above reasons are considered, we introduce live-wire [1] into
MTF measurement and promote the novel method of edges detecting. Live-wire is
one of active contour [2] model for efficient, accurate boundary extraction. Optimal
boundaries are computed and selected at interactive rates as the user moves the mouse
starting from a manually specified seed point. In this paper we enhance the
performance of the live-wire model and make it more fitful to MTF measurement in
the remote sensing images.
(a)
(b)
(c)
(d)
(e)
2 Live-Wire Model
The motivation behind the live-wire algorithm is to provide the user with full control
over the edge extraction [2]. Initially, the user clicks to indicate a starting point on
the desired contour, and then as the mouse is moved it pulls a live-wire behind it
along the contour. When the user clicks again, the old wire freezes on the contour,
and a new live one starts from the clicked point. The livewire method poses this
problem as a search for shortest paths on a weighted graph. Thus the livewire
algorithm has two main parts: first, the conversion of image information into a
weighted graph, and then the calculation of shortest paths in the graph [6],[9]. This
paper for the first time introduces the algorithm into MTF measurement and makes
some good promotions.
In the first part of the livewire algorithm, weights are calculated for each edge in
the weighted graph, creating the image forces that attract the livewire. To produce the
weights, various image features are computed in a neighborhood around each graph
edge, and then combined in some user-adjustable fashion. The general purpose of the
combination is edge localization, but individual features are generally chosen as in [9].
First, features such as the gradient and the Laplacian zero-crossing [3] have been used
for edge detection. Second, directionality, or the direction of the path should be taken
consideration locally. Third, training is the process by which the user indicates a
preference for a certain type of boundary. For resisting the affections of noise, this
paper makes promotion by adding the no-linear diffusion filter term, which we can
see in the following contents.
525
In the second part of the livewire algorithm, Dijkstras algorithm [5] is used to find
all shortest paths extending outward from the starting point in the weighted graph.
The livewire is defined as the shortest path that connects two user-selected points (the
last clicked point and the current mouse location). This second step is done
interactively so the user may view and judge potential paths, and control the
extraction as finely as desired. And this will make MTF measurement easier.
2.1 Weighted Map and Local Cost
The local costs are computed as a weighted sum of these component functions, such
as Laplacian zero-Crossing, Gradient Magnitude and Gradient Direction. Letting
l ( p, q ) represents the local cost on the directed link from pixel p to a neighboring
pixel q , the local cost function is
l ( p, q ) = wZ . f Z (q ) + wD . f D ( p, q ) + wG . f G (q ) + wdiv f div ( p)
(1)
feature function. The Laplacian zero-crossing is a binary edge feature used for edge
localization [7]. The Laplacian image zero-crossing corresponds to points of maximal
(or minimal) gradient magnitude. Thus, Laplacian zero-Crossings represent good
edge properties and should therefore have a low local cost. If I L (q) is the Laplacian of
an image I at the pixel q , then
0 if I L (q ) = 0
f Z (q ) =
1 if I L (q ) 0
(2)
fG =
(3)
526
p (for D ( p) = ( I y ( p ), I x ( p )) ), the
f D ( p, q ) =
{cos[D( p ) L( p, q )]
+ cos[L( p , q ) D( p )]
D( p ) = (I y ( p ) I x ( p ))
D(q ) = (I y (q ) I x (q ))
L( p , q ) =
1 q p;
p q p q;
f div ( p ) =
x
Ix
I
+I
if
if
(4)
(5)
D( p ) (q p ) 0
D( p ) (q p ) 0
(6)
(7)
y
+
Iy
I
+I
wdiv is the weight of the term. Its function is to de-noise. There is not this term in the
original model [6]. In order to de-noise we add this term to the model.
In (7), is small positive constant that prevent I 2 x + I 2 y + to be zero. This term
comes from the no-linear diffusion filter, first proposed by [4]. And it has been
successful as a de-noise algorithm. f div ( p ) is sensitive to the oscillating such as noise
but not penalize the step edges. So, in location of edge f div ( p) is small, and in the
location of noise f div ( p) is big. The function of f div ( p) will be demonstrated in the
following of the paper.
2.2 Searching for an Optimal Path
As mentioned, dynamic programming can be formulated as a directed graph search
for an optimal path. This paper utilizes an optimal graph search similar to that
presented by Dijkstra [5]. Further, this technique builds on and extends previous
boundary tracking methods in 4 important ways same as in [6], but the difference of
527
our method is that we add the no-linear diffusion filter to the weighted map so that the
search can resist the effect of noise. And all these characters can make MTF
measurement easier.
The live-wire 2-D dynamic programming (DP) graph search algorithm is as
follows: Figure 2.2 (a) is the initial local cost map with the seed point blacked. For
simplicity of demonstration the local costs in this example are pixel based rather than
link based and can be thought of as representing the gradient magnitude cost feature.
Figure 2.2 (b) shows a portion of the cumulative cost and pointer map after expanding
the seed point. Noticing that the diagonal local costs which have been scaled by
Euclidean distance does not show in this figure. In fact we compute the diagonal local
costs in our method, but for convenience we do not show them. This is demonstrated
in Figure 2.2 (c) where several points have now been expanded, and the seed point
and the next lowest cumulative cost point on the active list. In fact, the Euclidean
weighting between the seed and diagonal points makes them more costly than nondiagonal paths. Figures 2.2 (d), (e), and (f) show the cumulative cost/direction pointer
map at various stages of completion. Note how the algorithm produces a wave-front
of active points emanating from the initial start point, which is called the seed point,
and that the wave-front grows out faster where there are lower costs.
(a)
(b)
(c)
(d)
(e)
(f)
Fig. 2.2. (a)-(f) is the process of optimal path searching from one seed point to another. And
the blacked points are the active points on the live paths.
And here, we have to say, the importance of the term of f div ( p) is obvious. In the
Figure 2.3, (a) is the edge extraction in the smooth ideal remote sense images. We can
see that the result is satisfying. Even the edge is not straight or regular, the live-wire
work well in (a). Following, (b) and (c) are the result or edge detection by live-wire
model without the term f div ( p) , and they are badly affected by noise. In Figure 2.3(b)
and (c), edge extraction is not optimal for us. Where the level of noise is high, the
edge extraction is not very accurately. But, (d) is the result of live-wire edge
extraction with the term f div ( p) . And we can see that result (d) is not affected by
noise, and the boundary is on the right position for the functions of term f div ( p) . The
term of f div ( p) is sensitive to noise but almost does not change on the edge. So the
term of no-linear diffusion filter operator f div ( p) enhances the performance of the
live-wire model very much.
528
(a)
(b)
(c)
(d)
Fig. 2.3. (a) is the live-wire edge detecting of remote sensor image. (b) and (c) are the livewire edge detecting without f div ( p ) term and (d) is with the f div ( p) term.
(a)
(b)
(e)
(c)
(f)
(d)
(g)
select the edge image of Figure 3.1 (b). Then, we use live-wire to search the optimal edge as knife-edge and compute the profiles that perpendicular to the edge as
Figure 3.1 (b). Furthermore we use the minimum mean-square [8] value to compute
the edge spread function as Figure 3.1 (d). Since the image Figure 3.1 (b) is ideal and
simple, the ESF should be very accuracy. And the ESF was then differentiated to
obtain the LSF as in the Figure 3.1(e). Then the LSF was Fourier-transformed and
529
normalized to obtain the corresponding MTF Figure3.1 (f). The ideal MTF of (b) is
Figure 3.1 (g). Comparing the Figure3.1 (f) with the Figure3.1 (g), we can find that
the live-wire works very well and the result is very precise. There only is a little error
in the MTF measurement, and it is out of the cut-off frequency. The amplitude
frequency from 0 to 20 in (f) and (g) are almost the same, the error comes out only
from 20 to 35. The results do just verify the accuracy of the live-wire method.
Figure3.2 (a) and (b) is the same target image of remote sensing, and the (c) and (d)
are the MTF result of difference methods. In Figure3.2 (c) and (d), the blue solid line
is the MTF that is measured by method in [8]. And in Figure3.2 (c) the red solid line
is the MTF that is measured by our algorithm. In Figure3.2 (d) the red solid line is the
MTF that is measured by live-wire algorithm without improvement. The target image
is irregular, but for the accurate edge extraction and more correct profile cutting, the
result of red solid line that is based on our improvement is obviously more precise,
see Figure3.2 (c). Further more in Figure3.2 (d), the red solid line is the MTF
measured by original live-wire model that does not add the de-noise term of f div ( p) .
We can see that for the affection of noise, the edges is not very accurate and it can
affect the measurement of MTF in (d) and the error is also obvious. This illustrate the
no-improved live-wire algorithm is not very suit for MTF measure.
(a)
(b)
(c)
(d)
(a)
(b)
(c)
(d)
Figrure3.3 is MTF measurement used different images. In these figures we can see
that, if the context in the image is complicated and the edge is not very straight we
can also extract the edge accurately as Figure3.3 (a). And this success attribute to the
advantages of the live-wire algorithm and the no-linear diffusion filter term added in
530
live-wire model. At last we measure the MTF of the image of Figure3.3 (c) that
comes from Google earth. And live-wire can snap the edge easily and precisely on
the complex image context. The profile that is perpendicular to the edge is cut and
LSF is computed. Figure3.3 (d) is the MTF of Figure3.3 (c). Because the quality of
the image is good, the result of MTF should be relatively ideal.
4 Conclusions
In this paper we propose an improved edge detection model based on live-wire
algorithms to measure the MTF of remote sensing images. The no-linear filter term
was added. And, these improvements make it more suitable for MTF measurement. It
highly enhances the performance of the knife-edge method of MTF measurement and
it makes the measurement more convenient and flexible. Then, we use the straight
edge no more when we want to measure the MTF of the sensors directly. Furthermore, the influence of the noise is restrained after no-linear diffusion filter term is
added to the weight map. The profiles that are perpendicular to edge can be
simultaneously and accurately computed. So, all these advantages help us measure the
MTF of the image more accurately in very complicated image context. The following
work will focus on making use of the improved MTF parameters in de-convolution of
remote sensing images.
References
1. W. A. Barrett and E. N. Mortensen. Interactive live-wire boundary extraction. Medical
Image Analysis, 1(4):331341, 1997.
2. M. Kass, A. Witkin, and D. Terzopoulos, Snakes: Active Contour Models, in Proc. of the
First Int. Conf. on Computer Vision, London, England, pp. 259-68, June 1987.
3. E. N. Mortensen and W. A. Barrett. Intelligent Scissors for Image Composition. Computer
Graphics (SIGGRAPH 95), 191198, 1995.
4. P. Perona, J. Malik, Scale-space and edge detection using anisotropic diffusion, PAMI
12(7), pp. 629-639, 1990.
5. E. W. Dijkstra A Note On Two Problems in Connexion With Graphs Numerische
Mathematik, 269271, 1959.
6. A. X. Falcao, J. K. Udupa, and F. K. Miyazawa. An Ultra-Fast User-Steered Image
Segmentation Paradigm: Live-wire on the Fly. IEEE Transactions on Medical Imaging,
19(1):5561, 2000.
7. A. X. Falcao, J. K..Udupa, S. Samarasekera, and S. Sharma. User-Steered Image
Segmentation Paradigms: Live-wire and Live Lane. Graphical Models and Image
Processing, 60:233260, 1998.
8. Taeyoung Choi, IKONOS Satellite on Orbit Modulation Transfer Function (MTF)
Measurement using Edge and Pulse Method, thesis South Dakota State University.2002
9. E. N. Mortensen and W. A. Barrett. Interactive Segmentation with Intelligent Scissors.
Graphical Models and Image Processing, 60(5):349384, 1998.
Introduction
532
H. Sun
conditions will be eliminated, and then the real spatial objects corresponding
to the remaining rectangle combinations will be calculated using computational
geometry techniques. To improve the retrieval eciency, the index data structure which is called R-tree[4]or the variants R+-tree[5] and R*-tree[6] can be
adopted.
The next section takes topological and directional relations as examples to
study the mapping relationships between the spatial relationships for MBRs and
the corresponding relationships for real spatial objects; the last section concludes
this paper.
This paper mainly concerns the topological and directional relations for MBRs
and the corresponding spatial relationships for real spatial objects. The ideas
in this paper can be applied to other relationships such as distance and spatiotemporal relations, etc.
2.1
This paper focuses on RCC8[7] (see Fig.1) relations and studies the mapping
relationship between the RCC8 relations for real spatial objects and the RCC8
relations for the corresponding MBRs. Let p and q be two real spatial objects,
p and q be their corresponding MBRs. If the spatial relation between p and q
is PO (Partly Overlap), then the possible spatial relation between p and q is
PO(Partly Overlap) or TPP (Tangential Proper Part) or NTPP (Non-Tangential
Proper Part) or EQ (Equal) or TPPi (inverse of Tangential Proper Part) or
NTPPi (inverse of Non-Tangential Proper Part) which can be denoted by the
x
y
x DC y
x
y
x PO y
x
y
x y
y x
x EC y x TPP y x TPPi y
xy
x y
y x
x EQ y x NTPP y x NTPPi y
533
NTPP(p,q)
EQ(p,q) TPPi(p,q)
NTPPi(p,q)
EC(p,q)
EC(p,q) PO(p,q)
TPP(p,q)
NTPP(p,q) EQ(p,q)
TPPi(p,q)
NTPPi(p,q)
PO(p,q)
PO(p, q) TPP(p,
q) NTPP(p,q)
EQ(p,q) TPPi(p, q)
NTPPi(p, q)
TPP (p,q)
TPP(p, q) NTPP(p,
q) EQ(p, q)
NTPP (p,q)
TPPi (p,q)
NTPPi (p,q)
EQ(p,q)
NTPP(p,q)
EQ(p,q)
TPPi(p,q)
NTPPi(p,q)
EC(p,q) DC(p,q)
EC(p,q)
TPP(p,q)
EQ(p,q)
NTPPi(p,q)
PO(p,q)
NTPP(p,q)
TPPi(p,q)
PO(p, q) TPP(p, q)
NTPP(p, q) EQ(p, q)
TPPi(p, q) NTPPi(p, q)
PO(p, q) TPP(p,
NTPP(p, q) EQ(p,
TPPi(p, q) NTPPi(p,
NTPP(p, q)
PO(p, q) TPP(p,
NTPP(p, q) EQ(p,
TPPi(p, q) NTPPi(p,
EQ(p, q) TPPi(p, q) EQ(p, q) TPPi(p,
NTPPi(p, q)
NTPPi(p, q)
NTPPi(p, q)
NTPPi(p, q)
EQ(p, q)
EQ(p, q) TPPi(p,
NTPPi(p, q)
q)
q)
q)
q)
q)
q)
q)
q)
534
H. Sun
Based on the above mapping relationship and the R-tree, the candidate MBR
combinations can be retrieved eciently, and then a renement step is needed
to derive the spatial relations among the real spatial objects that the MBRs
enclose, which means that the spatial relation between p and q should be derived
from the spatial relation between p and q. From the spatial relation between
two MBRs, we can derive several possible spatial relations or only one denite
spatial relation between two real spatial objects that the MBRs enclose. In the
former case the complex geometry computation will be applied whereas it will
be omitted in the latter case. For example, given the spatial relation NTPPi(p,
q), we can derive DC(p, q) EC(p, q) PO(p, q) NTPPi (p, q) TPPi (p,
q), the geometry computation must be adopted to ascertain the spatial relation
between p and q. But if we know the spatial relation DC(p, q), then spatial
relation DC(p, q) can be derived directly.
2.2
NWA
NA
NEA
B
WA
SWA
OA
EA
A
SA
SEA
Fig. 2. Capturing the cardinal direction relation between two polygons, A and B,
through the projection-based partitions around A as the reference object
535
Fig. 3. 218 cardinal direction relations between two non-empty and connected
regions[8]
direction relation has the rectangle shape, so it is also named rectangle direction
relation, otherwise it is called non-rectangle direction relation.
In the following, we study the mapping relationships between the cardinal
direction relations for real spatial objects and the cardinal direction relations for
the corresponding MBRs. First of all, we give a denition as follows.
Denition 1. a cardinal direction relation R contains another cardinal direction
relation R, if all the atomic relations in R also exist in R.
The mapping relationships from the cardinal direction relations for real spatial
objects to the ones for their MBRs can be described using the following theorems.
Theorem 1. if the cardinal direction relation between the real spatial objects p
and q is rectangle direction relation R(see Fig.4), the cardinal direction relation
between their MBRs p and q is also R; if the cardinal direction relation between
the real spatial objects p and q is non-rectangle direction relation R, the cardinal
direction relation between their MBRs p and q is the rectangle direction relation
R in Fig.4 which contains relation R and has the minimum area.
Theorem 1 can be derived by combining Fig.3 and Fig.4. Assume that the cardinal direction relation between two real spatial objects p and q is N:NW:W
which obviously is not rectangle direction relation, from Fig.4 the rectangle direction relation that contains N:NW:W and has the minimum rectangle area is
O:W:NW:N, so the cardinal direction relation between two MBRs p and q is
O:W:NW:N.
536
H. Sun
SW
NW
NE
SE
S:SW
O:W
NW:N
SW:W
O:S
E:SE
N:NE
O:E
S:SE
W:NW
O:N
NE:E
S:SW:SE
NW:N:NE
O:W:E
O:S:N
SW:W:NW
NE:E:SE
O:S:SW:W
O:W:NW:N
O:S:E:SE
O:N:NE:E
O:S:SW:
W:NW:N
O:S:N:NE:
E:SE
O:S:SW:
O:W:NW:
O:S:SW:W:NW
W:E:SE
N:NE:E
N:NE:E:SE
537
Conclusions
This paper has studied the spatial conguration information retrieval problem
which includes the mapping relationship among the spatial relations (topological and directional relations) for real spatial objects, the corresponding spatial
relations for the corresponding MBRs and the corresponding spatial relations between intermediate nodes and the MBRs in R-tree. Based on these results, search
algorithms can be designed to solve the spatial conguration retrieval problems.
The research work of this paper is valuable for the information retrieval system
related to spatial data.
References
1. Bergman, L. Castelli, V., Li C-S. Progressive Content-Based Retrieval from Satellite Image Archives. D-Lib Magazine, October 1997.
http://www.dlib.org/dlib/october97/ibm/10li.html.
2. Gupta A., Jain R. Visual Information Retrieval. Communications of ACM, May
1997, 40(5): 70-79.
3. Orenstein, J. A. Spatial Query Processing in an Object-Oriented Database System.
In: Proc. Of the 1986 ACM SIGMOD international conference on Management of
data, 1986, pages 326-336.
4. Guttman, A. R-trees: A Dynamic Index Structure for Spatial Searching. In: Proc.
Of ACM SIGMOD, 1984, pages 47-57.
5. Timos K. Sellis, Nick Roussopoulos, Christos Faloutsos. The R+-Tree: A Dynamic
Index for Multi-Dimensional Objects. In: Proceedings of 13th International Conference on Very Large Data Bases, September 1-4, 1987, Brighton, England, pages
507-518.
6. Norbert Beckmann, Hans-Peter Kriegel, Ralf Schneider, Bernhard Seeger. The R*tree: An Ecient and Robust Access Method for Points and Rectangles. In: Proceedings of the ACM SIGMOD, 1990, pages 322-331.
7. D. A. Randell, Z. Cui and A. G. Cohn. A Spatial Logic Based on Regions and
Connection. In: Proc. 3rd Int. Conf. on Knowledge Representation and Reasoning,
Morgan Kaufmann, San Mateo, 1992, pages 165-176.
8. S.Cicerone and P. Di Felice. Cardinal directions between spatial objects: the
pairwise-consistency problem. Information Sciences. 2004, 164(1-4): 165-188.
State Key Laboratory of Remote Sensing Science, Jointly Sponsored by the Institute of
Remote Sensing Applications of Chinese Academy of Sciences and Beijing Normal University,
Institute of Remote Sensing Applications, Chinese Academy of Sciences, P.O. Box 9718,
Beijing 100101, China
2
Department of Computing, London Metropolitan University, 166-220 Holloway Road, London
N7 8DB, UK
3
Graduate School, Chinese Academy of Sciences, Beijing 100049, China
y.xue@londonmet.ac.uk
1 Introduction
The research of model management theory began 80th last century. In 1980 Blanning
(1980) first imported the notion of modelbase, and designed model query language
(MQL) like database query language to management models. Geoffrion (1987)
designed structural model language (SML), which introduced structural program
design into building models. Muhanna et al. (1988) introduced system theory into
modelbase management system. Wesseling et al. (1996) designed dynamic model
language to support special data structural.
Modelbase can be devised into two kinds by its models: graph modelbase whose
models are graph and arithmetic modelbase whose models are arithmetic or program.
Kuntal et al. (1995) Organized Large Structural Modelbases which were full of graph
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 538541, 2007.
Springer-Verlag Berlin Heidelberg 2007
Modelbase System in Remote Sensing Information Analysis and Service Grid Node
539
models at 1995, which gave a good example of graph modelbase, but arithmetic
modelbase is different according its application. Liu et al. built a simulation
supporting system of cold rolling process control system based on modelbase. Li et al.
(2002) built water environment models and put them in modelbase. So we present an
arithmetic modelbase that is used in remote sensing application and also can connect
to Grid environment - Condor platform through RISN at IRSA, CAS, China based on
the Condor platform.
The node is a special node of Spatial Information Grid (SIG) in China. The node
will be introduced in Section 2. The modelbase system and the function of modelbase
in the node will be demonstrated in Section 3. Finally, the conclusion and further
development will be addressed in Section 4.
540
Y. Xue et al.
Modelbase System in Remote Sensing Information Analysis and Service Grid Node
541
be shared seems like the common service in Grid environment. In this article we
describe a modelbase system used in Remote Sensing Information Analysis and
Service Grid Node which can be used on Condor platform. With the modelbase
system, we can organize and manage models better and make full use of models and
run models on Condor platform. Any models can be added by any users who are
authorized, in the future, models will be added to modelbase only after checked by
administrator.
Acknowledgment
This publication is an output from the research projects Multi-scale Aerosol Optical
Thickness Quantitative Retrieval from Remotely Sensing Data at Urban Area
(40671142) and "Grid platform based aerosol monitoring modeling using MODIS
data and middlewares development" (40471091) funded by NSFC, China and 863
Program - Remote Sensing Information Processing and Service Node funded by the
MOST, China.
References
1. Blanning, R.W.,: How Managers Decide to Use Planning Models. Long Range Planning.
13(1980) 32-35
2. Geoffrion, A.,: An Introduction to Structured Modeling. Management Science.
33:5(1987)547-588
3. Muhanna, W.A., and Roger, A.P.: A System Framework for Model Software Management.
TIMS/ORSA meeting, Washington, DC. 4(1988)
ISEGI - UNL
Portuguese Naval Academy
{vlobo, bacao, mloureiro}@isegi.unl.pt
2
1 Introduction
One of the most challenging tasks in geocomputation has been the need to provide an
adequate digital representation to continuous phenomena such as those typically
captured in geographic information. The need to define crisp boundaries between
objects in geographic space leads to data representations that, while apparently
providing a rigorous description, in reality have serious limitations as far as fuzziness
and accuracy are concerned. There is an inherent inexactness built into spatial,
temporal and spatio-temporal databases largely due to the artificial discretization of
what are most often continuous phenomena [1]. The subtleties that characterize
space and time changes in geo-phenomena constitute a problem as they carry large
levels of fuzziness and uncertainty. While fuzziness might be characterized as
inherent imprecision which affects indistinct boundaries between geographical
features, uncertainty is related to the lack of information [1]. Note that these
characteristics are not limited to the spatial representation but also include
categorization, and attribute data. All these facts lead to the eminently fuzzy nature of
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 542549, 2007.
Springer-Verlag Berlin Heidelberg 2007
543
2 Problem Statement
Fuzzy Set Theory was introduced in 1965 by Zadeh [4]. A fuzzy set may be regarded
as a set with non-crisp boundaries. This approach provides a tool for representing
vague concepts, by allowing partial memberships of entities to concepts. In the
context of data analysis, entities are usually represented by data patterns and concepts
are also represented by data patterns that are used as prototypes. Fuzzy membership
may be defined using the following formalism. Given:
a set of n input patterns X = {x1, , xi, , xn}, where xi = (xi1, , xij, , xid)T
d, and each measure xij is a feature or attribute of pattern xi
a set of k concepts defined by prototypes C={c1, ..., cc, , ck}, where cc = (cc1,
, ccj, , ccd)T d, with k<n,
the fuzzy membership uic of pattern xi to a prototypes cc is defined so that:
uic [0,1], i=1, , n and c=1, , k
(1)
544
There are many ways of defining memberships uic. These may be divided into two
major groups e.g. [5, 6] :
1- The probabilistic methods, where the sum of memberships of a pattern to all
concepts has to add to 1:
uic = 1 , i=1, , n
(2)
(3)
While still maintaining the need to satisfy (1), the possibilistic approach relaxes the
constraint imposed by (2). This perspective may be interpreted as an absolute way of
determining the membership of a pattern to a concept, since its computation does not
depend on the membership of that pattern to other concepts.
Different methods of determining fuzzy membership coefficients have been
proposed e.g. [7]. Most of these methods are based on the distance between patterns
and prototypes. However, in some cases distance based methods may not achieve the
best results. A classical example of this is given by Ultsch [3] in the form of two
rings, in which membership of a data pattern to one of the rings can not be defined as
distance to any single point.
In this paper a new method for determining fuzzy membership coefficients based
on variations of data pattern density is proposed. In order to compute the density
distribution of data X in the d input space, the use of a Self-Organizing Map (SOM)
is proposed.
545
the regular grid of the SOM. We may associate to each of these edges a value that
corresponds to the distance, in the input space, between its end nodes. Given two
neighboring SOM units wa and wb, the value associated with the edge E that joins
them is:
E(wa, wb) = || wa wb ||
(4)
In this paper, this graph is named a U-Graph. This U-graph is usually the first step
in the computation of a U-Matrix [12], which is widely used in cluster analysis [13].
C (a, b ) =
j =1
E ( w j , w j +1 ) E ( w j +1 , w j + 2 )
(5)
Where w1, w2, ..., we are the nodes that form the path. The cost is obtained from the
sum of absolute differences of edges, between pairs of adjacent edges on the path P
from node a to node b. If the path has less than 3 nodes, then the cost is considered to
be zero.
If in some area of the SOM the data patterns have a more or less constant density,
the distance between units will also be more or less constant, and thus the cost will be
low. On the other hand, if there are variations in the data pattern density, the SOM
units will be unevenly spaced. This varying distance between nodes will lead to a high
value in the cost function.
Areas where the density is constant may be regarded as a continuous cluster, and
thus all data patterns in that area should have a high membership to a reference
prototype. On the other hand, if there are large variations in the data density, the data
patterns should be considered to form different clusters, and thus the membership of a
pattern to a prototype in another cluster should be low.
To convert low cost to high membership (and vice-versa), the membership of a
pattern xi to a concept cc is calculated using:
u ab =
1
1 + C ( a , b)
(6)
546
The first two steps must be done only once, while the others must be repeated for
each data pattern. Step 5 involves solving an optimization problem on a graph. It must
be pointed out that this is not simply the shortest path along the graph, which would
be a trivial problem. The fact that the absolute value of the difference between two
consecutive edges is used, instead of the values of the edges themselves, renders the
traditional shortest path algorithms useless. While this is a serious practical problem,
it is irrelevant for the purpose of this paper. In the tests presented in the next section,
this optimization was performed using a very fast heuristic based on simulated
annealing, that obtains a sub-optimal but still very useful solution.
Fig. 1. Top left side: Pattern dataset and zone identification. Each zone has approximately
constant pattern density. Top right side: SOM trained with the dataset. Notice the
approximately constant density of SOM units in each zone. On the bottom we present the
defuzzified results of using the classical membership functions (eq.7) on the left, and the
proposed membership functions on the right. Darker patterns have higher membership to.
547
After training the SOM, more units will end up on zone A, due to the higher
density of patterns, and the opposite happens in zone B (Fig.1). It is worth noticing
that each zone has a prototype density approximately constant, which is a function of
the pattern density [10].
To characterize zones A and B, one data pattern from each must be selected as a
prototype, and the membership of all other patterns to those two prototypes must be
computed. It would be desirable that all data patterns of zone A have a high
membership to its prototype, and a low membership to the other one (and viceversa).
Two patterns were chosen as reference prototypes, one pattern from each of the
zones A and B (Fig.1). They were intentionally placed asymmetrically with respect to
the border between zones A and B.
To act as benchmark against the new method proposed, one of the most popular
distance based methods was used [7], which computes membership of a data pattern x
to concept c as:
u ij =
xi c j
c =1 xi cc
m 1
(7)
The values of membership functions computed using this equation and using the
proposed method are presented in Fig. 2. By observing these figures, we may easily
see that:
1- When using probabilistic distance based methods, data patterns far away have
average membership values, and these are approximately the same for all concepts.
This uncertainty may be solved by using a maximum operator, but this defeats the
purpose of fuzzy membership. On the other hand, using the approach proposed in this
paper, even distant patterns are clearly identified as belonging to a cluster provided
the pattern density is constant. The same effect could be obtained by certain clustering
algorithms such as simple linkage, but these fail in other cases [3].
2- When using distance based methods, the borders between concepts will always
be in the mid points between their respective prototypes. This means that the exact
positioning of these prototypes is critical. If the relative positions of the prototypes
vary slightly, the line separating the classes may change considerably. If the borders
are not straight lines, distance based methods cannot be used to identify them unless
several prototypes are used for each concept (forming stepwise linear borders). In the
method proposed in this paper, the borders will occur whenever there are variations in
data density, regardless of how far from the reference prototype, and borders may
have any shape.
3- When using probabilistic based methods, data patterns on the borders are
considered to have 0.5 membership to each concept. In many cases this is not at all
true, since the border belongs simultaneously to both concepts, with high membership
values. In the method proposed in this paper, the borders have high membership to
both concepts.
548
Fig. 2. Probabilistic membership functions to c1 (right) and c2 (left) obtained with (eq. 7) on the
top row, and with the proposed method on the bottom
References
1. Peuquet, D.J., Making Space for Time: Issues in Space-Time Data Representation.
GeoInformatica, 2001. 5(1): p. 11-32.
2. Goodchild, M., Introduction: Special Issue on 'Uncertainty in geographic information
systems'. Fuzzy sets and systems, 2000. 113(1): p. 3-5.
549
1 Introduction
One of the most important developments in Geographic Information Science
(GIScience) is the expansion of theories, models, and technologies to effectively
discern and interpret spatiotemporal patterns, relationships, and interactions among
features, activities, processes, and events in geographic domains. In current era, as
rapid changes of urban land-use all over the world have greatly impacted on local [1-3]
and global environmental changes [4, 5], the issue of modeling the spatial process of
urban growth to better understand the mechanism and consequences of urbanization
and explore the extent of future urban land-use change has attracted sweeping
attentions of scientists with background in different disciplines ranging from
anthropology to mathematical programming. This issue also has enriched the theory
and technology of simulation model of geographic phenomena.
An important component in Cellular Automata (CA)-based urban geosimulation
models is the local spatial interaction between neighborhood land-use types. The
neighborhood interaction is often addressed based on the notion that urban
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 550557, 2007.
Springer-Verlag Berlin Heidelberg 2007
551
552
the neighborhood area of developable cell accord with the rule of distance decay
described in the FLG.
The expression of Toblers FLG is very qualitative, and a distance decay function is
needed for representing the law. Herein the idea of Reillys law of retail gravitation
[18] was adopted, which states that A city will attract retail trade from a town in its
surrounding territory, in direct proportion to the population size of the city and in
inverse proportion to the square of the distance from the city. Fig. 1 shows one of the
extended neighborhood patterns of one developable cell i, which is defined as all cells
within a radius of eight cells, an area containing 196 cells. It is assumed that in cellular
environment all the cells in the neighborhood contribute to the conversion of
developable cell i. The contribution of one cell is associated with the state of itself and
the distance to the developable cell i. It can be express as follows:
f kh = Gkh
Aj .
(1)
d 2ji
Where,
fkh: constribution of one cell j with land-use k in the neighborhood to the conversion
of the developable cell i to land-use h for next stage,
Aj: area of the cell j,
dji: the Euclidean distance between the cell j in the neighborhood area and the
developable cell i, and
Gkh: constant of the effect of land-use k on the transition to land-use h. + stands for
positive, repulsive.
Fig.2 indicates the scheme of the impact gradient using this function. Notice that this
is a modificatory Reillys function and no unit problem exist in this function.
Then the aggregated effect of the cells in the neighborhood can be expressed as:
m
Fkh = Gkh
Aj
2
j =1 d ji
I kj .
(2)
553
Where,
m: total number of the cells in the neighborhood, and
Ikj: index of cells. Ikj=1, if the state of cell j is equal to k; Ikj=0, otherwise.
For one land-use type of one cell, there are just two results of transition: change or no
change. Therefore, logical regression approach was selected to calculate the
probabilities of the transition of cell i under neighborhood effect. The contribution of
neighborhood effect to the probability of conversion to land-use h of a cell (Ni) is
described as a function of a set of aggregated effect of different land-use types:
Log (
N ih
A
) = oi + ikh Fikh = oi + ikh Gkh 2m I mk .
1 N ih
k
k
m d mi
0' i = 0i ,
(3)
'
ikh
= ikhGkh
Then:
N ih
Am
'
Log (
) = 0' i + ikh
I .
2 mk
1 N ih
k
m d mi
(4)
Where, 'oi and 'ikh are the coefficients which should be calibrated.
554
calibration procedure. The integration of both systematic and random sampling method
was adopted to eliminate spatial dependence effect. Firstly, land-use changes were
detected from the data set in 1984 and 1989. Systematic sampling was implemented
and approximately half cells of the changes of every one of four active land-use types
were remained. Then random selection of not changed cells was carried out to create
nearly 1:1 ratio for changed cells and not changed cells. Its total size was 27, 070 cells.
The result of calibration is shown in Table 1.
Table 1. Result of calibration of neighborhood interaction
Active land-use types
factors and test
Vacant land Industrial land
Residential land
Commercial land
Total size (cells)
11034
1732
11596
2708
of sampling
Vacant land, h
1.147
*0.091
0.190
0.158
Industrial land, h
0.334
1.446
0.262
0.457
Residential land, h
0.103
**
0.562
0.209
Commercial land, h
0.348
0.727
0.181
1.821
Road, h
0.199
**
0.421
0.561
Public land, h
0.198
**
0.199
0.224
Constant 0
-2.428
-1.988
-2.830
-2.763
Test
PCP (%)
84.3
87.6
83.6
86.3
ROC
0.924
0.937
0.905
0.937
PCP: Percentage Correctly Predicted (0-100%); ROC: Relative Operating Characteristic (0-1).
*: significant at p<0.05; **: non-statistically significant; others significant at p<0.001.
Table 1 illustrates that all the values of PCP of four active land-use types are more
than 80% and all of the values of ROC more than 0.9, thus showing goodness of fit of
this approach. The results of the test also indicate the existence of neighborhood
interaction in urban land-use changes.
(5)
Where, tPik = the potential of the cell i for land use k in time t; t-1Nik = the neighborhood
effect on the cell i for land-use k at time t-1, which equals the value of Nih in equation 4;
t-1
Sik = the intrinsic suitability of the cell i for land-use k at time t-1; t-1Zik = the zoning
status of the cell i for land-use k at time t-1; t-1Aik the accessibility of the cell i to
transportation for land-use k at time t-1; t-1v is the scalable random perturbation term at
time t-1. Four active land-use types were changed by an intervention that is exogenous
to the CA model from regional systems.
555
(b)
Fig. 3. Land-use maps in the study area: (a) simulation in 1994; (b) reality in 1994
In this schema the neighborhood factor N makes city works like a non-linear system
as suitability, accessibility and land-use zoning status are relatively stable in certain
period.
In a learning stage, t-1Sik, t-1Zik, and t-1Aik also were calibrated through the dataset in
1984 and 1989. The calibrated model was used to simulate the spatial process of urban
growth of the Tokyo metropolitan area from 1989 to 1994. Land-use maps in
simulation and reality are shown in Fig. 3. Note that in order to make the maps clearer,
land-use types of forest & wasteland and cropland have been grouped into
non-urbanized area and other land-use types except water into urbanized area.
A good CA-based model produces results which have all the patterned complexity of
the real system [12]. Comparison of the simulated result with the actual data in terms of
fractal dimension and spatial metrics was carried out towards the test of this proposed
approach. These two indices are excellent for presenting the pattern of complex system
like city [21]. Table 2 shows the assessment result of the simulated urbanized area in
terms of fractal dimension. Areas, the distance from which to Tokyo station is more
than 50km, were omitted considering the effect of boundary in this table. In order to
understand the change of urbanized area structure and confirm the ability of this model
in capturing the change of structure, fractal dimension of urbanized area in 1989 also is
shown. Table 2 indicates that urbanized area shows bifractal structure in the study area.
Urbanized area had grown more greatly in the second radius zone with 16-50km than in
the first one with 0-16km. Model well captures this characteristic.
Fig.4 shows the assessment result of simulation in terms of spatial metrics. Two
metrics were used for the assessment: NP (number of patches) and PD (patch density).
Values of NP and PD had declined from 1989 to 1994, thus indicating the
characteristics of compact growth or conglomeration of the existing urbanized area in
the study area. Simulated urbanized area presents the same characteristics. However, if
we take out the component of neighborhood interaction from the model, NP and PD
turgidly increased. This confirms the utility of the proposed approach in modeling
neighborhood interaction.
556
Fractal dimension
in different radius zones
In 0-16km radius
In 16-50km radius
Reality in 1989
Reality in 1994
Simulation in 1994
1.94
1.45
1.95
1.48
1.95
1.48
13000
1.60
12561
NP
1.52
1.40
11000
1.30
10000
9909
9609
9594
1.16
1.16
1.20
1.20
9000
8000
1.50
PD
12000
1.10
1.00
reality in 1989
reality in 1994
Fig. 4. Comparison of the significance of spatial metrics of urbanized area between reality and
simulation in the Tokyo metropolitan area
5 Concluding Remarks
This study developed a novel approach for modeling and calibrating neighborhood
interaction in CA-based urban geosimulation. The proposed method provides a
theoretical framework for presenting neighborhood effect of CA. The results of
simulation using the Tokyo metropolitan area as a case study indicates that urban
geosimulation model which embeds this method well captures the main characteristics
of spatial process of urban growth. The results also confirmed the utility of this method
for presenting dynamics of complex system.
This approach can be used not only in regular grid cells, but also in irregular cells,
like in vector structure, as it considers the area of cells and the distance decay. To
discuss this issue would be a value extension to the current study.
References
1. Lin, G.C.S., Ho, S.P.S.: China's land resources and land-use change: insights from the 1996
land survey. Land Use Policy 20 (2003) 87-107
2. McKinney, M.L.: Urbanization as a major cause of biotic homogenization. Biological
Conservation 127 (2006) 247-260
3. Paul, M.J., Meyer, J.L.: Streams in the urban landscape. Annual Review of Ecology
Systematics 32 (2001) 333-365
557
4. Grimm, N.B., Grove, J.M., Pickett, S.T.A., Redman, C.L.: Integrated approaches to
long-term studies of urban ecological systems. Bioscience 50 (2000) 571-584
5. Lambin, E.F., Turner, B.L., Geist, H.J., Agbola, S.B., Angelsen, A., Bruce, J.W., Coomes,
O.T., Dirzo, R., Fischer, G., Folke, C., George, P.S., Homewood, K., Imbernon, J.,
Leemans, R., Li, X., Moran, E.F., Mortimore, M., Ramakrishnan, P.S., Richards, J.F.,
Skanes, H., Steffen, W., Stone, G.D., Svedin, U., veldkamp, T.A., Vogel, C., Xu, J.: The
causes of land-use and land-cover change: moving beyond the myths. Global Environmental
Change 11 (2001) 261-269
6. Christaller, W.: Central Places of Southern Germany (Edition 1966). Prentice Hall, London
(1933)
7. Fujita, M., Krugman, P., Mori, T.: On an evolution of hierarchical urban systems. European
Economic Review 43 (1999) 209-251
8. Krugman, P.: The role of geography in development. International Regional Science
Review 22 (1999) 142-161
9. Batty, M.: Urban evolution on the desktop: simulation with the use of extended cellular
automata. Environment and Planning A 30 (1998) 1943-1967
10. Wu, F.: SimLand: a prototype to simulate land conversion through the integrated GIS and
CA with AHP-derived transition rules. International Journal of Geographical Information
Science 12 (1998) 63-82
11. Yeh, A.G.O., Xia, L.: A constrained CA model for the simulation and planning of
sustainable urban forms by using GIS. Environment and Planning B 28 (2001) 733-753
12. White, R., Engelen, G.: High-resolution integrated modelling of the spatial dynamics of
urban and regional systems. Computers, Environment and Urban Systems 24 (2000)
383-400
13. White, R., Engelen, G.: Cellular automata and fractal urban form: a cellular modelling
approach to the evolution of urban land-use patters. Environment and Planning A 25 (1993)
1175-1199
14. White, R., Engelen, G., Uljee, I.: The use of constrained cellular automata for
high-resolution modeling of urban land-use dynamics. Environment and Planning B 24
(1997) 323-343
15. Straatman, B., White, R., Engelen, G.: Towards an automatic calibration procedure for
constrained cellular automata. Computers, Environment and Urban Systems 28 (2004)
149-170
16. Tobler, W.: A computer movie simulating urban growth in the Detroit region. Geographical
Analysis 46 (1970) 234-240
17. Goodchild, M.F.: The validity and usefulness of laws in geographic information science and
geography. Annals of the Association of American Geographers 94 (2004) 300-303
18. Reilly, W.J.: The Law of Retail Gravitation. Knicherbocker, New York (1931)
19. Irwin, E.G., Geoghegan, J.: Theory, data, methods: developing spatially explicit economic
models of land use change. Agriculture, Ecosystems & Environment 85 (2001) 7-23
20. Cheng, J., Masser, I.: Urban growth pattern modeling: a case study of Wuhan city, PR
China. Landscape and Urban Planning 62 (2003) 199-217
21. Barredo, J.I., Demicheli, L.: Urban sustainability in developing countries' megacities:
modelling and predicting future urban growth in Lagos. Cities 20 (2003) 297-310
Introduction
ANNs Application
559
Data Processing
(1)
where
Z=
Zxx Zxy
Zyx Zyy
(2)
For horizontally layered Earth Zxx = Zyy = 0 and Zxy = Zyx (Cagniard
model), so we can obtain magnetotelluric amplitude and phase curves by:
0.2 2
|Z|
f
(3)
(f ) = Arg(Z)
(4)
(f ) =
Neural Approach
The applied modular neural system consists of three multi-layer articial neural
networks (ANNs). The rst one - ANN1 - recognizes how many layers constitute the studied fragment of lithosphere - only two-layer and three-layer cases
are considered. If the number of lithosphere layers is equal to two then input
vector is put into the second neural network ANN2. Otherwise it is put into
the third neural net ANN3. Networks ANN2 and ANN3 calculate parameters of
one-dimensional model.
Two various form of the input vector components [x1 , ..., xn ] for ANNs were
tested. In the rst case vector components were scaled using the following forms
x2i1 =
ln (i )
k1
(5)
x2i =
(i )
k2 ,
x2i1 =
i+1
(i )d
i
55 ( )d
i
1
k3
(6)
x2i =
i+1
(i )d
i
k4 55 (i )d
1
where i = 1, ..., 54 and constant values k3 and k4 were used for component
normalization as in the case of input data representation given by formula (5).
560
A. Bielecki et al.
Results
No Data
1
2
3
4
5
6
7
8
scaled
scaled
scaled
integ.
integ.
scaled
scaled
scaled
Activation
MAPE for MAPE for
function Training Training
testing the whole
for output parameter method
set
set
layer
sigmoidal
0.2
backprop.
3.30
3.06
linear
0.2
backprop.
2.32
1.98
sigmoidal
0.4
backprop.
2.53
2.48
sigmoidal
0.2
backprop.
7.32
7.34
linear
0.2
backprop.
5.68
6.16
sigmoidal
0.8
backprop.
3.23
3.18
linear
0.2
momentum
1.73
1.65
sigmoidal
0.4
momentum
2.41
2.42
In three-layer case the training set consisted of 1147 elements and testing set
had 383 elements. Results are presented in Table 2.
The net ANN1, recognizing to which model (two- or three-layer) belonged
given curves, consisted of ve neurons in the hidden layer and two output neurons. If the rst component of output signal was greater then the two-layer model
was chosen. The network achieved 100% of correctness after 700 training epochs.
ANNs Application
561
No Data
1
2
3
4
5
6
7
scaled
scaled
scaled
integ.
scaled
integ.
integ.
Activation
MAPE for MAPE for
function Training Training
testing the whole
for output parameter method
set
set
layer
linear
0.2
backprop.
4.18
3.57
sigmoidal
0.2
backprop.
4.02
3.40
linear
0.2
momentum
3.89
3.77
linear
0.2
backprop.
4.79
4.46
sigmoidal
0.4
backprop.
4.50
4.10
sigmoidal
0.4
backprop.
4.40
4.13
linear
0.2
momentum
4.72
4.53
Concluding Remarks
The presented investigations concerns possibility of articial neural systems applications in MT method. It should be stressed that presented tests are preliminary and 2D and 3D cases must be studied. Anyway the obtained results are
promising and can be a contribution to studies concerning eciency of modular
neural systems ([1], [3], [5]).
References
1. Auda G., Kamel M.: Cooperative modular neural networks for pattern recognition.
Pattern Recognition Let., Vol. 18 (1997) 1391-1398
2. Cagniard L.: Basic theory of the magnetotelluric method of geophysical prospecting.
Geophysics, Vol. 18 (1953) 605-637
3. Marciniak A., Korbicz J.: 2000, Modular neural networks. In: Duch W., Korbicz J.,
Rutkowski L., Tadeusiewicz R. (eds.): Biocybernetics and Biomedical Engineering.
Warszawa, EXIT (2000) 135-178
4. Sarlis, N., Lazaridou, M., Kapiris, P., Varotsos, P.: Numerical model of the selectivity eect and the DV/L criterion. Geophysics Research Letters, Vol. 26 (1999)
3245-3248
5. Sharkey A. (ed.): Combining Articial Neural Nets: Ensemble and Modular MultiNet Systems. Springer, Berlin (1999)
6. Tikhonov, A. N., 1950, The determination of the electrical properities of deep layers
of the Earths crust. Dokl. Acad. Nauk. SSR, Vol. 73 (1950) 295-297
7. Varotsos, P., Alexopoulos, K., Nomicos, K., Lazaridou, M., 1988, Ocial earthquake
prediction in Greece. Tectonophysics, Vol. 152 (1988) 193-196
1 Introduction
Over the past decade GIS(Geographic Information Systems) technology has evolved
from the traditional model of stand-alone systems to distributed models. Distributed
GIS services will be implemented more extensively by using Web Services. But
there is on additional problem: large amounts of data need to be moved among users
and providers, so as to enable the first to perform their designated task. Since
geographic-related data are usually large in size this exchange becomes more and
more difficult despite the improvements in communication. But among SOAP
message transfer methods, SOAP/MTOM[1], which is using XOP for optimizing
message transfer, shows best performance when transferring large size of data
between services.
The bursting of the dot-com bubble in the fall of 2001 marked a turning point for
the web. The companies that had survived the collapse seemed to have some things in
common. Dot-com collapse marked some kind of turning point for the web, so it is
called Web 2.0. Ajax(Asynchronous JavaScript and XML) is one of the Web 2.0s
technologies. It provides asynchronous communication between the client and the
*
Corresponding author.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 562568, 2007.
Springer-Verlag Berlin Heidelberg 2007
563
server. Integrating Ajax approach into GIS visualization Web Services have
performance enhancement for user interface. [11]
This paper describe the model which is integrated Ajax into GIS Web Services,
and decide how to evaluate performance between using Ajax and non-Ajax in GIS
Web Services. Through the evaluation of the performance between Web Services
using Ajax and Web Services using non-Ajax, results indicate integrated Ajax into
Web Service model shows good performance Enhancement is approved.
The rest of this paper is organized as follows: a brief discussion of OGC GIS Web
Services and Ajax is given in section 2. Section 3 shows comparisons with related
work, and section 5 contains the introduction of integrated model. A definition of
performance evaluation and test results are described in Section 6. Conclusions are
followed in section 7.
2 Background
2.1 OGC GIS Web Services
Geographic Information Science has a lot to benefit by the adoption of the service
computing model. As mentioned also in the introduction geographic information
comes from different and diverse sources and in different formats. This is especially
true for the environmental related information which has to combine not only data
from different sources by also models and software.[8]
Technically, Web Services technologies have provided the necessary standards
for applications in different domains to integrate with GIS data and services,
significant accomplishments in GIS Web Services have led to several exemplifying
map and image services that adhere to Web Services standards and bring terabytes
of geospatial data and digital maps to enterprise developers who house no GIS
data.
The OGC(Open Geospatial Consortium) has successfully executed efforts for GIS
Web Services(OWS) initiative has undergone multiple phases including the Web
Map Server(WMS), Web Feature Server(WFS), Web Coverage Server(WCS), and
OGC Web Service Architecture, which support application developers in integrating a
variety of online geoprocessing and location services.
2.2 Ajax(Asynchronous JavaScript and XML)
Ajax is a style of web application development that used a mix of modern web
technologies to provide a more interactive user experience. Ajax is not a technology.
It is an approach to web applications that includes a couple of technologies. These are
JavaScript, HTML, Cascading Style Sheet(CSS), Document Object Model(DOM),
XML and XSLT, and XMLHttpRequest as messaging protocol. [2]
These core technologies forming Ajax are mature[6], well-known and used in web
applications widely. Ajax became so popular because it has a couple of advantages
564
for the browser based web applications developers. It eliminates the stop-start nature
of interactions, user interactions with the server happen asynchronously, data can
manipulated without having to render the entire page again and again in the web
browser, and requests and responses over the XMLHttpRequest protocol are
structured XML documents. This enables developers easily integrate Ajax
applications into Web Services.
3 Related Works
Previous researchers have described about applying Web Services to GIS. The
paper[3] indicates about GIS Web Services about satellite imaging. It says there are
problems when using GIS Web Services, because of sending large size of data. The
paper[7] describes about developing GIS visualization Web Services for geophysical
applications. Since images and capabilities documents can be too large and
transferring these data over the internet is cumbersome, its first priority is researching
technique for improving WMS performance.
Related to the Ajax, The paper[6] introduced integrating the model of Ajax
approach into GIS Web Services. It describes of invoking Web Services in the Ajax
Model but it is only theoretical so it has nonexistence of implementation.
Our study differs from previous studies in that we compare performance among
standard SOAP, SwA/MIME, and SOAP/MTOM. So, the paper[9] indicated the
result. When we send large size of data(raster and vector), SOAP/MTOM shows the
best performance. And there are no studies of implementing and evaluating
applications for GIS Web Services using Ajax.
565
566
Ajax
1
186ms
3
475ms
6
938ms
9
1410ms
12
1988ms
3000
567
2737
2500
2030
)s2000
(m
e1500
im
T
1000
1988
1410
1299
Ajax
non-Ajax
938
500
681
475
186
155
5
6
7
8
Number of images
10
11
12
Fig. 4 indicated the user roundtrip time. In Web Services using Ajax the server has
already read extra images and save them to its repository. So when the client requests
mages, it can read them directly and the server does not need to connect Web
Services. However in non-Ajax application, when the client requests images the
server must connect Web Services for fetching images every time. So it takes longer
than before. The roundtrip time is most important factor for user interface. If
roundtrip time measured less, users realize that the application has good performance.
The more evaluation data comes to many, the more gaps we get.
4000
3792
3500
3000
)s 2500
(m
e 2000
m
iT
1500
2609
1544
1000
500
0
672
222
47
1 2
190
3
438
5 6 7 8 9
Number of Images
1290
Ajax
non-Ajax
767
10 11 12
6 Conclusion
Our research is for performance enhancement in GIS Web Services.
performed evaluation experiments of SOAP and its variants for the
efficiency. Our tests indicate that SOAP performance is improved
SOAP/MTOM for sending protocol, in both raster data and vector data.
So we have
transmission
when using
It is because
568
Acknowledgement
This research was supported by the Ministry of Information and Communication,
Korea, under the College Information Technology Research Center Support Program,
grant number IITA-2006-C1090-0603-0031.
References
1. Gudgin, M., et al., 2005, SOAP Message Transmission Optimization Mechanism, (on-line)
http://www.w3.org/TR/soap12-mtom/
2. Jesse James Garret, Ajax: A New Approach to Web Applications. 2005. 2, http://
www.adaptivepath.com/ publications/essays/archives/000385.php
3. Kotzinos, D., et al., GIS Web Services and Satellite Imaging as a Framework for
Environmental Monitoring: The Design and Implementation of a Vegetation Indices
Calculation Test Case, Computer Science Department, University of Crete, Greece
4. Mitra, N., 2003, SOAP Version 1.2 Part 0:Primer, (on-line) http:// www.w3.org/ TR/
2003/ soap12-part0/
5. Ng, A., et al., 2005, A Study of the Impact of Compression and Binary Encoding on SOAP
performance, Department of Computing, Macquarie University, Australia
6. Sayar, A., et al., 2006, Integrating AJAX Approach into GIS Visualization Web Services,
Community Grids Lab, Indiana University, Bloomington, Indiana
7. Sayar, A., et al., Developing GIS Visualization Web Services for Geophysical
Applications, Community Grids Lab, Indiana University, Bloomington, Indiana
8. Tu, S., et al., 2006, Web Services for Geographic Information System, IEEE internet
Computing, pp. 13-15
9. Seung-Jun, C., et al., A Performance Evaluation of SOAP Variants for GIS Web Services,
ISRS 2006 PORSEC, Vol 2(2006), 615-618
10. Tim OReilly, What Is Web 2.0. Design Pattern and Business Models for the Next
Generation of Software, OREILLY, 2005. 9
11. Ying, Y., et al., 2004, A performance Evaluation of Using SOAP with Attachments for eScience, School of Computer Science, Cardiff University1.1 Checking the PDF File
State Key Laboratory of Remote Sensing Science, Jointly Sponsored by the Institute of
Remote Sensing Applications of Chinese Academy of Sciences and Beijing Normal University,
Institute of Remote Sensing Applications, Chinese Academy of Sciences, PO Box 9718,
Beijing 100101, China
2
Department of Computing, London Metropolitan University, 166-220 Holloway Road,
London N7 8DB, UK
3
Graduate University, Chinese Academy of Sciences, Beijing 100049, China
4
College of Information and Electrical Engineering, China Agricultural University, PO Box
142, Beijing, 10083,China
jpguo_irsa@hotmail.com, y.xue@londonmet.ac.uk
Abstract. The signal at the top of the atmosphere will certainly contain
information about both the surface and the atmosphere. To derive the
geophysical parameters from satellites remote sensing images, the atmospheric
effects must be decoupled. Aerosol Optical Thickness (AOT), an important
aerosol optical property, should be correctly determined to remove the
atmospheric effect. The retrieval process is great time-consuming and the EMS
memory required is too large for a personal computing to run efficiently.
Therefore, to facilitate the process smoothly, SYNTAM model is used to
retrieve AOT over a wide range of land including China and one European area
from MODIS data on the Remote Sensing Information Service Grid Node
(RSIN, http://www.tgp.ac.cn) deployed at Institute of Remote Sensing
Applications, Chinese Academy of Sciences. AOT retrieval results show that
the RSIN Grid service is high efficient and has the potential to be applied to the
remote sensing parameter inversion.
Keywords: Aerosol Optical Thickness Retrieval, MODIS Data, Remote
Sensing Information Service Grid Node.
1 Introduction
Aerosols are important components of the atmosphere that influence the Earths
energy balance both directly (by scattering and absorbing radiation) and indirectly (by
serving as nuclei for cloud formation), and affect hydrological cycle (IPCC, 2001).
*
Corresponding author.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 569 576, 2007.
Springer-Verlag Berlin Heidelberg 2007
570
J. Guo et al.
They also affect public health and reduce visibility (Jacovides et al., 1994). Aerosol
particles have heterogeneous spatial and temporal distributions with life spans on the
order of days to weeks (IPCC 2001). Satellite observations of aerosol concentrations
are thought to contribute greatly to reduce the large uncertainty in current estimates of
aerosol-caused radiative forcing (Varotsos et al., 2006).
AOT can be retrieved from a wide range of satellites sensors including Moderate
Resolution Imaging Spectroradiometer (MODIS), MISR (Multiangle Imaging
SpectroRadiometer), AVHRR (Advanced Very High Resolution Radiometer),
POLDER (Polarization and Directionary of the Earth's Reflectances). The operational
retrieval of the AOT over sea suggests that the algorithm is matured. Derivation of
AOT over land, however, remains great uncertainty due to its high variation of land
type. DDV method has been proposed among researchers to retrieve aerosol
properties over such dark targets as water bodies and vegetation areas (Liu et. al.,
1996).
MODIS is a sensor with the ability to characterize the spatial and temporal
characteristics of the global aerosol field. Launched aboard NASAs Terra and Aqua
satellites in December 1999 and May 2002, MODIS has 36 channels spanning the
spectral range from 0.41 to 15m representing three spatial resolutions: 250m, 500m,
and 1km. The aerosol retrieval makes use of seven of these channels (0.472.1m) to
retrieve AOT and properties (Kaufman et al., 1997).
When assuming the aerosol optical property invariable and the temporal
differences between the two satellite overpasses over the same region ignored, the
Synergy of TERRA and AQUA MODIS data (SYNTAM) algorithm is used to
retrieval AOT from MODIS (Tang et al. 2005).
Grid computing aggregates heterogeneous resources and provides hardware and
software services, supporting application and services composition, workflow
expression, scheduling, and execution management and service level agreements
based allocation of resources. It has been an enabled environment for data sharing and
processing.
Researchers and corporations have developed different types of grid computing
platforms including support resource pooling or sharing such as SETI@Home,
Condor, and Alchemi harnessing idle CPU cycles from desktop computers in the
network, Globus, EU DataGrid, and Gridbus allow sharing of computational and
distributed data resources. Guo et al., (2005) proposed a grid-based spatial
epidemiology applicationa for scientists from both biological and spatial information
fields. With respect to remote sensing applications based on grid service Aloisio et al.
(2004) proposed a grid architecture, then after that, the grid platform of remote
sensing data processing is developed (Aloisio et al. 2003).
In this paper we focus on the implementation of aerosol optical thickness retrieval
on RSIN developed by Telegeoprocessing Research Group in Institute of Remote
Sensing Applications (IRSA), Chinese Academy of Sciences (CAS), providing more
than ten geophysical parameter retrieval functions (Luo et al., 2006). The remainder
of this paper is organized as follows: in Section 2, the algorithm of AOT retrieval is
introduced in detail. The architecture and process of the AOT retrieval service are
presented in Section 3. Two AOT retrieval experiments over China and one European
571
area are performed on RSIN. Finally, some conclusions are drawn about the AOT
retrieval implementation by means of Grid service platform-RSIN, and future work is
discussed.
2 SYNTAM Model
The Synergy of Terra and Aqua MODIS data (SYNTAM) algorithm is used to
retrieval AOT in this paper. The aerosol retrieval model bases on Equation (1) (Xue
and Cracknell 1995).
'
Aj,i =
(Aj,i b a j ) + a j (1 Aj,i )e
'
(1)
'
where j=1,2, respectively stands for the observation of TERRA and AQUA; i=1,2,3,
respectively stands for three visible spectral bands with central wavelength at 0.47m,
0.55m, 0.66m; is the central wavelength. A is the Earths surface reflectance. A
is the Earths system reflectance (Tang, et al.2005).
The SYNTAM algorithm infers the surface-leaving and path radiance contributions
to total observed radiance without any assumption regarding the absolute surface
reflectance and the land type, but with assumption regarding the invariance of
wavelength exponent during time intervals of Terra and Aqua satellites overpass
time (10:30, 13:30, local time, respectively).
The process of AOT retrieval using SYNTAM includes fourfold as follows: first of
all, the input images from both Terra and Aqua should be georeferenced before coregistration are performed. Secondly, the radiance calibration is performed to get the
correct physical parameters including sensor zenith angle, solar zenith angle, and top
of atmosphere reflectance. Thirdly, cloud should be screened and removed. Finally
all pixel values, as input parameters, are to SYNTAM to derive AOT. The retrieval
results may be post-processed and then provided to the end users through the RSIN
Grid service.
572
J. Guo et al.
nodes. It also can be as small as just on personal computer. Figure 1 describes the
architecture of Remote sensing information analysis and service Grid node. The node
is part of the SIG, but it also can provide services independently. Therere two entries
to the node (Luo et al., 2006):
1. A portal implemented by JSP. User can visit it through Internet browses, such as
Internet Explorer and others.
2. A portal implemented by web service and workflow technology. It is special for
SIG. Other Grid resources and Grid systems can integrate with our node through
this portal.
573
results and then post-processes them. The final results are sent to the user via the Grid
portal. At the same time, the job status is simultaneously monitored by a grid pool
manager.
In the following paragraphs, data query schemes, data pre-processing, job
management and AOT post-processing are discussed in detail.
3.2.1 Data Query
The MODIS data are distributed on RSIN, whose metadata describe the information
of the MODIS data, which includes range, producer, quality, date and time,
processing methods, satellite, and so on. The data searching service search the
registered metadata based on SQL and find out where the required data hosted in.
Then query results then returned to the data pre-processing service.
3.2.2 Data Pre-processing
Before going to SYNTAM AOT retrieval process, geometrical corrections (including
calibration, geo-reference, merging and clipping etc) and radio-metrical calibration
should be performed. After that, 16 input parameters required in SYNTAM are in
ASCII format and poised to be input to the next phase.
Geo-referencing of MODIS data is time consumable and computationally intensive.
Combined with the calibration, the geo-reference task is submitted to the Grid. The
algorithms and the partition strategy can be found in the paper from Hu et al. (2005).
The merging, clipping and format transfer are combined to a unity one. When it
concerns to regional or global scale, the partition strategy must be considered if there
are no high-powered computer that could handle the merging process in the Grid
pool. We apply dynamic filling methods to fulfill the task. Firstly, the request range is
divided into regular pieces according to the available computers amount. The sub
range information and the geo-referenced data are sent to the job nodes in the grid
environment. Secondly, the job nodes search the data within the specified range and
fill the data into the correct location. After the required 16 parameter files are ready
on the job node, the SYNTAM AOT services start up.
3.2.3 Job Management and Post-processing
The task is partitioned into many sub jobs, which are identified by unique Grid job
identifiers. The job manager monitors the job status (running or idle) during the
process. Finished status is reached whenever user retrieves all the output files
produced by a job. The job is check-pointed for later restart. When a chosen resource
refuses to accept the job, the job is vacated and waiting for the manager to reallocate
to other computing element. The grid manager collects all the results returned from
the job nodes. The results are merged dynamically. After all of the results are merged,
the merged files are transformed to the format, which the user required and then the
transformed files are finally transferred to the user.
574
J. Guo et al.
In respect of the AOT retrieval in Europe, Figure 2 shows the preliminary results.
The retrieval results are tested with collocated Aeronet in-situ data in Western Europe
where 4 Aeronet sites can be available. Figure 3 shows that AOT measurements in
Oostende Aeronet site is compared with the collocated MODIS measurements
averaging over the area within 5km around Oostende. It shows good agreements
between SYNTAM retrieval and MODIS Aeronet measurements. The average
difference between SYNTAM retrieval AOT value and Aeronet measurements is
0.0165.
Fig. 2. AOT retrieval from MODIS data on RSIN for a part of Europe on July 2, 2006
5 Conclusions
The implementation of the AOT retrieval on RSIN is discussed and tested. In order to
check for consistent AOD retrievals, validation for 4 AERONET sites has been
incorporated. It is shown in the few examples in this paper that the retrieved AOD
compares favorably with the collocated AERONET sun-photometer measurements.
Our tests are based on RSIN. The experiments are successful but there are some
aspects we should improve in the future. For example, the load balance on RSIN is to
be improved. Moreover, the partition strategy doesnt consider the difference among
the computing elements. When the job is submitted to node with lower computing
ability, the whole efficiency will be affected. Otherwise, when there are high power
computers in the grid pool, it may be more efficient to submit most of jobs to them. A
scheme should be added in order that able person should do more work. Another
575
aspect we should improve is the data management. In our experiments, the database is
file based. When the data are centralized in one node, the transferring way will be
jam-packed In the future the distributed database should be build with the dynamic
replica scheme to reduce the pressure on the data source nodes.
D
''
Fig. 3. AOT in Oostende (N 5113'30
, E 02D 55'30'' ), as a function of wavelength
Acknowledgement
This publication is an output from Multi-scale Aerosol Optical Thickness
Quantitative Retrieval from Remotely Sensing Data at Urban Area (40671142) and
"Aerosol fast monitoring modelling using MODIS data and middlewares
development" (40471091) funded by NSFC, China. We are grateful to the MODIS
team for making available data used here. Many thanks go to the PI investigators of
the mentioned AERONET sites used in this paper and Sina-EU Dragon program.
References
1. Aloisio, G., Cafaro, M.: A dynamic Earth observation system. Parallel Computing (2003)
1357-1362
2. Aloisio, G., Cafaro, M., Epicoco, I., Quarta, G.: A problem solving environment for
remote sensing data processing. In Proceeding of ITCC 2004: International Conference on
Information Technology: Coding and Computing held in Las Vegas, NV, USA on 5-7
April 2004,Vol.2. 56-61
3. Cannataro, M.: Clusters and grids for distributed and parallel knowledge discovery.
Lecture Notes in Computer Science (2000) Vol. 1823, 708-716
4. Guo Jianping, Yong Xue, Chunxiang Cao, Wuchun Cao, Xiaowen Li, Jianqin Wang,
Liqun Fang: eMicrob: a Grid-based Spatial Epidemiology Application. Lecture Notes in
Computer Science (2005) Vol. 3516, 472-475
5. Hu Yincui, Xue Yong, Tang Jiakui, Zhong Shaobo, Cai Guoyin: Data-parallel
Georeference of MODIS Level 1B Data Using Grid Computing. Lecture Notes in
Computer Science (2005) Vol. 3516, 883-886
576
J. Guo et al.
Introduction
Grid is a computing paradigm aiming for large-scale resource sharing and clusters
are one of its key components. By sharing globally distributed resources such as
data, storage, and application, it pursues benets of both cost and eciency.
Many parallel programming models on top of Grid are proposed to make full
use of integrated resources. Currently, Message Passing Interface (MPI) is a
defacto standard and many studies aim to advance MPI.
It is very typical that clusters assign private addresses to their working nodes
and such nodes are unreachable from public networks. Therefore, it is impossible
for any two nodes behind dierent private clusters to directly communicate. It
could be a huge loss of resources if private clusters are excluded from Grid
due to the reason above. Hence there has been much work on making parallel
programs be executed over clusters in private networks [1,2,3]. Most of them
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 577584, 2007.
c Springer-Verlag Berlin Heidelberg 2007
578
I. Jo et al.
General Concepts
Problem Domain
In general, each host behind private networks does not have a unique address on
public networks. Thus it remains anonymous and inaccessible from the external
hosts. Such unreachability does not trouble outgoing-centric applications such
as web browser.
However, as P2P programs for game, video conferencing, or le sharing are
widely used, it is inevitable to solve this unreachability. P2P applications essentially need inter-host communication, but the incoming connections from the
outside hosts toward private networks will not be setup due to their NATs [5].
Most of NATs function as an asymmetric bridge between a private network and
public networks. That is, they permit outgoing trac but discard incoming one
579
unless it belongs to an existing session initiated from the host within the private
networks.
There has been some work on this issue [6,7,8], and the currently known
schemes are relaying, connection reversal, and UDP hole punching.
Host?S
Server?S
2.?Request?to?relay?connection?
request?to?Host?A
Public Internet
Public Internet
3.?Relay?connection?
request?from?Host?B
4.?Try?reversed?connection?
to?Host?B
1.?Try?direct?connection
to?Host?A?and?fail
Host?A
Host?B
(a) Relaying
Host?A
Host?B
2.2
Relaying
Connection Reversal
Connection reversal provides a direct connection only when at least one of two
hosts is globally reachable. As in Figure 1(b), suppose that there are two hosts
580
I. Jo et al.
3
3.1
Central Manager
Cluster Manager
Exchange
Control Message
Cluster Manager
Local Job
Manager
Local Job
Manager
Local Job
Manager
Local Job
Manager
MPI Process
MPI Process
MPI Process
MPI Process
581
connection, pointer to sending queue, and etc. When a process has something
to send, it attempts connection to destination process using information in this
table.
3.2
Penetrating NATs
Our scheme utilizes the common property of NAT. Whenever receiving a message, NAT decides either to drop it or to redirect it to some host in its network
based on its table. NAT will certainly drop the message unless it belongs to
an existing session initiated from the inner host. If the host wants to receive
all the messages sent from the unconnected hosts to oneself, its address should
be registered in the NAT table. Therefore, such host would request its NAT to
forward incoming messages, that is, to register its address in the table. Then all
the messages sent to that address will be redirected to the owner of the address.
Notice that any host outside the NAT connects to a host behind the NAT using
the address of the NAT.
Our scheme requires a forwarding-enabled NAT as a precondition. Once this
condition is satised, the following steps should be implemented:
Every host behind private networks requests forwarding incoming messages,
and such request is adequately handled by NAT.
Each host can get address information of anyone with which it wants to
communicate from the hierarchical process management system.
Each host can connect to any host using information got from the process
management system.
We implemented MPICH-GU library based on MPICH version 1.2.6 and the
Globus Toolkit version 4.0.1. More details about implementation are as follows.
As stated in Section 3.1, at initial stage, each MPI process creates listener socket,
then reads the value of environment variable named FRONT NAME. Only for a
process behind private network, it represents the hostname of the machine running its NAT. Otherwise, it is null. Therefore, if it has some value, the process
should request local job manager to register globally reachable address linked to
its own listener socket.
Cluster manager delivers such request to NAT and returns the public address
back to requestor. Then each process transmits its protocol information containing two endpoints consisting of the (hostname, TCP port) pair to central
manager. For hosts behind private networks, they are private address and public
address obtained from the NAT, and for the others, they are the identical public addresses. On receiving this from central manager, each process constructs
commworldchannels tables in which each entry contains two endpoints of individual process.
When a process has something to send, it tries just one connection according
to network topology. It rst checks the public endpoint of destination process.
If that hostname matches its own FRONT NAME, it means that both belong to the
same private network. Hence it attempts establishing a channel using a private
endpoint. Otherwise it does using a public endpoint.
582
I. Jo et al.
3.3
Discussion
Some might be concerned that how many NATs would support forwarding
scheme. By the research of Bryan et al. [8], about 82% of the tested NATs
support forwarding scheme for UDP, and about 64% support forwarding scheme
for TCP. Saikat et al. [10] also showed that TCP forwarding scheme was successful at a average rate of 88% for existing NATs and a 100% for pairs of certain
common type of NATs. These results show that running parallel processes over
private clusters does not require a special mechanism or device and our scheme
can be applied to many parallel systems such as OpenMP [11] and MPJ [12].
Our scheme can simply and eciently manage NATs forwarding entries. At
initializing phase, each MPI process checks its own network topology. Then if it is
needed, it requests forwarding via local job manager. Such request is deliverd to
its NAT by the cluster manager and adequately handled. Notice that if the NAT
is based on the Linux, well-known commands such as iptables can handle the
request. The central manager can also detect abortion or completion of the job.
If such events happen, the central manager noties them to cluster managers.
And each cluster manager requests its NAT to stop relaying.
Experimental Results
Communication Performance
Workload Performance
583
Since they exchange relatively large messages, they are sucient to show how
MPICH-GU aects workload performance. Our experimental results are shown
in Figure 4. As expected, our scheme incurs very little overhead compared with
MPICH-G2 - at most 4.6%.
Conclusion
584
I. Jo et al.
identical performance as MPICH-G2 except when small messages are transmitted. Our experimental results show that it supports private clusters with very
little overhead. It is a remarkable result compared with the performance of previously implemented user-level strategies.
References
1. K. Park, S. Park, O. Kwon and H. Park. MPICH-GP: A Private-IP-enabled MPI
over Grid Environments. ISPA, 2004.
2. E. Gabriel, M. Resch, T. Beisel and R. Keller. Distributed computing in a heterogenous computing environment. EuroPVMMPI, 1998.
3. Jack Dongarra, Graham E. Fagg, Al Geist, James Arthur Kohl, Philip M. Papadopoulos, Stephen L. Scott, Vaidy S. Sunderam and M. Magliardi. HARNESS:
Heterogeneous Adaptable Recongurable NEtworked SystemS. HPDC, 1998.
4. Michael Frumkin, Haoqiang Jin and Jerry Yan. Implementation of NAS Parallel
Benchmarks in High Performance Fortran. NAS Techinical Report NAS-98-009,
1998.
5. P. Srisuresh and M. Holdrege. IP network address translator (NAT) terminology
and considerations. RFC 2663, 1999.
6. B. Ford, P. Srisuresh and D. Kegel. Peer-to-peer communication across middleboxes. Internet Draft draftford- midcom-p2p-01, Internet Engineering Task Force,
Work in progress, 2003.
7. Rosenberg, J. Traversal Using Relay NAT (TURN). draftrosenberg- midcom-turn04, 2004.
8. Bryan Ford, Pyda Srisuresh and Dan Kegel. Peer-to-Peer Communication Across
Network Address Translators. USENIX 2005, pp.179-192, 2005.
9. M. Muller, M. Hess and E. Gabriel. Grid enabled MPI solutions for Clusters.
CCGRID03, pp.18-24, 2003.
10. S. Guha and P. Francis. Characterization and Measurement of TCP Traversal
through NATs and Firewalls. IMC 2005, 2005.
11. OpenMP Architecture Review Board. OpenMP, http://www.openmp.org.
12. B. Carpenter, V. Getov, G. Judd, T. Skjellum and G. Fox. MPJ: MPI-like Message
Passing for Java. Concurrency: Practice and Experience, Volume 12, Number 11,
September 2000.
Introduction
The correct and ecient design of parallel programs require to consider several
dierent concerns, that are both dicult to separate during program development and depend on the target architecture features. Parallel aspects include
how the computation is performed using processing elements (such as processes
and threads), and how these communicate. These are non-functional aspects
of a program since they do not contribute to dene the computation but only
how it is performed. Subscribing the separation of concerns concept, typical of
Aspect Oriented Programming (AOP) [3], we recognize the importance of using
proper tools (meta-data) to program the non-functional aspects related to parallelism exploitation. Meta-data (annotation) can be used by the programmer
to suggest consciously how a parallel application can be automatically derived
from the code. We will describe a proper meta-program (instead of compiler)
that can eciently handle such meta-data. This is dierent from the standard
AOP approach where join points are dened using patterns, making the programmer unaware of program transformation details that will be applied afterwards.
Moreover, in our case the meta-program does not restrict itself to inject code at
the join points (identied by the annotations) as an aspect weaver would do, but
it also perform a local analysis of the program to make its decisions about how
to render parallel the sequential code. Since annotations are explicitly dened in
the program code, it is possible to operate on the binary form of the program,
allowing to adapt the transformation to a specic execution environment. Several approaches have been proposed in the past to relieve programmers from the
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 585592, 2007.
c Springer-Verlag Berlin Heidelberg 2007
586
burden associated with the design of parallel applications: parallel compilers [5],
parallel languages [10], parallel libraries [11] and more advanced programming
models [12,13]. All these proposals rely on explicit support from the compiler
(or tools involved in the compilation process) to generate a parallel version of
the program and they dont provide any mechanism to avoid substantial codetangling where the application core functionality cross-cut with the concern of
parallel execution. In structured parallel programming systems based on the
algorithmic skeleton concept the programmers qualitatively express parallelism
directly at the source level, by properly instantiating and composing a set of
pre-dened parallelism exploitation patterns/skeletons. The compiler and run
time system is then in charge of adapting the provided skeleton structure to
the target architecture features. Our approach is similar, though in our case the
code transformation is performed at load time on the binary form of the program, relying on the compilation infrastructure typical of the virtual machine.
Programming languages targeting runtimes, such as [1,2], provide the programmers with general mechanisms (extensible meta-data) to insert annotations into
programs that can be read at runtime through the reection APIs. Annotations
are ignored by the execution engine, but they can be accessed by meta-programs
in order to perform program analysis and manipulation at runtime. Annotation
let programmers to provide all kinds of non-functional knowledge to the runtime
system. In this respect annotations dier from directives traditionally used by
compilation systems as in OpenMP and HPF: the compiler is not responsible for
their processing. The prior knowledge about these system, however, may guide us
in dening annotations to express parallel computations, and the semantics that
a meta-program will attribute to them. In this paper we present Particular1,
a meta-program which reads annotated programs written in [a]C# [9] (an extension of C#, read annotated C#). [a]C#s main contribution is to extend the
custom annotation mechanism provided by C# by allowing to annotate code
blocks inside method bodies, other than declaration (classes, elds, and methods are examples). As shown in the following [a]C# code
class MyAnnotAttribute : ACS.CodeAttribute {}
class AnotherAnnotAttribute : ACS.CodeAttribute {}
class Example {
public static void Main(string[] args) {
[MyAnnot] { /* Code under the aegis of the MyAnnot attribute */
[AnotherAnnot] { /* Code inside a nested annotation */ }
}
[AnotherAnnot, MyAnnot] /* Single statement */
}
}
}
the programmer simply encloses the name of the annotation inside square braces,
as it is custom in C#, to annotate a block or a statement. A pre-compilation step
must be done in order to transform ACS code to standard C# code. Annotations
can be retrieved at runtime through an extension of the reection API that
returns attributes in the form of a forest (to represent annotations with nested
1
587
scopes), where each node allows obtaining a cursor to the intermediate languages
instructions enclosed in the annotation.
In the rest of this paper we discuss the set of annotations introduced by our
system and made available to the programmer for providing hints to our tool.
It also explains the strategies adopted for rendering the parallel version of an
annotated program. We nally provide experimental results on the performance
of the generated code.
Prototype Framework
Particular denes a set of the annotations to provide hints on how to transform a sequential C# program into a parallel one. Since we were interested in
exploring the viability of the approach, we decided to use a small and simple set
of annotations. After the results we obtained, we believe that more annotations
could be used, supporting a wider set of parallel programming paradigms, and
perhaps leading to better performance. We introduced two annotations named
Parallel and Process. The former denotes the parts of the code subject to parallel execution, and the latter denotes the specic parts that have to be included
in an independent control ow (a thread when targeting SMP architectures, or
a remote process when targeting clusters/networks of workstations or grids). In
general, it is Particular that denes the semantics of annotations by manipulating the annotated code. The Particular tool should be used before an annotated example is loaded. This way, it is possible to customize the schema used for
generating the parallel version depending on the actual architecture where the
program should run. Particular reads an annotated executable program, in its
intermediate (bytecode) form, and produces a new parallel program exploiting
these annotations. It is important to notice that the entire transformation does
not involve the original source program. Our approach is based on the manipulation of binary programs, therefore Particular can adopt strategies depending
on the target architecture used for program execution. It may decide how annotations should be better rendered in the nal program and what mechanisms
should be used (threads, processes, etc.). Since our annotations may be of some
help to the execution environment, a Just-in-time (JIT) compiler could be
used to read these annotations. This extension, however, would require a tighter
integration between annotated binaries and the execution environment. The basic parallelism exploitation pattern used to handle Parallel annotated sections
of code is the master/worker paradigm: a master process delivers tasks to
be computed to a worker, picked up from a worker pool according to a proper
scheduling strategy. The worker completely processes the task, computing a result which is eventually given back to the master process. This process is repeated until there are new tasks to be computed. In our approach each Process
annotation leads to the generation of a master process/thread and of a set of
worker processes/threads. Whether processes or threads are generated depends
on the kind of target architecture at hand, and generation in this context is a
synonym of proper IL code generation. With our framework the developer can
use any standard compiler (Microsoft, Rotor, Mono) targeting CLR. Whenever a
588
589
Experimental Results
To evaluate the eectiveness of our framework, we used Particular to manipulate two computations from two dierent classes of parallel applications: task
farm and static stencil computations. We evaluated the eects of our transformation in terms of reduction in execution time for the whole application. We
used heterogeneous platforms, both in operating systems (Windows and Linux)
2
Virtual machines can dynamically load types, thus a running program can invoke
Particular and then load its output.
590
and architectures (uniprocessor, multiprocessor and dual core). This work should
be considered preliminary, since most of the eort in developing Particular was
spent in making the meta-program infrastructure; we expect that smarter plugins for the master task would lead to better performance. The CLI execution
environment implementation used is Microsoft .NET CLR v2.0 under Microsoft Windows systems, whereas Mono v1.1.15 is used under the Linux system.
We considered two applications, representative of a large number of parallel
applications: a task farm (i.e. embarrassingly parallel) application (namely the
parallel rendering of the Mandelbrot set) and a stencil, data parallel application
(namely Jacobis method used to approximate the solution of the Laplace Finite
Dierence over a matrix of values). For the task farm, the maximum number
of workers used is not xed, and the parallel pattern MAP manages to use the
available resources according to a best eort policy. We rendered images of
dierent sizes, with a dierent color rendering precisions. The graph (a) below
shows the eciency of the multi-threaded version of the renderer, with an image
of 4000x4000 points and dierent precision values as inputs. In order to reduce
the communication overhead, each worker computes the color of the points in its
region and stores the results in a local queue. Once the computation ends, the
worker copies its elements into the global queue. Therefore, synchronization is
required only while copying results. Using a dual core processor we reached the
best eciency employing 2 workers only. As expected, increasing the number of
workers causes an increase in processors contentions and race conditions while
accessing the global circular queue. Therefore, the wait time spent on synchronization increases as well as the execution time for the whole application. Using
larger precision values does not allow to have better performance because of the
trivial type of computations made for each iteration. Similar results are obtained
with the multi-processes version of the application. In this case a larger color
precision causes the communication costs to rise, thus reducing the overlapping
of communications with calculus. The graph (b) below shows the eciency of
the multi-processes version of the renderers. For our experiments concerning
the data parallel stencil application, we considered dierent sizes of the input
array. The graph (c) below shows the eciency values obtained testing the
multi-threaded version of the application. As expected, the best performance is
obtained on a dual core processor with 2 workers. Splitting the input array into
more blocks causes a decrease in the time spent for computation and increases
the number of race conditions between workers when accessing the shared array.
Having a larger input array increases the computations on local elements but at
the same time causes an increment in the number of synchronizations required
to access the shared array; therefore, the performance obtained decreases when
larger arrays are utilized. Slightly better performance results are obtained with
the multi-processes version as shown in the graph (d) below. In this case, the
Master is responsible for updating the elements with the new values computed
by the Workers, hence the elimination of synchronization hints.
However, the blocks of rows are exchanged between Master and Worker
through the network, leading to heavy communication costs. Therefore, the best
dwell=5000
dwell=10000
dwell=20000
dwell=5000
dwell=10000
dwell=20000
1
0.8
Efficiency
0.8
Efficiency
591
0.6
0.6
0.4
0.4
0.2
0.2
0
2
4
5
6
Number of workers
Multi-process version
matrix size=1000
matrix size=4000
matrix size=8000
matrix size=1000
matrix size=4000
matrix size=8000
1
0.8
Efficiency
0.8
Efficiency
Multi-thread version
1
4
5
6
Number of workers
0.6
0.4
0.2
0.6
0.4
0.2
0
2
4
5
6
Number of workers
4
5
6
Number of workers
performance results with the use of 2 workers and the smallest input array size.
When increasing the latter, the processing of Laplaces Equation cannot overlap communications, forcing the Master to wait for updates without performing
any calculus.
Related Work
One of the most interesting approach to separate functional aspects from parallel
code is based on AOP. In [4] an attempt is made using AspectJ for encapsulating
parallelization in an aspect separated from the mathematical model concerns.
Code annotations have been mainly used to enhance the exibility and the
eciency of the compiling step and to support new language features, see [14].
Code generation is another of the most diuse application for code annotations.
The XDoclet2 tool [15] for Java has been successfully used for performing code
generation tasks. This approach to code annotation is based on source code manipulation. Program manipulation with bytecode transformation is a technique
that has been employed in several applications, see [8,16].
Conclusions
592
toolchain for developing and debugging. Annotations will be enough to drive our
meta-program in the parallelization of the program at a later stage. Although
this is a form of AOP, in our case join-points are explicitly provided by the programmer in the form of annotations and the weaving of the parallel aspect is
performed at deploy time on the binary program. The weaving process, moreover, does involve analysis of annotated blocks, not only injection of code at
join-points. Another important element of our system is the ability to plug in
dierent code generation strategies. So far we have developed the basic strategies
based on thread and process execution, though we expect that smarter plugins
for the master task would lead even to better performances. The results of our
tests look promising and encourage us to continue in our research.
References
1. .NET Framework Developer Center: The Common Language Runtime (CLR),
http://msdn2.microsoft.com/en-us/netframework/aa497266.aspx (2007).
2. T. Lindholm and F. Yellin, The Java(TM) Virtual Machine Specication 2nd
ed., Prentice Hall PTR, (1999).
3. T. Elrad, R. E. Filman and A Bader, Aspect-oriented programming, Communications of the ACM, Vol.44 (2001).
4. B. Harbulot and J. R. Gurd, Using AspectJ to separate concerns in parallel
scientic java code, Proceedings of the AOSD Conference, Lancaster UK (2004).
5. T. Brandes and F. Zimmermann, ADAPTOR - A Transformation Tool for HPF
Programs, Programming Environments for Massively Parallel Distr. Sys. (1994).
6. C. Dittamo, Sequential program parallelization using annotations (in Italian),
Graduation thesis, Dept. Computer Science, Univ. of Pisa, Italy, 2006.
7. J. Miller, Common Language Infrastructure Annotated Std, Addison-Wesley,
2003.
8. A. Cisternino, Multi-stage and Meta-programming support in strongly typed execution engines, PhD thesis, Dept. Computer Science, Univ. of Pisa, Italy, 2003.
9. W. Cazzola, A. Cisternino and D. Colombo, Freely Annotating C#, Journal
of Object Technology Vol. 4, No.10, ETH Zurich (2005).
10. High Performance Fortran Forum, High Performance Fortran language specication, version 1.0, Technical Report CRPCTR92225 Houston, Tex (1993).
11. OpenMP Forum, OpenMP: A Proposed Industry Standard API for Shared Memory Programming, Technical report (1997).
12. M. Aldinucci, M. Coppola, M. Danelutto, M. Vanneschi and C. Zoccolo,
ASSIST as a Research Framework for High-performance Grid Programming Environments, (2005).
13. A. Benoit, M. Cole, J. Hillston and S. Gilmore, Flexible Skeletal Programming with eSkel, Proc. 11th International Euro-Par Conference (2005).
14. R. Kirner and P. Puschner, Classication of Code Annotations and Discussion
of Compiler-Support for Worst-Case Execution Time Analysis, In Proceedings of
the 5th Euromicro International Workshop on Worst-Case Execution Time Analysis (WCET05), Palma, Spain (2005).
15. C. Walls and N. Richards, XDoclet in Action, Manning Publications (2003).
16. H. Masuhara and A. Yonezawa, Run-time Bytecode Specialization. A Portable
Approach to Generating Optimized Specialized Code, In Proceedings of Programs
as Data Objects, Second Symposium, PADO01 (2001).
Abstract. Ecient execution of multithreaded iterative numerical computations requires to carefully take into account data dependencies. This
paper presents an original way to express and schedule general dataow
multithreaded computations. We propose a distributed dataow stack
implementation which eciently supports work stealing and achieves
provable performances on heterogeneous grids. It exhibits properties such
as non-blocking local stack accesses and generation at runtime of optimized one-sided data communications.
Keywords: dataow, distributed stack, work-stealing, work depth
model.
Introduction
594
do not t the class of strict multithreaded computations. The key point consists in linking one-sided write-read data dependencies in the stack to ensure
constant time non-blocking stack operations. Moreover, on distributed architectures, data links between stacks are used to implement write-read dependencies
as one-sided ecient communications. Those properties enable DDS to implement macrodataow languages such as Athapascan with provable performances
(Section 4). Section 5 reports experimental performances on classical benchmarks
on both cluster and grid architectures up to a thousand processors conrming
the theoretical performances.
This section describes the basic set of instructions (abstract machine) used to
express parallel execution as a dynamic data ow graph. It is based on Athapascan which models a parallel computation from three concepts: tasks, shared
objects and access specications [10]. Following Jade [15], Athapascan extends
Cilk [9] to take into account data dependencies; however, while Jade is restricted
to iterative computations, Athapascan includes nested recursive parallelism to
take benet from the work stealing.
The programming model. A task represents a non-blocking sequence of instructions: Like in ordinary functional programming languages, a task is the
execution of a function that is strict in all arguments (no side eect) and makes
all result values available upon termination. Tasks may declare new tasks. Synchronization between tasks is performed through the use of write-once shared
objects denoted Data. Each task has an access specication that declares how
it (and its child tasks) will read and write individual shared objects: the type
Data::Read (resp. Data::Write) species a read (resp. write) access to the eective
parameter. To create a task, a block of memory called a closure is rst allocated
using AllocateClosure (Figure 1). Then the eective parameters of the task
are pushed to the closure, either immediate values or shared objects. For each
shared parameter, the access specication is given: either read (push::Read) or
write (push::Write). An immediate value parameter is copied using push::Value.
Finally, the commit instruction completes the description of the task.
Synchronization between tasks is only related to access specication. The semantic is lexicographic: statements are lexicographically ordered by ;. In other
words, any read of a parameter with a Read access specication sees the last write
according to a lexicographic order called reference order. Figure 1 is an example of code using Athapascan for the folk recursive computation of Fibonacci
numbers: the tasks Sum reads a, b and writes r.
Spawn tree and Reference order. Recursive description of tasks is represented by a tree T , called spawn tree, whose root is the main task. A node n in
T corresponds to a task t and the successor nodes of n to the child tasks of t.
Due to the semantics of Athapascan, the non-preemptive sequential schedule of
tasks that follows the depth-rst ordering of T is a valid schedule. This ordering
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
595
Fig. 1. Fibonacci program with abstract machine instructions (it corresponds to the
folk original Athapascan code for Fibonacci in [10], g. 3.)
is called reference order and denoted by R. According to R, the closures consecutively committed by a task t are executed after completion of t in the same
order, while in a depth-rst sequential schedule, a closure is executed just after
committing.
Work-stealing scheduling based on reference order. The nested structure of the spawn tree enables a depth-rst work-stealing scheduling, similar to
DFDeques scheduling proposed in [14] but here based on the reference order R
instead of the standard sequential depth rst order. All tasks in the systems are
ordered according to R in a distributed way. Locally, each processor manages
its own deque in which tasks are ordered according to R. When a closure is
allocated on a processor, it is pushed on the top of the local deque but, following
R, execution of current closure pursues. When the current closure completes, a
new one is popped from the local deque. If this deque is empty, a new closure is
stolen from the bottom of the deque of another randomly chosen processor.
596
Base stack
Closure link
Frame fibo(n,r)
Frame fibo(n,r)
fibo(n1,r1)
fibo(n1,r1)
n1: int
frame link
r1 : Write Access
fibo(n1,r2)
activation
fibo(n2,r2)
sum(r,r1,r2)
n2: int
r2 : Write Access
Frame fibo(n1,r)
sum(r,r1,r2)
fibo(n2,r1)
shared links
activation
r : Write Access
r1 : Read Access
fibo(n3,r2)
r2 : Read Access
sum(r,r1,r2)
Frame fibo(n1,r)
Frame fibo(n2,r)
fibo(n2,r1)
n2: int
fibo(n3,r1)
r1 : Write Access
fibo(n4,r2)
fibo(n3,r2)
n3: int
sum(r,r1,r2)
r2 : Write Access
Top stack
sum(r,r1,r2)
r : Write Access
r1 : Read Access
r2 : Read Access
Top stack
Fig. 2. (a) Stack structure with activation frames. (b) Data ow link.
are completed or stolen, its associated frame is popped and the execution of its
successor according to R can start. In order to manage data dependencies, Read
or Write data accesses are pushed into the closure and linked between closures
according to the reference order (Figure 2.b).
Distributed work stealing and extended stack management. A new stack
is created when a processor becomes idle and steals work from another processor.
When the current stack of a thread becomes empty or the current task is not
ready, a steal request occurs. In this case, the thief thread rst tries to steal a
ready closure in another stack: rst locally on SMP machines or, when no closures
are found, a steal request is sent to a randomly chosen distant processor.
The stolen closure is ready to execute, i.e. all its input parameters are produced.
For instance, in gure 2 a), in the top frame, the closure fibo(n-1,r1) is already
completed, the closure fibo(n-2, r2) is ready while the closure sum(r, r1, r2) is
not ready since its input parameter r2 has not been produced. Using access links,
the computation of ready closures is only performed on steal requests. Indeed,
since the reference order is a valid sequential schedule, local tasks in a stack are
executed without computing the readiness of closures. Following work first principle [9], this enables to minimize scheduling overhead by transferring the cost
overruns from local computations to steal operations. In particular, atomicity of
local accesses is ensured by non-blocking locks (compare-and-swap instruction).
Once the choice of a victim has been made, a copy of the chosen closure
is pushed in a new stack owned by the thief processor. The original closure is
marked as stolen. If the thief is a remote processor, input parameters of the task
are copied and sent with the closure. In order to manage the data-ow for output
parameters, a signalization task is pushed after the closure copy. This task plays
597
Base stack
fibo(n2,s,r2) : copy
n2: int
r2 : Write Access
Send and Signal
Frame fibo(n,r)
fibo(n1,r1)
al
Ste
n1: int
r : Read Access
r1 : Write Access
fibo(n2,r2) : stealed
Frame fibo(n2,s,r)
fibo(n3,s,r1)
n2: int
nal
r2 : Write access
sum(r,r1,r2) : non ready
Sig
r : Write Access
r1 : Read Access
r2 : Read Access
Send
Frame fibo(n1,s,r)
fibo(n2,s,r1)
n3: int
r1 : Write Access
fibo(n4,s,r2)
n4: int
r2 : Write Access
sum(r,r1,r2)
r : Write Access
r1 : Read Access
r2 : Read Access
n2: int
r1 : Write Access
Frame fibo(n3,s,r)
fibo(n4,s,r1)
fibo(n3,s,r2)
n3 : int
r2 : Write Access
n4: int
r1 : Write Access
sum(r,r1,r2)
fibo(n5,s,r2)
r : Write Access
r1 : Read Access
n5 : int
r2 : Write Access
r2 : Read Access
Top stack
Fig. 3. Structure of both victim (a) and thief (b) stacks. A new task (Send Signal)
is forked into the thief stack. Its role is to send back the result and signal the tasks
marked as non ready that depend on the stolen task.
the role of signaling that output accesses of the stolen task are produced in
order to compute readiness of successors and sending the produced data to the
victim processor.
Remark. Since DDS describes all tasks and their dependencies, it stores a
consistent global state; this is used in [12] to implement fault tolerant checkpoint/restart protocols.
Theoretical Analysis
598
task creation with n unit arguments is f ork + n.arg . If the cost of those task
creations is negligible in front of WS , then W WS .
Theorem 1. In the DDS implementation, when no steal operation occurs, any
local access or modification in any stack is performed in a constant number of
operations. Then, f ork and arg are constants.
The proof is direct: when no steal operation occurs, each process only accesses
its own local stack. Due to the links in the stack and non-blocking locks, each
access is performed in (small) constant time.
Since DDS implements a distributed work-stealing scheduling, a steal operation only occurs when a stack becomes empty or when the current task is not
ready. In this case, the process becomes a thief and randomly scans the stack of
the other processes (from their top) to nd a ready closure; the resulting overhead is amortized by the work W when D W . Indeed steal operations are
very rare events as stated in [2,3] on a grid with processors speeds ratios may
vary only within a bounded interval.
Theorem 2. With high probability, the number of steal
is O(p.D)
operations
W
D
and the execution time T is bounded by T ave + O p ave .
The proof (not included) is derived from theorems 6,8 in [3]. Then, when D W ,
the resulting time is close to the expected optimal one W
.
ave
Experiments
http://www.etsi.org/plugtests/Upcoming/GRID2006/GRID2006.htm
599
Table 1. T1 , Tp and TS (in second) for Fibonacci (a) and KNary (b) benchmarks
p
1
4
8
16
32
fib(40) ; th = 15
fib(45) ; th = 20
Tp T1 /Tp TS /Tp Tp T1 /Tp TS /Tp
9.1
1
0.846 88.2
1
0.981
2.75 3.3
2.8
22.5 3.92
3.84
1.66 5.48
4.6
12.35 7.14
7
1.01
9
7.62
6.4 13.78 13.52
.99 9.19
7.78
3.7 23.83 23.37
Knary(35,10) ; th = 15
p
Tp
T1 /Tp TS /Tp
1
2435.28
1
0.984
8
306.17 7.95
7.83
16
153.52 15.86 15.61
32
77.68 31.35 30.86
64
40.51 60.12 59.18
100 26.60 91.55 90.13
NQueens p
T
21
1000 78s
22
1458 502.9s
23
1422 4434.9s
Fig. 4. CPU/network loads and timing reports
Conclusions
600
References
1. U. A. Acar, G. E. Blelloch, and R. D. Blumofe. The data locality of work stealing.
Theory Comput. Syst., 35(3):321347, 2002.
2. N. S. Arora, R. D. Blumofe, and C. G. Plaxton. Thread scheduling for multiprogrammed multiprocessors. Theory Comput. Syst., 34(2):115144, 2001.
3. M. A. Bender and M. O. Rabin. Online scheduling of parallel programs on heterogeneous systems with applications to cilk. Th. Comp. Sys., 35(3):289304, 2002.
4. G. E. Blelloch. Programming parallel algorithms. Com. ACM, 39(3):8597, 1996.
5. G.E. Blelloch. NESL: A Nested Data-Parallel Language. Technical Report
CMU-CS-93-129, April 1993.
6. R.D. Blumofe, C.F. Joerg, B.C. Kuszmaul, C.E. Leiserson, K.H. Randall, and
Y. Zhou. Cilk: An ecient multithreaded runtime system. Journal of Parallel and
Distributed Computing, 37(1):5569, 1996.
7. D.E Culler and Arvind. Resource requirements of dataow programs. In Proceedings of the 15th Annual International Symposium on Computer Architecture, pages
141150, Honolulu, Hawai, 1989.
8. P. Fatourou and P.G. Spirakis. Ecient scheduling of strict multithreaded computations. Theory of Computing Systems, 33(3):173232, 2000.
9. M. Frigo, C.E. Leiserson, and K.H. Randall. The implementation of the cilk-5
multithreaded language. In Sigplan98, pages 212223, 1998.
10. F. Galile, J.-L. Roch, G. Cavalheiro, and M. Doreille. Athapascan-1: On-line
building data ow graph in a parallel language. In IEEE, editor, Pact98, pages
8895, Paris, France, October 1998.
11. L. J. Hendren, G. R. Gao, X. Tang, Y Zhu, X. Xue, H. Cai, and P. Ouellet.
Compiling c for the earth multithreaded architecture. In IEEE, editor, Pact96,
pages 1223, Boston, USA, 1996.
12. S. Jafar, T. Gautier, A. W. Krings, and J.-L. Roch. A checkpoint/recovery model
for heterogeneous dataow computations using work-stealing. In LNCS SpringerVerlag, editor, EUROPAR2005, Lisboa, Portogal, August 2005.
13. MOAIS Team. KAAPI. http://gforge.inria.fr/projects/kaapi/, 2005.
14. G.J. Narlikar. Scheduling threads for low space requirement and good locality.
Number TR CMU-CS-99-121, may 1999. Extended version of Spaa99 paper.
15. M.C. Rinard and M.S. Lam. The design, implementation, and evaluation of Jade.
ACM Trans. Programming Languages and Systems, 20(3):483545, 1998.
Abstract. A new approach for fast parallel reductions on trees over distributed
memory environments is proposed. By employing serialized trees as the data representation, our algorithm has a communication-efficient BSP implementation
regardless of the shapes of inputs. The prototype implementation supports its real
efficacy.
Keywords: Tree reduction, parentheses matching, BSP, parallel algorithm.
1 Introduction
Research and development of parallelization have been intensively done toward matrices or one dimensional arrays. Looking at recent trends in applications, another data
structure has also been calling for efficient parallel treatments: the tree structure. Emergence of XML as a universal data format, which takes the form of a tree, has magnified
the impact of parallel and distributed mechanisms toward trees in order to reduce computation time and mitigate limitation of memory. However, parallel tree computation
over distributed memory environments is not so straightforward as it looks.
Consider, as a simple and our running example, a computation maxPath to find the
maximum of the values each of which is a sum of values in the nodes from the root to
each leaf. When it is applied to the tree in Fig. 1, the result should be 12 contributed by
the path of values 3, 5, 6 and 8 from the root. Parallelization of such a simple computation under distributed memory environments requires consideration from two aspects.
The first is the underlying data representations, including its distribution among processors to guarantee performance toward trees of arbitrary shapes. The second is derivation
of the parallel algorithm. As associativity often helps parallelization, we need to exploit
the similar property under trees which suitably work for the data representations.
This paper gives a clear solution for parallel tree reductions with its start point to
use serialized forms of trees. Their Notable examples are the serialized (streamed) representations of XML or parenthesized numeric expressions which are obtained by tree
traversals. The first problem mentioned above is naturally resolved by this choice, since
distribution of serialized data among processors is much simpler than that of trees. As
for the second point, we present an efficient parallel algorithm for tree reductions satisfying extended distributivity. As instances of serialized trees, parallelization of parentheses matching problems, which figures out correspondence between brackets, have
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 601608, 2007.
c Springer-Verlag Berlin Heidelberg 2007
602
-5
6
-2
-6
se
en
clo
op
tree traversal /
parsing
internal node
-1
leaf
4
(0,3)
(1,/)
(1,4)
(2,6)
(3,/)
(3,/)
(4,4)
(3,/)
(2,1)
(1,/)
(1,/)
(2,-6)
(1,/)
(1,-5)
(3,-2)
(3,8)
(3,-1)
(4,/)
(2,/)
(2,/)
(1,5)
(1,2)
(2,/)
(0,/)
aligned by depth
0
1
4
-5
5
6
1
-2
-1
2
-6
3
4
Fig. 1. A rose tree (upper left), its serialized representation as a sequence of pairs (middle) and
another representation according to the depth (lower)
plenty of work ( [1, 2, 3, 4, 5] to mention a few); our algorithm, with good resemblance
to the one under BSP [6], has also a BSP implementation with three supersteps.
This paper is organized as follows. After this Introduction, Sect. 2 observes our tree
representations and tree reductions. Section 3 develops the algorithm. Our algorithm
consists of three phases, where the first two perform computation along with parentheses matching, and the last reduces a tree of size less than twice of the number of
processors. Section 4 supports our claims by some experiments. We conclude this paper in Sect. 5 and mentioning future directions. We refer the interested reader to our
technical report [7] for the omitted details due to the space limitation of this paper.
2 Preliminaries
This section observes the underlying frameworks for our parallelization: tree structures,
their serialized form, tree homomorphism, and extended distributivity.
2.1 Trees and Their Serialized Representation
We treat trees with unbound degree (trees whose nodes can have an arbitrary number
of subtrees); Fig. 1 shows an example. As was explained in Introduction, our internal
representation is to keep tree-structured data in a serialized manner. The sequence of
the middle in Fig. 1 is our internal representation of the example tree. Like XML serialization or parentheses expressions, it is a combination of a preorder (for producing the
open elements) and a postorder traversal (for producing the close elements afterwards).
We assume well-formedness, with which sequences are guaranteed to be parsed back
into trees, and without loss of information we simplify close elements to be /. For
the convenience of later discussion, we assign the information of the depth in the tree
to each node. The figure also depicts their presentation according to the depth.
603
604
5
1
-1
5
-6
1
3
2
- -6
-
in arrays asp , bsp , csp and an integer dp for each processor number p. The array asp
is to keep the open elements without their corresponding close element. Each element
of asp can have subtrees before the next one in asp , and their reduced values are kept
in bsp . Similar treatments are done to unmatched close elements, leaving values in csp
(we remove unmatched close elements thanks to the absence of values). The integer dp
denotes the shallowest depth in processor p. While both of elements in asp and bsp are
listed in a descending manner, those of csp are in ascending manner; the initial elements
of asp and bsp and the last one of csp are at height dp (except for cs0 and csP1 whose
last element at depth 0 is always and therefore is set to be eliminated).
Routine 1. Prepare arrays as, bs, cs (behaving as stacks growing from left to right),
and an integer variable d. A temporary t is used. Sequence (d0 , a0 ), . . . , (dn1 , an1 )
(n 1) is given.
Set d d0 . If a0 is / then cs [ , ], as [ ], bs [ ]; else cs [ ],
as [a0 ], bs [ ].
For each i in {1, . . . , n 1}
if ai is not / (namely a value), then push ai to as and to bs;
else if as is empty, then push to cs, and set d di ;
else pop a from as and b from bs.
if b = (implying a is a leaf) then t h (a ); else t a b ;
if bs is not empty, then pop b from bs and push b t to bs;
else pop c from cs and push c t to cs.
If P = 1 then remove at the bottom of cs0 and csP1 .
In Fig. 2 we show a case of the illustrating segment from the 10th element (3, 1) to
the 21st (2, 6) of the sequence in Fig. 1. We have, as depicted:
cs = [1 + id (4), id (1), id (5)]
= [3, 1, 5],
as = [2, 6],
bs = [, ],
d = 1.
Please note that we regard absence of subtrees as an empty forest to which the tree
homomorphism returns , the unit of (at depth 2 and 3 kept in bs). When we
distribute the whole sequence in Fig. 1 evenly among four processors (6 elements for
each), the results by this phase is shown in Fig. 3, left.
A linear routine produces as, bs, cs and d. The worst case in terms of the size of the
results occurs when an sequence of only open elements is given, resulting in two arrays
as and bs of the length 2N/P for each.
proc #1
proc #2
proc #3
-5
-
6
-
-2
8
-
cs0 =
as0 =
bs0 =
d0 =
1
-1
-
4
(3,4,-4)
1
5
-4
-
605
(1,-,-5)
2
3
-5
4
-2
83
[]
cs1 = [, 8] cs2 = [, , 1, ] cs3 = [, 4]
[3, 5, 6, 2]
as1 = [1]
as2 = [5]
as3 = [ ]
[4, , , ] bs1 = [4]
bs2 = []
bs2 = [ ]
0
d1 = 3
d2 = 1
d3 = 0
Fig. 3. Triples between two processors (left) and the resulting tree (right) after the second phase
Second phase. The second phase matches data fragments kept in each processor into
triples using communication between processors. Later, we reduce consecutive occurrences of triples into a value, or into one triple by extended distributivity.
When we look carefully at Fig. 3, we notice that 3 in as0 at depth 0 now has five parts
at depth 1 as its children: the value 4 in bs0 , a subtree spanning from processors 0 to 2
whose root is 5 in as0 , the value in cs2 , a subtree from processor 2 to 3 whose
root is 5 in as2 , and the value 4 in cs3 . As these subtrees need reducing separately, we
focus on the leftmost and the rightmost values in bs0 and cs3 (we leave the value
in cs2 for the time being). We notice that the group of the value 3 in as0 with these two
values in processors 0 and 3 forms a triple (3, 4, 4).
Similarly, two elements in as0 at depth 1 and 2, with two elements each in bs0 and
cs2 at depth 2 and 3, respectively, form two triples (5, , 1) and (6, , ). The
former triple indicates a tree that awaits the result of one subtree specified by the latter.
This situation is what extended distributivity takes care of: we can merge two triples
(a sequence of triples in general) into one: (5, , 1) ( (6, , ) e ) =
( (5 + 6), (6 ), ( 6 + 1) ) e = (1, , 5) e for any e.
In this way, the group of data fragments in two processors turn into one triple.
Such groups from two adjacent processors are reduced into a single value without any missing subtrees in between: instead of treating using extended distributivity,
the values 2 in as0 and 1 in as1 at depth 3, and 5 in as2 at depth 2 with their
corresponding values in bsi and csi+1 (i = 0, 1, 2) turn into values id (2) = 2,
1 + (4 ) = 3, id (5) = 5, respectively.
We state the following lemma to tell the number of resulting groups in total.
Lemma 1. The second phase produces groups of the number at most 2P 3.
The proof sketch is as follows. Let Rp be the the number of groups among p processors.
As Fig. 3 indicates, R2 = 1, and for p > 2 we derive Rp 1 + Rj + Rpj+1
with 1 < j < p; hence we have Rp 2p 3. This lemma guarantees that, after
transactions of data fragments among processors, one processor needs to take care of at
most two such groups. The computed value at the shallowest depth dp in each processor
are associated to their right for later computation by (8 in cs1 , in cs2 ; see Fig. 3).
pl pr
The following Routine 2 figures out groups among processors. M[d
denotes a
u ,dl ]
group between processors pl and pr whose data fragments span from the depth du until
dl ( in dl indicates everything starting from du ); M[d
is inserted as a dummy
u ,dl ]
606
group in case the same d appear among more than two consecutive processors, and
assumed to be reduced into , a virtual left unit of (namely e = e).
Routine 2. A stack is used whose top is referred as (ps , ds ). Sequence (p, dp ) is given
in the ascending order of p.
Push the first pair (0, 0) on a stack
For each i in {1, . . . , P 1}
prepare a variable d .
ps i
while di < ds , produce M[d
, set d ds and pop from the stack;
s ,d]
ps i
if di = ds , then produce M[d
and M[d
, and pop from the stack.
i ,ds ]
s ,d]
ps i
else produce M[d
.
i ,d]
push (i, di ).
We summarize this phase. This phase consists of two steps. In the first all processors
figure out the groups by Routine 2 and allocation of groups by any deterministic rule
through sharing their depth information di . They require O(P) communication and computation costs in total. The second step is to apply further computation toward each
group. In the worst case it is possible that a processor sends out its whole data fragments in it to all other P 1 processors, and receives two groups and evaluates each
into one triple or value. Since the size of fragments in one processor and that of each
group are at most O(N/P), the cost for data transaction and computation is bound by
O(N/P).
Third phase. This last phase compiles obtained triples or values and reduce them into
a single value. As Fig. 3 shows, the obtained triples and values in the previous phase
607
1
2
4
8
16
32
64
Deep (RD)
Shallow (RS)
Monadic (M)
dist. comp. total comp. total comp. total
23.5 23.5
22.8 22.8
N.A. N.A.
0.48 12.3 12.7
12.6 13.0
N.A. N.A.
0.56
6.13 6.70
5.81 6.36 60.1 60.7
0.62
3.18 3.80
3.79 4.41 20.9 21.5
0.70
1.81 2.51
1.96 2.65 14.8 15.5
0.77
1.11 1.88
1.04 1.81
8.36 9.14
0.83
0.68 1.52
0.57 1.40
4.47 5.30
70
Deep (RD)
Shallow ( RS )
Monadic (M)
25
Relative Speedups
30
20
15
10
5
0
Deep (RD)
60 Shallow ( RS )
linear
50
40
30
20
10
10
20
30
40
50
Number of Processors
60
70
10
20
30
40
50
Number of Processors
60
70
Fig. 4. Plots of Table 1 by total execution time (left) and by speedups of computation time (right)
behind the other two: it ran out of memory until 2 processors (the result by 4 processors seems also affected), and its execution was around seven times slower than other
cases. The reason is that there are no reducible subtrees in the first phase, which incurs
heavy data transactions and costly computation by extended distributivity. It should be
noted that the similar BSP algorithm for all nearest smaller values problem, generalization of parentheses matching, toward average cases is shown not to suffer from heavy
transactions [5]. While we need to develop a similar theoretical proof to our algorithm,
experiments on random trees (RS and RD) suggest that our algorithm works efficiently
toward average cases.
We make a brief comparison with existing approaches of parallel tree computations.
One common approach under distributed memory environments has their basis in list
ranking, and their parallel tree contractions require expensive costs of O(N/P log P)
[11, 12, 13]. Using a technique called m-bridge [14] for initial data distribution, our
existing library implements parallel tree contractions in O(N/P + P) over trees kept as
linked structures [15, 16, 9]. In comparison with them, the approach in this paper has
two notable advantages. First, it can be coded as simple for-loops over one-dimensional
arrays and benefits compiler optimizations well. We also observed that high memory locality by serialized forms brought considerable performance improvements, especially
when the required computation was memory-intensive where cache effects become important. Second, the data distribution process in this paper is really small compared to
the cost of m-bridge, in which traversal over linked structure is involved.
608
5 Concluding Remarks
In this paper we have developed a new approach to reduce a tree in parallel. The algorithm has been shown to run scalably as well as fast in theory and practice, by exploiting
the serialized trees and a property called extended distributivity.
At the moment we have only analyzed cost for the worst case. It is our interesting
task to analyze average cases, or go a step further to the theory of heterogeneous cases.
Acknowledgment. This research was partially supported by the Ministry of Education, Culture, Sports, Science and Technology, Grant-in-Aid for Young Scientists (B),
17700026, 20052007.
References
1. Berkman, O., Schieber, B., Vishkin, U.: Optimal doubly logarithmic parallel algorithms
based on finding all nearest smaller values. Journal of Algorithms 14 (1993)
2. Prasad, S., Das, S., Chen, C.: Efficient EREW PRAM algorithms for parentheses-matching.
IEEE Transactions on Parallel and Distributed Systems 5(9) (1994)
3. Cole, M.: Parallel programming with list homomorphisms. Parallel Processing Letters 5
(1995)
4. Kravets, D., Plaxton, C.: All nearest smaller values on the hypercube. IEEE Transactions on
Parallel and Distributed Systems 7(5) (1996)
5. He, X., Huang, C.: Communication efficient BSP algorithm for all nearest smaller values
problem. Journal of Parallel and Distributed Computing 16 (2001)
6. Valiant, L.: A bridging model for parallel computation. Communication of the ACM 33(8)
(1990)
7. Kakehi, K., Matsuzaki, K., Emoto, K., Hu, Z.: A practicable framework for tree reduction
under distributed memory environments. Technical Report METR 2006-64, Department of
Mathematical Informatics, University of Tokyo (2006)
8. Skillicorn, D.B.: Parallel implementation of tree skeletons. Journal of Parallel and
Distributed Computing 39(2) (1996)
9. Matsuzaki, K., Hu, Z., Kakehi, K., Takeichi, M.: Systematic derivation of tree contraction
algorithms. Parallel Processing Letters 15(3) (2005) (Original version appeared in Proc. 4th
International Workshop on Constructive Methodology of Parallel Programming, 2004.).
10. Mignet, L., Barbosa, D., Veltri, P.: The XML web: a fist study. In Proceedings of the Twelfth
International World Wide Web Conference, ACM Press (2003)
11. Mayr, E.W., Werchner, R.: Optimal routing of parentheses on the hypercube. Journal of
Parallel and Distributed Computing 26(2) (1995)
12. Mayr, E.W., Werchner, R.: Optimal tree contraction and term matching on the hypercube
and related networks. Algorithmica 18(3) (1997)
13. Dehne, F., Ferreira, A., Caceres, E., Song, S., Roncato, A.: Efficient parallel graph algorithms
for coarse-grained multicomputers and BSP. Algorithmica 33(2) (2002)
14. Reid-Miller, M., Miller, G.L., Modugno, F.: List ranking and parallel tree contraction. In
Reif, J.H., ed.: Synthesis of Parallel Algorithms. Morgan Kaufmann (1993)
15. SkeTo Project Home Page. http://www.ipl.t.u-tokyo.ac.jp/sketo/
16. Matsuzaki, K., Emoto, K., Iwasaki, H., Hu, Z.: A library of constructive skeletons for
sequential style of parallel programming (invited paper). In: Proceedings of the First
International Conference on Scalable Information Systems, IEEE Press (2006)
Abstract. In this paper, we develop an efficient implementation of two tree accumulations. In this implementation, we divide a binary tree based on the idea of
m-bridges to obtain high locality, and represent local segments as serialized arrays to obtain high sequential performance. We furthermore develop a cost model
for our implementation. The experiment results show good performance.
1 Introduction
This paper develops an efficient implementation of two tree accumulations for binary
trees, upwards accumulation and downwards accumulation, on distributed-memory parallel computers. Tree accumulations are basic manipulations of trees: the upwards accumulation aggregates the data at all the descendants for each node, and the downwards
accumulation aggregates the data at all the ancestors. These two tree accumulations
have been used for solving many tree problems, for example, computing depths and
sizes for all subtrees, and determining maximal independent sets [2].
For parallel tree manipulations tree contraction algorithms have been studied intensively [3,4,5,6,7]. Tree contraction algorithms are parallel algorithms that reduce a tree
into the root by independent removals of nodes. Several tree contraction algorithms have
been developed on many parallel computational models such as EREW PRAM [4], Hypercubes [5], and BSP/CGM [6]. Several studies have also clarified that tree accumulations can be implemented in parallel based on tree contraction algorithms [4,8].
We are developing parallel skeleton library SkeTo [9], which provides parallel manipulations for trees as well as lists and matrices. Compared with the implementations
so far, our implementation of tree accumulations has the following three features, which
are important in efficient parallel computations on distributed-memory computers.
High locality. Locality is one of the most important properties in developing efficient parallel programs especially for distributed-memory computers. We adopt
m-bridges [10] in the basic graph-theory to divide binary trees with high locality.
High sequential performance. The performance of the sequential parts is as important as that of the communication parts for efficient parallel programs. We represent
a local segment as a serialized array and implemented computations in sequential
parts with loops rather than recursive functions.
The full discussion of the paper is given in our technical report [1].
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 609616, 2007.
c Springer-Verlag Berlin Heidelberg 2007
610
K. Matsuzaki
Cost model. We also formalize a cost model of our parallel implementation. The
cost model helps us to divide binary trees with good load balance.
The organization of the paper is as follows. In the following Sect. 2, we introduce
the division and representation of binary trees in our implementation. In Sect. 3, we
develop the implementation of two tree accumulations, and show the cost model. In
Sect. 4, we discuss the optimal division of binary trees based on the cost model, and
show experiment results in Sect. 5. In Sect. 6, we make concluding remarks.
13
(c)
(b)
3
1
(d)
3
1
(f)
3
1
(e)
(g)
Fig. 1. An example of m-critical nodes and m-bridges. Left: There are three 4-critical nodes
denoted by the doubly-lined circles. The number in each node denotes the number of nodes in
the subtree. Right: There are seven 4-bridges, (a)(g), each of which is a set of connected nodes.
1
2
3
5
4
6
611
seg = [ [ 1C ],
[ 2C ],
[ 4N , 6L , 7L ],
[ 5N , 8L , 9L ],
[ 3L ] ]
Fig. 2. Internal representation of divided binary trees. Each local segment is distributed to one
of processors and is not shared. Labels L, N and C denote a leaf, a normal internal node, and a
critical node, respectively. Each critical node is included in the parent segment.
pr (i)=p
where pr (i)=p denotes the summation of costs for m-bridges associated to processor
p, and tl , td , and tm are given with the cost of functions and communications. The term
(Li tl ) indicates the computational time required in sequential computation and the
term (Di td ) indicates the overhead caused by parallelism. The last term (M tm )
indicates the overhead in terms of global structure.
612
K. Matsuzaki
stack ; d ;
for i seg.size 1 to 0
if (isLeaf (seg[i])) seg [i] seg [i]; stack seg [i]; d d + 1;
if (isNode(seg[i]))
lv stack ; rv stack ;
if (d == 0) stack l (lv, (seg[i]), rv); d 0;
else if (d == 1) stack r (lv, (seg[i]), rv); d 0;
else seg [i] k(seg[i], lv, rv); stack seg [i]; d d 1;
if (isCrit(seg[i])) stack (seg[i]); d 0;
top stack ; return(top, seg );
In the computation of UACC LOCAL, and either of l or r are applied to each node
on the path from the critical node to the root, and k is applied to the other internal nodes.
Since the
number of internal nodes is a half of Li , we obtain the cost of UACC LOCAL
as maxp pr (i)=p ((Li /2 Di ) t1 (k) + Di (t1 () + max(t1 (l ), t1 (r )))).
At the second step, we gather the results of the local reductions to the global structure
gt on the root processor. From each leaf segment a value of type is sent, and from
each internal segment a value of type is sent. Therefore, the communication cost in
the second step is given as M/2 c + M/2 c .
At the third step, we compute the upwards accumulation for the global structure gt
on the root processor. Function UACC GLOBAL performs sequential upwards accumulation using function n .
613
UACC GLOBAL(n , gt )
stack ;
for i gt .size 1 to 0
if (isLeaf (gt [i])) gt [i] gt[i];
if (isNode(seg[i])) lv stack ; rv stack ; gt [i] n (lv, gt[i], rv);
stack gt [i];
return(gt );
In this function, we apply function n to each internal segment of gt , and thus the cost
of the third step is given as M/2 t1 (n ).
At the fourth step, we send the results of global upwards accumulation to processors,
where two values are sent to each internal segment and no value is sent to each leaf
segment. All the values have type after the global upwards accumulation, and thus
the communication cost in the fourth step is given as M c .
At the last step, we apply function UACC UPDATE to each internal segment. The two
values pushed to the stack are the values passed in the previous step, and correspond
to the two results of children of the critical node. Note that in the last step we only
compute the missing values left in the segment seg .
, lc, rc)
stack ; stack rc; stack lc; d ;
for i seg.size 1 to 0
if (isLeaf (seg[i])) stack seg [i]; d d + 1;
if (isNode(seg[i]) isCrit(seg[i]))
lv stack ; rv stack ;
if (d == 0 d == 1 isCrit(seg [i]))
seg [i] k(seg [i], lv, rv); stack seg [i]; d 0;
else stack seg [i]; d d 1;
return(seg );
In this step, function k is applied to the nodes on the path from the critical node to the
root. Noting that
the depth of the critical nodes in ith segment is Di , we can give the
cost as maxp pr (i)=p (Di t1 (k)).
Summarizing the discussion above we can give the cost model of the upwards accumulation as follows. Note that the coefficient of Li is the same as that of sequential
programs and is not affected by the introduction of auxiliary functions.
t1 (k)
tp (uAcc k) = max
Li
+ Di (t1 () + max(t1 (l ), t1 (r )))
p
2
pr (i)=p
+ M (3c + c + t1 (n ))/2
Downwards Accumulation. We then show the implementation of the downwards accumulation. Downwards accumulation is a top-down computation where an accumulative parameter c is updated with two functions (gl , gr ). The values of leaves are not
used in this computation.
dAcc :: ( , ) Tree Tree
dAcc (gl , gr ) c (Leaf a)
= Leaf c
dAcc (gl , gr ) c (Node l b r) = let l = dAcc (gl , gr ) (gl c b) l
r = dAcc (gl , gr ) (gr c b) r
in Node l c r
614
K. Matsuzaki
The downwards accumulation takes (N (t1 (gl ) + t1 (gr ))/2) by sequential execution.
For efficient parallel implementation, we require auxiliary functions l , r , u and
d satisfying the following equations. Let be the type of results of l and r .
gl c n = d c (l n),
gr c n = d c (r n),
d (d c n) m = d c (u n m)
The implementation of the downwards accumulation also consists of five steps. Due
to the page limit, we only show the outline of the implementation. See [1] for details.
1. For each internal segment, compute intermediate values corresponding to the path
from the root to the critical node.
We can implement this step by a reversed loop
with a stack. The cost is maxp pr (i)=p (Di (max(t1 (l ), t1 (r )) + 2t1 (u ))).
2. Gather local results to the root processor. The communication cost is M c .
3. Compute downwards accumulation on the root processor for the global structure
by a forward loop with a stack. The cost of this step is given as M t1 (d ).
4. Distribute the result of global downwards accumulation to each segment. The communication cost in this step is M c .
5. For each segment, compute downwards accumulation starting from the result of
global downwards accumulation. We can implement this computation
using a for
ward loop with a stack. The cost of this step is given as maxp pr (i)=p (Li /2
(t1 (gl ) + t1 (gr ))).
The overall cost model for the downwards accumulation is given as follows. Here
again the coefficient of Li is the same as that of sequential computation.
t1 (gl ) + t1 (gr )
max
Li
+ Di (max(t1 (l ), t1 (r )) + 2t1 (u ))
p
2
pr (i)=p
+M (c + t1 (d ) + c )
Di Li /2 m/2,
By using a greedy balancing algorithm with respect to the number of nodes and depth
of the critical node for distributing m-bridges, we get the cost of worst case as follows.
max
(Li tl + Di td ) + M tm (N/P + m) (tl + td /2) + M tm
p
pr (i)=p
The equality holds if all the m-bridges have the same number of nodes and all the
critical nodes are in depth m/2, i.e., fully ill-balanced trees. With the inequality between
M and m, the right-hand side above gets the minimum value for some value m in the
following range.
2
Balanced Tree
Random Tree
Ill-balanced Tree
1.5
1
0.5
0
1 4 8 12 16
24
32
40
48
56
60
Balanced Tree
Random Tree
Ill-balanced Tree
linear
50
40
30
20
10
0
1 4 8 12 16
64
615
24
32
40
48
56
64
Number of Processors
Number of Processors
Fig. 3. Execution times and speedups against sequential program where m = 2 104
0.4
0.3
0.14
m = 2000
m = 20000
m = 200000
0.35
0.25
0.2
0.15
0.1
P = 16
P = 32
P = 64
0.12
0.1
0.08
0.06
0.04
0.02
0.05
0
1 4 8 12 16
24
32
40
48
Number of Processors
56
64
10
20
40
80
200
500
Value of m (1000)
Fig. 4. Execution times changing parameter m for the randomly generated tree
5 Experiment Results
To verify the efficiency of the implementation of tree accumulations, we made several
experiments. We used our PC-cluster of uniform PCs with Pentium 4 2.8 GHz CPU and
2 GByte memory connected with Gigabit Ethernet. The compiler and MPI library used
are gcc 4.1.1 and MPICH 1.2.7, respectively.
We solved the party planning problem [12], which is a generalization of maximal
independent sets [2]. The input trees are (1) a balanced tree, (2) a randomly generated
tree and (3) a fully ill-balanced tree, each with 16777215 (= 224 1) nodes. The
parameters for the cost model are tl = 0.18 s, td = 0.25 s, and tm = 100 s on our
PC cluster.
Figure 3 shows the general performance of the tree accumulations. Each execution
time excludes the initial data distribution and final gathering. The speedups are plotted
against a sequential implementation of the tree accumulations. As seen in these plots,
the implementation shows not only scalability but also good sequential performance.
For the fully ill-balanced tree the implementation performs worse but this is caused by
the factor of Di td ( 0.7(Li tl ), for the program) introduced for parallelism.
To analyze more in detail, we made more experiments by changing the value of
m. The results are shown in Fig. 4. Roughly speaking, as seen from Fig. 4 (left), the
implementation of tree accumulations scales under both large and small m. Figure 4
(right) plots the execution time with respect to the parameter m. The performance gets
616
K. Matsuzaki
worse for too small m or too large m, where good performance is shown under the range
5 104 < m < 1 105 computed from the parameters of the cost model estimated
with a small test case.
6 Conclusion
We have developed an efficient implementation of the tree accumulations. Not only
our implementation shows good performance against efficient sequential programs, but
also the cost model of the implementation helps us to divide a tree into segments. The
implementation will be available as part of SkeTo library (Sketo library is available at
http://www.ipl.t.u-tokyo.ac.jp/sketo/). Our future work is to develop a profiling system
that determines accurate parameter m for dividing trees.
Acknowledgments. This work is partially supported by Japan Society for the Promotion of Science, Grant-in-Aid for Scientific Research (B) 17300005, and the Ministry of
Education, Culture, Sports, Science and Technology, Grant-in-Aid for Young Scientists
(B) 18700021.
References
1. Matsuzaki, K., Hu, Z.: Efficient implementation of tree skeletons on distributed-memory
parallel computers. Technical Report METR 2006-65, Department of Mathematical Informatics, the University of Tokyo (2006).
2. He, X.: Efficient parallel algorithms for solving some tree problems. In 24th Allerton Conference on Communication, Control and Computing. (1986).
3. Miller, G.L., Reif, J.H.: Parallel tree contraction and its application. In 26th Annual Symposium on Foundations of Computer Science, 2123 October 1985, Portland, Oregon, USA,
IEEE Computer Society (1985).
4. Abrahamson, K.R., Dadoun, N., Kirkpatrick, D.G., Przytycka, T.M.: A simple parallel tree
contraction algorithm. Journal of Algorithms 10(2) (1989).
5. Mayr, E.W., Werchner, R.: Optimal tree contraction and term matching on the hypercube
and related networks. Algorithmica 18(3) (1997).
6. Dehne, F.K.H.A., Ferreira, A., Caceres, E., Song, S.W., Roncato, A.: Efficient parallel graph
algorithms for coarse-grained multicomputers and BSP. Algorithmica 33(2) (2002).
7. Vishkin, U.: A no-busy-wait balanced tree parallel algorithmic paradigm. In SPAA 2000:
Proceedings of the 12th Annual ACM Symposium on Parallel Algorithms and Architectures,
July 913, 2000, Bar Harbor, Maine, USA, ACM Press (2000).
8. Gibbons, J., Cai, W., Skillicorn, D.B.: Efficient parallel algorithms for tree accumulations.
Science of Computer Programming 23(1) (1994).
9. Matsuzaki, K., Iwasaki, H., Emoto, K., Hu, Z.: A library of constructive skeletons for sequential style of parallel programming. In InfoScale 06: Proceedings of the 1st international
conference on Scalable information systems. Volume 152 of ACM International Conference
Proceeding Series., ACM Press (2006).
10. Reif, J.H., ed.: Synthesis of Parallel Algorithms. Morgan Kaufmann Publishers (1993).
11. Matsuzaki, K., Hu, Z., Takeichi, M.: Implementation of parallel tree skeletons on distributed systems. In The Third Asian Workshop on Programming Languages and Systems,
APLAS02, Shanghai Jiao Tong University, Shanghai, China, November 29 December 1,
2002, Proceedings. (2002).
12. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. Second
ed. MIT Press (2001).
Abstract. SymGrid-Par is a new framework for executing large computer algebra problems on computational Grids. We present the design
of SymGrid-Par, which supports multiple computer algebra packages,
and hence provides the novel possibility of composing a system using
components from dierent packages. Orchestration of the components
on the Grid is provided by a Grid-enabled parallel Haskell (GpH). We
present a prototype implementation of a core component of SymGridPar, together with promising measurements of two programs on a modest Grid to demonstrate the feasibility of our approach.
Introduction
This paper considers the design of high-performance parallel computational algebra systems targeting computational Grids, undertaken as part of the European Union Framework VI grant RII3-CT-2005-026133 (SCIEnce). Parallelising computational algebra problems is challenging since they frequently possess
highly-irregular data- and computational-structures. We describe early stages
of work on the SymGrid system that will ultimately Grid-enable a range of
important computational algebra systems, including at least Maple [12], MuPad [21], Kant [16] and GAP [18]. The SymGrid system comprises two distinct parts: SymGrid-Services allows symbolic computations to access, and
to be oered as, Grid services; conversely, SymGrid-Par enables the parallel
execution of large symbolic computations on computational Grids. This paper
focuses on SymGrid-Par. While there are some parallel symbolic systems that
are suitable for either shared-memory or distributed memory parallel systems
(e.g. [13,11,15,19,5]), work on Grid-based symbolic systems is still nascent, and
our work is therefore highly novel, notably in aiming to allow the construction
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 617624, 2007.
c Springer-Verlag Berlin Heidelberg 2007
618
A. Al Zain et al.
of heterogeneous computations, combining components from dierent computational algebra systems. In this paper, we introduce the design of SymGrid-Par
(Section 2); outline a prototype implementation (Section 3) and present some
preliminary results to demonstrate the realisability of our approach (Section 4).
In particular, we demonstrate the integration of GRID-GUM with one important
computational algebra system, the GAP system for programming with groups
and permutations, and show that we can exploit parallelism within a single Gridenabled cluster. This represents the rst step towards a general heterogeneous
framework for symbolic computing on the Grid that will eventually allow the
orchestration of complete symbolic applications from mixed components written
using dierent computational algebra systems, running on a variety of computer
architectures in a geographically dispersed setting, and accessing distributed
data and other resources.
Maple
619
Kant
Computational Algebra
Systems (CAS)
CAG Interface
<OMOBJ> <OMA>
Grid Middleware
(GpH/GridGUM)
GCA Interface
<OMV name=argn N />
Computational Algebra
Systems (CAS)
</OMA>
</OMOBJ>
GAP
Maple
Kant
Our overall design is shown in Figure 1. SymGrid-Par comprises two interfaces: CAG links computational algebra systems (CASs) to GpH; and GCA
conversely links GpH to these CASs. The purpose of the CAG/GCA interfaces
is to enable CASs to execute on computational Grids, e.g. on a loosely-coupled
collection of Grid-enabled clusters. This is achieved by calling from the CAS to
the Grid-enabled GpH middleware using CAG. This, in turn, calls CAS functions on remote processing elements using GCA.
2.1
GCA Design
CAG Design
The CAG interface will support low-eort Grid programming by providing algorithmic skeletons [14] that have been tailored to the needs of computational
Grids. Figure 5 shows the standard GAP functions that we believe can form the
basis for an initial set of skeletons (ParGAP [15] has also identied a similar
set of parallel operations). Here each argument to the pattern is separated by
an arrow (->), and may operate over lists of values ([..]), or pairs of values
620
A. Al Zain et al.
Processor A
Processor B
GpH
GpH
GridGUM
MPICHG2
GridGUM
GCA
CAS
GpH
GCA
GCA
CAS
GAP, Maple,
KANT ....
CAS
GAP, Maple,
KANT ....
OM
Code/
Decode
OM
Code/
Decode
((..,..)). All of the patterns are polymorphic: a, b etc. stand for (possibly different) concrete types. The rst argument in each case is a function of either
one or two arguments that is to be applied in parallel. For example, parMap
applies its function argument to each element of its second argument (a list) in
parallel, and parReduce will reduce its third argument (a list) by applying the
function between pairs of elements, ending with the value supplied as its second
argument.
621
Fig. 7.
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
tasks
tasks
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
GrAnSim
smallGroup
Kernel
9
8
8
7
6
7
6
6
5
4
3
3
2
2
2
2
1
0
0
50.0 k
running
100.0 k
runnable
150.0 k
fetching
200.0 k
blocked
250.0 k
migrating
300.0 k
350.0 k
400.0 k
2.0 k
running
4.0 k
6.0 k
8.0 k
runnable
10.0 k
12.0 k
14.0 k
fetching
16.0 k 18.0 k
blocked
20.0 k
22.0 k
24.0 k
migrating
26.0 k
28.0 k
30.0 k
32.0 k 34.0 k
36.0 k
Fig. 8. lift: Activity Prole for (parFib 62) on 4 PEs; right: Activity Prole for
Group (1-250) on 5 PEs
small-
GAPObject s. The GAPEvalN function is used to invoke GAP functions returning more than one object. Finally, String2GAPExpr and GAPExpr2String convert GAP objects to/from our internal Haskell format.
We have measured the performance of our GCA Prototype using two simple programs: parFib, a parallel benchmark that is capable of introducing large quantities of very ne-grained parallelism; and smallGroup, a group-algebra program
that exhibits highly-irregular data-parallelism. In both cases GpH uses GCA
to invoke the GAP engine to perform actual computations, dealing only with
the decomposition of the problem, marshalling etc. The kernel of the smallGroup
program is shown in Figure 7. Invocations of GAP Eval can be clearly seen in
622
A. Al Zain et al.
predSmallGroup and nrSmallGroups, and the associated marshalling of arguments and results is also clearly visible. Our experiments were performed on
a Beowulf-style cluster of workstations at Heriot-Watt University, where each
processing element (PE) is a 3GHz Celeron processor with 500kB cache, running
Linux Fedora Core-2. All PEs are connected through a 100Mb/s fast Ethernet
switch with a latency of 142s, as measured under PVM 3.4.2. In the following
results, each runtime is shown as the median of three execution times.
For (parFib 62), the GCA prototype implementation delivers good parallel performance on four processors, requiring 539s in the parallel case, as opposed to a
sequential time of 2, 559s (a superlinear speedup of 4.75, with average parallelism
of 4.0). Figure 3 (above) shows the corresponding GpH activity prole, where
time on the x-axis is plotted against the number of threads in various states,
e.g. running or blocked, on the y-axis. Note that the activity proles record only
GpH computations, and do not expose activity in the underlying GAP process,
which may be lower or higher. The corresponding results for smallGroup show
that on ve PEs, the computation of groups in the interval between 1 and 250
is completed in 37 seconds, compared with a sequential time of 144s, that is a
speedup of 3.9 at an average parallelism of 2.9. Figure 8 shows the corresponding
activity prole for the GpH component. In order to estimate overheads due to
parallelisation, we have also measured sequential times for this problem using
the standard GAP sytem. In this case, the problem was executed in 87s, that
is the cost of marshalling/unmarshalling data and context switching between
processes amounts to 66%. While this is a relatively high gure, we anticipate
that we should be able to reduce this cost by careful tuning of the GRID-GUM
runtime system. While these represent very early results for SymGrid-Par,
and we therefore now intend to explore performance both on larger numbers
of processors and on multiple clusters, and for larger-scale applications, it is
clear that real benet can be obtained for computational algebra problems on a
clustered system without major rewriting of the computational algebra system.
Related Work
Signicant research has been undertaken for specic parallel computational algebra algorithms, notably term re-writing and Gr
obner basis completion (e.g. [9,
10]). A number of one-o parallel programs have also been developed for specic
algebraic computations, mainly in representation theory [2]. There is, however,
little if any support for parallelism in the most widely-used CASs such as Maple,
Axiom or GAP. As research systems, Maple/Linda-Sugarbush [13] supports
sparse modular gcd and parallel bignum systems, with Maple/DSC [11] supporting sparse linear algebra, and ParGAP [15] supporting very coarse-grained computation between multiple GAP processes. There have also been a few attempts
to link parallel functional programming languages with computer algebra systems, for example, the GHC-Maple interface [5]; or the Eden-Maple system [20].
None of these systems is in widespread use at present, however, and none supports the broad range of computational algebra applications we intend to target.
623
Roch and Villard [23] provide a good general survey of work in the eld as of 1997.
Even less work has so far been carried out to interface CASs to the Grid. While
a number of projects have considered the provision of CASs as Grid services, often extending existing web services frameworks, e.g. GENSS [3], GEMLCA [17],
Netsolve/GridSolve [7], Geodise [4], MathGridLink [24] or Maple2G [22], and systems such as GridMathematica [1] allow Grid services to be called from within
CASs, there has been very little work on adapting CASs so that they can cooperate as part of a general Grid resource. Key work is in the Maple2G system that
is now being developed as part of our SCIEnce project. None of these systems
is, however, capable of linking heterogeneous CASs as in SymGrid.
Conclusions
This paper has presented the design of SymGrid-Par, a framework for symbolic computing on heterogeneous computational Grids that uniquely enables
the construction of complex systems by composing components taken from different symbolic computing systems. The core of SymGrid-Par is a pair of
standard interfaces (CAG and GCA) that interface between the symbolic computing systems and the GpH middleware. We have discussed a prototype GCA
implementation and reported promising performance measurements for two simple GAP/GpH programs. In ongoing work funded by the EU FP VI SCIence
project, we now intend to implement the more sophisticated CAG and GCA
interfaces, initially for GAP, and then for Kant, Maple and MuPad. The implementations will be validated on larger symbolic computations and robustied.
We also plan to demonstrate the inter-operation of multiple symbolic computing
systems. In the longer term we will investigate issues associated with scheduling irregular symbolic computations on computational Grids, and develop more
sophisticated parallel skeletons. Finally, we will provide wider access to high
performance symbolic computation by oering SymGrid-Par as a grid service.
References
1. GridMathematica2, http://www.wolfram.com/products/gridmathematica/.
2. High performance computations in group representation theory. Preprint, Institut
fur Experimentelle Mathematik, Univerisitat GH Essen,, 1998.
3. GENSS, http://genss.cs.bath.ac.uk/index.htm, 2006.
4. Geodise, http://www.geodise.org/, 2006.
5. The
GpH-Maple Interface,
http://www.risc.uni-linz.ac.at/software/
ghc-maple/, 2006.
6. The OpenMath Format,http://www.openmath.org/, 2006.
7. S. Agrawal, J. Dongarra, K. Seymour, and S. Vadhiyar. NetSolve: past, present,
and future; a look at a Grid enabled server. In Making the Global Infrastructure a
Reality, pages 613622. Wiley, 2003.
8. A. Al Zain, P. Trinder, H.-W. Loidl, and G. Michaelson. Managing Heterogeneity
in a Grid Parallel Haskell. J. Scalable Comp.: Practice and Experience, 6(4), 2006.
624
A. Al Zain et al.
Introduction
Complex systems are often dened as statistical systems with long-range interactions between their elements and which are characterized by a remarkable
stability and at the same time by the ability to adapt. These features have
led to view complex systems as systems which are prepared at the edge of chaos.
The edge of chaos is roughly dened as the set of zeros of the maximum Lyapunov exponent of a dynamical system. It has been realized in the past that
at exactly these points interesting dynamics occurs, see e.g. [1]. In practical circumstances one is often confronted with the situation that the exact knowledge
of a dynamical system is not available and that the only information given is
in the form of timeseries. A long-standing technical question is how to reliably
compute Lyapunov exponents from a given nite timeseries.
The recent boom in network theory has lead to a number of ways to characterize networks, such as their degree distribution, clustering coecients, neighboring connectivity, diameter, average path length, betweenness, just to name a
view [2,3].
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 625632, 2007.
c Springer-Verlag Berlin Heidelberg 2007
626
Method
As a starting point we consider discrete maps on the unit interval [0, 1] of the
form xt+1 = f (xt ). In a rst step we partition the unit interval into N equal
disjoint subintervals, Ii [(i 1), i], with i = 1, , N , and the interval size
given by 1/N . To arrive at a network representation of a dynamical map
we assign a node to each subinterval. Imagine that at a given time t the value
of the map falls into subinterval i, i.e. xt Ii . At the next timestep t + 1 the
value of the map changes to xt+1 , which we imagine to fall into subinterval j,
i.e. xt+1 = f (xt ) Ij . We dene a (directed) link in the network from node i
to node j whenever the map changes from a value in interval i at some time to
an interval j in the following timestep. Obviously the adjacency matrix A is of
dimensions N N ; formally, its elements are dened as aij = 1 if, xt Ii and
(!) xt+1 = f (x) Ij ; aij = 0, otherwise. More algorithmically one can think
of constructing the network in the following way: We start at the rst interval,
I1 . We ask to which intervals Ij all the elements in Ii point in the above sense.
For all intervals Ij which can be reached from Ii within one timestep, we create
an entry, a1,j = 1. We continue with the second interval, etc. In this way the
network uniquely maps the dynamics of the map, with a resolution . Note
that in this construction the number of links do not depend on the maximum
number of iterations of the map, T max(t). This is not the case in [7], where
they recorded transitions from actual realizations of maps; obviously the network
then will depend on T , and the initial condition, x0 . A further dierence to [7]
is that they symmetrize A, which we do not.
627
0.3
0.5
0.25
Pout(k)
Pin(k)
0.4
0.3
0.2
0.2
0.15
0.1
0.1
10
15
20
25
(b)
0.05
(a)
0
0
0
30
10
15
20
25
30
0.3
P(d)
0.25
0.2
0.15
0.1
(c)
0.05
0
0
10
12
Fig. 1. In-degree distribution (a), out-degree distribution (b) and shortest distance
distribution (c) for the logistic map with r = 4, for N = 1000 subintervals (nodes)
Given the adjacency matrix one can compute the in- and out-degrees for each
node kiin , kiout . The corresponding degree distributions are denoted by P in (k),
P out (k). We further compute the distance matrix D, where the element dij
represents the shortest path from node i to j (number of iterations in the map).
If i and j are not connected, dij = , and the element gets excluded for all
further
analysis. From D the distance distribution function is given by P (d)
1
2
i,j (dij d). The average distance (mean of this distribution) is denoted
N
by davg dij (i,j) , its maximum the diameter of the network is dmax
max(dij ).
3
3.1
Results
Logistic Map
We apply the above procedure to the logistic map xn+1 = f (xn ) = rx(1 x),
and illustrate it with a small partition N = 4 of the interval [0, 1]. For the
particular choice r = 4 this partition produces the following adjacency and
distance matrices,
628
(d)
r=4
1
0.8
f(x)
0.6
0.4
0.2
0
0
0.2
0.4
0.6
0.8
x
(e)
r = 0.2
1000
900
3.5
800
700
600
2.5
500
400
300
200
1.5
100
5
10
15
20
Fig. 2. Adjacency A (a) and distance D (b) matrices of the logistic map for N = 1000
and r = 4. (c) shows D for xed values of dij = 1, 2, 3 only. These look exactly the
same as the /2-rotated 2- and 3-fold compositions of the map, f (f (x)), f (f (f (x))) for
r = 4, shown in (d). Plots (e)-(h) show D for r = 0.2, 0.9, 1, 1.2 respectively. White
color corresponds to dij = .
1110
0 0 1 1
A=
0 0 1 1
1110
1112
2 2 1 1
D=
2 2 1 1
(1)
1112
In Fig. 1 we show P in (k) (a), P out (k) (b) and the distance distribution function P (d) (c), for r = 4, and N = 1000. It is obvious that the degree distributions are not particularly spectacular and denitely do not follow a Poissonian or
power-law distribution. The maximum degrees are k max,in = 32 and k max,out = 6
(for k max,in the probabilities for k > 7 are very small and not discriminable in
the plot from zero). The mean degrees are equal k in k out 3.0.
629
The distance matrix D is computed using the Floyd algorithm [9]. In Fig. 2
(a) and (b) we show the adjacency and distance matrices A, D, respectively. For
A ones are represented by blue pixels, zeros by white. It is intuitively clear that
the structure of A has to be identical to the form of the /2- rotated original
map f (x), which is shown in Fig. 2(d). We dene the n-fold composition of the
map as f (n) f (f ( f (x))). The respective distance matrices are plotted in
Fig. 2(c) for n = 1, 2, 3 for xed values of dij = 1, 2, 3. These curves exactly
resemble the n-fold compositions shown in (d), modulo rotation.
We next check how the quantities k in and k out depend on r and N . As seen
in Fig. 3 the maximum in-degree exhibits a clear power-law behavior. We obtain
k max,in r0.49 , irrespective of N . Quite dierently the maximum out-degrees
resemble step functions. As N becomes larger there is a shift to the left. The
average degrees k in and k out depend on r for three network sizes N = 100,
N = 500, N = 1000 exactly in the same linear way, k in = k out = r2 + 1,
irrespective of network size (not shown).
3
10
N = 1000
N = 500
N = 100
N = 1000
N = 500
N = 100
5
4
kmax,in
kmax,out
10
10
3
2
(a)
(b)
10 3
10
10
10
10
10
Fig. 3. Maximum in-degree (a) and out-degree (b) of the logistic map networks as
functions of the control parameter r for three network sizes
Tent Map
We carry out the same computations for the tent map xn+1 = (1 2|xn 12 |),
with [0, 1]. In Fig. 5 we present the same quantities as for the logistic map.
Again the mean degrees grow linearly with and are independent of network
size. The maximum in-degree, Fig. 5(a), shows a combination of a power law and
step like function behavior. The intervals on which k max,in is constant grow as
approaches 1. The maximum out-degree, Fig. 5(b), is constant k max,out = 2
630
N = 1000
N = 500
N = 100
Lyapunov exponents
15
avg
20
10
5
0
5
0
r
Fig. 4. Average network distance davg of the logistic map as function of the control
parameter r, for three network sizes. The green line are the Lyapunov exponents of the
map.
for (0, 1/2) and jumps to k max,out = 2 for (1/2, 1). The average and
maximum distances again are very similar to each other and exactly behave as
in the logistic map: They diverge where the Lyapunov exponent vanishes. Using
the standard
denition of the Lyapunov exponent for one dimensional maps,
n
= n1 i=0 ln(|f (xi )|), we obtain = ln(|2|), which is a known result for the
standard map. For = 1/2 we have = 0. In Fig. 5 (c) and (d) we see that for
values of near 1/2 davg and dmax diverge.
Discussion
631
10
N = 1000
N = 500
N = 100
N = 1000
N = 500
N = 100
3.5
3
kmax,in
kmax,out
10
2.5
2
1.5
10
1
0.5
(b)
(a)
10 3
10
10
10
10
200
400
dmax
davg
150
500
N = 1000
N = 500
N = 100
100
50
0
0
(c)
0.2
0.4
0.6
0.8
0.2
0.4
0.6
0.8
N = 1000
N = 500
N = 100
300
200
100
0
0
(d)
0.2
0.4
0.6
0.8
Fig. 5. Maximum in-degrees (a) and out-degrees (b) for the tent map, for network sizes
N = 100, N = 500 and N = 1000. Average and maximum distances as functions of
are shown in (c) and (d), respectively.
maps which are piecewise linear on each subinterval and have a slope, equal to
the in- or out-degree of the directed graph. Another interesting problem is the
systematic application of the presented procedure on higher dimensional maps
and possibly continuous dynamical systems.
We acknowledge support from the Austrian Science Fund FWF under P17621
and P19132.
References
1. A. Robledo: Critical attractors and q-statistics. Europhysics News 6 (2005) 214-218
2. S. Dorogovtsev, J.F.F. Mendes: Evolution of Networks. Oxford University Press
(2003)
3. A.-L. Barab
asi: Statistical mechanics of complex networks. Rev. Mod. Phys. 74
(2002) 47
4. G. Froyland, O. Junge, G. Ochs: Rigorous computation of topological entropy with
respect to a nite partition. Physica D 154 (2001) 68-84
5. A. Shreim, P. Grassberger, W. Nadler, B. Samuelsson, J.E.S. Socolar, M.
Paczuski: Network analysis of the state space of discrete dynamical systems, condmat/0610447 (2006)
632
Abstract. New insights have been gained recently into the interplay
between complex network architectures and the collective dynamics of
simple elements coupled through them. The usual paradigm for studying
systems of this kind is a network of one-dimensional interacting logistic
maps, which provides a plausible model for a variety of complex systems.
In this work we consider a network of two-dimensional standard maps
coupled through a scalefree tree topology. The coupling is solely in the
angle coordinate and involves a time-delay: this approach is motivated
by the node-to-node information ow view of the collective dynamics.
We observe a rich variety of dynamical behavior including self-organized
patterns: nodes synchronize in clusters each having specic motion quantities whose values are belonging to a discrete set of possible values.
We conclude by studying the relationship between dynamically induced
cluster-organization of the nodes and their network-structurization.
Introduction
Coupled map systems (CMS) like chains, lattices and networks represent the
simplest and most useful paradigm of a complex system: they are conceptually
easy to understand and numerically straightforward to implement [1,2]. Following the pioneering work by Kaneko [3], the collective dynamical properties of
CMS were studied extensively [4,5,6] yielding a lot of insights into the key mechanisms behind the self-organization of complex systems. Moreover, due to the
rich variety of the global qualitative behaviors that CMS posseses, they became
one of the central tools in complex phenomena modeling. For instance, many
systems of biological interest can be plausibly modeled by CMS [7,8,9]; even the
inherent topological details of a given network can be investigated by studying
the dynamics of a CMS interacting through it [10,11].
Despite the simplicity of the local dynamics exhibited by a single map (considered to be a node of the network) their collective behavior usually has completely dierent properties: in particular, for carefully chosen parameter values,
the networks of coupled chaotic maps not only inhibits local chaos on each node,
but manage to fully synchronize in many dierent ways. Extreme robusteness
of the collective functioning of many real networks can also be seen as an intrinsic property of the network-coupled dynamics. Various recent works tried to
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 633640, 2007.
c Springer-Verlag Berlin Heidelberg 2007
634
[mod 1]
(1)
The nodes are coupled through the network edges by one-step-delay dierence
in angle (x) coordinate so that the complete time-step of the node [i] is
x[i]n+1 = (1 )x [i]n + ki jKi (x[j]n x [i]n )
(2)
y[i]n+1 = (1 )y [i]n .
Here, ( ) denotes the next iterate of the (uncoupled) standard map as in (1), n
denotes the global discrete time and [i] indexes the nodes (ki being a nodes degree); and are standard map and network-coupling parameters respectively,
and Ki stands for the network neighborhood of the node [i]. The update of each
node is therefore the sum of a contribution given by the update of the node itself
(the part) plus a coupling contribution given by the sum of dierences between
the nodes x-value and the x-values of neighboring nodes in the previous iteration. The study is done on a xed tree and focused on observing the dynamical
20
180
635
15
160
2
10
140
120
5
0
0
100
1
5
80
10
60
40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
15
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Fig. 1. Examples of single trajectories. Left: a plot for the uncoupled map; middle and
right: plots of two typical trajectories (colored dierently) for = 0.01, 0.02 respectively. All plots show 10,000 iterations of the randomly chosen node after an initial
transient of 105 iterations for random initial conditions from (x, y) [0, 1] [1, 1].
636
obtained for only a small increase in . Also, note that all the network-coupling
values are orders of magnitude smaller than in similar studies of 1D map networks (e.g.[6],[16]). Synergy between 2D maps is clearly stronger then in 1D
case.
A systematic study of the localized trajectory widths leads to the histograms
in Fig.2 left. The curves have a shape of the log-normal distribution for larger
band widths ( 100); at the same time the process of localization into periodic
orbits is increasing the number of nodes with band width 1. This regularization of network occurs quite abruptly without a smooth decrease of band
widths; for
= 0.018 all the nodes for all choices of initial conditions get localized into periodic orbits. Since this overall property of the trajectories is
robust to initial conditions, we can formalize it by establishing a denition of
synchronization using the periodicity of the nal steady states in the section to
come.
N
1
(xn [i], yn [i]),
N i=1
(3)
which measures the average motion of all the N nodes. When all the nodes
exhibit a periodic motion the a.t. is also periodic, whereas if some of the nodes
are still chaotic the a.t. will be fairly localized but not periodic (Fig.2 right). This
can be quantied through the Fourier analysis. Let us consider a time-signal of
0.5
90
0.4
0.3
70
0.2
60
50
80
0.1
40
0
30
0.1
20
0.2
10
10
20
30
40
50
band width
60
70
80
90
0.3
0.45
0.46
0.47
0.48
0.49
0.5
0.51
0.52
0.53
0.54
0.55
Fig. 2. Left: Band widths distribution for the whole network; = 0.0001 (red), 0.001
(green), 0.01 (blue). Each histogram is obtained by averaging over 50 sets of network
initial conditions. Right: an example of a chaotic (red) and a regular a.t. (green).
637
0.1
0.09
0.08
0.8
supp(|Fk| )
0.06
supp(|F | )
0.07
0.05
0.04
0.6
0.4
0.03
0.02
0.2
0.01
0
0
0.5
0.008
0.01
frequencies
0.012
0.014
0.016
0.018
0.02
0.022
0.024
0.026
Fig. 3. Left: The power spectrum of the time-signal of a chaotic a.t. (red) and a regular
a.t. (green). Right: supp(|Fk |2 ) as function of for = 0.9 with s0 = 104 .
M
1
fn e2ink/M ,
M n=1
(4)
and its power spectrum |Fk |2 characterises the distribution of periodic components within the corresponding motion. A regular periodic orbits spectrum will
therefore be limited to only a few non-zero frequencies whereas a chaotic orbit
will have an (almost) continuous spectrum (Fig.3 left). Since this qualitative
dierence can be quantied by considering supp(|Fk |2 ) (the portion of the domain with non-zero frequencies), we can now dene a collective dynamics as
synchronized if
supp(|Fk |2 ) < s0 ,
(5)
with some very small s0 . This denition is not entirely precise but it is very
useful for the numerical study in this work as it gives a good description of the
nal steady states of our system. Also, supp(|Fk |2 ) can be used as the statistical
order parameter for this system as it sharply decreases to zero when the synchronization starts occurring (Fig.3 right) and stays 0 afterwards. From here
on we will focus on these nal steady states that fulll the condition (5).
Above a particular threshold coupling value c the tree dynamics reaches a synchronized steady state in which every node has a regular periodic trajectory with
a band width close to 1. A detailed analysis leads to a surprising result that the
nodes actually synchronize in clusters, each cluster having a common value of
the band center. Moreover, the band center values seem to appear only in a discrete set of possible values, as shown in Fig.4 left where the motion of the whole
network is presented. The tree is cluster-synchronized: each cluster is dened by
638
0.95
0.9
0.85
band width
0.8
0.75
0.7
1
0.65
0.6
0.55
3
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.5
2
1.5
0.5
0.5
1.5
Fig. 4. Left: First two iterations of all the nodes (after the transient) for = 0.02,
every node belongs to only one trajectory-group with a particular color. Right: band
width against band center values for all the nodes with the same .
its band center location which varies less then 1% for the nodes within a cluster.
Band widths (that are now simply twice the amplitude of oscillation) are also
discretized with slightly bigger variance and are close to 1, as expected. This is
shown in Fig.4 right where we see a plot of band widths against band center
locations; note the left-right symmetry of the plot due to the same symmetry
of the initial value interval. This is one of the regularities of the clusterization,
suggesting that it is not a random process. Even though the group of nodes
within a given cluster vary with initial conditions, the nal qualitative cluster
structure is extremely robust to the initial conditions.
We next show that the synchronized nodes form patterns with more dynamical regularity. In Fig.5 left we show histograms of distances between the nodes
belonging to the same cluster measured along the supporting tree. For comparison we also show lengths of the topological shortest-paths on the same tree. It
appears that the cluster-synchronization aects nodes at distances of 2, 3 and
4, which have statistical weights dierent from the topological distances on that
tree. In this way an intricate structure of the interconnected domains appears
throughout the network (Fig.5 right). This emergent property also seems to be
robust to the variations of the initial conditions.
Another invariant property, although quite common for coupled oscillators,
is that every two linked nodes strongly tend to have dierent oscillation phases
when the tree is synchronized. Regardless of the initial conditions, less then 1
% of the neighboring nodes synchronize in the same phase. Although clustering
eects had already been observed in 1D CMS [17], the clustering observed here
is qualitatively dierent as it includes 2D systems whose synchronization is more
subtle. As for the mechanism behind the clusterization note that the neighboring
nodes tend to oppose their phases due to the time-delay coupling. The dierence
between a nodes x-value and the neighboring nodes past x-values is constant
which gives the steady oscillation after transients. The clustering begins as an
639
1.2
tree:all_pairs
tree: clusters_i.c.1
tree: clusters_i.c.2
tree:clusters_i.c.3
tree:clusters_i.c.4
Normalized # events
1
0.8
0.6
0.4
0.2
0
10
Distance
Fig. 5. Left: Distribution of the topological distances for a tree with 1000 nodes (bullets) and the distances inside the clusters (other symbols) in synchronized states for
= 0.017 and dierent initial conditions. Right: visualization of the tree with ve
interconnected clusters of synchronized nodes marked by dierent colors.
640
References
1. K. Kaneko. Theory and applications of coupled map lattices. John Wiley & Sons
New York, 1993.
2. S. Boccaletti, V. Latora, Y. Moreno, M. Chavez, and D. U. Hwang. Complex
networks: Structure and dynamics. Physics Reports, 424:175, 2006.
3. K. Kaneko. Period-doubling of kink-antikink patterns, quasiperiodicity in antiferro-like structures and spatial intermittency in coupled logistic lattice. Progress
of Theoretical Physics, 72(3):480, 1984.
4. G. Abramson and D. H. Zanette. Globally coupled maps with asynchronous updating. Physical Review E, 58(4):4454, 1998.
5. S. Jalan and R. E. Amritkar. Self-organized and driven phase synchronization in
coupled maps. Physical Review Letters, 90(014101), 2003.
6. P. G. Lind, J. A. C. Gallas, and H. J. Herrmann. Coherence in scale-free networks
of chaotic maps. Physical Review E, 70(056207), 2004.
7. H. Nozawa. A neural network model as a globally coupled map and applications
based on chaos. Chaos, 2(3):377, 1992.
8. F. Li, T. Long, Y. Lu, Q. Ouyang, and C. Tang. The yeast cell-cycle network is
robustly designed. Proceedings of the National Academy of Sciences, 101(14):4781,
2004.
9. B. Tadic, G. J. Rodgers, and S. Thurner. Transport on complex networks:
Flow, jamming & optimization. International Journal of Bifurcation and Chaos,
17(7):n/a, 2007.
10. E. Oh, K. Rho, H. Hong, and B. Kahng. Modular synchronization in complex
networks. Physical Review E, 72(047101), 2005.
11. A. Arenas, A. Daz-Guilera, and C. J. Perez-Vicente. Synchronization reveals
topological scales in complex networks. Physical Review Letters, 96(114102), 2006.
12. N. Kashtan and U. Alon. Spontaneous evolution of modularity and network motifs.
Proceedings of the National Academy of Sciences, 102(39):13773, 2005.
13. S. Widder, J. Schicho, and P. Schuster. Dynamic patterns of gene regulation i:
Simple two gene systems. To appear.
14. S. N. Dorogovtsev and J. F. F. Mendes. Evolution of networks: From Biological
Nets to the Internet and WWW. Oxford University Press, 2003.
15. B. V. Chirikov. A universal instability of many-dimensional oscillator systems.
Physics Reports, 52(5):263, 1979.
16. F. M. Atay and J. Jost. Deleys, connection topology and synchronization of coupled
chaotic maps. Physical Review Letters, 92(14), 2004.
17. S. Jalan, R. E. Amritkar, and C. Hu. Synchronized clusters in coupled map networks. i. numerical studies. Physical Review E, 72(016211), 2005.
18. C. Masoller and A. C. Mart. Random delays and the synchronization of chaotic
maps. Physical Review Letters, 94(134102), 2005.
19. C. P. Li, W. G. Sun, and J. Kurths. Synchonization of complex dynamical networks
with time delays. Physica A, 361(1):24, 2006.
Milovan Suvakov
and Bosiljka Tadic
Department for Theoretical Physics, Jozef Stefan Institute, Box 3000, 1001 Ljubljana,
Slovenia
Milovan.Suvakov@ijs.si, Bosiljka.Tadic@ijs.si
http://www-f1.ijs.si/tadic/, http://www-f1.ijs.si/suvakov/
Introduction
642
M. Suvakov
and B. Tadic
2
2.1
(a)
(b)
Fig. 1. Examples of the nano-particle lms with (a) random and (b) correlated deposition at density = 10% grid points covered by particles. Network edges are shown
corresponding to the radius r of 2 grid points, discussed in the text.
643
In contrast to the random deposition, in Fig. 1(b) we apply self-avoiding randomwalk dynamics to select the deposition sites. In this case, the non-linear selfavoiding process leads to an inhomogeneous deposition, with inhomogeneity at
dierent scales [16]. In both cases we put N = 1000 particles on the rectangular
plane with 100 100 grid points (see Fig. 1).
2.2
Emergent Networks
Conduction
For the simulations of the tunneling currents driven by voltage dierences between two electrodes, the network structure (Fig. 1) is xed by its adjacency
We then place the electrodes at left-most and right-most nodes of the
matrix A.
network. By increasing the voltage dierence, the conditions for the electron tunneling into the system of nano-particles from the side of higher voltage electrode
are created. Increasing the voltage in small steps, the front of tunneling charges
moves towards the low-voltage electrode and eventually touches the electrode
when the voltage exceeds a threshold value VT , which depends on the distance
between electrodes and other details of the process, described below.
3.1
Tunneling Implementation
The energy of charged particles on a network of size N is given by the Hamiltonian [10,12,13,19]:
E=
1 1
Q M Q + Q V ext + Q = E (1) + E (2) + Q
2
(1)
644
M. Suvakov
and B. Tadic
Eij /e2 R
,
1 exp(Eij /kB T )
(2)
which is determined by the energy change Eij associated with the tunneling
process. Here e is the electron charge, R is quantum resistance and T is temperature.
Next we calculate the energy changes associated to the tunneling along the
links of the network. After a single electron tunneling process from dot a to dot
b (Qi = Qi + bi ai ) the change in the interaction energy term in Eq.(1),
E (1) (a b) = E (1) E (1) can be written as:
E (1) (a b) =
1
1
(Qi + bi ai )Mij1 (Qj + bj aj )
Qi Mij1 Qj (3)
2 ij
2 ij
1
Using Mij1 = Mji
(3) becomes:
E (1) (a b) =
i
1
1
1
1
1
1
1
Qi (Mib
Mia
) + (Maa
+ Mbb
Mab
Mba
) . (4)
2
Similarly, the change in the second energy term of Eq.(1), which is associated
with the interaction with the external potential, E (2) (a b) = E (2) E (2)
becomes
E (2) (a b) =
(Qi + bi ai )Viext
Qi Viext = Vbext Vaext .
(5)
i
1
1
(Qi ai )Mij1 (Qj aj )
Qi Mij1 Qj
2 ij
2 ij
i
and
E (2) (a ) =
1 1
1
Qi Mia
+ Maa
,
2
i
(Qi ai )Viext
i
Qi Viext = Vaext .
(6)
(7)
645
(8)
1 1
E (1) (a ) = Va + Maa
.
(9)
2
In the case when C << Cq the o-diagonal elements of inverse capacitance
matrix fall o exponentially and in calculations of Vc we can use only nearst
neighbor terms, which speeds up the calculations.
In the simulations, following an increase of the voltage on one electrode, it
takes some transient period until the distribution of charges become stationary.
We then sample the charges at all nodes and currents through all links of the
network. The relevant quantities are measured in the following units: charge
Q[e], voltage V [e/Cg ], time t[RCg ] and current I[e/RCg ]. In this paper we focus
on certain properties of current in the limit C Cg and we set T = 0, where
the tunneling eects are most pronounced, and gate = = 0.
The numerical implementation in C++ is done according to the following
steps:
Input: graph, parameters
Calculate capacitance and inverse capacitance matrix
Initialize vectors Q, Vc with zeros
Initialize time t=0
While(enough sampled data)
Calculate vector Vc
Calculate energy change for all junctions
For each link t(i,j)=next random from distribution pij(t)
Process the tunneling with smallest time t(i,j)
Increment time t=t+t(i,j)
If(relaxation is done)
Sample data of interest
End If
End While
3.2
As mentioned above, driven by the external potential, the charges are entering
the system from the higher-voltage electrode. When the voltage is small, the
charges can screen the external potential, in which case the system may become
static and there is no current. For the voltage larger than a threshold value VT the
screening does not occur and, after some transient time, a stationary distribution
of charges over dots sets-in with a constant current through the system. In
general, the experimental measurements of the current-voltage characteristics in
nano-particle arrays revealed a non-linear dependence [13] according to the law
I (V /VT 1) ,
(10)
M. Suvakov
and B. Tadic
646
0.01
Random
Correlated
slope 2.3
slope 2.4
0.1
Distribution
I [rel. units]
0.001
1e-04
0.01
0.001
1e-05
1e-06
0.1
10
100
1e-04
0.01
Random
Correlated
0.1
I/Imax
(V-VT)/VT
(a)
(b)
Fig. 2. Conduction on the networks shown in Fig. 1: (a) Non-linear I-V curves with
solid lines representing the power-law ts, according to Eq. (10); (b) Distribution of
normalized currents over links. The solid lines represent ts with Eq. (11).
in a range of values of voltage above V > VT . In Fig. 2(a) we show the results of
the simulated current-voltage curves in our two networks. They exhibit a typical
non-linear behavior with the exponent > 2. The dierence between these two
curves appears in the saturation region, visible in the case of inhomogeneous network for voltage around 30VT . This saturation can be explained by the existence
of a large number of bottle necks in the inhomogeneous network structure.
For the xed value of voltage V = 10VT we demonstrate how the electrons
ow through the network by monitoring the currents through each link. All data
are collected after a transient (relaxation) period. The distributions of currents
through the links are shown in Fig. 2(b) for the two network topologies. In the
case of random network there is a well dened power-law tail with a large slope of
4.5 (solid line). For the correlated network we found that the ow distribution
can be well tted with a q-exponential form [20]
1/(1q)
I/Imax
P (x) = B0 1 (1 q)
,
x0
(11)
(a)
647
(b)
Fig. 3. Conduction paths on networks shown in Fig. 1: (a) random, (b) correlated
structure. Intensity in the gray scale is proportional to the ow over links.
Conclusions
We have implemented a numerical algorithm for analysis of the electron tunneling conduction through nano-particle arrays on a two-dimensional substrates.
The inputs in the algorithm are positions of the nano-particles in the x-y plane,
that can be obtained either from the appropriate measurements in the real systems or from a theoretical model.
We have demonstrated how the algorithm works in two types of networks,
corresponding to a random and a correlated deposition of nano-particles. In
particular, the ow over the links has been studied quantitatively by the statistical distributions and visualized graphically. In both networks we obtain a
non-linear currentvoltage characteristics with most available experimental data
of nano-particle arrays. Furthermore, we have demonstrated that both of these
measures appear to be dependent on the actual structure of the network. Hence,
these measures of the current ow can be used as a tool to characterize the lm
structureconduction properties.
The graphic visualization algorithm developed in this work (made available for
an interactive application on the authors Web site) can be used for visualization
of ow in a general case of planar graphs.
Acknowledgments
We thank the nancial support by the Marie Curie Research and Training Network MRTN-CT-2004-005728 project and by the programme P1-0044 of the
Ministry of high education, science and technology (Slovenia).
648
M. Suvakov
and B. Tadic
References
1. T. Bigioni, X. Lin, T. Nguyen, E. Corwin, T. Witten, and H. Jeager. Kinetically
driven self assembly of highly ordered nanoparticle monolayers. Nature Materials,
5:265, 2006.
2. C. I. Duru
oz, R. M. Clarke, C. M. Marcus, and J. S. Harris, Jr. Conduction threshold, switching, and hysteresis in quantum dot arrays. Phys. Rev. Lett., 74(16):
32373240, 1995.
3. C
. Kurdak, A. J. Rimberg, T. R. Ho, and J. Clarke. Activated transport and scaling
behavior in the current-voltage characteristics and coulomb-blockade oscillations
of two-dimensional arrays of metallic islands. Phys. Rev. B, 57(12):R6842R6845,
Mar 1998.
4. A. J. Rimberg, T. R. Ho, and J. Clarke. Scaling behavior in the current-voltage
characteristic of one- and two-dimensional arrays of small metallic islands. Phys.
Rev. Lett., 74(23):47144717, Jun 1995.
5. P. Moriarty. Nanostructured materials. Reports of Progress in Physics, 64:297381,
2001.
6. P. Moriarty, M. D. R. Taylor, and M. Brust. Nanostructured cellular networks.
Phys. Rev. Lett., 89(24):248303, 2002.
7. Z. Konstantinovic, M. G. del Muro, M. Varela, X. Batlle, and A. Labarta. Particle
growing mechanisms in ag-zro2 and au-zro2 granular lms obtained by pulsed laser
deposition. Nanotechnology, 17:4106, 2006.
8. M. Brust, D. Bethell, Kiely C. J., and D. J. Schirin. Self-assembled gold nanoparticle thin lms with nonmetallic optical and electronic properties. Langmuir,
14(19):5425 5429, 1998.
9. C. P. Martin, M. O. Blunt, and P. Moriarty. Nanoparticle networks on silicon:
Self-organized or disorganized? Nano Lett., 4(12):2389 2392, 2004.
10. B. K. Ferry and S. M. Goodnick. Transport in Nanostructures. Cambridge University Press, 1997.
11. U. Geigenm
uller and G. Sch
on. Single-electron eects in arrays of normal tunnel
junctions. Europhysics Letters, 10:765+, December 1989.
12. N. S. Bakhvalov, G. S. Kazacha, K. K. Likharev, and S. I. Serdyukova. Statics and
dynamics of single-electron solitons in two-dimensional arrays of ultrasmall tunnel
junctions. Physica B Condensed Matter, 173:319328, September 1991.
13. A. A. Middleton and N. S. Wingreen. Collective transport in arrays of small
metallic dots. Phys. Rev. Lett., 71(19):31983201, 1993.
14. M. N. Wybourne, L. Clarke, M. Yan, S. X. Cai, L. O. Brown, J. Hutchison, and
J. F. W. Keana. Coulomb-blockade dominated transport in patterned gold-cluster
structures. Jpn. J. Appl. Phys., 36:77967800, 1997.
15. R. Parthasarathy, X. Lin, K. Elteto, T. F. Rosenbaum, and H. M. Jeager. Percolating through networks of random thresholds: Finite temperature electron tunneling
in metal nanocrystal arrays. Phys. Rev. Lett., 92:076801, 2004.
16. G. F. Lawler. Intersections of Random Walks. Birkhauser-Boston (1996).
17. R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network Flows: Theory, Algorithms,
and Applications. Prentice Hall, 1993.
18. M. Suvakov
and Tadic B. Topology of cell-aggregated planar graphs. Springer
(Berlin) Part III, 3993:1098, 2006.
19. M. Suvakov
and B. Tadic. Transport processes on homogeneous planar graphs with
scale-free loops. Physica A, 372:354361, 2006.
20. Tsallis C. Possible generalization of boltzmann-gibbs entropy. J. Stat. Phys, 52:479,
1988.
1 Introduction
Recently, a considerable number of works have been done on various networks in the
real world, such as the Internet, the world wide web, social networks and many others to
understand their properties so far [1, 2, 3] . Statistical properties of networks which are
commonly seen in many instances of networks in nature, have been revealed; scale-free
degree distribution, relatively short distance between nodes, clustered structure with
high clustering coefficient and existence of community structure are the examples. A
number of theoretical models of complex networks which realize these properties have
also been proposed [4, 5, 6, 7].
There are some classes of networks structures considered in the context of complex
network science, typically known as scale-free networks or small-world networks. Such
classes are of use for assuming a model for a real-world network. However, classification of complex networks is still not a simple problem, for mathematical representation
for real-world networks is almost impossible, due to their complicated structures. Because of this difficulty, only a little is known about classes of networks, mainly by basic
statistical properties, such as degree distributions.
Not only statistical structures of networks, there are other groups of studies from
the point of view of functions of networks. Examples include evolution of magnetized
spin glasses [8, 9], synchronization of coupled oscillators [10] and transport [11] on
complex networks. From this perspective, networks are often treated as a structure of
an interaction pattern in systems. Suppose a time-progressing dynamics on a complex
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 649656, 2007.
c Springer-Verlag Berlin Heidelberg 2007
650
N
Aij j ( )
(i = 1...N ),
(1)
where Aij is the adjacency matrix, which in this paper is considered to be symmetric. In
our previous work, we investigated a similar dynamics as a two-state diffusion process
[12]: The model is described as follows.
sgn {hi (n)} if hi (n) = 0
i (n + 1) =
(2)
(n) if hi (n) = 0.
In this model, the spins of vertices are updated synchronously at each time step n, that
is, all vertices are updated their spins simultaneously as n progresses. In this paper, a
general Monte Carlo method is used for the numerical simulations. The spins of individual vertices are updated asynchronously. At each step , a vertex is randomly chosen
and its spin is updated according to the following rule:
sgn {hi ( )} if hi ( ) = 0
i ( + 1) =
(3)
1 (probability 1/2) if hi ( ) = 0.
Initial condition at = 0 is arbitrarily determined according to centrality of vertices. Corresponding to the centralities of each vertex, the rN vertices with the largest
centrality are assigned the positive spin state at the initial state ((0) = +1), while the
remaining (1 r)N vertices are assigned (0) = 1. Here, r is the initial fraction of
positive spins, and N is the number of vertices in the network. We consider r and the
651
3 Numerical Studies
In this section, we explain the numerical results, and the classes emerging out from the
input-output relations of networks. In addition to the models, we apply the method to
several real-world networks to study their classes.
3.1 Network Models and Initial Conditions
In this paper, we deal with several network models: Regular lattice, random graph (RA),
Watts-Strogatz (WS) model [4] (the mixing parameter p is set p = 0.1), Barabasi-Albert
(BA) model [5], Klemm-Egulz (KE) model [6] (the mixing parameter is set = 0
and = 0.1) and Connecting Nearest Neighbor (CNN) model [7]. Each model has
its inherent characteristics. Their classes from conventional structural classification are
briefly explained in Table. 1. See related references for further details of the models.
Table 1. Network models and their structural classes
Model
Classes
Lattice
Random graph
WS model
BA model
KE model ( = 0)
KE model ( = 0.1)
CNN model
highly-clustered
small-world
small-world, highly-clustered
scale-free, small-world
scale-free, highly-clustered
scale-free, small-world, highly-clustered
scale-free, small-world, highly-clustered
652
by Eqn. (2), a certain oscillation mode was observed at n = [12], while no oscillation
occurred in the model by Eqn. 3. However, the r-r relations of both models turned out
to be essentially the same.
From Fig. 1, we find several characteristic patterns in the r-r relations. They are
briefly reviewed in the following (Fig. 2). The patterns are classified by step-like function, sigmoid-like function, convex curve with/without critical point and linear-like
function with/without intercept:
Step function. For most cases on random graph and BA model, a r-r relation like
step function as shown in Fig. 2(a) is observed. Positive spins disappear unless the
fraction in the input does not exceed a certain fraction rc , otherwise they prevails
in the whole network.
Sigmoid function. In some cases the transition at the critical fraction rc is rather moderate. In such cases, the r-r relation forms a shape like sigmoid function as shown
in Fig. 2(b).
Convex curve with/without critical point. In other cases, the shape is fairly different.
Positive spins disappear when r is less than rc , while they survive in a higher fraction than r if r > rc , as shown in Fig. 2(c). For some cases there is no critical point,
where rc 0, as shown in Fig. 2(c).
Linear function with/without intercept. For another input, the r-r relation forms a
liner function, where the spins does hardly prevail nor shrink from the initial state,
as shown in Fig. 2(d). In some cases r |r=0 = r0 > 0, where the positive spins
survives in the limit of r 0, as shown in Fig. 2(d).
3.3 Classification of Networks
According to the patterns described above, the input-output relations of networks can
be classified as Table. 2. The classes seem not to be directly related to the conventional
structural classes, however, there are some clue to investigate them. The pattern (a)
is only observed on the random graph and the BA model. It may be related to low
clustering. The pattern (c) and (d), which are seen on highly-clustered networks, are
more complicated. The critical point rc of the pattern (c) are different for the cases. The
patten (d) are seen on the input by closeness centrality and betweenness centrality. They
may be related to inherent characteristics of these networks and centralities. Thus, the
patterns of the input-output relations of networks can be related to a new classification
of networks.
3.4 Application to Real-World Networks
To utilize the classification discussed in the previous section, we apply this analysis
and classification to two examples real-world networks. One is a network of Japanese
social networking service (SNS) mixi, where a node is a user and an edge is their
registered friendship. The other is a network of entries of weblogs, where a node is
an individual entries of weblogs and an edge is a trackback between entries. They can
be both recognized as scale-free, small-world and highly-clustered networks based on
the conventional classification. The basic statistics (number of vertices N , number of
653
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
Initial Ratio of +1 State
0.7
0.8
0.9
0.9
0.9
0.9
0.9
0.8
0.8
0.8
0.8
0.7
0.7
0.7
0.7
0.6
0.6
0.6
0.6
0.5
0.5
0.5
0.5
0.4
0.4
0.4
0.4
0.3
0.3
0.3
0.3
0.2
0.2
0.2
0.1
0.1
0.1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
RA, degree
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.2
0.1
0
0
RA, closeness
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
RA, betweenness
0.9
0.9
0.9
0.8
0.8
0.8
0.8
0.7
0.7
0.7
0.7
0.6
0.6
0.6
0.6
0.5
0.5
0.5
0.5
0.4
0.4
0.4
0.4
0.3
0.3
0.3
0.3
0.2
0.2
0.2
0.1
0.1
0.1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
WS, degree
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.3
0.4
0.5
0.6
0.7
0.8
0.9
WS, betweenness
0.9
0.9
0.9
0.8
0.8
0.8
0.7
0.7
0.7
0.7
0.6
0.6
0.6
0.6
0.5
0.5
0.5
0.5
0.4
0.4
0.4
0.4
0.3
0.3
0.3
0.2
0.2
0.2
0.1
0.1
0.1
0.4
0.5
0.6
0.7
0.8
0.9
0.1
BA, degree
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.9
0.9
0.9
0.8
0.8
0.8
0.7
0.7
0.7
0.7
0.6
0.6
0.6
0.6
0.5
0.5
0.5
0.5
0.4
0.4
0.4
0.4
0.3
0.3
0.3
0.2
0.2
0.2
0.1
0.1
0.1
0
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
KE ( = 0), degree
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
KE ( = 0), closeness
0.3
0.4
0.5
0.6
0.7
0.8
0.9
KE ( = 0), betweenness
0.9
0.9
0.9
0.8
0.8
0.8
0.7
0.7
0.7
0.6
0.6
0.6
0.6
0.5
0.5
0.5
0.5
0.4
0.4
0.4
0.4
0.3
0.3
0.3
0.2
0.2
0.2
0.1
0.1
0.1
0
0.3
0.4
0.5
0.6
0.7
0.8
0.9
KE ( = 0.1), degree
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
KE ( = 0.1), closeness
0.3
0.4
0.5
0.6
0.7
0.8
0.9
KE ( = 0.1), betweenness
0.9
0.9
0.9
0.8
0.8
0.8
0.7
0.7
0.7
0.6
0.6
0.6
0.6
0.5
0.5
0.5
0.5
0.4
0.4
0.4
0.4
0.3
0.3
0.3
0.2
0.2
0.2
0.1
0.1
0.1
0
0.3
0.4
0.5
0.6
0.7
0.8
CNN, degree
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
CNN, closeness
0.9
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.3
0.2
0.1
0
0
0.1
KE ( = 0.1), clustering
0.2
0
0.2
0.7
0.1
0.9
0.1
0.1
0.8
0.8
0.2
0.9
0.7
0.3
0
0
0.6
KE ( = 0), clustering
0.2
0.5
0
0.2
0.7
0.1
0.4
0.1
0.1
0.8
0.3
0.2
0.9
0.2
0.3
0
0
0.1
BA, clustering
0.8
0.1
BA, betweenness
0.9
0.9
0.1
BA, closeness
0.8
0.2
0.7
0.3
0
0.3
0.6
WS, clustering
0.2
0.5
0
0.2
0.8
0.1
0.4
0.1
0.1
0.9
0.3
0.2
WS, closeness
0.2
RA, clustering
0.9
0.1
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
CNN, betweenness
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
CNN, clustering
Fig. 1. Numerical results of r-r relations for each network and ordering of initial condition. The
x-axis and the y-axis denote r and r , respectively.
edges m, average path length L and clustering coefficient C) of them are N = 360802,
m = 1904614, L = 5.52 and C = 0.33 for the SNS, and N = 39048, m = 116318,
L = 13.22 and C = 0.23 for the weblogs. The degree distributions of them are shown
in Fig. 3.
rc1
(b)
(a)
rc2
(c)
654
rc
0
(d)
(d)
(c)
rc
r0
Table 2. Classes of the r-r relations of the network models for different inputs
Lattice
RA
WS
BA
KE ( = 0)
KE ( = 0.1)
CNN
Degree
Closeness
(a)
(c)
(a)
(b)
(b)
(c)
(a)
(c)
(a)
(d)
(d)
(d)
Betweenness
Clustering
(b)
(a)
(c)
(a)
(d)
(c)
(c)
(a)
(b)
(a)
(c)
(c)
(b)
0.1
0.1
0.01
p(k)
p(k)
0.01
0.001
0.001
1e-04
1e-04
1e-05
1e-06
1e-05
1
10
100
Degree
1000
10000
10
100
1000
Degree
Fig. 3. Degree distributions of the real-world networks (right: SNS, left: Weblogs)
655
The r-r relations of the real-world networks by the proposed method and their
classes are shown in Fig. 4 and Table. 3. They also have unique classes. As for the
SNS network, the results are classified into the same class as the CNN model, except
the input of closeness centrality. Especially, the form of the r-r relationship for the
input of clustering coefficient has the same characteristic of discontinuity as that of the
CNN model. As for the weblogs network, the linear pattern (d) of the input of closeness
centrality, which is seen on the KE network, is observed.
These classes may represent the inherent characteristics of the networks which do not
appear in the conventional statistical characteristics. These results imply that the inherent structure of the SNS network is well modeled by the CNN model, and the inherent
characteristics about the closeness centrality of the weblogs network are modeled by
the KE model. The classes proposed in this paper can thus be useful for classification
and model assumption of real-world networks.
1
0.9
0.9
0.9
0.9
0.8
0.8
0.8
0.8
0.7
0.7
0.7
0.7
0.6
0.6
0.6
0.6
0.5
0.5
0.5
0.5
0.4
0.4
0.4
0.4
0.3
0.3
0.3
0.3
0.2
0.2
0.2
0.1
0.1
0.1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
SNS, degree
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.2
0.1
0
0
SNS, closeness
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
SNS, betweenness
0.9
0.9
0.9
0.9
0.8
0.8
0.8
0.8
0.7
0.7
0.7
0.7
0.6
0.6
0.6
0.6
0.5
0.5
0.5
0.5
0.4
0.4
0.4
0.4
0.3
0.3
0.3
0.3
0.2
0.2
0.2
0.1
0.1
0.1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Weblogs, degree
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Weblogs, closeness
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.9
SNS, clustering
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Weblogs, betweenness
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Weblogs, clustering
SNS
Weblogs
Degree
Closeness
Betweenness
Clustering
(c)
(c)
(c)
(d)
(c)
(c)
(b)
(b)
4 Conclusion
We proposed a new classification of networks, using the function of networks. A network is considered to be an input-output system, and the classes are related to a functional relationship of arbitrary input and response (output) to the input. As a model
of function, we considered a spin interaction system with arbitrary initial conditions
on networks. Numerical studies using complex network models revealed that networks
are classified into four fundamental classes. The classes is considered to represent an
inherent characteristic of networks.
656
Applying the method to two examples of real-world network, it is shown that the
classes also appears on the real-world networks, and that the classification can be used
for model assumption for studying an unknown characteristic of a real-world network.
References
1. Dorogovtsev, S.N., Mendes, J.F.F.: Evolution of Networks: From Biological Nets to the
INternet and WWW. Oxford University Press, Oxford (2003)
2. Newman, M.E.J., Barabasi, A.L., Watts, D.J.: The Structure and Dynamics of Networks.
Princeton Univ. Press (2006)
3. Boccaletti, S., Latora, Y., Moreno, Y., Chavez, M., Hwang, D.U.: Complex networks: Structure and dynamics. Phys. Rep. 424 (2006) 175 308
4. Watts, D.J., Strogatz, S.H.: Collective dynamics of small-world networks. Nature 393
(1998) 440 442
5. Barabasi, A.L., Albert, R.: Emergence of scaling in random networks. Science 286 (1999)
509 512
6. Klemm, K., Eguluz, V.M.: Highly clustered scale-free networks. Phys. Rev. E 65(036123)
(2002)
7. Vazquez, A.: Growing network with local rules: Preferential attachment, clustering hierarchy, and degree correlations. Phys. Rev. E 67(056104) (2003)
8. Castellano, C., Loreto, V., Barrat, A., Cecconi, F., Parisi, D.: Comparison of voter and glauber
ordering dynamics on networks. Phys. Rev. E 71(066107) (2005) 066107
9. Castellano, C., Pastor-Satorras, R.: Zero temperature glauber dynamics on complex networks. J. Stat. Mech. (2006) P05001
10. Arenas, A., Daz-Guilera, A., Perez-Vicente, C.J.: Synchronization reveals topological scales
in complex networks. Phys. Rev. Lett. 96(114102) (2006)
11. Tadic, B., Godgers, G.J., Thurner, S.: Transport on complex networks: Flow, jamming and
optimization. arXiv:physics/0606166 (2006)
12. Uchida, M., Shirayama, S.: A new analysis method for compex network based on dynamics
of spin diffusion. In: ICCS 2006, Part III, LNCS 3993. (2006) 1063 1066
13. Brandes, U.: A faster algorithm for betweenness centrality. Journal of Mathematical Sociology 25(2) (2001) 163 177
State Key Laboratory of Software Engineering, Wuhan University, Wuhan 430072, China
2
China Institute of Electronic System Engineering, Beijing, 100039, China
tsinllew@gmail.com
1 Introduction
There have been numerous and various complex networks with the development of
science, technology and human society. A property that seems to be common to many
networks is community structure [3], the division of network nodes into communities
or modules within which connections are dense, but between which they are sparser.
Community detection, which can help us simplify functional analysis, is potentially
very useful. To evaluate the accuracy of the community structure Newman and
Girvan devised a quantitative measure called modularity Q. It is defined in [4] as:
Q = ( eii ai )
2
(1)
Q is the addition of the modularity q of all the communities, Q=sum (qi). For each
community i, qi is calculated as eii, the fraction of the links that fall within the
communities, minus ai2, the expected value of the same number of links distributed
randomly in spite of the community structure.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 657664, 2007.
Springer-Verlag Berlin Heidelberg 2007
658
X. Liu et al.
Maximize
q H
Q(q)
(2)
659
Evaluation Function
We choose modularity Q as the fitness value of the chromosome. Then, the evaluation
function is defined in (1).
Mutation Operation
In this process, each chromosome in the population except the fittest one undergoes a
random one-bit flip. If the mutation has improved the fitness value of the
chromosome, we adopt it for certain. Otherwise, we accept or reject the mutated
string according to a variable probability:
pro = 1- t / maxgen ,
(3)
where t, maxgen denotes the current generation number and the maximal generation
number respectively. This mechanism, analogous to simulated annealing, causes the
acceptance probability of the deteriorated mutation being large initially, where we can
search the space uniformly, and it being very small at later stage, where we can search
the space very locally and escape the local optima.
Local Hill-climbing Operation
We first select the fittest chromosome u in the population, then mutate on one of its
bit obtaining u. Only if the random mutation has improved the fitness value did we
replace u by u, otherwise nothing should be done. This operation is significant in that
the algorithm depends highly on it to search the global optimization when the
evolution reaches the later stage.
Termination Condition
The algorithm is terminated on condition that at least one of the following two terms
is satisfied:
1. The fittest chromosome in the population has not been improved for a desired
number of generations.
2. The number of the current generation is beyond limitation.
Pseudo-code
Finally, the pseudo-code of our genetic algorithm is described as follows:
660
X. Liu et al.
Complexity Analysis
Some of parameters used in GA are listed in Table 1. Concerning the computational
time, the most consuming step is the fitness evaluation process. For a given
chromosome with the string length of l, the running time of fitness evaluation
operation is O(l2). However, if just flip a single bit of a string, we only need to modify
the previous fitness value to fulfill the re-evaluation, whose cost would be as low as
O(l). This is also the reason of not involving the crossover operation in our algorithm,
as re-evaluating the offspring produced by crossover entails unbearable complexity of
O(l2). Thus, the complete fitness evaluation operation of O(l2) complexity is only
performed when assessing the first randomized chromosomes. In addition, we do the
fitness re-evaluation of O(l) complexity popsize times per generation. Therefore, in
the worst case, the complexity of the GA would be:
(4)
(5)
661
accuracy. To be noted, the efficiency and accuracy of the algorithm is affected by the
proportion of hubs we mined. As a matter of fact, if the hubs are excessive, there
would be too many clusters for the algorithm to be efficient. On the contrary, if the
number of hubs is too small, although the algorithm is efficient, the partition would be
ill-constructed. Therefore, the quality-efficiency trade-off of our algorithm is really
subject to the value of r.
On a network with n vertices and m edges, the running time of clustering operation
is dependent on r. Specifically, the complexity is between O(n), where r = 1, i.e., all
nodes are hubs, and O(mn), where r is so small that only one hub exists. According to
(5), the sequential divisional algorithm has 2 popsize O((rn)2) + (log2s + 2)
(maxgen popsize) O(rn) complexity. If the values of all parameters are set as
Table 1, the total computational cost would approximately be:
O(mn) + 2 105 (log2s + 2) O(n) + 8 O(n2) .
(6)
This is the complexity of the worst case, considering every time the GA would
converge much earlier before it evolving to the max generation. Therefore, generally
speaking, our algorithm entails a sort of operation with cost O(n(m+n)) or O(n2) on a
sparse network.
Table 1. Summary of parameters used in the algorithm
Parameter
Meaning
Value
popsize
size of the population
100
maxgen
maximal generation number
10000
ungen max number of generations for unimproved fittest chromosome
100
r
fraction of mined hubs
0.2
s
number of identified communities
network dependent
X. Liu et al.
662
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
fraction of inter-community edges,kout/k
0.5
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
fraction of inter-community edges,kout/k
0.5
Fig. 1. The fraction of vertices correctly identified by our algorithm, GN algorithm and SA
algorithm in the computer-generated graphs described in the text. Our algorithm, which
significantly outperforms the GN algorithm and is comparable to the SA algorithm for most
cases, could be able to reliably identify modules in a network whose nodes have as many as
40% of their connections outside their own module.
Fig. 2. The division results of the karate club network by our algorithm. On the left, we apply
our algorithm directly to the network obtaining 4 communities with Q=0.418803, the biggest
modularity at present. On the right, the result of improved algorithm by a threshold of =0.02
is satisfying, only the number 10 vertex is classified wrongly according to the actual structure
of the network.
Now we turn to some applications of real-world network. The first one is Zacharys
karate club network [4], which is taken from one of the classic studies in sociology.
We apply our algorithm to it and the original network is segmented into 4 parts with
Q=0.418803 (see Fig.2, left). In order to avoid the graph being decomposed into more
parts, we set a threshold =0.02. Only if the contribution to the total modularity of the
proposed split of the isolated subgraph is larger than , we do the division. In this
way, we carry out our experiment for the second time. The algorithm works perfectly,
finding most of the known split of the network into two groups with Q=0.371795,
only one vertex, number 10, is classified wrongly (see Fig.2, right). In fact, if we
distribute the number 10 vertex to the right group, the corresponding Q would fall to
0.371466. As can be seen form the picture, the number 10 vertex is connected to the
two parts with only one link respectively. So both assignments could be accepted
from the view of community structure, whether we distribute it to the left part or the
right one.
663
This time we employ a UML class diagram with 224 vertices and 541 edges. Again
we set r to 1 in the experiment. The program ends rapidly and segments the original
graph into 10 parts with the modularity of 0.531982. Fig.3 shows the image of the
network after performing our algorithm.
In order to further verify the significance of the algorithm proposed in this paper, we
apply it to several other networks of different sizes. In all the tests, we only work with
the biggest connected component, removing all multiple relations and self-referenced
edges. The results given in Table 2 provide a useful quantitative measure of the
success of our algorithm when applied to real-world problems.
Table 2. The result of several other real-world networks by our algorithm. The applied
networks, ranging from 1458 to 28502 vertices, are all of scale-free structure. The algorithm
successfully identifies the communities in reasonable time (The runs are executed on a desktop
computer of Pentium 4, 3.0GHz).
Networks
Num of Vertices
Num of Communities
Time(s)
1458
7192
28502
12
22
68
0.738382
0.434555
0.578198
0.3
0.2
0.1
5.1
62.4
1724.0
5 Conclusion
In this paper we describe an algorithm, based on repeated subdivisions, to extract
community structure from complex networks. The running time of the algorithm is
O(n2) on a sparse network, where n is the number of nodes. Experiments show that
our method performs well in both efficiency and accuracy. The innovative aspects of
664
X. Liu et al.
this paper are as follows. First, we employ the GA and devise some specific tricks to
successfully solve the intractable problem. Second, we exploit the scale-free nature of
real-world complex networks, and propose a method, which combines the idea of
clustering, to manage the daunting real-world systems of medium and large sizes in
reasonable time.
Acknowledgments. The authors thank Zhijian Wu, Zengyang Li for their wonderful
suggestions and Baohua Cao, Bin Liu for providing data. This research is supported
by the National Grand Fundamental Research 973 Program (2006CB701305), the
State Key Laboratory of Software Engineering Fund (SKLSE05-15), and the Ministry
Key GIS Laboratory Fund (wd200603).
References
1. Roger Guimer and Lus A. Nunes Amaral.: Cartography of complex networks: modules
and universal roles. Journal of Statistical Mechanics: Theory and Experiment. 17425468/05/P02001
2. L.Danon, J.Duch, A.Diaz-Guilera, and A. Arenas.: Comparing community structu-re
identification. J. Stat. Mech. p. P09008 (2005)
3. Michelle Girvan and M. E. J. Newman.: Community structure in social and biological
networks. 2002, Proc. Natl. Acad. Sci., 99, 7821
4. M. E. J. Newman and M. Girvan.: Finding and evaluating community structure in
networks. Phys. Rev. E, 69, 026113
5. M. E. J. Newman.: Fast algorithm for detecting community structure in networks. Phys.
Rev. E 69, 066113 (2004)
6. Josep M. Pujol, Javier Bjar, and Jordi Delgado.: Clustering algorithm for determining
community structure in large networks. Phys. Rev. E 74, 016107 (2006)
7. Jordi Duch and Alex Arenas.: Community detection in complex networks using extremal
optimization, Phys. Rev. E 72, 027104 (2005)
8. M. E. J. Newman.: Finding community structure in networks using the eigenvectors of
matrices. Phys. Rev. E 74, 036104 (2006)
9. Michalewicz, Z.: Genetic Algorithms + Data Structures = Evolution Programs. 3rd edn.
Springer-Verlag, Berlin Heidelberg New York (1996)
10. M. E. J. Newman.: Modularity and community structure in networks. Proceedings of the
National Academy of Sciences of the United States of America 103:8577 2006
Introduction
Mobile ad-hoc networks provide convenient infra-free communications over wireless channels. Recently, mobile ad-hoc wireless networking technology has been
applied to various applications such as military tactical networks, sensor networks, and disaster area networks [5]. But it is dicult to implement mobile
ad-hoc networks due to physical constraints such as the limited power range
and small memory of mobile device, and security issues [6] such as authentication. Recently, there are many eorts to resolve the constraints of mobile ad-hoc
networks with various security issues [7], [8], [9], [11].
In [7], [8], [9], Luo et al distributed the functions of certication authority
through a threshold secret sharing method [3], [4] and scalable multi-signature
mechanism. In [11], Capkun et al proposed a fully self-organized public-key management system that doesnt need any trusted authorities in mobile ad-hoc network. The authors presented methods by which the authentication mechanism of
the mobile ad-hoc network can act on its own without the help of the centralized
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 665672, 2007.
c Springer-Verlag Berlin Heidelberg 2007
666
TTP(Trusted Third Party), but since it acts on the basis of the public-key algorithm, it needs to be improved in terms of actual implementation or eciency
in consideration of the performance of the nodes.
Accordingly, this paper proposes a method of ensuring the security and reliability of the mobile ad-hoc network by providing authentication and secure
communication based on symmetric cryptography while acting independently
from the centralized TTP. Besides, the concept of Hamming Distance [1] is introduced to show that it is possible to securely transmit information between
the nodes, though one node only manages log2 N secret keys. In this paper, N
means the number of nodes in the network.
This paper is organized as follows: In section 2, we explain the concepts of
Hamming Distance. In section 3, we present a secure communication channel
establishing method. In section 4, we propose the key management method.
In section 5 and 6, we propose a path construction algorithm and analyze its
performance.
Concepts
First, we explain the basic characteristics of Hamming Distance between two integers and the concept of Hamming Distance for improving the number of secret
keys exchanged between one node and others as log2 N . We use the following
two denitions to simplify our explanation.
The IDs of two nodes, a and b, are dened as aID ( ZN ) and bID ( ZN ) and
Hamming Distance between these IDs are dened as HD(a, b) (or HD).
A node a stores and manages the secret keys exchanged with other nodes.
At this time, node a from the viewpoint of other nodes is dened as parent
node (P N ) and the other nodes is dened as child nodes (CN ). Besides,
one of CN is dened as CNi . Each node meets the following condition :
HD(P N, CNi ) = 1.
Theorem 1. For a ZN , dene Ra = {x ZN | HD(a, x) = 1}, then
|Ra | = log2 N where Zn = {0, 1, ..., N 1}, N = 2m , m > 0
Proof. For an integer a ZN , the number of integers which Hamming Distance
in comparison with a is 1 is the same as the number of integers which Hamming weight in comparison with 0 is 1. Generally, the number of integers
that Hamming weight in comparison with 0 is r is computed to m Cr . Here, m
means log2 N and C means combination. Thus, for a number a, the number of
integers that Hamming Distance is 1 is equivalent to m(= log2 N ) as m C1 .
In this paper, each node is assigned an element over ZN as the unique ID of
its public-key certicate. At this time, this ID is dierent concept with the
serial number of public-key certicate x.509 v3 [10] and is managed by using
the extension eld within certicate. To construct a secure communication path
and manage a secret key eciently, each node is assigned its own ID by the
667
R001
This section uses the concept of Hamming Distance to describe how to establish
a secure channel for securely transmitting information between nodes in the adhoc network. For simplicitys sake, it is assumed that N is 8, and information is
transmitted through the secure channel between two nodes(N000 and N110 ).
For starters, each node identies the nodes with HD=1. In gure 2, nodes
with HD=1 in comparison with N000 are {N001 , N010 , N100 }. To establish a
secure channel between nodes, each node exchanges secret keys with those nodes
with HD=1. To ensure security at this time, each node uses the public-key of
the other node to encrypt and transmit its secret key. In other words, nodes
exchanging secret keys with node N000 are {N001 , N010 , N100 }, and the secret keys are {K(000,001) , K(000,010) , K(000,100) }. At this time, K(000,001) and
K(001,000) is the same secret key. And node N000 may exchange a dierent secret key with each node to enhance security. In this method, all nodes exchange
the secret keys with nodes that satisfy HD=1. On the assumption that secret
keys were exchanged like this, the method of establishing a secure channel for
securely transmitting information between two nodes will be explained. That is,
a communication path between Sn and Dn in gure 2 is determined to securely
668
transmit information from N000 to N110 . There are six paths in gure 2 and one
of these paths is selected to transmit information.
A node that wants to participate in the ad-hoc network needs to cross certify
and exchange the encryption key for secure communication with other nodes.
This section proposes a method that combines asymmetric and symmetric cryptography as the method of managing secret keys necessary for cross certication
and encryption in this ad-hoc network. Asymmetric cryptography is used when
the public-key certicate for an ad-hoc network administrator is issued from
the TTP, and when an initial key is installed on each node. The initial key is
used when a node participating in the ad-hoc network exchanges secret keys
with other nodes. Symmetric cryptography is used for authentication and secure
communication between nodes.
In general, in symmetric cryptography, as all nodes must share secret keys with
each other, the number of secret keys managed by one node must be (N 1) like
gure 3(a). However, in our paper, we show that it is possible to get the secure
communication even if only log2 N secret keys are exchanged like gure 3(b).
This paper divides the key management method into four stages: administrators
preparation, node initialization under the administrators control, secret key
exchange, and secure communication.
4.1
Preparation
669
4.2
Node Initialization
In this stage, the secret keys for secure communication between nodes are shared.
In general, for secure communication between nodes, all nodes must own secret
keys necessary for data encryption. In sharing these secret keys, it is important
to minimize the impact of the leakage of the secret keys in the network to an
intruder and provide end-to-end security. As the best method, if the network
size is N , one node needs to exchange secret keys with (N 1) other nodes, and
670
1. Initialization :
- path_length
- PN
0,
- path_nodes[0]
Sn
4 - 1. j 0
Sn
4 - 2. randomly select CN j , CN j
0, path_length path_length 1
3 - 2. Randomly select CN i , CN i
RPN :
RPN :
(b) replace PN by CN j :
- path_nodes[path_length]
- PN
i 1
- go to step 5(Fail)
PN
CN j
(c) go to step 3 - 1
- go to step 5(Fail)
(b) if HD(CN i , Dn)
(c) if i log 2 N , then i
1, then go to step 5
i 1 and
go to step 3 - 2
Secure Communication
671
(1)
The main goal of this simulation is to verify a completion level of our proposed algorithm in gure 4. Thus, this simulation intends to analyze the success
probability of path construction in case that the number of nodes on mobile
ad-hoc network is smaller than N (= 2m ) . Namely, we analyze the success possibility by evaluating the performance of the proposed algorithm according to
672
the node reducing rate r. Figure 5 represents the success probability of constructing a path versus node reducing factor r(= { 0.1, ..., 0.9}) according to N
(= {128, 512, 2048, 8192}). As seen in gure 5, a path is constructed about 97.6%
success probability at condence interval [2] 99% in case of r= 0.5. If r <0.5, the
success probability will be high. As a result, the performance of our algorithm
is outstanding.
Conclusion
We used asymmetric and symmetric cryptography to propose a method of secure communication between nodes over mobile ad-hoc network. Besides, the
method based on Hamming Distance was proposed as the method of exchanging keys between nodes so that one node manages only log2 N secret keys. The
performance of our method was evaluated through simulation. According to the
result of the simulation, the probability of this algorithm successfully nding a
path was above 97.9% at 99% condence interval, in case that r is smaller than
0.5. In addition, our method can minimize the impact of the leakage of some
secret keys on the entire ad-hoc network as individual nodes own dierent secret
keys. However, Our method doesnt guarantee the end-to-end security directly
between source and destination nodes in this paper. Accordingly, additional research needs to be made into this area.
References
1. R. Hamming: Coding and Information Theory, Prentice-Hall, 1980.
2. Raj Jain: The art of computer systems performance analysis, John Wiley & Sons,
Inc., 1991.
3. A. Herzberg, S. Jarecki, H. Krawczyk, M. Yung: Proactive Secret Sharing, or: how
to cope with perpetual leakage, Advances in Cryptography - Crypto 95 Proceedings, LNCS Vol 963, 1995.
4. Y. Frankel, P. Gemmell, P.-D. MacKenzie, and M. Yung: Optimal-Resilience Proactive Public-Key Cryptosystems, IEEE Symp. on Foundations of Computer Science,
1997.
5. K. Fokine: Key Management in Ad Hoc Networks, LiTH-ISY-EX-3322-2002, 2002.
6. F. Stajano and R. Anderson: The Resurrecting Duckling : Security Issues for Adhoc Wireless Networks, Proc. seventh Intl workshop security protocols, 1999
7. H. Luo and S. Lu: Ubiquitous and Robust Authentication Services for Ad Hoc
Wireless Networks, Technical Report 200030, UCLA Computer Science Department, Oct. 2000.
8. J. Kong, P. Zerfos, H. Luo, S. Lu, and L. Zhang: Providing robust and ubiquitous
security support for MANET, Proc. ninth Intl conf. Network Protocols, Nov. 2001.
9. H.Luo, P. Zerfos, J. Kong, S. Lu, and L. Zhang: Self-securing Ad Hoc Wireless
Networks, Seventh IEEE Symp. on Computers and Communications, 2002.
10. R. Housley, W. Polk, W. Ford, and D. Solo: Internet X.509 Public Key Infrastructure Certicate and CRL Prole, IETF RFC3280, April 2002.
11. S. Capkun, L.Buttyan and J.-P. Hubaux: Self-Organized Public-Key Management
for Mobile Ad Hoc Networks, IEEE Trans. on mobile computing, vol. 2, No. 1,
Jan./Mar. 2003.
Abstract. To maintain the quality of multicast tree in supporting dynamic membership is critical important for the tree receivers. We propose
an integrated approach that combines core migration with local search to
aord the receivers a consistent quality service. The main ideas behind
the thought are always migrate the core to the tree topological center
within limited overhead and provide multiple routes via local search for
a new receiver to meet its quality requirements. Our algorithm aims to
meet a predened upper bound delay along path to individual receiver
and satisfy the constraint of inter-destination delay variation among all
receivers. Simulation results show that our proposed algorithm performs
well in terms of constrains indicated above.
Keywords: integrated approach; core migration; receiver; multicast tree.
Introduction
674
to fulll quality requirements for the group. Yet, the overall information about
network topology and the group size is required prior to tree construction. For
dynamic group, the tree is dynamically constructed as members join/leave the
group. Due to members movement, the service qualities are often degraded, even
though the tree is suitable for the group at rst.
Two types of multicast trees, named source-based tree and core-based tree,
have been considered to accommodate to quality requirements. In source-based
tree, as a member requests for receiving a specic sources messages, it has to
graft a shortest path onto the multicast tree that rooted at the specic source.
And as a member joins multiple sources the multiple trees with shortest path
are grafted as well. The more the resource of nodes is consumed the more the
routing table of nodes is complicated. Instead of grafting onto multiple trees, a
core node and a single shared tree, dened to be the union of the member-tocore shortest paths, is utilized in core-based tree (CBT) [1]. In CBT, messages
destined for the group are rst delivered to the core node, from which they
are distributed along tree branches to group members. The shared tree in CBT
reduces usage of resource and complications of routing table. Unfortunately, in
CBT, the core location/selection problem becomes another issue which aects
the tree shape and service quality requirements. Our research aims to provide a
heuristic solution in resolving this important issue.
The rest of this paper is organized as follows. In Section 2, several related
researches are reviewed. In section 3, we dene our research and propose a core
selection/migration method that minimizes inter-destination delay variation of
multicast tree. Simulation results are presented in Section 4 and some concluding
remarks are given in Section 5.
Background
The main issues associated with shared tree construction are core selection, paths
setup for new members, and tree maintenance for core migration and member
dynamics. The core location of a shared tree inuences the performances of the
tree in terms of total tree cost and delays experienced by individual receivers.
The optimal core selection is an NP-complete problem and numbers of heuristics
have been proposed in previous researches. Whereas most of these proposed
heuristics require a completed topology and detailed membership exacted prior
to core selection, and without taking the quality of services (QoS) requirements
into account [2].
Ideally, while a new member requests to join a multicast group, multicast
routing protocols should have the ability to nd a feasible branch that connect
the new member to the available multicast tree if it exists. CBT [1] grafts a new
member to the multicast tree along the unicast routing path from core to the new
member. It is suitable for best-eort trac; however, in addition to consider QoS
requirements, such shortest-path tree would not be acceptable. A few QoS-aware
multicast routing protocols that use multiple branches searching method have
been proposed in Carlbergs and Crowcrofts research [3]. In their study, they
mainly propose multiple candidate paths for new member to join the existed
675
tree; and use GREEDY [4] approach in handling the leaving member. Where
GREEDY [4] is, if the node being removed is a leaf node, then the branch of the
tree supporting only that node is pruned; and for the case of non-leaf nodes, no
action is taken.
However, in dynamic multicasting, continuous grafting and pruning degrades
the performance of multicast tree over the time [2]. And the problem of updating
a multicast tree to accommodate addition or deletion of nodes for the multicast
group can be modeled as the on-line Steiner Problem. The on-line Steiner Problem in network is rst presented by [4] and is an NP-complete problem as well.
In the extreme case, the problem can be solved as a sequence of static multicast
problem by rebuilding the tree at each stage using a static Steiner heuristic.
However, this approach is too expensive in the cost and is unsuitable for ongoing real-time multicast sessions which cannot tolerate the disturbance caused by
excessive change in the multicast tree after each addition or deletion.
Rouskas and Baldine [5] propose a source-based tree to meet the end-to-end
delay constraints and inter-destination delay variation constraints by extension
of path lengths. Wang et al. [6], based on shared tree, proposed an distributed
algorithm that core does not need global knowledge of network topology. Instead, core only maintains the information about agents (sub-trees root) and
the information of all the members is distributed among local agents.
Proposed Algorithm
Actually the multicast group should be the set of hosts that are directly attached to
routers in VT .
676
vi , and vj are all in VT . We denoted by (u) = D(PT (u, vi )) D(PT (u, vj )) the
inter-destination delay variation of the node u.
Let R = {r1 , r2 , . . . , rk } be a sequence of requests, where ri is either adding
or removing a destination node to or from the multicast group. Let VTi be the
set of nodes in the multicast group after request ri has been completely made.
In response to ri , we also let Ti and ui VTi be the multicast tree spanning VTi
and the core of the tree Ti , respectively.
There are two parameters are dened to characterize the quality of the tree as
perceived by application performing the multicast. These parameters relate the
end-to-end delays along individual core-destination paths to the desired level of
QoS.
Delay tolerance, : Parameter represents an upper bound on the acceptable end-to-end delay along any path from the core to a destination node.
This parameter reects the fact that the information carried by multicast
packets become stale time units after its transmission at the core.
Inter-destination delay variation tolerance, (u): This is the maximum allowed dierence in end-to-end delay between the paths from the node u
(core) to its farthest and nearest nodes which are in the set VT . In essence,
this parameter is used to insure that no one is left behind and that none is
far ahead in receiving the same data among the various receivers.
Problem 1. Given a network G = (V, E), a delay tolerance , a shared tree
T0 , rooted at u0 , which is a subgraph of G, and a request sequence R =
{r1 , r2 , . . . , rk }. With respect to request ri been made, the sequence of multicast tree {T1 , T2 , . . . , Tk } is constructed, in which Ti spans VTi . After tree Ti
constructed, nd a node ui VTi satises the following conditions:
1. Tree
Ti has minimum inter-destination
delay variation. Formally,
ui VTi (ui ) = minvj VTi (vj ) .
2. The delay of path PTi (ui , v) fullls the delay tolerance . That is,
D(PTi (ui , v)) , v VTi .
3. After the above two conditions have been satised, the tree Ti has minimum
cost.
This problem is known to be NP-Complete since it reduces to the standard
Steiner tree problem [5,7].
Please refer to Appendix A for detailed description of our approach and we
briey describe it in the rest of this section. We assume that a shared tree
T , rooted at node u (core), has been constructed at the beginning. The nodes
that those are already on-tree nodes maintain their own table T D.The elds
of T D are Branch indicated the branch connecting to neighboring node and
AccumulatedDelay indicated the accumulated delay of the farthest leaf node
along Branch. We also assume that each node in network knows the delays that
messages pass through adjacent branches to neighboring nodes. While GRAFT
message is sent to an on-tree node vj , it calculates the accumulated delay along
the joining path, and decides whether to send an UPDATE message to upstream
node of itself or not.
677
The PRUNE message is only sent by leaf nodes, and is terminated at a node
which has the other branch in T D or is a member, too. When node vj receives
a PRUNE message, it determines its own table T D to verify whether maximum
delay is replaced, then an UPDATE message is consequently sent to its upstream
node. On the other hand, a PRUNE message is sent to upstream node of vj , if
there is no any record in T D.
According to the new arrival UPDATE message, a node vj may update its
corresponding recode in T D. If the maximal AccumulatedDelay is changed and
vj is not the core, then an UPDATE message is sent to upstream node, again. The
above process is continued until the core u receiving an UPDATE message. The
core calculates the dierence between rst and second maximal accumulated
delay in T D, and it decides whether migration process is proceed or not. If
migration is necessary for best quality requirements, the core u sends MIGRATE
message along the branch toward the farthest node. However, each node which
receives MIGRATE message is just a candidate of core. The candidate also
calculates the next node along maximal delay path until no more better results.
Consequently, the candidate core becomes the new core and sends a NOTIFY
message to all the source nodes of multicast tree T .
In generating random graphs, we adopt the method used by Waxman [4], where
vertices are placed randomly in a rectangular coordinate grid by generating uniformly distributed values for their x and y coordinates. The probability function
d(u, v)
P (u, v) = e 2n and a random number 0 r < 1 are used to decide that
whether an edge exists between node u and v or not. Where d(u, v) is denoted as
their Euclidean distance, and are tunable parameters, and n is the number
of nodes in the graph. Increasing increases the number of connections between
far o nodes and increasing increases the degree of each node.
To generate addition or deletion requests for our simulation, we have used the
probabilistic model employed in [4]. In a network of size N , let k represent the
number of nodes in the multicast tree. Then, the probability of an add-request
(N k)
is given by the expression P rob(add) = (N k)+(1)k
, where is a constant
in the range (0, 1]. The value of determines the equilibrium point at which
k
the probability of an add or delete request is equally likely. When = N
, the
above expression takes a value of 0.5. The probability that a request will be a
delete-request is given by P rob(del) = 1 P rob(add).
Our simulation studies were conducted on a set of 100 random networks. Values of = 0.2 and = 0.2 were used to generate networks with average degree
ranging between 3 and 4. Each random network received a total of 30 update
requests. These requests were generated based on the probabilistic model using a
value of = 0.3. Two performance measures, namely maximum inter-destination
variation and cost of multicast tree, are used to evaluate the performance of the
algorithms. The performance of the algorithms are also evaluated over two parameters, which are: number of network nodes and multicast group size.
1.1
0.95
1.05
0.9
0.85
0.95
0.8
Ratio
Ratio
678
0.75
0.9
0.85
0.7
0.8
0.65
0.75
0.6
0.7
0.55
0.65
20
40
60
80
100
Nodes (Number of members is 30% nodes)
120
10
15
20
Group Size % (100 nodes)
25
30
Fig. 1(a) shows the results for dierent number of network nodes, which ranges
from 20 to 120 in steps 10 while group size are kept constant at 30% of network
nodes. Fig. 1(b) shows the results for dierent number of group size, ranging
from 5 to 30 in steps 5 while network size are kept constant at 100. It is easy to
see that our algorithm is able to generate solutions with smaller inter-destination
delay variation than SPTs algorithm.
Conclusions
In this paper, we provide the solution to multicast trees construction with the
guarantees that the end-to-end delays from the core to the destination modes
and the variation among these delays are within a given bound constrain. And
our resolution is able to minimize total tree costs as well. The problem of constructing such trees is NP-complete. In comparing with SPTs algorithm, our
heuristic exhibits good average case behavior, eases of implement, and does not
need global network information during tree construction. Our heuristic does
not take end-to-end delay bounds into account since satisfaction of the interdestination delay variation is the most important consideration in our strategy.
However, our heuristic is exible in modication to cope with the end-to-end delay bound requirement in many ways such as the method proposed in Rouskass
and Baldines research [5]. The analysis of data losing rate during the core migration process should be explored more in the future research.
References
1. Ballardie, T., Francis, P., Crowcroft, J.: Core-based trees (CBT): An architecture
for scalable inter-domain multicast routing. ACM SIGCOMM Computer Communication Review 23 (1993) 8595
2. Donahoo, M.J., Zegura, E.W.: Core migration for dynamic multicast routing. In:
Proceedings of the Fifth International Conference on Computer Communications
and Networks (ICCCN 96). (1996) 9298
679
3. Carlberg, K., Crowsroft, J.: Building shared trees using a one-to-many joining
mechanism. ACM SIGCOMM Computer Communication Review 27 (1997) 511
4. Waxman, B.M.: Routing of multipoint connections. IEEE Journal of Selected Areas
in Communications 6 (1988) 16171622
5. Rouskas, G.N., Baldine, I.: Multicast routing with end-to-end delay and delay
variation constraints. IEEE Journal of Selected Areas in Communications 15 (1997)
346356
6. Wang, T.Y., Wuu, L.C., Huang, S.T.: A scable core migration protocol for dynamic
multicast tree. Journal of Information Science and Engineering 19 (2003) 479501
7. Kompella, V., Pasquale, J., Polyzos, G.: Multicasting for Multimedia Applications.
In: Proc. IEEE INFOCOM 92, Florence, Italy (1992) 20782085
Appendix A
main()
waiting for a control message r
switch r.type
case GRAFT; join()
case PRUNE; leave()
case UPDATE; update()
case MIGRATE; migrate()
end r.type
end main
join()
N ewAccumulatedDelay r.AccumulatedDelay + DownstreamDelay
if N ewAccumulatedDelay > max (T D.AccumulatedDelay) then
r.type UPDATE
r.AccumulatedDelay N ewAccumulatedDelay
send(upstream(self ), r)
end if
T D.Branch T D.Branch r.Branch
T D.Branch(r).AccumulatedDelay N ewAccumulatedDelay
end join
leave()
N ewAccumulatedDelay r.AccumulatedDelay + DownstreamDelay
if N ewAccumulatedDelay == max (T D.AccumulatedDelay) then
T D.Branch T D.Branch r.Branch
if T D.Branch = then
r.type UPDATE
r.AccumulatedDelay max (T D.AccumulatedDelay)
send(upstream(self ), r)
else
r.type PRUNE
r.AccumulatedDelay N ewAccumulatedDelay
send(upstream(self ), r)
end if
680
end if
end leave
update()
N ewAccumulatedDelay r.AccumulatedDelay + DownstreamDelay
OldM axDelay max (T D.AccumulatedDelay)
if N ewAccumulatedDelay > T D.Branch(r).AccumulatedDelay then
T D.Branch(r).AccumulatedDelay N ewAccumulatedDelay
end if
if OldM axDelay < max (T D.AccumulatedDelay) then
if self = core then
r.type UPDATE
r.AccumulatedDelay max (T D.AccumulatedDelay)
send(upstream(self ), r)
else
M axDelay max (T D.AccumulatedDelay)
SecM axDelay secondly maximum in T D.AccumulatedDelay
BranchDelay the delay of branch toward farthest member
if (M axDelay SecM axDelay)/ 2 > BranchDelay then
r.type MIGRATE
r.AccumulatedDelay SecM axDelay
send(maxdownstream(self ), r)
end if
end if
end if
end update
migrate()
N ewAccumulatedDelay r.AccumulatedDelay + U pstreamDelay
T D.Branch(r).AccumulatedDelay N ewAccumulatedDelay
M axDelay max (T D.AccumulatedDelay)
SecM axDelay secondly maximum in T D.AccumulatedDelay
BranchDelay the delay of branch toward farthest member
if (M axDelay SecM axDelay)/ 2 > BranchDelay then
r.type MIGRATE
r.AccumulatedDelay SecM axDelay
send(maxdownstream(self ), r)
else
r.type NOTIFY
send(source(T ), r)
end if
end migrate
State Key Lab of Software Engineering, Wuhan University, Wuhan 430072, China
Department of Information & Management, Hunan Finance & Economics College,
Changsha 410205, China
xiaoruliang@163.com
1 Introduction
Generally speaking, ontologies are shared models of a domain that encode a view
which is common to a set of different parties, and contexts are local not shared
models that encode a partys subjective view of a domain. While the environment
keeps unceasingly changing, semantic information in the constant ontology cant
reflect the dynamic context. Context-awareness is one of the fundamental
requirements for fitting the semantics of the unceasingly changing context. With the
increased availability of large and specialized online ontologies, the issues about the
integration of independently deployed ontologies have become even more
outstanding. Hence, it is crucial to develop efficient ontological formalism for
overcoming the semantics heterogeneity of multiple information sources so as to
make the public (shared) and local harmonious. In the last few years, a lot of efforts
have been done[3,4,5,6,7]. In our work, we concentrate on the integration of
heterogeneous metadata information in the Semantic Web resources. A novel
categorial context with default reasoning approach is presented here that is capable of
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 681688, 2007.
Springer-Verlag Berlin Heidelberg 2007
682
representing and efficiently dealing with some challenges. The organization of the
paper is as follows: in section 2, from the category theory and description logic point
of view, we define several conceptions relative context. In section 3, a categorial
context formalism CContext-SHOIQ(D+)DL is proposed, which is extension to the
description logic (DL). Section 4 constructs nonmonotonic default reasoning based on
CContext-SHOIQ(D+)DL. In Section 5, we develop a prototype system for integrating
context information from multiple distributed sources using default reasoning based
on JESS, RACER and Protg OWL plugin. At the end, we discuss the related work
and make a conclusion in Section 6.
683
If gf is defined in the context U, then F1(g) F1(f) is defined in the context V , and
F1(gf)=F1(g) F1(f).
Definition 4 (Context Sequence). Provided that there is a serial of contexts that
construct a concrete environment, we call this environment Context Sequence. It can
be denoted as n.2.1, where j. as (j=1,2, , n) context. This kind of context
sequence is called Context-Aware Scenes too.
From the above general inclusion axioms, we all know that a Tbox is still a set of
general inclusion axioms.
Suppose that I={a,b,c,}, an assertion must be in the form of : a: .C, (a,b): .R,
where a, bI, C., R. . An Abox consists of limited number of assertions.
684
685
:1,,n
whereas , , and i i=1,2,,n are classical first-order logic formulae, is called the
prerequisite, is called the consequent of the default, i is a consistency condition or
justification. The default has the following intuitive meaningif is inferable and,
for all i i=1,2,,n is not inferable, then infer .
4.2 Default Reasoning Approach to Categorial Context Functor
The experience in building practical applications has revealed several shortcomings of
many semantic and computational problems. On the one hand, SHOIQ(D+) DL, which
acts as one of DLs, is fragment of first-order logic. Its semantics is based on the Open
World Assumption (OWA) of classical logic, while default rules are based on a
Closed World Assumption (CWA), imposed by the different semantics for logic
programming over categorial context functor. How to integrate the OWA of
SHOIQ(D+) and the CWA of rules in a proper way? i.e., how to merge monotonic
and nonmonotonic logical subsystems from a semantic viewpoint? On the other hand,
decidability and complexity of reasoning are two crucial issues in systems combining
DL knowledge bases and default rules. In fact, reasoning in DL knowledge base is
decidable and default reasoning is decidable, our combination perfectly syncretizes
default reasoning into CContext-SHOIQ(D+), preserving decidability and balancing
between OWA and CWA.
Definition 10. Categorial Context Default Reasoning is constructed into the
formalism CContext-SHOIQ(D+) as above. Provided that is a set of contextual
names, , and are categorical context names within , a set of conceptions, a
set of roles. .X, i.Yi, and i.Xi (i=1,2,,n) are conceptions or roles in , and of
CContext-SHOIQ(D+), Categorial Context Default Reasoning satisfies such rule as
follows,
.X 1.Y1,,n.Yn :1.X1n.Xn
where . Yi is called the prerequisite, .X is called the consequent of the default, i.Xi
is a consistency condition or justification.
The default has the following intuitive meaningfor all i.Xi (i=1,2,,n) is not
derivable, and if .Yi is derivable, then derive .X, i.e. If there exists an interpretation I
such that I satisfies 1.Y1(x),,n.Yn(x) ( x is a variable ) and doesnt satisfy every i.Xi
(x) (1in), then I satisfies .X (x). Otherwise, if I satisfies every i.Xi (x) (1in),
then I satisfies .X (x).
For example, provided that there are three scenes, i.e. here are three contexts U,V
and W, available information come from other context names U and V, in general, we
assign the current context as W, to state that a person can speak except if s/he is a
dummy, we can use the default rule
686
Internet
Ontology
Knowledge
Base
Ontology
Knowledge
Base
.
.
.
User n
Ontology
Knowledge
Base
Figure 1 shows the architecture of the case system. The whole distributed system is
constructed by multiple local information sources, each of which describes and
classifies every users ontology knowledge base. Interactive process of the distributed
687
RACER
Exceptional Handler
Consistency Checker
User 1
Ontology
User 2
Ontology
.......
User n
Ontology
This context-aware prototype system is combined with default reasoning, and all
our work is ongoing. We will introduce relative other work in the next paper.
688
OWL-DL in the literature [4]. These approaches above are mainly at the angle of
technology, and there is not any context reasoning rule based their methods besides
tableaux algorithm. But, our work mainly focuses on the meta-level methodology.
In the paper, CContext-SHOIQ(D+) DL, a novel categorial context formalism with
default reasoning rules is proposed. The aim is to do some research for methodology
of ontology integration. According to our prototype system, the practice proves that
our research is valuable. This is only the beginning to explore the context of an
evolving ontology, and a lot of challenge need to be done by our further efforts.
References
1. Baader, F., Calvanese, D., McGuinness, D.L., Nardi, D., Patel-Schneider, P.F.,eds.: The
Description Logic Handbook: Theory, Implementation, and Applications. Cambridge
University Press (2003).
2. Horrocks. I.: Description Logics in Ontology Applications. In Beckert, B.(ed.): Automated
Reasoning with Analytic Tableaux and Related Methods. LNAI 3702. Springer-Verlag,
Berlin(2005), 2-13
3. Bouquet. P., Giunchiglia. F., Frank van Harmelen et al. C-OWL: Contextualizing
Ontologies. In D. Fensel et al. (Eds.): ISWC 2003, LNCS 2870, Springer-Verlag,
Berlin(2003),164179
4. Grau. B.C., Parsia. B., Sirin. E.: Working with Multiple Ontologies on the Semantic Web.
In S.A. McIlraith et al. (Eds.): ISWC 2004, LNCS 3298, Springer-Verlag, Berlin (2004)
620634
5. Kutz. O, C. Lutz, F. Wolter, and M. Zakharyaschev. E-connections of abstract description
systems. Artificial Intelligence 156(1): (2004) 1-73
6. Tan. P., Madnick. S., Tan. K-L.: Context Mediation in the Semantic Web: Handling OWL
Ontology and Data Disparity Through Context Interchange. In C. Bussler et al. (Eds.):
SWDB 2004, LNCS 3372, Springer-Verlag, Berlin (2005) 140 154,
7. Schmidt. A.: Ontology-Based User Context Management: The Challenges of Imperfection
and Time-Dependence. In R. Meersman, Z. Tari et al. (Eds.): OTM 2006, LNCS 4275,
Springer-Verlag, Berlin (2006) 9951011
8. Lu. R-Q.: Towards a Mathematical Theory of Knowledge. J.Comput. Sci. & Tech. Nov.
(2005), Vol.20, No.6, 751-757
9. Wang X.H., Zhang D.Q., Gu. T.,et al. Ontology Based Context Modeling and Reasoning
using OWL. Proceedings of the Second IEEE Annual Conference on Pervasive Computing
and Communications Workshops (PERCOMW2004).
10. Horrocks .I, Peter F. Patel-Schneider. A proposal for an OWL rules language. In Proc. of
the 13th international conference on World Wide Web (WWW 2004), (2004) 723-731
11. Reiter .P.: A Logic for Default-Reasoning. Artificial Intelligence. 13 (1980) 81-132
12. Haarslev.V., Mller. R.: RACER Users Guide and Reference Manual: Version 1.7.6,
December, (2002)
13. Haarslev. V., Mller.R.: Practical Reasoning in Racer with a Concrete Domain for Linear
Inequations. In Ian Horrocks et al. (Eds.): Proceedings of the International Workshop on
Description Logics (DL-2002), April (2002)
14. Eriksson, H.: Using JessTab to Integrate Protg and Jess. IEEE Intelligent Systems. 18(2):
(2003) 43-50
15. Golbreich C., Imai A. Combing SWRL rules and OWL ontologies with Protg OWL
Plugin, Jess RACER. 7th Internation Protg Conference, Bethesda, (2004)
1 Introduction
Formal Concept Analysis (FCA) is a data analysis technique based on the ordered lattice
theory firstly introduced by Wille [1]. It defines formal contexts to represent relations
between objects and attributes and interprets the corresponding concept lattice.
To deal with the uncertain and vague information in practice, the interval analysis
may be a better method. There are many researchers study in interval number such as
[2-5]. Burusco et al introduce the interval valued fuzzy data from the view of FCA
who produce a model of L-fuzzy concept theory to deal with interval valued fuzzy
data from the point of view of FCA at the first time [6]. It uses some results of
multisets and expertons and requires a complete chain to conduct the interval value
within [0, 1] to form the super-sub relation between two concepts to form lattice.
Scaling [7] is used to generate concept lattice of the formal context with nominal
attributes. Inspired by which, interval scaling is proposed to process interval attribute.
Then, based on the interval lattice to manage the resource in Grid, a Grid resource
matching algorithm is introduced. The rest of the paper is organized as follows.
Section 2 introduces Interval Formal Concept Analysis Model. Section 3 presents the
scale algorithm. Section 4 discusses the resource matching algorithms, the experiment
is in Section 5 and section 6 concludes.
690
An interval [a, b] is the set of all real numbers {x: axb}. A natural definition of
arithmetic for intervals, represented as pairs of real numbers[8]. The interval [a, b]
with a=b is called degenerate interval which degenerate to a real number a. interval
decomposition denoted as . There are two rules in decomposition process:
1.
2.
Firstly the two intervals decomposition process is analyzed. Both [a1,b1] and [a2,b2]
are not degenerate intervals. Without missing the generality, we assume a1a2.
[a1,b1]
1 2 3
-
the upper bound of Ii respectively), it does not satisfy rule 2, and will be deleted from
the result. There exists eight conditions of [a1, b1] and [a1, b2] as show in Table 1.
Table 1. The decomposition condition table of two intervals
Type
1
Condition
[a1, b1]
B1 - [a1,b1]
[a , b ]
2
Example
[2,5]= [2,5]
[2,8][2,12]=[2,8],[8,12]
[2,8][2,5]=[2,5],[5,8]
[2,6][3,6]=[2,3],[3,6]
[2,4][4,6]=[2,4],[4,6]
[2,3][4,6]=[2,3],[4,6]
[2,5][4,7]=[2,4],[4,5],[5,7]
[2,11][5,9]=[2,5],[5,9],[9,11]
[2,5]
A1 B2 C3 [a1,b1],[b1, b2]
3
4
5
6
7
8
B3 B1 C3
C1
A2 B2 C2
C3
B3 -
The condition A1 and A2 denote a1=a2, a1<a2 respectively, B1, B2 and B3 denote
b1=b2, b1<b2, and b1>b2, and C1, C2, C3 denote b1=a2, b1<a2 and b1>a2 respectively.
The information table (G, M, R) (the relation of R (g, m) ((g G, m M) has the
value of u (g, m)) can be represented as a cross-table shown in Table 2. The
information table has three objects representing three Grid resources, namely C1, C2
and C3. In addition, it also has three attributes, "CPU capacity" (A), "Memory Size"
(B), "Resource Price" (C) and Working Time (D) representing four properties of the
Grid resource. The relation between an object and an attribute is represented by a
membership value expressed by interval.
C1
C2
C3
A
[0-2.8]
[0-8.8]
[0-1.4]
B
[0-512]
[0-256]
[0-1024]
C
[200-10000]
[300-10000]
[500-10000]
D
[9-12]
[20-24]
[5-11]
691
M
A
W A1 a2
C1 1 1
C2 1 1
C3 1 0
a3
0
1
0
B
b1 b2 b3
1 1 0
1 0 0
1 1 1
c1
1
0
0
C
c2
1
1
0
c3
1
1
1
D
d1 d2 d3 d4
0 1 1 0
0 0 0 1
1 1 0 0
A := {w Wm g A, m M , ( g , m, w) I }
B := {g G w Wm , m B, ( g , m, w) I }
intent of C respectively.
Definition 5: Interval lattice. The concepts of a given context are naturally ordered
by the partial relation defined by C1 ( A1 , B1 ) C2 ( A2 , B2 ) : A1 A2 Wm( B2 ) Wm( B1 )
( Wm B2 ). The ordered set of all interval formal concepts of :=(G , M , W , I ) is
denoted by B (G , M , W , I ) , and is called the interval concept lattice of (G , M , W , I ) .
Without ambiguousness, the interval concept lattice is called concept lattice or lattice.
692
[a1,b1]
Wm
Return
r1
r2
[a1,b1]
-
2
3
Wm=Wm+[a1,b1]
Wm
[a1, a2],[a2,b2]
Type
Wm
Return
Flag
No.
1
true
[b1,b2]
[a1,b2] [b2,b1]
1
2
true
true
Wm=Wm+[a1,a2]
[a2,b2]
true
[a1,b1], [a2,b2]
Wm=Wm+[a1,b1]
[a2,b2]
false
[a1,b1] ,[a2,b2]
Wm=Wm+[a1,b1]
[a2,b2]
false
[a2,b1] [b1,b2]
true
true
#5{G , A[0,1.4];
B[0, 256];
C[500,10000]}
# 4{C1C 3, A[0,1.4];
#2{C1C2, A[0,2.8];
B[0, 512];
B[0,256];
C[500,10000];
C[300,10000]}
D[9,11]}
# 3{C 3, A[0,1.4];
B[0,1024];
#0{C1, A[0, 2.8];
C [500,10000];
#1{C 2, A[0,8.8];
B[0,512];
D[5,11]}
C[200,10000];
D[9,12]}
# 6{ , A[0, 8.8];
B[0,1024];
C [200,10000];
D [5,12],[20, 24]}
Fig. 1. The interval lattice
B[0, 256];
C[300,10000];
D[20, 24]}
693
694
if(i.flag=false) continue;
else
for(each is parent node j)
{
if (j.flag== true) i.flag=flase;
if (i.flag==ture) match.add(i);
}
}
if (II.size==0) break; //it means there are no nodes in II
else if (II.size==1) //there are just one node in II
if (II.get(0)==TopNode) break;
else I=II;
}
}
4. for (each node i match)
{
If(i.object G) G.add(I.object);
}
5. return G;
Fig. 2. (Continued)
Adopting the random data as the test data, all the algorithms realized with Java
running on PC (CPU PIV 2.8G, memory 512M) within Windows XP environment. To
improve the reality of the experiments, each of experiments with different parameters
carries on five randomly generated data and take the average values of results of five
times of experiments as the final result.
First, the spatial consuming of incremental lattice construction algorithm are tested.
Figure 3 expresses the spatial complexity. Curve 1 and Curve 2 show the numbers of
lattice nodes changing according to the different number of objects and the different
numbers of attributes respectively. The horizontal ordinate indicates both the numbers
of objects and attribute are respectively {10,20,30,40,50,60}. The vertical ordinate
18000
16000
14000
12000
10000
8000
6000
4000
2000
0
10
20
30
40
50
60
Fig. 3. Relations between the size of lattice and the numbers of both objects and attributes
695
indicates size of lattice. With the ascending of object numbers, the size of the lattice
has exponential ascending tendency. The influence of attribute number has very slight
impact on the size of lattice.
The curves confirm the results that the numbers of objects have big influence on
the lattice both in the size and the numbers of attributes havent so strong impact on
the result lattice. Fuzzy lattice spatial consuming character is different. In fuzzy FCA
[10], the numbers of objects has slight influence on lattice size, but the attribute
numbers has big impact on it.
6 Conclusion
In this paper, interval lattice (IL) model produced extend FCA to IFCA which can
deal with the real interval values in practice. It is different from the classical FCA.
The future research include appling this interval lattice as the Grid resource
management tools and using the resource searching algorithm as the resource match
tools in the real Grid enviornments to using the real data of Grid environment to
further test the model and algorithms we proposed.
Acknowledgments
The work presented in this paper is supported partially by National Science
Foundation of China (reference number: NSFC 60275022 and NSFC 60575035).
References
1. Wille, R.: Restructuring lattice theory: an approach based on hierarchies of concepts,
Reidel, Dordrecht (1982)
2. Young, R.C.: The algebra of many-valued quantities. Annals of Mathematics 104 (1931)
260-290
3. Markov, S., Okumura, K.: The Contribution of T. Sunaga to Interval Analysis and Reliable
Computing. Kluwer Academic Publishers (1999)
4. Moore, R.E.: Interval analysis. Prentice-Hall Englewood Cliffs, NJ (1966)
5. Fernandez, A.J., Hill, P.M.: An interval lattice-based constraint solving framework for
lattices. 4th International Symposium on Functional and Logic Vol. 1722 (1999) 194-208
6. Burusco, A., Fuentes-Gonzlez, R.: The study of the interval-valued contexts. Fuzzy Sets
and Systems 121 (2001) 439-452
7. Prediger, S., Stumme, G.: Theory-driven logical scaling. International Workshop on
Description Logics, Vol. 22 (1999)
8. Moore, R.E., Bierbaum, F.: Methods and Applications of Interval Analysis. Soc for
Industrial & Applied Math (1979)
9. Buyya, R.: Economic-based Distributed Resource Management and Scheduling for Grid
Computing. Vol. Ph.D.. Monash University Australia (2002)
10. Qiang, Y., Liu, Z.T., al., e.: Research on fuzzy concept lattice in knowledge discovery and
a construction algorithm. Acta Electronica Sinica 33 (2005) 350~353
1 Introduction
In recent years, many approaches for ontology matching have been proposed.
However, all of these earlier approaches for schema or ontology matching focused on
providing various techniques for effective matching and merging of schemas or
ontologies[1]. They were far from efficiency considerations and thus are not suitable
for practical applications based on ontologies of real world domains[7]. Also, earlier
approaches convert ontologies or schemas of relational database, object oriented
database, and XML, to a graph model with only nodes and edges for supporting
different applications and multiple schema types[2,3,11]. This conversion results in
low efficiency because the characteristics of ontologies that are useful for similarity
computation are overlooked. Another problem with the existing matching methods is
that given two ontologies O1 and O2, for each entity in ontology O1, they are
compared with all entities in ontology O2. This full scanning on ontology O1 and O2
also ends up with low efficiency.
Corresponding author.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 696703, 2007.
Springer-Verlag Berlin Heidelberg 2007
697
2 Related Work
With respect to matching and merging ontologies, there have been a few approaches,
such as PROMPT[9], Anchor-PROMPT[10], Information flow[13], FCA-Merge[2],
QOM[7], and so on.
According to Topic Maps Reference Model, two Topic Maps can be mapped and
merged only if two topics have identical subject identity regardless of their namebased similarity. But it is not always the case that all topics, which represent the
semantically same concept, have a standard subject identity. Furthermore, Topic
Maps whose topic does not have a subject identity can be built.
To overcome this weakness, SIM(Subject Identity Measure)[6] was used to
measure the similarity between topics based on their name similarity and occurrence
similarity. In the SIM, the processes were only string comparison of the name of
topics and resource data of occurrences. The hierarchical structure and association in
Topic Maps are not considered.
Table 1 represents characteristics of the methods at a glance. Abbreviated column
names mean that Language(L), Patterns(P), Experimental Data(D), Results(R), and
Complexity(C). Patterns column indicates matching approaches, which
terminological(T), internal structure(IS), external structure(ES), extensional(E), and
instance(I). Our approach, which is named TM-MAP, is similar with QOM in terms
of the use of features of a data model for an ontology to reduce the complexity of
matching operation. The difference is that our approach treats the matching problem
of distributed Topic Maps.
698
Methods
PROMPT
Ctx-Match
IF-MAP
FCA-Merge
QOM
TMRM
SIM
TM-MAP
Graph
Graph
Graph
Graph
RDF
Topic Maps
Topic Maps
Topic Maps
T/ES
T/E
T/I
T/I
T/IS/ES/E
T
T/IS
T/IS/ES/E
HPKB
Toy
Toy
Toy
Real Onto.
Toy
Real Onto.
Merge
Matching
Matching
Matching
Matching
Merge
Matching
Merge
O(n )
2
O(n )
2
O(n )
2
O(n )
O(nlogn)
2
O(n )
2
O(n )
O(nlogn)
3 Problem Definition
3.1 Topic Maps Data Model
Topic Maps is a technology for encoding knowledge and connecting this encoded
knowledge to relevant information resources. It is used as a formal syntax for
representing and implementing ontologies[4,8]. Topic maps are organized around
topics, which represent subjects of discourse; associations, which represent
relationships between the subjects; and occurrences, which connect the subjects to
pertinent information resources. These entities have different meaning and usage, and
so we measure the similarity between same entity types rather than whole entitites.
Definition 1. We define a Topic Map model as following 7 tuples:
TM := (TC, TO, TA, TR, TI, RH, RA)
- TC denotes a set of topic types
- TA denotes a set of association types
- TI denotes a set of instance topics
699
4 Similarity Computation
Definition 2. A matching function map is defined as following expression:
map(A, B, D) = map(A.TC,B.TC,D)
map(A.TO,B.TO,D)
A and B are source Topic Maps and D is domain-specific term dictionary. A matching
function map(A, B, D) is processed by matching functions of different entity types. A
matching function map is composed of following matching operations.
4.1 Name Matching Operation
Name matching operation compares strings of base names and variant names of
topics. In the field terminology, a single term can refer to more than one concept and
multiple terms can be related to a single concept. Name matching operation find
multiple terms refer to a same concept by application of two main categories of
methods for comparing terms: String-based methods and linguistic knowledge-based
methods. Both x and y are tokens and c is the largest common substring of them. The
similarity value between two strings based on the token and substring-based method
is computed by following expression. In this expression xi is the i-th token of string a
and yj is the j-th token of string b. In our morphological analysis these phrases or
sentences are divided into a several stems and inflectional endings, which attached to
stems and represent various inflections or derivations in Korean. Thus, in order to
improve the quality of string matching results between words, we use word order and
ending information, which classify corresponding ending groups according to their
meaning and usage.
SIMtoken(x, y) = 2|c| / |x| + |y|
TS-SIMstring(a, b) = SIMtoken(xi,yj) / | a
b|
700
occurrence value which is a textual description or URI address. For example, a topic,
Immanuel Kant, has a occurrence which type is figure and value is
http://www.encyphilosophy.net/kant/figure.jpg. Thus, the similarity values of
occurrence types and occurrence values need to be combined to determine the internal
structure-based similarity value of the paired topics.
|n|) +
5 Experiment
We set up three kinds of data groups, which are group A, group B, and group C, for
our experiment. Oriental philosophy ontology(T1), modern western philosophy
ontology(T2), and contemporary western philosophy ontology(T3) are grouped in
group A, because these ontologies are philosophy domains ontologies and created by
the same philosophy experts. Group B includes Wikipedia philosophy ontology(T4)
which is constructed from philosophy-related contents of Wikipedia. Group C
701
includes German literature ontology(T5) that was constructed from German literature
encyclopedia provided by Yahoo Korea portal. Table 2 shows the characteristics of
our experimental data.
Table 2. The statistics of experimental ontologies
Ontologies
Group A
Group B
Group C
Max level
T1
11
T2
10
T3
9
T4
9
T5
4
# of Topics
1826
983
1266
417
30
# of Topic types
1379
384
603
182
# of Occ. types
86
56
62
13
# of Ass. types
# of Role types
47
22
40
15
43
18
7
4
2
2
# of PSIs
653
328
345
Pairs of ontologies in group A are matched based on the ontology schema layer
because these ontologies are constructed from the same knowledge domain and a
702
group of experts. These ontologies share a common schema, known as the philosophy
reference ontology, for standardizing and validating them. The pair (T2,T3) of group A
has maximal matches because both ontologies are components of the philosophy
ontology and have some relationships in terms of philosophers, texts, terms, doctrines,
and so on.
In (T1,T4), (T2,T4), and (T3,T4) of group A and B, most of all matched topics result
from topic name-based matching operation because paired Topic Maps have topics
describing same philosophers, i.e. Kant, Hume, and Marx, same texts of philosophy,
i.e. Philosophy of Right, Critique of Pure Reason, and Discourse on the Method, and
same terms of philosophy, i.e. reason, free will, ideology, and moral. The recall of a
pair of modern western philosophy and German literature, (T2, T6), is 1 because the
number of matches between different domains ontologies are very low and matching
operations easily find matches based on topic names, such as Nietzsche, Philosophy of
Right, and so on. This pair has poor overall, -0.38 in contrast to recall. This means
that domain experts must make more efforts to adopt automatically generated matches
than to determine matches in manual. In other words, it seems useless to match
ontologies between different knowledge domains.
6 Conclusion
In this paper, we propose a multi-strategic matching approach to determine semantic
correspondences between Topic Maps. Our multi-strategic matching approach takes
advantage of the combination of linguistic module and Topic Maps constraints
including name matching, internal structure matching, external structure matching,
and association matching. By doing this, the system achieves higher match accuracy
than the one of a single match technique.
The experiment results shows that precision of automatically generated match set
is more than 87%, but the recall of the set is more than 90%. This means that
automatically generated match sets include a large portion of all manually determined
matches.
Matched topics are merged into a new topic or connected by a semantic
relationship to enable ontology-based systems to provide knowledge-related services
on multiple Topic Maps. However, merging or alignment of Topic Maps is not easy
work although we found matches between Topic Maps. Ontology merging approaches
concerning merging issues, such as conflict resolution, ontology evolution, and
versioning will be investigated in the near future.
References
1. Erhard Rahm and Philip A. Bernstein. 2001. A survey of approaches to automatic schema
matchng, VLDB Journal, 10(4):334-350.
2. Gerd Stumme and Alexander Maedche. 2001. FCA-Merge: Bottom-up Merging of
Ontologies, In Proceedings of 17th Internaltional Joint Conference on Artificial
Intelligence(IJCAI):225-234.
3. Hong Hai Do and Erhard Rahm. 2002. COMA - a system for flexible combination of
schema matching approaches, In Proceedings of VLDB:610-621.
703
1 Introduction
Collective intelligence is regarded as one of the important processes for collaborations
between people, in order to solve a very complicated problem. They can share their
own knowledge (or experiences) with each other, access the knowledge in the individual viewpoint, and integrate some relevant knowledge with theirs. Originally, this
mechanism has been studied in the communities of social science and pedagogical science. In the context of computational and information science, we want to automatically
build the collective intelligence among information systems (e.g., virtual organizations),
and then, to provide meaningful services (e.g., recommendation) to people [1]. Particularly, the individuals are represented as not human actors but software agents, which
are working on behalf of the corresponding persons [2]. The agents however have some
drawbacks to communicate with others. Such problems are i) lack of computational
power, ii) lack of information and knowledge, and even more seriously, iii) semantic
heterogeneities.
For overcoming these problems, the agents can be reinforced with semantic grid
computing [3]. The semantic grid is an extension of the current grid in which information and services are given well-defined meaning through machine-processable descriptions which maximize the potential for sharing and reuse. The existing grid environments suppose that the power of agents should be simply identical. We are motivated from the naive assumption. Depending on the ontological structure of agents, the
semantic information provided during cooperations might be different from the agents.
In this paper, as shown in Fig. 1, we have investigated three-layered architecture
for the semantic grid, which is composed of social, ontology, and resource layers. We
propose a novel approach to integrate the intelligence reasoning capabilities based on
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 704711, 2007.
c Springer-Verlag Berlin Heidelberg 2007
O4
O1
O2
Social Layer
O3
Ontology Layer
705
Resource Layer
social network analysis and co-occurrence analysis (i.e., extended TF-IDF) methods of
the resources. The semantics delivered from an agent is applied to measure the strength
of social ties with neighboring agents, because we have no idea about the relationship
between two agents A and B on social layer.
The outline of this paper is as follows. In Sect. 2, we will define some notation and
explain our ontology mapping algorithm for collecting the social ties among agents.
Sect. 3 will propose community-based approach for social mediation on multi-agent
environment. In Sect. 4, we demonstrator our AnnotGrid environment to support semantic collaboration. Finally, Sect. 6 give a conclusion and future work.
706
relationships SimR , attributes SimA , and instances SimI . For simplicity, we need to
use only SimC . Given a pair of classes from two different ontologies, the similarity
measure SimC is assigned in [0, 1]. The similarity (SimC ) between c OA and
c OB is defined as
C
SimC (c , c ) =
F
M SimY (F (c ), F (c ))
(1)
F N (C)
where N (C) is the set of all relationships in which the classes participates, and function
F can measure label similarities (it can be replaced to
algorithms, e.g.,
string matching
C
C
edit distance). The weights F
are normalized (i.e., F N (C) F
= 1).
In this paper, hence, we consider three relationships in N (C), which are the superclass (SU P ), the subclass (SU B) and the sibling class (SIB), and Eq. 1 has to be
extended to
C
SimC (c , c ) = L
simL (F (c ), F (c ))
S
+ SU
P M SimSU P (SUP(c ), SUP(c ))
C
+ SU B M SimSU B (SUB(c ), SUB(c ))
C
+ SIB
M SimSIB (SIB(c ), SIB(c )).
(2)
where the set functions M SimY is formulated for comparing the two sets of entity
collections. According to the characteristics of the sets, it is differently given by two
equations
max<c,c >P airing(S,S ) (SimC (c, c ))
,
max (|S|, |S |)
1 <c,c >P airing(S,S ) (SimC (c, c ))
(3)
(4)
max (|S|, |S |)
where P airing is a simple matching function for generating all possible pairs from
both sets. These equations express either positive or negative influences on semantic
relationships between classes. It means that the more matched super- and subclasses
can imply the corresponding classes are more similar, as shown in Eq. 3. In contrast,
the sibling classes (Eq. 4) reflect the negative effect, because they make the semantics
dispersed and the degree of similarity decreased.
2.2 Co-occurrence Patterns
Finally, we can construct a weighted social network as a set of agents by referring to
the resource layer. In this paper, we assume that when agents annotate a resource with
semantically similar classes, they are strongly correlated, i.e., the strength of social tie
might be high. Thus, the strength of social tie between Ai and Aj is given by
c Annoti (rx ),c Annotj (rx ) SimC (c , c )
weij =
,
(5)
Annoti (rx ) Annotj (rx )
rx Ri Rj
we
ij
|Ri Rj | .
707
Furthermore, there is another issue to enhance the weights between agents. This is
an inactivation process by using conflicted annotation semantics. When SimC between
annotations of a resource is very low, the strength of the social tie is supposed to be
decreased. We want to discuss this issue for future work.
708
Aj AC x
CT R(Ai ) =
weij
(9)
|N | 1
where Aj can be in either the same agent community or not. Because the network of the
agents are fully connected, it is based on closeness centrality [11] rather than others
(e.g., betweenness and stress centralities).
Given the agents whose centralities is highest in the corresponding agent communities,
We have to repeat the cohesion evaluation process. As repeating this centrality computing process, the SG is hierarchically built for efficient social mediation. For the social
mediation based on semantic grid environment, we have to find out whether two agents
are involved into a same agent community or not. The reason is because the centrality is available only in the same community. There are two cases, i.e., two red arrows
meaning communications i) between heterogeneous agents A1 and B1 , ii) between A1
and A3 , as shown in Fig. 2. Within an agent group, the social mediation can be done
AgentCommunity1
AgentCommunity2
AgentCommunity3
C2
A1
A3
C1
C3
B1
Fig. 2. Two kinds of social mediation based on centrality; Three agent communities are built,
and agents C1 , C2 , and C3 are assigned with the highest centrality in the agent communities,
respectively
by the agent whose centrality is highest. For example, we can figure out that the communications between A1 and B1 in AgentCommunity1 is possibly supported by C1 . On
the other hand, for communication between A1 and A3 , we need to know which collective intelligence should be integrated. In this case, agents C1 , C2 , and C3 are possibly
cooperating to integrate their semantic information to mediate between A1 and A3 .
709
The goal of this system is to support the annotation tasks to save their time and
increase the precision of their descriptions. Basic scheme of AnnotGrid is as follows
(For more details, see the project web pages2 );
1. Building social grid with initial annotations; it is an initialization step of semantic
grid.
2. Loading a new image ri
3. Retrieving a set of existing annotation from other users; the agent can get the existing annotations about ri from the other agents in both the same agent community
and different ones.
local searching by himself
global searching by social mediator
4. Translating the retrieved annotation; The corresponding social mediators provide
translation service to make the annotations understandable.
For evaluating this system, we invited 32 college students to annotate an image
dataset3 . Above all, because the class similarities built during annotating the images
should become relatively large, we recommended to use some standard ontologies
such as
Suggested Upper Merged Ontology (SUMO)
WordNet (http://wordnet.princeton.edu/), and
CIDOC CRM (CIDOC4 Conceptual Reference Mode, http://cidoc.ics.forth.gr/).
Each person had to initially annotate five images randomly selected by his own preferences, so that four communities had been built (COH = 0.35). As keeping annotating
the imaged, the students were able to obtain annotations recommended by AnnotGrid,
and feedback their opinions whether the recommendation is relevant or not.
Table 1. Experimental results on annotation recommendation by AnnotGrid
Index
User number
Community1
Community2
Community3
Community4
Average
4
12
9
7
Number of annotation
Local
Global
19
97
93
124
58
137
52
94
As shown in Table 1, global searching facility has shown better performance than local one by approximately 11%. It proves our social mediations has been working properly. Especially, the users in Community1 got the largest social mediation, even though
the number of users are smallest. In case of large communities (2nd , 3rd , 4th communities), the users had acquired quite higher precision. We think that enough amount
of semantic information in these communities make ontology matching process more
precise.
2
3
4
http://intelligent.pe.kr/AnnotGrid/
http://intelligent.pe.kr/AnnotGrid/images/
http://www.willpowerinfo.myby.co.uk/cidoc/
710
5 Related Work
There have been various annotation systems for not only images but also bookmarks and
other multimedia [12,13,14]. Especially, many collaborative tagging systems, called
Folksonomy, like del.icio.us and Bibsonomy (http://www.bibsonomy.org) have been
trying to share the semantic tags with others. But, they do not have any facilities to
analyze social features and automated recommendation process. Then, people have to
directly inspect which tags (or semantics) can be exploited. In the aspect of computing
architectures, SOA (service-oriented architecture) systems have been applied to data
annotation [15]. Particularly, semantic overlay architecture for P2P network [16] is very
similar to our scheme, because it can also hierarchical organize the linkage structure
among peers.
References
1. Jung, J.J.: Ontological framework based on contextual mediation for collaborative information retrieval. Information Retrieval 10(1) (2007) 85109
2. Maes, P.: Agents that reduce work and information overload. Communication of the ACM
37(7) (1994) 3040
3. Gil, Y.: On agents and grids: Creating the fabric for a new generation of distributed intelligent
systems. Journal of Web Semantics 4(2) (2006) 116123
4. Lenat, D., Guha, R.: Building Large Knowledge-Based Systems: Representation and Inference in the Cyc Project. Addison-Wesley (1989)
5. Euzenat, J., Valtchev, P.: Similarity-based ontology alignment in OWL-Lite. In de Mantaras,
R.L., Saitta, L., eds.: Proceedings of the 16th European Conference on Artificial Intelligence
(ECAI). (2004) 333337
6. Jung, J.J., Euzenat, J.: Measuring semantic centrality based on building consensual ontology
on social networks. In: Proceedings of the Workshop on Semantic Network Analysis (colocated in ESWC 2006). (2006)
7. Wasserman, S., Faust, K.: Social Network Analysis. Cambridge University Press (1944)
8. Jung, J.J., Euzenat, J.: From personal ontologies to socialized semantic space. In: Poster of
the 3rd European Semantic Web Conference. (2006)
9. Gowda, K.C., Krishna, G.: Agglomerative clustering using the concept of mutual nearest
neighbourhood. Pattern Recognition 10(2) (1978) 105112
10. Newman, M.E.J.: Fast algorithm for detecting community structure in networks. Physical
Review E 69 (2004) 066133
711
11. Sabidussi, G.: The centrality index of a graph. Psychometrika 31 (1966) 581603
12. Kiryakov, A., Popov, B., Ognyanoff, D., Manov, D., Kirilov, A., Goranov, M.: Semantic
annotation, indexing, and retrieval. In Fensel, D., Sycara, K.P., Mylopoulos, J., eds.: International Semantic Web Conference. Volume 2870 of Lecture Notes in Computer Science.,
Springer (2003) 484499
13. Belhajjame, K., Embury, S.M., Paton, N.W., Stevens, R., Goble, C.A.: Automatic annotation of web services based on workflow definitions. In Cruz, I.F., Decker, S., Allemang,
D., Preist, C., Schwabe, D., Mika, P., Uschold, M., Aroyo, L., eds.: Proceedings of the 5th
International Semantic Web Conference (ISWC 2006). Volume 4273 of Lecture Notes in
Computer Science., Springer (2006) 116129
14. Jung, J.J.: Exploiting semantic annotation to supporting user browsing on the web.
Knowledge-Based Systems xx(x) (to appear) http://dx.doi.org/10.1016/j.knosys.2006.08.003
15. Aurnhammer, M., Hanappe, P., Steels, L.: Augmenting navigation for collaborative tagging
with emergent semantics. In Cruz, I.F., Decker, S., Allemang, D., Preist, C., Schwabe, D.,
Mika, P., Uschold, M., Aroyo, L., eds.: Proceedings of the 5th International Semantic Web
Conference (ISWC 2006). Volume 4273 of Lecture Notes in Computer Science., Springer
(2006) 5871
16. Aberer, K., Cudre-Mauroux, P.: Semantic overlay networks. In Bohm, K., Jensen, C.S., Haas,
Ooi, B.C., eds.: Proceedings of the 31st International
L.M., Kersten, M.L., Larson, P.A.,
Conference on Very Large Data Bases (VLDB), ACM (2005) 1367
17. Nguyen, N.T.: Conflicts of ontologies - classification and consensus-based methods for resolving. In Gabrys, B., Howlett, R.J., Jain, L.C., eds.: Proceedings of the 10th International
Conference on Knowledge-Based Intelligent Information and Engineering Systems (KES
2006). Volume 4252 of Lecture Notes in Computer Science., Springer (2006) 267274
Introduction
Metadata can be attached to many dierent types of objects, available in different formats and locations, and can be expressed in a wide range of languages
(e.g., natural language, lists of terms, formal languages) and using a wide range
of vocabularies (e.g., keyword sets, concept taxonomies). Depending on these aspects, many authors use the terms semantic versus non-semantic, or rich versus
non-rich metadata.
Many technologies are available to manage metadata, such as Jena, Sesame,
Boca, Oracle-RDF, Annotea, Technorati, etc. They give a good level of support
for current metadata-intensive applications. However, they fall short for some of
the metadata management requirements that new applications are posing, such
as metadata distribution, lifecycle management and authorisation.
This paper starts by providing a set of requirements for advanced metadata
management (Section 2), which characterise metadata-intensive applications in
domains like bioinformatics, social sciences, engineering, market analysis, etc. Existing approaches and technologies do not meet all of the previous requirements [1].
Hence we make a proposal for managing metadata as rst-class resources in distributed systems, so that we can deal with the previous requirements (Section 3).
Finally we provide some conclusions and future work.
713
which may be supplied by multiple parties and with dierent technologies. Most
of the current metadata management systems provide repositories designed for
centralized use, with metadata consumers and producers acting as local-access
clients using specialized APIs. Remote distributed access to metadata and ontologies has received little attention, causing each system to depend on one
particular technology, thus reducing interoperability.
A service-oriented approach to metadata and ontology access could improve
this situation. However, this should not be done by simply wrapping current
metadata management systems with web services that replicate their local APIs,
as described below.
Metadata should be accessible with technology-independent serviceoriented protocols. Metadata can be available in multiple forms (in RDF, as
social tags, in natural language, etc.). Hence we require systems that enable the
integration and exploitation of this heterogeneous metadata.
Even in the case of a single form of metadata (e.g. RDF(S)) each technology
uses a dierent abstraction and means to handle it. There is a clear need for a
common abstraction for metadata, which would enable the systematic development of services that combine other services and applications with varying levels
of semantic capabilities for dealing with and interpreting metadata.
Metadata should evolve together with the resources that it describes and the vocabularies that it uses. Metadata evolves due to dierent reasons. However, the dynamics of metadata is poorly supported by existing
technologies, although some work has been done with respect to the semantics
of change and its propagation to the related metadata [2,3].
Metadata should be maintained up-to-date in a cost-eective manner. This
includes maximising the automation of dierent aspects of the knowledge lifecycle, managing the evolution and change of metadata and knowledge models
in distributed contexts, and synchronising adequately the evolution of all these
related entities by means of notication mechanisms.
Metadata access should be controlled. Metadata owners may want to
dene the conditions and rules under which others can access their metadata.
However, existing technologies vary in their support and granularity for security,
which normally means access-control only. For instance, Sesame provides built-in
user/role-based access control per repository, while Jena has no built-in accesscontrol support since it assumes that this can be provided by the underlying
database technology. Moreover, all these access control mechanisms have their
own specic APIs and conventions, which creates overhead at the client layer
(need for multiple usernames and passwords, or multiple sign-ons).
Securing message exchanges, authentication and access-control are well-studied
problems in distributed environments, with standards1 and open-source reference
implementations2 for global user identication, single sign-on, communication encryption and representation and decision of resource-sharing policies.
1
714
O. Corcho et al.
715
716
O. Corcho et al.
In both cases, the SB goes back to the Valid state in case of successful validation,
and to Invalid otherwise.
717
Requirement 3 suggests that the metadata-aware services that use SBs should be
informed of state change for those SBs. For this purpose, S-OGSA denes a set
of notication mechanisms based on WS-Notication. S-OGSA proposes using
a set of pre-dened topics associated to the changes described above, which any
consumers can subscribe to.
Services that receive any of these notications will decide, as part of their
business logic, how to react to the changes that they are notied about. The
S-OGSA specication does not enforce any specic type of behaviour. However,
as part of our future work, we are designing a service, called SB housekeeping
service, which monitors SB lifetime by subscribing to all their topics. This service
will be responsible for activating application-dependent re-validation procedures
(validation of the SB content, triggering of re-annotation processed, etc.).
3.4
The last requirement suggests the need to control the access to metadata in more
ne-grained ways than what it is currently done with current technology.
S-OGSA provides the framework needed to support security in metadata management. Metadata is a rst-class resource; hence standard security mechanisms
can be applied to metadata in the same way as it is done with other resources,
including the possibility of specifying and enforcing access control policies over
each SB. Besides, since the reference implementation of S-OGSA can be deployed
on top of Globus Toolkit 4, its associated security mechanisms, such as Globus
GSI, can be also applied, ensuring both message and transport level security,
based on standard X.509 end entity and proxy certicates.
With this framework, it is possible to allow or deny access to the dierent
annotations of an object, stored by dierent SBs, based on the users or groups
that have created them and on their access control policies.
In this paper we have described the requirements posed by some of the existing
and the envisaged metadata-intensive distributed applications:
Applications may require their explicit metadata to be encoded in multiple forms, supplied by multiple parties and coming from dierent contexts.
Moreover, metadata may need to be in dierent physical locations.
718
O. Corcho et al.
Applications may use heterogeneous metadata storage and query technologies, each of which has specic advantages over the others (e.g. Sesame is
good at query performance, Jena has a rich API, etc.). To ease metadata
sharing, common technology-independent means for metadata access (metamodels and protocols) become necessary.
Metadata normally evolves, either because of new metadata generation
means or because of the evolution of the resources or knowledge entities
that it refers to. Adequate means to deal with this evolution have to be
made available.
Access to metadata may need to be secured with dierent levels of granularity and dierent access control policies.
We have shown how the approach followed in S-OGSA complies with the
previous requirements without the need to create expensive and dicult-tomaintain ad-hoc solutions for each of them. Basically, S-OGSA proposes to treat
metadata as a rst-class resource (Semantic Binding) in the application, so that
standard resource management and sharing solutions used in the context of
distributed applications can be easily applied to it. This includes aspects like
service orientation, lifecycle management, security, etc.
The S-OGSA approach is being used in the development of dierent types of
applications, all of which are characterised by being metadata-intensive and by
needing support for some of the previous requirements. The S-OGSA reference
implementation is being or will be used in several system prototypes: a satellite
quality image analysis system [9], an information service for the EGEE Grid [10],
and a coral bleaching alert system (Semantic Reef) [11].
Our future work will be devoted to improve our S-OGSA reference implementation, which includes the Semantic Binding Service suite presented in Section 3.
We will consider the additional requirements that the early adopters of S-OGSA
are providing and create an implementation with industrial standards.
Among the aspects that will be improved, we can cite the following:
Security. We will provide a set of pre-dened security congurations that
cover the most common metadata management security aspects.
Naming. Our current implementation uses WS-Addressing EndPoint References (EPRs) to identify Semantic Bindings and the Resources that they
refer to, and URIs to identify Knowledge Entities. However, there are more
ways to identify entities in a distributed environment (URIs, ARK Identiers, LSIDs). We will implement a metadata identication model using
WS-Naming, which builds on WS-Addressing and extends it with URIs.
Semantic Binding Housekeeping Service. We will build a congurable SB
Housekeeping Service that gives support to the most common behaviours
for metadata evolution found in applications.
Support for more forms of metadata. We will give support to several forms of
annotation (besides RDF), such as social tags, natural language comments,
other ontology languages, etc.
719
Finally, as part of our future work we will also evaluate our system with respect
to other metadata management systems, in terms of memory consumption, query
execution performance, etc., in distributed settings.
Acknowledgements
This work is supported by the EU FP6 OntoGrid project (STREP 511513)
funded under the Grid-based Systems for solving complex problems, and by
the Marie Curie fellowship RSSGRID (FP6-2002-Mobility-5-006668). We also
thank the other members of the OntoGrid team at Manchester for their helpful
discussions: Ian Dunlop and Ioannis Kotsiopoulos.
References
1. O. Corcho, P. Missier, P. Alper, S. Bechhofer, and C. Goble, Principled metadata
management for next generation metadata-intensive systems, in 4th European
Semantic Web Conference (ESWC2007). Submitted, Innsbruck, Austria, 2007.
2. L. Stojanovic, Methods and tools ontology evolution, Ph.D. dissertation, Univ
Karlsruhe (TH), 2004.
3. M. Klein, Change management for distributed ontologies. Ph.D. dissertation,
Vrije Universiteit Amsterdam, 2004.
Corcho, P. Alper, I. Kotsiopoulos, P. Missier, S. Bechhofer, and C. A. Goble,
4. O.
An Overview of S-OGSA: A Reference Semantic Grid Architecture, Journal Web
Semantic, vol. 4, no. 2, pp. 102115, 2006.
5. I. Foster, H. Kishimoto, A. Savva, D. Berry, A. Grimshaw, B. Horn, F. Maciel, F. Siebenlist, R. Subramaniam, J. Treadwell, and J. V. Reich, The
Open Grid Services Architecture, Version 1.5, gfd-i.080 ed., GGF, July 2006,
http://forge.gridforum.org/projects/ogsa-wg.
6. P. Missier, P. Alper, O. Corcho, I. Kotsiopoulos, I. Dunlop, W. Xing, S. Bechhofer,
and C. Goble, Managing semantic grid metadata in S-OGSA, in Cracow Grid
Workshop 2006. Submitted, Cracow, Poland, 2006.
7. M. Parkin, S. van den Burghe, O. Corcho, D. Snelling, and J. Brooke, The Knowledge of the Grid: A Grid Ontology, in Proceedings of the 6th Cracow Grid Workshop, Cracow, Poland, October 2006.
8. K. Czajkowski, D. Ferguson, I. Foster, J. Frey, S. Graham, I. Sedukhin, D. Snelling,
S. Tuecke, and W. Vambenepe, Web Services Resource Framework (WSRF),
Globus Alliance and IBM, Technical report,, March 2005.
9. M. S
anchez-Gestido, L. Blanco-Abru
na, M. de los Santos Perez-Hern
andez,
R. Gonz
alez-Cabrero, A. G
omez-Perez, and O. Corcho, Complex data-intensive
systems and semantic grid: Applications in satellite missions, in Proceedings of the
2nd IEEE International Conference on e-Science and Grid Computing (e-Science
2006), Amsterdam, The Netherlands, December 2006.
10. W. Xing, O. Corcho, C. Goble, and M. Dikaiakos, Active ontology: An information
integration approach for highly dynamic information sources, in Submitted to
ESWC2007, May 2007.
11. T. S. Myers, The Semantic Reef: Managing complex knowledge to predict coral
bleaching on the great barrier reef. in In proceedings of AusGrid 2007, 2007,
http://eprints.jcu.edu.au/1131.
Abstract. Most of information has been storing and managing in relational databases and there are many researches to store OWL ontologies. In this situation, a study on efficient access control model using relational security model is
required. The paper proposes a novel access control model for OWL ontologies
in relational database systems. The access control is realized through evaluating
queries against an OWL data view. On one hand, the OWL data view prevents
the sensitive information revealed to unauthorized users. On the other hand it
considers the inference ability of users. An empirical study verifies the effectiveness of our approach.
1 Introduction
Web Ontology Language (OWL) is a knowledge description language and is recognized as one of the most important technologies to realize Semantic Web [1]. Compared to XML, OWL supports more enhanced impression power and enables machines to infer new knowledge. There is much effort on how to build and store OWL
knowledge bases (Ontologies, Documents). However, few of research pay attention to
the OWL document security issue. This may result in knowledge leakage and also
makes high-quality services through secure knowledge access so hard.
This paper contributes a novel OWL security (Access Control) model using relational database security model. It means that we assume OWL knowledge bases are
stored in a relational database. There might be a question why we propose an access
control model for OWL knowledge bases in relational databases. The reasons are: (1)
most of information has been managing by relational database systems; (2) relational
database systems provide a secure and stable access control model.
Therefore, we propose a security model based on relational databases considering
this reality. In other words, for enforcement of access control to the OWL knowledge
bases, the persistent storage should be taken into consideration. The prevalent
*
This work was supported by the Korea Research Foundation Grant funded by the Korean
Government(MOEHRD) (KRF-2006-311-D00776).
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 720727, 2007.
Springer-Verlag Berlin Heidelberg 2007
Access Control Model Based on RDB Security Policy for OWL Ontology
721
approaches can be classified into two types: (1) File-based storage model; (2) Persistent storage model (e.g., RDB-based storage). The file-based storage models, such as
Jena [2] and Protege [3], are based on the graph model (Triple structure). Jena provides a persistent storing method to manage OWL knowledge in relational databases.
However, it still suffers from the inefficiency.
To solve this problem, we first define a new database layout to efficiently store
OWL knowledge. In this paper, our proposal on OWL ontology data access control is
outlined as follows: (1) First, we design an efficient relational data model to store
OWL data persistently. Our model gains predominant over Jena2; (2) Second, we
define a new OWL security model using relational access control model; (3) Finally,
we show the evaluation results through experiments.
722
store OWL knowledge base and to provide an efficient way to facilitate access control. First, the named Classes in an OWL document are identified. According to each
named Classs definition, its nesting Restriction is saved in different tables. The layout also saves the instances of each named Class. The Property table created connections between the Classes by specifying property domain and range. Through testing
with lots of existing OWL ontologies, the persistent relational model is proved capable of saving any general OWL data.
Fig. 2 shows a metamodel of the relational model for storing persistently. An OWL
ontology basically consists of a triple (Subject, Predicate, Object). In this paper, both
of Subject and Object are described as Concept or Instance. In the OWL specification,
they are defined as Class and Individual.
involve
involved_by
involved_by
1
Instance_Property
involve
1
N
Instance_Definition
N
specialize
specialize_by
Concept_Definition
qualified_by
Concept_Property
N qualified_by
qualify 1
qualify 1
Instance_Axiom
qualified_by
qualify 1
specialize
specialize_by
Concept_Axiom
Concept_Prop_Axiom
Access Control Model Based on RDB Security Policy for OWL Ontology
723
Authorization
Users
Access Controlling
(Pruning & Rewriting)
Relational Database
Inference
Engine
(Reasoning)
SQL
OWL data sets
VN maps each node ni in ontology graph to a security specification for a given user.
The specification denotes a ni inaccessible (false), or accessible (true) along with a
constraint to transitive end. Transitive end constrains the inference ability from the
node. From the perspective of a graph, the inference ability can be considered as
the ability of how far the current node can access tracking along with a transitive
property. The TransitiveEnd defines the end of this inference path. [ns, ne] denotes end
724
nodes where the inference path comes to an end in two directions. The end node can
be Self, another node or Full. Self means the inference stop at the node itself. Full
doesnt restrict the inference ability. VP denotes the access to a given property pi. An
example VN(RedWine) = (true, trasitiveEnd(subClassOf) = [self, Wine]) presents a
view constraining that a user can visit RedWine and can only visit its super classes till
Wine.
1<=i<=|N|(px(?x
,ni)|py(nj,?x))), where ni
N|literal,
Each element of the conjunction is called a constraint. ni, nj, px, and py are named
condition variables. ?x is output variable.
Definition 5. Query q = [PQ] is a value assignment to condition variables in query
pattern PQ.
For example, a query get the instances of Car which are made in USA can be expressed as q = (instanceOf(?x, Car) make(USA, ?x )), constraints are instanceOf(?x,
Car) and make(USA, ?x ). When a user issue a query, the query evaluation will first
get the OWL view according to the users role through , then consult the view. If
the role is authorized to get access to all condition variables and output variable, the
satisfying result is returned. Moreover, query evaluation is responsible to generate
SQL query to the underlying database.
This paper assumes that the translation from OWL data query in query pattern to
database compliant SQL is possible. The query evaluation algorithm Query_Eva (V,
q) is shown in Fig. 4.
As an example, consider the query q=instanceOf(RedWine_1, ?x) along with the
VN(RedWine). Since VN(RedWine) defines the super classes of RedWine is visible
until Wine, and the other content on ontology is fully accessible, the algorithm
returns a graph consists of RedWine and Wine, without PortableLiquid. If the same
query is processed with normal reasoning engine without OWL data view, the result
would include PortableLiquid. Our proposal offers a controllable reasoning approach. Another example query is instanceOf(?x, PortableLiquid). If
VN(PortableLiquid) = (true, trasitiveEnd(subClassOf)=[Wine, self] ), the returned
graph includes Wine_1, without the instances of RedWine. The evaluated result is
illustrated in Fig. 5.
Access Control Model Based on RDB Security Policy for OWL Ontology
725
In the experiment, we put focus on the effect that the number of query constraints
and transitive property take on the efficiency. To exactly investigate the relationship
726
5 Related Work
Several tools for persistently storing ontologies have been proposed. Protege project
[3] is one of precursors for modeling and managing ontologies. The file-based storage
results in that whenever an ontology is visited, the ontology has to be imported into
memory. In case of the ontology size is much larger than memory, or ontology is
visited frequently, this approach introduces significant overhead. Instead of storing
ontologies in files, Jena2 provides persistent ontologies storage in RDB. In this approach, each RDF statement is stored as a single row in a three column statement
(subject-predicate-object) table [2]. A complete ontology class is defined by multiple
RDF statements. As a result, to achieve the complete definition of an ontology class
requires to combine many statements. This is also time-consuming when facing frequent query. To solve these problems, we proposed a new relational table layout for
storing ontologies persistently. A number of recent research efforts have considered
access control models for XML data. One of the representative efforts is the access
control language, such as XML Access Control Language (XACL) [4], eXtensible
Access Control Markup Language (XACML) [5] and Author-X [6] [7]. The access
control language shares the feature that the language enforces an object-subjectaction-condition oriented policy on queries. [8] introduced an approach to define
security views for XML document for different users. [9] adopts the encryption
Access Control Model Based on RDB Security Policy for OWL Ontology
727
technology in securing XML document. All above approach is not suitable for the
access control on OWL. In XML document, a concept is defined within an element.
In case of OWL, a concept can be defined anywhere in a document. So, only securing
individual elements is not enough. On the other hand, OWL document holds the inference ability. Neither of XML-targeted access control considers this issue. This
paper proposes a novel approach to overcome these problems.
6 Conclusion
This paper contributes an approach to access control on OWL ontologies. Users can
get access to an OWL document, through a specified view. Thus, the sensitive information is protected. In addition, the view specifies not only the element accessibility
but also the inference ability. We also proposed the algorithm to evaluate queries
against the view. The underlying persistent storage provides an efficient data retrieval.
The further study will be focused on improving the view definition and refining the
evaluation algorithm. The system implementation is also under consideration.
References
[1] OWL Web Ontology Language, W3C Recommendation, February 10, http:// www.w3.org/
TR/owl-features/ (2004)
[2] Wilkinson K., Sayers, C., Kuno, H., and Reynolds, D.: Efficient RDF storage and retrieval
in Jena2. In Proceedings of VLDB Workshop on Semantic Web and Databases (2003)
131-150
[3] Noy, N.F., Fergerson, R.W., and Musen, M.A.: The Knowledge Model of Protg-2000:
Combining Interoperability and Flexibility. In proceedings of 12th International Conference, EKAW 2000, Juan-les-Pins, France, October 2-6 (2000)
[4] Hada, S. and Kudo, M.: XML access control language: Provisional authorization for XML
documents, http://www.trl.ibm.com/projects/xml/xacl/xacl-spec.html.
[5] OASIS, eXtensible Access Control Markup Language (XACML), http://www.oasisopen.org/committees/xacml.
[6] Bertino, E., Castano, S., and Ferrari, E.: On Specifying Security Policies for Web Documents with an XML based Language, In Proceedings of ACM SACMAT2001 (2001)
[7] Bertino, E., Castano, S., Ferrari, E.: Securing XML documents with Author-X, IEEE Internet Computing, Vol. 5, No. 3, May/June (2001) 21-31
[8] Fan, W., Chan, C.-Y., and Garofalakis, M.: Secure XML Querying with Security Views,
SIGMOD 2004, Paris, France, June 13-18 (2004)
[9] Geuer-Pollmann, C.: XML Pool Encryption, ACM Workshop on XML Security, Fairfax,
VA, USA, November 22 (2002)
Introduction
729
dynamically for dierent virtual organizations(VO for short)on the grid, creates
semantic fusion list on the mediator site to support Global-as-View(GAV) style
querying request. This grid architecture uses a semantic grid adapter service to
support semantic operation on the gird. The function of the wrapper of local
grid nodes is to describe its semantics and its mapping relationship with other
nodes, the information source of these nodes include both free and commercial
databases, at les services, web services or web based applications, HTML les
and XML les, and the semantic information of every local gird node is described
with the language based on its ontology. The mediator node constructs the global
semantics of the local nodes, the semantic communication mechanism between
the mediator and wrapper nodes is discussed in the following section. The remainder of this paper is structured as follows. Section 2 discusses the knowledge
communication mechanism to support semantic querying and knowledge fusion.
Section 3 discusses the procedure of ontology based semantic fusion. Section 4
summarizes the whole paper.
730
J. Gu
The atom includes basic communication atoms and semantic fusion atoms. Basic
communication atoms such as selection, join, union, minus and projection are
discussed in paper [5][6]. Semantic fusion atoms represent semantic matching
and fusion procedure.
The mediator node constructs the global semantics of the local nodes based
on ontology via ontology fusion mechanism[7] based on the ontology mapping
patterns in gird environment, the patterns of ontology mapping can be categorized into four expressions: direct mapping, subsumption mapping, composition
mapping and decomposition mapping[8], a mapping can be dened as:
Denition 2. A Ontology mapping is a structure M = (S, D, R, v), where
S denotes the concepts of source ontology, D denotes the concepts of target ontology, R denotes the relation of the mapping and v denotes the condence value
of the mapping, 0 v 1.
A direct mapping relates ontology concepts in distributed environment directly,
and the cardinality of direct mapping could be one-to-one. A subsumption
mapping is a 6-tuple SM = (Dm , Rm , Bm , m , Im , v), where Dm is a direct
mapping expression; Rm is the rst target concept, which is the most specialized ontology concept. The mapping between the source ontology and Rm is
denoted as Root ontology concept mapping; Bm is the last target concept,
which is the most generalized ontology concept. The mapping between the source
ontology and Bm is denoted as Bottom ontology concept mapping; m is
inclusion relation between target ontology concepts; Im is the inverse mapping.
Subsumption mapping is used to denote concept inclusion relation especially
in the multiple IS-A inclusion hierarchy. The composition mapping is a 4tuple CM = (Fm , Am , Bm , v), where Fm is a direct mapping expression; Am is
chaining of role(s) between target ontology concepts; Bm is the last target symbol, which is the node of chaining target role(s), and composition mapping is
used to map one concept to combined concepts. For example, the mapping address=contact (country, state, city, street, postcode) is a composition mapping,
in which the concept address is mapped to combined concept contact, country, state, street, and postcode of local schema elements. The decomposition
mapping is a 4-tuple CM = (Am , Bm , Lm , v), where Am is chaining of role(s)
between source ontology concepts; Bm is the last target symbol, which is the
node of chaining source role(s); Lm is a direct mapping expression. Decomposition mapping is used to map a combined concept to one local concept, and the
example for the decomposition mapping is the reverse of the composition.
The KCML language must support the mapping patterns between dierent
semantic nodes on gird, we use Match atom to support it, it can be dened as
M (c, d, r) = {(x, y)|x C (c) y C (d) (x, y) R (r)}, where c is dierent
concept from d, r is relationship of mapping.
The knowledge stored at mediator can be described as the ontology fusion
connections list, which can be described as denition 3. The corresponding fusion
connection lists of the mapping patterns can be denote as Fcd , Fcs and Fcc
respectively.
731
The function of Ontology fusion is to add connection tag between the concepts
that have direct mapping relationship. In direct mapping M = (S, D, R, v),
the fusion connection adds connection tag between the elements of S and D;
in subsumption mapping SM = (Dm , Rm , Bm , m , Im , v), the fusion connection
adds connection tag between the concepts which have mapping relation Dm ,
and in composition mapping CM = (Fm , Am , Bm , v) or decomposition mapping
CM = (Am , Bm , Lm , v), the fusion connection adds connection tag between the
concepts which have relations Fm or Lm respectively. We use Fcd to denote
fusion connection of direct mapping, Fcs to denote fusion connection of subsumption mapping and Fcc to denote the fusion connection of composition or
decomposition mapping. The fusion connection list is a list and its elements are
the fusion connections, denote it as F L.
1. The rst step of ontology integration is Ontology Fusion for Direct
Mapping, which creates fusion list F L from the mapping list of dierent local
ontologies, it can be described by algorithm 1.
2. The second step of ontology integration is Ontology Fusion for Complex
Semantic Mapping, which used to nd the mappings of the concept that are
not in the mapping list, the basic idea of this step is to nd the semantic similarity
of the mapping relations, and create new mappings between these relations. We
propose this step in two situations, one is to nd the mapping between two
subsumption mapping relations, and the other is to nd the mapping between
two composition mapping relations or decomposition mapping relations.
We propose subsumption mapping situation at rst, suppose M1 and M2 are
two subsumption mappings, and R1 is the mapping relation of M1 , C10 is the
concept of source ontology, C1i (1 i n) is the concept of target ontology;
R2 is the mapping relation of M2 , C20 is the concept of source ontology, C2j
(1 j m) is the concept of target ontology . If there exists JS(R1 , R2 ) 1,
it means that these two relations of the mappings can match each other, we
create a new mapping named M and create the fusion connection list F L with
algorithm 2.
Then we propose the composition and decomposition mapping situation, these
kinds of mapping are very complex because the concatenations between two concepts of target ontology are dierent with each other, we divide the concatenation
of target concepts into two kinds. One kind of concatenation does not have meanings, just means that the concatenation between these concepts exists(maybe
most of the concatenation can be expressed as this kind). For example the mapping: address=contact (country, state, city, street, postcode), the concatenation
732
J. Gu
among contact, country, state, city, street and postcode are this kinds of concatenations. We name this kind of concatenation as None-Meanings Concatenation; The other kind of concatenation does have meanings between the
concepts, we name it as Full-Meanings Concatenation. For example, the
mapping payment = total (commodity amount * (unit price + tax )) is this kind
of concatenation. For the rst kind of concatenation, we only need to identify
whether the related concepts satisfy the denition of semantic similarity or not,
if they satisfy the denition, add a new fusion connection to the fusion connection list. Before we discuss the other kind of concatenation, we introduce the
concept of Fusion Equivalence and Fusion Subsumption.
For composition (or decomposition) mappings M1 and M2 , Am1 and Am2
represents the concatenation relationship of M1 and M2 respectively, we use
|Am1 | and |Am2 | to denote the amount of the concepts in Am1 and Am2 , Am1
and Am2 are Fusion Equivalence i,
733
i). Am1 and Am2 are Full-Meaning Concatenations, and |Am1 |=|Am2 |;
ii). For i(C1i
Concatenation1,i+1 .C1,i+1 , C2i
Concatenation2,i+1 .
C2,i+1 ) exists (JS(C1i , C2i ) 1 ) (JS(C1,i+1 , C2,i+1 ) 1 )
(JS(Concatenation1,i+1 , Concatenation2,i+1 ) 1 ).
We use Am1 Am2 to denote the fusion equivalence of Am1 and Am2 , if
|Am1 | > |Am2 |, suppose |Am1 | = m and |Am2 | = n, then m > n. If Am1,n is
the rst n concepts of Am1 and Am1,n Am2 , then we say Am1 and Am2 are
Fusion Subsumption, denotes it as Am1 Am2 , or Am2 Am1 if n > m.
We use AU1 and AU2 to denote the concepts of Am1 and Am2 respectively, and
whose concatenations are None-Meanings Concatenations, use AN1 and AN2 to
denote the concepts whose concatenations are Full-Meanings concatenations. We
use AE1 and AE2 to denote the concepts of AN1 and AN2 , which keep fusion
equivalence or fusion subsumption relationship with each other. We can express
the fusion connection with algorithm 3.
3. The last step of ontology integration is Canonical Fusion, which merges
the concepts of the fusion connection into one concept if the fusion connection
type is Fcd or Fcc , and adds a real relation connection to the concepts if the fusion
connection type is Fcs . For example the fusion connection Fcd = (C1 , C2 , M ),
C1 and C2 are concepts of dierent ontologies, they will be merged to a concept
(C1 , C2 ) and all the hierarchy of the concepts will be kept. But not all the concepts with the same mapping relation can be merge into one concepts, only the
concepts which have strong mapping relation can be merged. For example, if the
734
J. Gu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Semantic data grid service mechanism we present in this paper wrapped various information source through semantic fusion mechanism, and used MediatorWrapper to support the heterogeneous data source, employed mediator structure
to realize virtual data gird service which supports semi-structured information
retrieving language.
Because XML is rapidly becoming a language of choice to express, store
and query information on the web, other kinds of web information such as
HTML-based web information can be transferred to XML based information
with annotation technologies. Users can query information with XML languages,
XPath based XML query style language to retrieve information from dierent grid nodes, languages such as XQuery, XUpdate are suitable for retrieving
735
Acknowledgment
This work was partially supported by NSF (Natural Science Fundation) of China
under grant number 60425206, and it was partially supported by China Postdoctoral Science Foundation under grant number 20060400275 and Jiangsu Postdoctoral Science Foundation under grant number 0601009B. It was partially
supported by a grant from the NSF of Hubei Prov. of China under grant number 2005ABA235.
References
1. Levy, A.Y., Rajaraman, A., Ordille, J.J.: Query heterogeneous information sources
using source descriptions. In: Proceedings of the 22nd VLDB Conference, Mumbai,
India, Morgan Kaufmann Publishers Inc (1996) 251262
2. Antonioletti, M., Atkinson, M., Baxter, R., et al.: The design and implementation
of Grid database services in OGSA-DAI. Concurrency and Computation: Practice
and Experience 17 (2005) 357376
3. W
ohrera, A., Brezanya, P., Tjoab, A.M.: Novel mediator architectures for Grid
information systems. Future Generation Computer Systems 21 (2005) 107114
4. Zhuge, H., Liu, J.: A Knowledge Grid Operation Language. ACM SIGPLAN Notices
38 (2003) 5766
5. Gu, J., Xu, B.: XML based Semantic Query Mechanism on Grid. In: ISPA 2006
Workshops, LNCS 4331, Springer Verlag (2006) 532541
6. Sheng, Q.J., Shi, Z.Z.: A Knowledge-based Data Model and Query Algebra for the
Next-Gereration Web. In: Proceedings of APWeb 2004, LNCS 3007 (2004) 489499
7. Gu, J., Zhou, Y.: Ontology Fusion with Complex Mapping Patterns. In: Proceedings
of 10th International Conference on Knowledge-Based, Intelligent Information and
Engineering Systems, Bournemouth, United Kingdom, LNCS 4251, Springer Verlag
(2006) 738745
8. KWON, J., JEONG, D., LEE, L.S., BAIK, D.K.: Intelligent semantic concept
mapping for semantic query rewriting/optimization in ontology-based information
integration system. International Journal of Software Engineering and Knowledge
Engineering 14 (2004) 519542
9. Gu, J., Hu, B., Zhou, Y.: Semantic Query Planning Mechanism on XML based
Web Information Systems. In: WISE 2006 Workshops, Wuhan, China, LNCS 4256,
Springer Verlag (2006) 194205
1 Introduction
The most important challenge for the E-Government services is adapted themselves to
the complex changes in their environment, besides in their internal structures and
processes. The new ways of working with citizens, enterprises, or other
administrations efficiently should be concerned by E-Government services. They
need the continuing change management to perform the dynamic modification
problem in time. Note that, such dynamical refinement changes are not to rewrite
project. It is a high level modification which must meet the syntactic and semantic
consistency of changed services. Here, we present an approach to resolve it.
This approach uses the semantic technology to enrich the current implementing
mechanisms of E-Government service process to support a more efficient
management. In the most current Web Services description and Web Services
composition languages, the semantic expressivity on the level of business processes,
is lacked [1]. Therefore, specifications of domain specific constraints need to be
presented, which must be taken into account during the construction of it, and
business process flow must be defined at the abstract task levels without consideration
of the details of specific service bindings and execution flow. To model this abstract
representation of services, a set of ontologies is used to describe them, besides the
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 736743, 2007.
Springer-Verlag Berlin Heidelberg 2007
737
The aim of this management system is to assist public administrators to get rid of a
great amount of management tasks to improve maintenance efficiency and reduce
cost. Here, we do not focus on the dynamic service composition, but the static web
services and the precise definition of business rules (i.e. law) in addition to the
dynamic bindings of services during the execution of static services. So in the
following part of this section, we introduce the two major parts of meta-ontology:
Profile part which is used for service discovery and the process part which is used for
describing the business process flow.
738
To satisfy specific requirements such as security, cost and trackability, the specific
properties is introduced. It also has the input and output, similar to OWL-S. The
difference is that they will be defined in the domain ontology. The concept
739
Reference is added, as well as properties related with it. The property hasFirst
and ConsistOf are presented to describe the composite service flow. The control
constructs is defined as follows: sequence, split, join and if-then according to the
specific of E-Government domain. Moreover, some properties between services and
control constructs are given. The details can be shown in Fig. 2.
3 Approach
The change management is argued in this section as follows: Firstly, changes and
consistency are defined. Then the propagation of changes is introduced from business
rules to services and within services.
3.1 Changes and Consistency
To manage change efficiently, the meta-modeling is used to analyze the features of
ontologies. Changes are classified into two kinds: the basic changes (Add and Sub)
and the complex changes(i.e. composed change) such as modify, which can be
achieved by the composition of basic changes. For example, a ModifyConcept
change can be achieved by the sequence composition of previous SubConcept
change and next AddConcept change.
But we need to extend the granularity level of changes to make a better
management of changes in a service description. Changes should be defined about
concepts of service and relations among them, besides the concept of input, output,
preconditions etc. of a service. A full set of basic change can be defined in the
following table 1.
Table 1. The set of basic change of ontologies used by SOF
Service
ServiceSpecialization
Input
Output
Precondition
Result
Business Rule
Human
Equipment
Software
PreviousConnection
NextConnection
Additive changes
AddService
AddServiceSpecialization
AddInput
AddOutput
AddPrecondition
AddResult
AddBusinessRule
AddHuman
AddEquipment
AddSoftware
AddPreviousConnection
AddNextConnection
Subtractive changes
SubService
SubServiceSpecialization
SubInput
SubOutput
SubPrecondition
SubResult
SubBusinessRule
SubHuman
SubEquipment
SubSoftware
SubPreviousConnection
SubNextConnection
740
741
2.
3.
742
5 Related Works
In this paper, a slight ontology framework SOF is presented to perform the semiautomatic change management to improve current management. Our approach
introduces into Semantic Technology and the experiences of Business Rules
Modeling to reconstruct SOF. The aim of it is to provide a continuing change
management, which is lack in the Web Services.
In the research of Semantic Web Services and Workflow, there exist some
proposals to support the dynamic service composition [7] [8] and the extensibility and
flexibility are concerned [9] [10] [11], which present some overlaps with our ideas.
Especially in [9], it presents a technique to generate composite services from highlevel declarative descriptions and defines formal safeguards for meaningful
composition through the use of rules. In [11], it takes into consideration of the
underlying business process next to the data to present a three-level schema
architecture for the conceptual design of dynamic web-based information systems to
support workflow tasks and e-commerce transactions besides querying.
There are many graphical tools (ARIS, Adonis) which lay out a process model and
draw connections among steps. These tools lack formal methods for verifying
properties of processes. In contrast, our approach allows users to formally specify
consistency constraints. Ontologies and rules are used to represent this kind of
background knowledge or users needs. Moreover, our system can check the service
profile and propose suggestions for resolving the problems.
6 Conclusions
E-Government systems are subject to a continual change. The importance of better
change management is nowadays more important due to the evolution of EGovernment services. It is clear that the management of changes in E-Government
743
will be a work which must be treated in a more systematic way in order to avoid
drawbacks in the long run.
In this paper we present an approach for ontology-based change management. Our
approach goes beyond a standard change management process. It is a continual
improvement process. The novelty of the approach lies in the using of formal methods
for achieving consistency when a problem is discovered and the formal verification of
the service description.
In the future we will continue to improve this system in the following parts: Firstly,
in order to improve the efficiency of this system, the system implementation and
experimental evaluation will be performed. Secondly, we will extend our approach by
adding function of change suggestion which can improve services by monitoring
the execution of them and taking into consideration of advices from managers or
end-users.
References
1. BPEL4WS. http://www-128.ibm.com/developerworks/cn/webservices/ws-theme/ws-bpel/
2. Maedche, A.: Managing multiple and distributed ontologies on the Semantic Web. The
VLDB Journal, Vol. 12. (2003) 286302.
3. OWL-S (2005). http://www.w3.org/Submission/OWL-S/
4. Gangemi, A.: Some Ontological Tools to Support Legal Regulatory Compliance - with a
Case Study. Workshop on Regulatory Ontologies, OTM'03. (2003) 607620.
5. Stojanovic, L., Abecker A.: The role of semantics in e-government service model
verification and evolution. Semantic Web meets eGovernment, AAAI Spring Symposia,
AAAI. (2006).
6. Maedche, A.: Managing multiple and distributed ontologies on the Semantic Web. The
VLDB Journal- Special Issue on Semantic Web, Vol 12 (2003) 286302.
7. Arpinar, I.B.: Ontology-driven Web services composition Platform. Information Systems
and E-Business Management, Vol, 3. Springer Berlin (2005) 175199.
8. Medjahed, B.: Composing Web services on the Semantic Web. The VLDB Journal, Vol.
12. Springer Berlin (2003) 333351.
9. Medjahed, B.: Composing Web services on the Semantic Web. The VLDB Journal, Vol.
12. Springer Berlin (2003) 333351.
10. Duke, A.: Enabling a callable service oriented architecture with semantic Web Services.
BT Technology Journal, Vol. 23. Springer Netherlands (2005) 191201.
11. Preuner, G.: A three-level schema architecture for the conceptual design of web-based
information systems: from web-data management to integrated web-data and web-process
management. World Wide Web, Vol. 3. Springer Netherlands (2000) 125138.
Introduction
The search to eciently extract information and meaning from data has preoccupied mankind. It has lead humans to try many dierent methods of presenting
the data from hieroglyphics to printed tables, but they mainly rely on our primary sense which is sight. This is due to the fact that humans have a highly
developed visual system, that has evolved over time from the need to survive
(i.e. tracking food sources) to more complex requirements like entertainment
(e.g. pattern matching on Rubiks cubes). Humans excel at pattern recognition
and are capable of gaining a better insight and understanding from this. Based
on this ability, we nd it possible to make intuitive decisions even if there is
incomplete or missing data. Any method that uses a 3D object approach will be
more eective, due to the fact that it is more natural and intuitive considering
this is how humans view near objects.
Current methods used to extract knowledge from variable data sets that do
not t into traditional structures do not necessarily scale well to large multidimensional levels. Therefore a new approach is required that overcomes this
problem and utilises the recent advances in computer and graphics technology.
A VR Data Forest fulls this requirement. VR is a discipline that enables users to
view large complex data sets in an intuitive and natural manner. For example a
3D object can be a graphical representation of a particular data value. Immersive
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 744751, 2007.
c Springer-Verlag Berlin Heidelberg 2007
745
Related Work
The most common approach to developing CVE that allow users to interact
with other users and data, has been to build applications on top of dierent networking platforms and protocols. In VR this has been with either COVEN[8],
DIVE[1] or CAVERN[6]. COVEN has it roots in DIVE, as it took lessons learned
from that eort and other collaborative environments. DIVE uses a peer to peer
approach to networking the environments, this platform allows for the creation of
interactive environments, but uses other software to enable its rendering. CAVERN has an ecient database/network library, but needs additional applications
to create a CVE (e.g. CoAnim[2]) which then limits its functionality.
The scientic community have been developing dierent approaches to analysing and exploring large multi-dimensional data sets for a number of years. These
have resulted in highly advanced tool sets for their needs, for example application like VTK[9], AVS[12] and Open DX[7] are available and widely used. Other
communities have relied on traditional methods, namely data mining techniques.
These rely on statistical techniques, genetic algorithms and neural networks to
uncover the relevant data. Then the data is usually visualized using 2D graphs,
spread sheets, or quasi-3D structures but using a 2D medium (e.g. desktop monitor or projector). A further disadvantage to data mining techniques is the lack
of interaction and rapid feedback to the user. Examples of data mining applications that take advantage of visualization techniques are MineSet[10] and Iris
Explorer[4],but they use 2D & quasi-3D structures to represent the data. Furthermore these methods do not scale well to the large multi-dimensional data
set. New methods are required that utilise the advantages of new technology
(e.g. VR).
746
R. Jamieson et al.
A Data Forest
(a)
(b)
Up to eight dierent parameters can be visualized in any one data tree. This
number can be achieved by matching the physical properties of the tree (i.e.
trunk and crown) to dierent parameters within the data set,
747
748
R. Jamieson et al.
Application Areas
There are numerous areas that would benet from using a Data Forest approach.
The following areas were chosen due to their diversity of data, and in which
further work is taking place.
4.1
The daily movement of the stock market, with its wide range of dierent parameters produces a vast amount of time dependant data. The ability to analyse this
movement correctly and predict future changes has the potential to generate a
considerable amount of money. Therefore this data is subject to many dierent
traditional visualization techniques (e.g. 2D graphs, spreadsheets). Our approach
is more suited to what would be considered o-line (i.e. non real-time) studies,
but with some of the improvements mentioned in the future work it could then
have the potential to move to real time use.
The test application was developed to visualize this type of data. This example
was chosen to generate the forest, due to the dierent number of parameters that
would be found in the data set. An example of some of the potential parameters
that could be in the data set are share price, volume of trades, whether the share
provides a dividend and how much, the percentage yield, the capital appreciation
of the company, total number of shares in company, etc. Some of these parameters
are highly dynamic (e.g. share price, volume of trades), but others are of a static
nature for a long period of time (e.g. total number of share, amount of dividend).
Therefore it is possible to match the movement of share prices with the changing
shape/growth of the forest.
By utilising the structure proposed in CVV a collaborative version has been
developed, remote users are represented by avatars and changes in one environment are then reected in the other users environment by using event messages.
A text grid is laid over the forest so that it is possible to associate each tree
749
with a particular company (i.e. a tree with a NGC text label above it is referring
to the National Grid Company). The forest is laid out alphabetically grid to
ensure easier navigation if a user is interested in a particular company. The main
methods of interaction with the Data Forest environment are through the use of
3D menus and an input device (e.g. a wand in an immersive environment). The
use of 3D menus allows the user to easily interact with the data and environment.
Currently the menus contain the following functionality:Stop/Start Simulation. Changing the forest from static mode to a dynamic
or simulation mode (e.g. steps through the time dependant data). In simulation
mode the forest is changed every set time period to reect the new time variant
data. It is possible to pause/stop the simulation at any time; also there is a
step forward/back one time period function. This can be useful when the user
discovers an interesting feature in the forest.
Increase/Decrease Size. Scaling the size of the forest to allow for dierent
methods of analysis, scaling down gives the users a better overview of the complete forest while scaling up allows for more natural interaction and exploration
of the data (i.e. the trees could be made life size).
Examine Tree. If the user decides to examine a particular data tree in more
detail (i.e. exposing the roots of the tree), all that is required in that the user
touches the desired tree with their input device (see Figure 3(a)) and then selects
the examine function on the 3D menu. A new forest is rendered based on any
related data to that tree. Once the user is nished with this requirement (see
Figure 3(b)), they can return to the previous forest.
Predict Tree. While in the examine mode it is possible to carry out further
analysis, with modules such as the predict tree function. This calculates an
average crown and trunk value for this particular forest and then creates a tree
based on these values. This is then added to the forest. Currently this is a very
simple mathematical approach, but this could easily become a more complex
algorithm.
4.2
Network Data
Computer networks are constantly being monitored and analysed to ensure the
ecient transfer of data over the network. The data produced requires a method
of visualization that will allow for time dependant analysis. By changing the axis
of the Data Forest from vertical to horizontal we can use the forest to represent
a computer network. The dierent parameters that could create a data tree are
dierent network bandwidths, number of servers on the system, number of users
connected to a server, load on server, amount of memory available and consumed
at any one time by a server. This could be visualized in real time as discussed
in the previous section or used for historical analysis. Another area of use can
be as a forensic tool to simulate network conditions at the time of failure, so
the user could navigate around the forest and examine all the factors that could
750
R. Jamieson et al.
(a)
(b)
Marketing Data
This paper has successfully outlined the concept of a Data Forest, which is a
new and novel approach that uses VR to visualising data that does not easily
t traditional methods. A test application has been developed utilising stock
market data and a collaborative version has been successfully incorporated into
the collaborative structure proposed by CVV. Our modular approach is exible
751
and allows for the reuse of dierent function within dierent contexts, by just
changing modules, dierent types of data sets could be loaded into our environment.
Future work will include incorporating Really Simple Syndication (RSS) feeds
directly in the collaborative environment in the form of a scrolling text bar. The
option to extract this data from the RSS feed and utilise it in updating the
relevant data trees accordingly will be investigated. This will allow for real-time
information to be incorporated into our Data Forest. The inclusion of virtual
maps of the forest for large environments so the users can see the position of the
remote user (i.e. out of visual range of the user), therefore allowing a larger user
search area will be researched. We aim to investigate allowing the user to specify
how they would like the forest to be arranged to enable greater ease in searching
the forest for particular areas of interest (e.g. in the stock market application
the user could group the trees according to industries).
References
1. C.Carlsson et al, DIVE: a platform for multi-user virtual environment, Computer
& Graphics, 1993, p663-669, Vol .17, No.6.
2. Coanim, Electronic Visualisation Laboratory (EVL), University of Illinois at
Chicago, 2005, http://www.evl.uic.edu/cavern/agave/coanim.html.
3. C.Cruz-Neria et al, The CAVE: audio visual experience automatic environment,
Communication of the ACM, 1992, p64-72, Vol.35, No.6.
4. D. Foulser, Iris Explorer - a framework for investigation, Computer Graphics,
1995, 29(2):13-16
5. R. Jamieson et al, Collaborative Virtual Visulaization, First Austian Grid Symposium, Austira, 2005
6. J.Leigh et al, CAVERN: A Distributed Architecture for Supporting Scalable Persistence and Interoperability in Collaborative Virtual Environments, Journal of
Virtual Reality Research, Development and Applications, 1997, p261-296, Vol.2.2.
7. B. Lucas et al, An architecture for a scientic visualization system, Proceddings
of Visualization 92, 1992, p107-114
8. V.Normand et al, Collaborative Virtual Environments: the COVEN Project.,
Proc.of the Framework for Immersive Virtual Environments Conf. (FIVE), 1996.
9. W.J. Schroeder et al. The design and implementation of an object-oriented toolkit
for 3d graphics and visualization. Proc. of Visualization,ACM, 1996, p93-100.
10. SGI Inc, MineSet: a system for high-end data mining and visualization, Int.Conf.
On Very Large Databases (VLDB96), Bombay, India, 1996, p595
11. S.Singhal et al, Networked Virtual Environments: Design and Implementation,
ACM Press, 1999.
12. C. Upson et al. The Application Visualization System: a computational environment for scientic visualization, C omputer Graphics and Applications, 1989,
9(4):30-42
NetODrom
An Example for the Development of Networked
Immersive VR Applications
Christoph Anthes1 , Alexander Wilhelm2 , Roland Landertshamer1 ,
Helmut Bressler1 , and Jens Volkert1
1
Introduction
Networked graphics applications are becoming more and more common nowadays. If we take a closer look in the area of VR and NVEs, medical visualisations,
safety training and architectural design are just a few application areas, where
the users benet from interaction in a networked environment. Not only the
area of VR but also the area of multi-player games opens a vast market for
networked graphics applications. The algorithms and distribution mechanisms
between these two areas are very similar, but VR provides additional challenges
like multi-wall displays, dierent interaction techniques and it has tighter constraints considering responsiveness.
This paper gives an overview on the design of a networked graphics application
and takes a racing game as an example. The example of such a game seams to
be ideal, since it consists of the common components usually needed in NVEs.
The description of the components and the overall design of the NetODrom
game should give an idea on how to approach the development of an NVE. It
should not be considred as a generic approach, but rather be an inspiring source
for design ideas. Common issues which arise during the development of such a
VE will be pointed out and suggestions on how to overcome these obstacles will
be given.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 752759, 2007.
c Springer-Verlag Berlin Heidelberg 2007
753
The following Section examines various design approaches in the eld of VEs
and NVEs. Afterwards the conceptual design from an artistic point of view
will be given. Section 4 will describe the application design of the NetODrom
game. The next Chapters will focus on the developed physics engine, the network
component and the eects used to enhance immersion and the gaming experience. The nal Sections conclude the paper and provide an outlook into future
developments.
Related Work
Conceptual Design
In the NetODrom game two players compete in a virtual race. They drive their
vehicles on a race-track and try to reach the goal before the other player.
3.1
It was expected that users with dierent experience in the area of games and
input devices had to interact with each other. Due to that reason an unfair situation during the game would arise which could decrease the gaming experience. In
a racing game the more experienced player is able to advance much faster than
the inexperienced player, which reduces the aspect of a challenge enormously.
To overcome this problem a game mechanism had to be found which keeps the
players vehicles in spatial proximity.
1
754
C. Anthes et al.
Our approach guarantees this mutual interaction by coupling the players vehicles with a rubber band mechanism, which keeps the vehicles below a maximal
distance. This mechanism generates interesting tactical game situations, whereas
the faster player is pulling the slower player along. Both players can apply their
acceleration and braking force on the other players vehicles by pulling the rubber band together. The gaming idea is easy to understand and increases the
competition between the players. Even close to the end of the race it is still
possible to gain the lead.
3.2
Game Architecture
The architecture of the NetODrom NVE consists of a network module, a database module, a physics engine, independent libraries for eects and a highly specic physics engine. A core module combines the independent parts and manages
the application. It acts as glue between the individual components and contains
the management of events. Graphical output is handled via the scene graph
OpenSG, and audio output is generated via the OpenAL audio library. Figure 1
shows the dierent components and their communication routes. Three dierent
classes of components can be identied which are shown in dierent shades of
755
grey. On the bottom and the left part of the Figure the external libraries are
shown. The central part is formed of the actual application core and the modules.
In between the application core and the scene graph additional modules which
are used to extend the underlying scene graph functionality are shown. These
additional modules are implemented as scene graph nodes since they represent
graphical eects or non standard geometries which will be explained in detail in
Section 4.4. Multi-threading is highly desirable for various components. The input device component and the network component should be independent from
the rest of the application and should be polled at certain intervals, to avoid
unnecessary waiting times for the application. If physics is used in a VR application it should be performed on a separate processor if available, since physics
calculation is normally a computationally intense task.
4.1
Structuring the VE
When designing a VE several options arise for the organisation of the scene
graph. Ideally nodes should be easy to cull and the structure should be organized
and stored in a manner, that the application designer is able to easily change the
scene layout without changing the hierarchy of the graph or altering the source
code. In our example application the NetODrom racing game proprietary text
les dene which objects are available in the particular scene and how they
are arranged. A VE as structured in the NetODrom application consists of
tiles, entities and environments. Additionally each player controls a vehicle to
which an avatar and particle systems representing the exhausts of the vehicle
are attached.
One environment represents a region of the race track. The tiles and entities
represent the visible objects in the world. Tiles are used to structure the race
track and can only be arranged on a grid. This approach has been chosen to allow
for an intuitive denition inside the conguration les, easy frustum culling and
ecient physics calculation. The entities do not have any direct technical purpose
and are used to create the atmosphere of the VE. They can be arbitrarily placed
756
C. Anthes et al.
Physics
A physics engine in the context of computer games and VEs simulates the behaviour of rigid bodies, which comprises the following tasks: rigid body motion,
collision detection and response and constrained interaction of rigid bodies. Typically these calculations are performed in 3D space on simplied proxy geometries to reduce the needs of computational power. In our sample application we
decided to tailor a highly ecient, problem specic physics engine. The basic
idea is to perform as much work as possible in 2D. Therefore a heightmap is
calculated based on the surface. In order to perform collision detection in 2D,
obstacles and moving objects on the surface are approximated by 2D primitives.
Heightmap. The heightmap is generated out of a set of geometries which is
considered as surface of the area reachable by the vehicle. The height values are
obtained by performing intersection tests between the surface geometry and rays
going into the direction of gravity. Also the surface normals are kept which are
necessary to determine the orientation of objects on the heightmap in 3D. This
procedure is time consuming but it needs to be performed only when the surface
geometry changes. Queries to the heightmap of the height value or normal for
757
a given (x, y) position on the surface are performed by simply interpolating the
values of its neighbours.
A limitation to this approach is that each point on the surface can have exactly
one height value.
Collision Detection. Collision detection aims to determine the intersection of
two objects. Our implementation provides lines and circles as collision primitives.
In the simulation the vehicles are represented by circles and the obstacles on
the surface are approximated by line sets which describe the 2D shapes of the
obstacles. Every possible collision point on the obstacles mesh is determined
by simulating the vehicle scratching along the obstacle. The result is a line
set which describes the collision shape of the obstacle in 3D. These lines are
then projected into 2D space for use in the collision detection algorithm. Since
the vehicle is mobile and moves over a non-planar surface its 2D shape can
change over time. To avoid a collision test with changing 2D shapes our collision
detection algorithm considers the orientation of the vehicles. A more detailed
description on this approach can be found in [7].
To allow for ecient physics calculation it is always important to know the
given application domain. Using a standard approach and working with all of
the triangles of the scene will decrease the overall performance enormously. The
representation of the scene should be pre-processed and simplied in advance as
much as possible to allow for simplied calculations in the physics component.
4.3
Network
The network module makes a clear distinction between two types of transmission
data, continuous movement data and discrete events. The communication topology is a peer-to-peer (p2p) architecture designed for two users. One client starts
the application as a server and the second client has to connect to this server.
Once this connection is established, both clients work on their fully replicated
copy of data and synchronise the application via messages. For most NVEs we
can identify three dierent types of messages which are used for position update,
scene management and management of the network topology.
The rst type of messages describes the transformation of the vehicle in the
VE and other physical properties of the vehicles like speed and orientation. To
avoid the additional latencies other than the network delay the updates have to
be transmitted as fast as possible. Therefore the continuous ow of movement
data is distributed via UDP. If the latencies introduced by the network are
already to high it is possible to extrapolate the position of the remote users
representation, in our case the vehicle with the avatar, by using predictive dead
reckoning algorithms.
A second type of messages consists of discrete events which have to be handled
in a reliable manner. Events can be used for many purposes, e.g. to trigger
animations, to trigger sound eects, or to provide reliable information for the
physics engine. These reliable events guarantee a consistent state of an NVE.
758
C. Anthes et al.
Another message type is used to manage the network topology and is mostly
independent from the application. Typical messages which are transmitted could
be joining or leaving of a participant of the VE.
An important issue designing network protocols for NVEs lies in the byte
order, which diers between standard Intel and AMD CPUs and most of the
CPUs used in supercomputers.
4.4
Graphical Eects
Graphical eects are useful to increase the degree of immersion and to attract
users. Particle systems [8] are often used in safety applications to demonstrate the
propagation of smoke or to animate res and explosions. Flocking [9] algorithms
can be used to create a more dynamic and life-like VE.
In general these eects are not necessary for the simulation of the VE, they
have to be separated from the actual application layer and should be updated
once per frame. Besides their usefulness for enhancing immersion and their ability to create life-like environments these eects have more in common. They can
cause signicant performance issues when they are used in combination with immersive multi-screen displays. Particle systems emit particles from their core and
update each frame the attributes of the set of emitted particles. These updates
have to be synchronized between the dierent displays. Similar problems arise
with ocking algorithms, where the boids of the ock have to be synchronised
in their position and animation phase. To overcome these probles a collection of
boids or a collection of particles has to be implemented as a single node.
Most of these problems can be avoided by using shared memory architectures
and synchronizing the memory access where the changes of the nodes come into
eect. If the multi-wall display is driven by a cluster system, the distribution of
random seeds and the synchronization of these seeds can be used to synchronize
particle systems and ocking algorithms.
The actual NetODrom application was demonstrated to the public with great
success on an SGI Onyx with an active stereo Curved Screen was used as output
display. This system was interconnected to a portable Linux driven PC with a
passive stereo powerwall display.
This paper has identied the necessary core parts for a networked VR application. Suggestions on how to design these components were given with the
example of NetODrom, a networked racing game. Not only technical aspects
like physics or network communication were presented, but also other aspects
like graphical design or eects which are used to increase immersion were introduced. Many pitfalls that can be made during the development of NVEs have
been shown, and suggestions how to maneuver around these obstacles were given.
Core parts of the NetODrom application are being used in a framework for
the design of more generic NVEs - the inVRs framework. An brief overview of
759
the inVRs framework is given in [10]. Furthermore this application will be used
as a demonstration application to show the capabilities of the edutain@grid
middleware.
Acknowledgments
We would like to thank all the people from the Johannes Kepler University and
the University of Reading, which helped to implement this application most
notably: Helmut Garstenauer, Martin Garstenauer, Adrian Haegee, Marlene
Hochrieser, Franz Keferb
ock, Stephan Reiter, Christian Wressnegger, and Johannes Zarl. The modelling and design of the VE was done by students of the
Kunstuniversit
at Linz: Wolfgang Hauer, Clemens Mock, Paul Pammesberger,
Ivan Petrov, Georg-Friedrich Sochurek, Silke Wiesinger and Wolfgang W
ogerer.
For additional support for the organization of the public demonstration event
we would like to thank Gerhard Funk, Christa Sommerer, and Friedrich Valach.
The work described in this paper is supported in part by the European Union
through the IST-034601 project edutain@grid.
References
1. Carlsson, C., Hagsand, O.: Dive - a platform for multiuser virtual environments.
Computers and Graphics 17 (1993) 663669
2. Conway, M.J., Pausch, R., Gossweiler, R., Burnette, T.: Alice: A rapid prototyping
system for building virtual environments. In: ACM Conference on Human Factors
in Computing Systems (CHI 94). Volume 2., Boston, MA, USA, ACM Press (1994)
295296
3. Tramberend, H.: Avocado: A distributed virtual reality framework. In: IEEE
Virtual Reality (VR 99), Houston, TX, USA, IEEE Computer Society (1999)
1421
4. Rohlf, J., Helman, J.: Iris performer: A high performance multiprocessing toolkit
for real-time3d graphics. In: SIGGRAPH, ACM Press (1994) 381394
5. Singhal, S.K., Zyda, M.J.: Networked Virtual Environments - Design and Implementation. Addison-Wesley Professional (1999)
6. Smed, J., Kaukoranta, T., Hakonen, H.: A review on networking and multiplayer
computer games. Tucs technical report no 454, Turku Centre for Computer Science
(2002)
7. Bressler, H., Landertshamer, R., Anthes, C., Volkert, J.: An ecient physics engine
for virtual worlds. In: Mediaterra 06. (2006)
8. Reeves, W.T.: Particle systems - a technique for modeling a class of fuzzy objects.
ACM Transactions on Graphics 2 (1983) 93108
9. Reynolds, C.W.: Flocks, herds, and schools: A distributed behavioral model. Computer Graphics 21 (1987) 2534
10. Anthes, C., Volkert, J.: invrs - a framework for building interactive networked virtual reality systems. In: International Conference on High Performance Computing
and Communications (HPCC 06), Munich, Germany, Springer (2006) 894904
Abstract. This paper presents the development of an intelligent Assembly/Disassembly (A/D) system with the utilization of a haptic device. The development was aimed to assist the A/D process of aircraft parts maintenance
with an intelligent algorithm. A comprehensive methodology is presented by an
intelligent algorithm generating the best sequence for the assembled/disassembled parts. For this purpose, a genetic algorithm was chosen because of its effectiveness and compatibility dealing with the A/D sequencing
problem. Furthermore, A/D process of the parts will also be calculated in the
genetic algorithm process, which will show the effectiveness of the algorithm.
Moreover, the concept of both natural and artificial constraints are applied to
generate the path planning of the assembled/disassembled parts. It is believed
that the combination of haptic, optimized sequence algorithm and intelligent
path planning will increase efficiency for the overall aircraft parts maintenance
process.
Keywords: Haptic, Genetic Algorithm, Natural and Artificial Constraint,
Aircraft Part Maintenance.
1 Introduction
The implementation of Virtual Reality (VR) technologies such as the medical and
A/D fields, is increasing. The improvement of VR technologies promises a bright
future for the efficiency of the A/D process, including the maintenance of aircraft
parts. Since the physical objects are represented in digital form with VR technologies,
users do not need to have a real object for the simulation of the process. From that
point of view, the efficiency can be increased because of the elimination of real object. Furthermore, the development of VR technologies is also supported by the development of haptic technologies. Nowadays, some haptic devices are available and
widely used such as Phantom families [1] from SenseAbleTM Corporation and Omega
xTM from the Force Dimension Corporation. Haptic devices give touch sensing by a
force-feedback mechanism. Through this mechanism, an operator will feel the result
of collision force.
Corresponding authors.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 760767, 2007.
Springer-Verlag Berlin Heidelberg 2007
761
762
(b) An operator
chromosome = [S | O | T ]
where :
(1)
763
(2)
where the parameters of the cost function were set to l, o, and g that variables are
the maximum length of feasible sequence, the orientation change number, the
gripper change number, respectively. Then, every parameter was associated with the
weight w.
The use of these cost function parameters are quite representative for the case such
as the maintenance task. In the maintenance task, the numbers of orientation changes
and tool changes will affect the efficiency of overall maintenance process. An analogy
can be made to describe the effect of the cost function parameters for the overall efficiency. A gripper is a tool used to do one task of the A/D tasks, whereas the orientation changes represent how many step we needed for doing one task in A/D task list.
It needs to be restated in this case, that the best sequence is a list of parts in the assembled order which have the highest cost function value.
The ranking for chromosomes will be generated in every generation (iteration).
Ranking is made by sorting the cost value for each chromosome. Some portion of
population will be destroyed to give space for new offspring. This process is called
764
natural selection. Selection rate (Xrate) determines the amount of chromosomes that
still exists after the natural selection process. The selection rate is set to 50%. The
relation between the existing chromosomes (Pkeep) and the number of population (P) is
shown in (3).
Pkeep = X rate P
(3)
Then, the numbers of the empty space or the disappearing chromosomes are shown
in (4).
Pdisappear = P Pkeep
(4)
Half of the population will disappear and will be replaced by new offspring. The disappeared chromosomes (Pdisappear) are chromosomes that have low cost values. In each
generation, GAs operator: crossover and mutation are applied to produce new offspring. By applying the GAs operator, the fitness of the chromosomes can be increased. Crossover is a process matching of some nodes in one chromosome to
another chromosome. The results of the crossover process are two new offspring. In
this paper, the crossover process is based on a partially matched crossover (PMX) that
was introduced by Lazzerini et.al with more advancement called MPMX [10]. Parents
are taken from the existing chromosome (Pkeep). The pair of parents are randomly
selected from the existing chromosomes (Pkeep). Then, three numbers are randomly
selected. Let a, b, and l represent the starting nodes for the first and the second
chromosomes, and the length of the matching portion, respectively. For example: the
chromosomes are SA and SB, l = 4, a = 3, b = 7, n = 10.
a
SA
SB
CA
CB
Then, the offspring (CA and CB) will fill the empty space in the population, replacing
the disappearing chromosome (Pdisappear). A mutation operator is necessary to increase
possibilities for getting better offspring. Mutation is held by modifying the chromosomes individually. The nodes are selected randomly. If generation has reached the
cost function threshold, the generation should be stopped. The most optimal sequence
for A/D task will be suggested to the operator. It is worth remarking that the optimal
sequence is conducted based on the first part recognition algorithm chosen by the
operator.
When provided with sufficient information, the system will generate the guidance
path for the operator, which will guide the operator for the best part sequence of the
maintenance task. In order to sense the guidance force, artificial and natural constraints are applied to the operator through the path. The fundamental idea of using
the force field is that each object in virtual environment is surrounded by repulsive
force field [7]. Since we already know the target position of our part position, the
765
force field of whole environment can be calculated to assist the operator to reach the
target position. We can prescribe the target position for aircraft parts. During the assembly task, target position will be the best position for each part in Cartesian coordinate related to the geometry constraint of the assembled parts. In disassembly task,
target position is safe place (position) in Cartesian coordinate where we will put the
part for the final position. The force applied for the guidance is a summation between
the artificial and natural constraint. The following relation summarizes the force implementation [6] :
(5)
The constraint along the plane x and z is used to guide the object to reach the prescribed target position, whereas the natural constraint is the constraint that naturally
comes from the object. After one part has reached the target position, another guidance path for another part will be suggested to the operator. This process repeated
until all part reaches their target positions. The sequence of task based on the results
of the optimal sequence generation.
Available Gripper
G1,G2,G3
G2,G3,G4
G1,G3,G4
G3,G4,G5
G3,G4
G5
G1,G2,G3
G2,G3,G4,G5
G1,G2,G3,G4
G5
Initial population consisted of 100 individuals. The number of generation was limited to 50 generation. In every generation, maximum and average cost value was
calculated. Below are the maximal cost value after 100 trial attempting. In every generation, maximum and average cost value was increased (Fig. 3) This indicate that
766
solution is getting better from generation to generation. The final solution suggested
for disassembly sequence are 10-8-6-2-5-9-1-4-7-3. Because the cost function did not
involve a number of feasible sub-sequence and feasible sub-sequence modules, so
there is a non-feasible sub-sequence in suggested solution.
5 Conclusion
In this paper, we have suggested the framework of the intelligent assembly/disassembly system for aircraft parts maintenance task. The algorithm and components of the system which deal with the complexity of the sequence selection by an
optimalized method have been described in this paper. Some results have been
showed refer to the selection of optimal sequence. In future works, sub-sequence
module will be involved in the calculation of cost value to avoid non feasible subsequence appear in sequence solution. Furthermore, a novel algorithm and strategy in
the haptic utilization has been developed.. In other words, this system could be a prototype of an efficient system for the purpose of aircraft part maintenance tasks. Since
this is an ongoing research, further developments and inputs are desired to increase
the effectiveness of the system.
767
Acknowledgement
This work was supported by the Korea Research Foundation Grant funded
by the Korean Government (MOEHRD) (KRF-2005-005-J09902) and was supported
by NURI Project.
References
[1] http://www.sensable.com/. 4:23 pm. 26/12/2006
[2] Diego Borro, Joan Savall, Aiert Amundarain, Jorge Juan Gil, Alejandro Garcia-Alonso,
Luis Matey, A Large Haptic Device for Aircraft Engine Maintainability, IEEE Computer Graphics and Applications, vol. 24, no. 6, pp. 70-74, Nov/Dec 2004.
[3] Joan Savall, Diego Borro, Jorge Juan Gil, Luis Matey, Description of a Haptic System
for Virtual Maintainability in Aeronautics, IEEE International Conference on Intelligent
Robots and Systems, Laussane, Switzerland, October 2002.
[4] Alex B. Kuang, Shahram Payandeh, Bin Zheng, Frank Henigman, Christine L.
MacKenzie, "Assembling Virtual Fixtures for Guidance in Training Environments," haptics, pp. 367-374, 12th International Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems (HAPTICS'04), 2004.
[5] L. M. Galantucci; G. Percoco & R. Spina, Assembly and Disassembly Planning by using Fuzzy Logic & Genetic Algorithms, International Journal of Advanced Robotic Systems, volume 1 Number , 2004
[6] Daniel Galeano and Shahram Payandeh, Artificial and Natural Force Constraints in
Haptic-aided Path Planning, IEEE International Workshop on Haptic Audio Visual Environments and their Applications, Ottawa, Canada, 1-2 October 2005
[7] Dongbo Xiao and Roger Hubbold. Navigation Guided by Artificial Force Fields, Proceedings of ACM CHI 98 Conference on Human Factors in Computing Systems, vol. 1,
pp 179-186. ACM SIGCHI, Addison Wesley, April 1998
[8] Open Inventor 6, Mercury Computer System, 2006
[9] Randy L. Haupt and Sue Ellen Haupt, Practical Genetic Algorithms 2nd Edition, John
Willey and Sons, USA, 2004
[10] Lazzerini B., Marcelloni F., A Genetic Algorithm for generating Optimal Assembly
Plans, Artificial Intelligence in Engineering, Vol. 14, pp. 319-329, 2000
Abstract. As Virtual Reality pushes the boundaries of the human computer interface new ways of interaction are emerging. One such technology is the integration of haptic interfaces (force-feedback devices) into
virtual environments. This modality oers an improved sense of immersion to that achieved when relying only on audio and visual modalities.
The paper introduces some of the technical obstacles such as latency and
network trac that need to be overcome for maintaining a high degree
of immersion during haptic tasks. The paper describes the advantages
of integrating haptic feedback into systems, and presents some of the
technical issues inherent in a networked haptic virtual environment. A
generic control interface has been developed to seamlessly mesh with existing networked VR development libraries.
Keywords: Virtual Reality, Force Feedback.
Introduction
The real power of VR technology is that it allows people to expand their perception of the real-world in ways that were previously impossible[1]. Changes
to virtual objects and their interrelationships can be eected with ease, which is
often not feasible with real objects. Through VR market researchers are now able
to generate precisely the same stimulus conditions for all participants and are
able to modify certain environment variables in real-time thus allowing them
to have more control over the experimental settings. Our study is centred on
exploring shoppers habits for market research with regards to how they move
about in their search for desired items within the shopping centre. Based on
these results market researches can provide the relevent foundation for developing eective marketing strategy and advertising campaigns to boost sales. A
random sample of people categorised by age was selected and were interviewed
about their experience regarding the eciency, ease of use and degree of realism
to the physical world that the application had. Analysis of the collected data
showed that respondents not only experienced diculty to navigate in the 3D
environment using the wand but also in its use to actually get hold of certain
objects by pressing buttons. It was then decided to develop a more natural and
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 768775, 2007.
c Springer-Verlag Berlin Heidelberg 2007
769
intuitive mode of interaction and navigation to better suit the users in such an
environment.
Input devices such as computer keyboards, mice and joysticks can convey the
users commands to the computer but are unable to provide a natural sense of
touch and feel to the user. It is crucial to understand the nature of touch interaction, since we react to our surroundings based on what and how we perceive
things [2]. The users sensorial experience in a virtual environment is a fusion of
information received through his perception channels. The results obtained from
previous studies have made it possible to quantify the eectiveness of using haptics to provide a greater sense of presence and immersion. Based on these ndings
[3][4][5][6] there is great potential to improve VR applications. The additional information from haptic feedback makes certain tasks such as manipulation much
easier compared to that of the traditional computer interface [7]. In an eort
to bring in more realistic and intuitive experiences in the virtual environment
created, a haptic trolley and an instrumented glove were incorporated with the
VE. The study consists of augmenting an immersive graphic display (CAVE like
system[8]) with a haptic interface.
The integrated system is multi-frequency since the haptic loop and the display/rendering loop require dierent update rates. The haptic loop should be
maintained with an update rate of 1KHz to avoid force artifacts and because
humans can detect discrete events at less than this rate. The display loop should
be updated at 30Hz(minimum) to produce stable images and since the human
visual system has a icker frequency around 30-60Hz. An eective integrated
system of haptics and graphics should ensure the eectiveness of each modality. The users experience and sense of immersion would be enhanced and would
complement the visual display only if both the haptic and the visual feedback
are consistent with each other. Evidence show that latency is a limiting factor
in shared haptic environments [9]. Latency creates a lag from when collision is
detected and when a force is applied to the display device. The latency experienced for local systems is very small(instantaneous) however, for systems that
are distributed across a network the lag experienced could generate instability
during haptic rendering. A generic control interface has been developed at Reading University which forwards the relevant device information over the network
to both the haptic and rendering loop. The latency felt is minimal as we are
integrating the haptic display on a local system.
In section 2 of this paper, we give an overview of the software architecture
implemented as well as the networking protocol used and how its implementation
has been utilised in real-time. Section 3, presents the current feedback device
operations developed. Finally the future work is outlined in section 4.
Software Architecture
Haptic simulations involve a human operator, a force reecting device and a virtual environment. Haptic is a term derived from the Greek haptesthai which
means to come in contact with by providing the sense of touch with both tactile
770
771
rendering subsystem displays the necessary scenes onto the display system and
this is usually run at rates of up to 80Hz. For this work the VieGen framework
as described in [11] was used for control and rendering of the scene.
2.1
Since the transmission speed would have a direct bearing on the update rate of
the simulation engine the solution chosen was a trade-o to provide maximum
exibility and high throughput at the expense of the implementation being unreliable. Currently the User Datagram protocol (UDP) transport protocol is used
to route data packets over the network. However based on the fact that the
network currently being used is a close coupled controlled network, reliability
due to lost packets is not be an issue. Error recovery for lost packets has been
inbuilt in the system. The interface is written in C programming language and
uses the stream socket or connected datagram socket for sending and receiving
data across the network.
2.2
The proposed design is a client/server architecture. The real-time implementation is done over a LAN and consists of 3 components namely the client, the
server and the generic control interface. The server component : is responsible
for receiving packets from the force reecting/haptic device through the xPC
TargetBox. The server is then responsible for forwarding the relevant information over the network. A generic control interface deals with this information
by writing and storing it into shared memory on each system. The following
owchart Figure 2. depicts the current workings of the server application. This
application unpacks the packets received, which consists of data for both the
instrumented glove and the mobile platform. Once the data is unpacked the information is stored in the relevant structure in shared memory. Calls are made
to the underlying methods in the generic control interface to write to shared
memory. Error checks have been implemented to verify whether memory has
been initialised. If not, a memory segment is initialised and allocated to accommodate the information for both the instrumented glove and the mobile platform
data structures. Since the packets sent over the network are updated at a high
frequency writing to shared memory should be synchronised to be able to update the information at the same rate. The client component : is responsible for
retrieving the relevant information from memory and using it to render scenes
in the Virtual environment. The update/refresh rate can be set according to the
application requirement. The server component receives data from the haptic
interface via the network whilst the client interface sends the force values back
to the haptic interface. Both Client/Server components run on the same host.
As mentioned previously the motion and position of the haptic trolley is coupled to a virtual trolley object in the virtual environment. The virtual object
should experience the same forces and movement as experienced by the physical
device. Hence to provide a realistic experience to end-users the scene rendered
772
should portray the changes in real-time and this is achieved by enabling a high
refresh/update rate. The interface was tested and produced successful results as
to providing a realistic enhanced experience to the end-user. Since the current
network implementation was based on the User Datagram protocol less overhead
and network lag was experienced. We are currently experiencing a round trip
time of 1ms for every packet being sent whilst the grounded trolley is being used
as a navigational tool. The owchart in Figure 2. depicts the current workings
of the client application.
2.3
Application Development
The shopping application was developed to allow users in the ReaCTor to shop
in the virtual environment by interacting with 3D models of dierent products
and brands. A more intuitive mode of navigation was provided by integrating the
trolley during user trials. The application implemented made use of the VieGen
framework as described in [10]. VieGen provides several libraries of tools and
utilities that are useful in the development of Virtual Interactive Environments.
The elements making up the framework consists of the interface to the display
hardware, a networking subsystem, scene management, environment simulation
and accompanying utilities, all of which can be used or left out as depending on
773
the requirements. The CAVE Scene Manager component (CSM) oers a generic
abstraction layer to the underlying VR hardware and this allows the same application to be compiled for a variety dierent systems. At run-time a conguration
le is then used to stipulate the required system set-up and mode of operation
and by using this approach, it was possible to use the VieGen framework to run
on dierent display systems. Ranging from mono desktop systems through Powerwalls and through to immersive CAVE like systems. With such an application,
it not only implies application interoperability throughout the entire range of
hardware systems, but it also lends itself to application development and testing
without the excessive tying up of the essential immersive system resources.
The networking subsystem consists of two layers. While the low level layer provides a consistent, low latency infrastructure for buering messages to and from
multiple remote locations, the higher level layer [9] builds on top of this to provide a hierarchical topology for Distributed Virtual Environments (DVEs). This
topology assumes that the environment is split into domains and controls the
individual users in these domains. One of the users is dynamically and transparently allocated (designated) as the Domain Server, and is consequently used by
the topology to handle connections between the remaining clients. Later these
connections are used to relay information such as position, action events or
user-dened messages. The modules for simulation are run concurrently with
the networking subsystem. This operation forms the basis for establishing an
environment as a domain, and allows its population by a number of computer
generated users. It is then possible for these pseudo-users to perform actions
within the environment to collect statistical data, perform tests and statistical
analysis.
Device Operations
774
the traditional joystick and permits the user to navigate within the virtual environment. It could mimic several devices ranging from a bicycle to a trolley or
hang glider. Information on the device sate, the force applied, the displacement
forward or backwards and the angle of rotation can be retrieved. Figure 3 shows
the trolley being used as a navigational tool in the shopping environment.
Our generic control interface has been successfully developed and permits both
the tactile and force feedback devices to integrate with our immersive system,
and is being used in ongoing application development. The current work in
progress involves making the generic interface a platform independent portable
interface. The generic control interface provides a exible method of developing
libraries that acts as an interface between dierent input devices and existing
CVEs.
Based on the requirements for stability and delity a very high update rate
has been used in our current implementation. However to minimise transmission
requirements updates need only be made when there is a change in state. Our
future work will concentrate in implementing such an architecture to enable an
improved local interaction and to nd the eects on the degree of immersion
and haptic feedback of the system. The magnitude of inconsistencies between
states of the local copies of the VE will be evaluated to verify the network delay
and the amount of packet loss. Renement of current haptic device operations
and incorporating an increased number of vibrotactile stimulators onto each
nger of the glove would also be considered. This would enhance and provide
more functionality to the instrumented glove would enable a realistic mode of
interaction in VEs.
The current implementation considers the integration of haptic information to
augment visual displays on a local system. The latency experienced is minimal
in such a situation. However the work will be extended to provide a haptically
775
mediated collaborative virtual environment. This would be challenging considering that the users would be graphically distributed and various problems such
as network delay and latency would be introduced.
References
1. J.L. Mohler, Desktop Virtual Reality for the Enhancement of Visualization Skills.
Journal of Educational Multimedia and Hypermedia,(2000) 151-165.
2. M.A. Srinivasan and C. Basdogan, Haptics in Virtual Environments: Taxonomy,
Research Status, and Challenges, Computers and Graphics, Special Issue on Haptic Displays in Virtual Environments, Vol. 21, No. 4, (1997)
3. Burdea, G.C. Haptics issues in virtual environments. In Computer Graphics International,Proceedings. (2000)
4. F. P. Brooks, M. Ouh-Young, J. J. Batter, and P. J. Kilpatrick. Project GROPE
Haptic Displays for Scientic Visualization. In Proc. ACM SIGGRAPH, Dallas,
TX, Aug (1990) 177185
5. Michael Dinsmore, Noshir Langrana, Grigore Burdea, Jumoke Ladeji. Virtual
Reality Training Simulation for Palpation of Subsurface Tumors, vrais, Virtual
Reality Annual International Symposium, (1997) 54
6. Burdea, G., G. Patounakis, V. Popescu, & R. E. Weiss. Virtual Reality Training
for the Diagnosis of Prostate Cancer. In IEEE International Symposium on Virtual
Reality and Applications, Atlanta, Georgia, March (1998) 190-197
7. Andrew G. Fischer, Judy M. Vance, Implementing Haptic Feedback in a Projection Screen Virtual Environment, Seventh PHANToM Users Group Workshop,
October (2002) 26-29
8. Cruz-Neira, C.,Sandin, S.J.,DeFanti, T.A., Kenyon, R.V., and Hart, J.C. The
CAVE: Audio visual experience automatic virtual environment. Communications
of the ACM 35 (1992) 64-72
9. Ottensmeyer MP, Hu J, Thompson JM, Ren J, and Sheridan TB Investigations into
performance of minimally invasive telesurgery with feedback time delays. Presence
9 (4), (Aug 2000) 369-382.
10. M. Mokhtari, F. Bernier, F. Lemieux, H. Martel, J.M. Schwartz, D. Laurendeau
and A. Branzan-Albu. Virtual Environment and Sensori-Motor Activities: Haptic,
Audition and Olfaction. WSCG POSTERS proceedings Plzen, Czech Republic.,
Vol.12, No.1-3, February, (2004) 2-6
11. Haegee, A., Jamieson, R., Anthes, C., Alexandrov, V. Tools for Collaborative
VR Application Development. In: International Conference on Computational
Science, Springer Verlag (2005) 350358
Physically-Based Interaction
for
Networked Virtual Environments
Christoph Anthes, Roland Landertshamer, and Jens Volkert
GUP, Institute of Graphics and Parallel Processing
Johannes Kepler University, Altenbergerstrasse 69, A-4040 Linz, Austria
canthes@gup.uni-linz.ac.at
Abstract. Physics engines are gaining importance in the area of computer games to create better visual experiences. In the context of networked Virtual Reality (VR) applications they can be useful to provide
new interaction possibilities. This paper will provide an introduction into
the area of physics simulation and the use of it to create more realistic
and interactive multi-user virtual worlds. Examples for the usefulness of
such physics engines can be found in a variety of training applications.
Introduction
In the past years Virtual Reality (VR) has become a useful tool for a variety
of application areas. Networked Virtual Environments (NVEs) allow dislocated
users from all over the globe to communicate and interact in a shared virtual
space.
If we take a look at safety training applications like the SAVE project [1,2]
where the user has to react on hazardous incidents in a petroleum renery or the
VETT project, which provides shipboard reghting training [3] we discover that
most of them are single user applications or work with two users a trainer and a
single trainee, where only the trainee enters the VE and gets instructions from
the trainer. In the real world safety training is typically performed in teams,
as hazardous incidents are fought by teams. Due to that reason it is obvious
that safety training VR applications would prot from multi-user interaction
and collaboration.
Another issue which arises is the delity of interaction. Users are typically
interacting with a Virtual Hand interaction technique. If the representation of
the users cursor collides with an entity in the VE interaction can be performed.
The level of interaction is normally reduced to clicking on the entity which can
for example result in the triggering of an event. This is sucient to train basic
procedures during incidents. To maximise the training in such environments
physics engines should be incorporated to allow for a more realistic behaviour of
the VE, where the user has to perform the movement of the object manipulation
like he would in the real world. This could be throwing a lever, or pushing down
a virtual door handle in order to pull the door open afterwards.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 776783, 2007.
c Springer-Verlag Berlin Heidelberg 2007
777
The inVRs framework1 is designed to ease the creation of NVEs. Its physics
module is used to implement realistic interaction possibilities with the environment. Joints for example can interconnect nodes of the scene graph and allow
for a simple scene description. Gravity and collision detection become important
during manipulation and placement tasks. This makes inVRs an ideal candidate
to create NVEs for safety training.
This Section has given a brief introduction on the use of physics in training
environments. The next Section will provide an overview on the related work. In
the following the use of physics will be described in the context of the framework.
Network communication for the physically based interaction will be introduced
and some example setups will be given. The nal Section concludes the paper
and gives an outlook of future developments.
Related Work
Problem domain and related work of this paper are distributed over three different areas, physics, network communication and interaction.
A detailed overview on the design of a 3D rigid body physics engine for games
is given by David H. Eberly [4]. He describes in detail the mathematical and
physical background while Bara focuses in his thesis [5] on how physical constraints can be transformed in to mathematical problems and how they can be
solved.
The commonly available NVEs like DIVE [6], AVOCADO [7] or MASSIVE
[8], do not support the use of physics engines due to several reasons. Simulating
physics in none client-server topologies is very cumbersome. In a peer-to-peer
(p2p) topology one client would have to be selected to perform the role of a
server, to guarantee a consistent state of the VE. Most of the existing VR systems incorporate p2p topologies or hybrid approaches, to achieve a high responsiveness and scalability. Another issue which constraints the use of physics is
the computational intensity of such simulations. A good overview on NVEs in
general is given by Singhal and Zyda in [9].
A variety of interaction techniques for VEs has been described by Mine. [10].
The psychological aspects of collaborative object manipulation have been researched on many levels by Roberts et al. [11].On the technical level Broll gives
ideas on how to solve concurrent object manipulation [12].
Jorisson and Lamotte combine the use of physics engines and the VR to
create a platform for collaborative VEs where objects contain the interaction
information and behaviour [13]. Their networking topology uses a classic client
server approach, where one server is responsible for the physics update of the
whole VE.
Early approaches in scene graphs like VRML and Inventor use sensors to
constrain object movement. The use of joints provides similar functionality but
provides additional features like the swinging of a door.
1
Pronounced In"v3:s.
778
Framework Architecture
The inVRs framework consists of modules for navigation, interaction and network communication. These modules are interconnected via a system core, which
provides databases to store information about the VE and the users inside the
VE as well managers for communication handling between the modules and the
databases. A brief overview on the architecture is given by Anthes and Volkert
[14]. inVRs provides the possibility to concurrently manipulate the same geometry as the same time by two dislocated users. It supports this collaboration in
many ways including the use of an additional physics module.
One of the important aspects of the framework is the distinction between discrete events which are distributed via the event manager and continuous streams
of transformation data which is handled by the transformation manager. A detailed description of the transformation and event handling can be found in [15].
The physics module makes use of these two managers, to generate for example
collision events or change the transformations of the objects in the NVE.
Physics Module
779
also be used to restrict the motion of a single object. The possibilities of motion
restriction cover the free rotation around a point, the rotation around an axis,
the movement along an axis or any combination of this constraints. Each joint
can again be restricted in its movement range. This allows to dene a rotation
to a maximum angle or the movement to a maximum distance.
The physics module of the inVRs framework uses a physics engine to allow
constrained interaction with virtual objects. It therefore allows to connect virtual
objects via joints. XML is used to dene the properties of the joints and to
interconnect nodes of the scene graph. Since each entity in the VE has a unique
id, which is stored in a database of the framework it is possible to interconnect
entities based on their ids. The physics module allows to dene thresholds for
each joint to execute events when these thresholds are exceeded. The possible
types of thresholds depend on the types of the joint. Examples are a rotation
angle around the joint axis or a distance from the untransformed position. The
events that should be executed can be dened in the cong le. For each joint
the user can set activation conditions which describe when the joint should be
active and when not. An inactive joint is seen as a xed connection between
two objects. The physics module of the inVRs framework allows to activate
or deactivate a joint when a user interacts with an entity, when other joints are
active or not, when a joint exceeds a dened angle or a joint exceeds a predened
distance. An example for this conditions can be found in the Section 6.
Network Communication
780
Once the object is released a reliable message is sent which stores data about
the exact position where the object is dropped with an additional timestamp.
The remote clients interpolate the position and orientation of the object between
current transformation at the time they received the message to the transformation in the time in the past which is stated in the timestamp of the release
message. The duration of this interpolation can be set in system setting of the
framework.
Using this type of synchronisation, object manipulation can be performed
locally without the need of additional transformations for each simulated object.
By using reliable release messages and transforming the object to a nal position
the NVE is brought back into a consistent state.
Example Setups
A Door in the VE
In this example the scene graph for the door consists of three interconnected
nodes. The frame, the actual door and a door handle. The the door is attached
to the frame with a hinge joint on the z-axis. The rotation around the frame is
restricted to +/- 90 degrees. Additionally a threshold area of an angle of 1 degree
is dened in which the door is considered closed. If no user is interaction with the
door and it is in that threshold area it will be rotated to its idle state and will
be deactivated. The handle is as well attached to the door with a hinge joint. It
rotational freedom is limited 45 degrees around the y-axis. Thresholds measure
when it is rotated more than 25 degrees. In this case the joint between the frame
and the door is activated and the door can be rotated. Figure 1 illustrates the
setup of such a door while Listing 1.1 shows the XML denition of the example
joint setup.
In the initial state frame, door and handle are in passive mode. None of these
joints are simulated by the physics module at this stage. The user can grab
the handle, if this action has taken place, the joint between handle and door is
activated and simulated by the physics module. Once the user has rotated the
handle over the threshold, the joint between the door and the frame become
active. The whole door is now simulated in the physics module. since the axes
of the two joints are independent no problems can arise during the calculation
of the position of the door and its parts, it is always unique.
Using these joints for interaction does not only provide easy mechanisms to
create functional elements in a VE. Furthermore it give the VE a very realistic
781
feeling, when the user has the possibility to swing doors. It still has to be proven,
that by actually pulling down a door handle and pulling the door open the user
is trained in a better way than he is by simply clicking on the object.
782
6.2
Natural Interaction
This paper has given an introduction on the use of physics simulation for interaction in NVEs. A physics module for the the inVRs framework allows to
dene joints for interconnection of scene graph nodes. These nodes can be used
for highly interactive NVEs. Three types of interaction have demonstrated the
use of physics simulation for VEs, especially training scenarios.
Advanced methods for synchronsiation of physics have to be found. A similar
approach than synchronising particle systems on multiple displays might be used.
The distribution of random seeds for some aspects of the physics calculation
might help to simulate parts of the VE locally.
783
References
1. Haller, M., Holm, R., Volkert, J., Wagner, R.: A vr based safety training in a petroleum renery. In: Annual Conference of the European Association for Computer
Graphics (EUROGRAPHICS 99). (1999)
2. Haller, M., Kurka, G., Volkert, J., Wagner, R.: omvr - a safety training system for
a virtual renery. In: ISMCR 99, Tokyo, Japan (1999)
3. Tate, D.L., Sibert, L., King, T.: Virtual environments for shipboard reghting
training. In: IEEE Virtual Reality Annual International Symposium (VRAIS 97),
Albuquerque, NM, USA, IEEE Computer Society (1997) 6168
4. Eberly, D.H.: Game Physics. The Morgan Kaufmann Series in Interactive 3D
Technology. Morgan Kaufmann (2004)
5. Bara, D.: Dynamic Simulation of Non-Penetrating Rigid Bodies. PhD thesis,
Department of Computer Science, Cornell University, Ithaca, NY 14853-7501, USA
(1992)
6. Carlsson, C., Hagsand, O.: Dive - a multi-user virtual reality system. In: IEEE
Virtual Reality Annual International Symposium (VRAIS 93), Seattle, WA, USA,
IEEE Computer Society (1993) 394400
7. Tramberend, H.: Avocado: A Distributed Virtual Environment Framework. PhD
thesis, Technische Fakult
at, Universit
at Bielefeld (2003)
8. Greenhalgh, C., Benford, S.: Massive: A distributed virtual reality system incorporating spatial trading. In: IEEE International Conference on Distributed Computing Systems (DCS 95), Vancouver, Canada, IEEE Computer Society (1995)
2734
9. Singhal, S.K., Zyda, M.J.: Networked Virtual Environments - Design and Implementation. Addison-Wesley Professional (1999)
10. Mine, M.R.: Virtual environment interaction techniques. Tr95-018, University of
North Carolina, Chapel Hill, NC 27599-3175 (1995)
11. Roberts, D.J., Wol, R., Otto, O., Steed, A.: Constructing a gazebo: Supporting teamwork in a tightly coupled, distributedtask in virtual reality. Presence:
Teleoperators and Virtual Environments 12 (2003) 644657
12. Broll, W.: Interacting in distributed collaborative virtual environments. In: IEEE
Virtual Reality Annual International Symposium (VRAIS 95), Los Alamitos, CA,
USA, IEEE Computer Society (1995) 148155
13. Jorissen, P., Lamotte, W.: Dynamic physical interaction platform for collaborative
virtual environments. In: CollabTech 2005, Tokyo, Japan (2005)
14. Anthes, C., Volkert, J.: invrs - a framework for building interactive networked virtual reality systems. In: International Conference on High Performance Computing
and Communications (HPCC 06), Munich, Germany, Springer (2006) 894904
15. Anthes, C., Landertshamer, R., Bressler, H., Volkert, J.: Managing transformations and events in networked virtual environments. In: International MultiMedia
Modeling Conference (MMM 07), Singapore, Springer (2007)
16. Fr
ohlich, B., Tramberend, H., Beers, A., Agrawala, M., Bara, D.: Physically-based
manipulation on the responsive workbench. In: IEEE Virtual Reality (VR 00),
New Brunswick, NJ, USA, IEEE Computer Society (2000) 512
Introduction
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 784791, 2007.
c Springer-Verlag Berlin Heidelberg 2007
785
user interaction techniques, since traditional OSs were not originally designed
as parallel or distributed OSs. Similarly, traditional OSs also do not dierentiate between various architectural traits, such as heterogeneous distributed or
massively parallel.
Since the emergence of concurrent networked computing, there have been two
dierent approaches to deal with these deciencies. While one approach adds
missing features to an existing networked OS using middleware that sits inbetween the OS and applications, the other approach focuses on adding missing
features to the OS by either modifying an existing networked OS or by developing
a new OS specically designed to provide needed features. Both approaches
have their advantages and disadvantages. For example, middleware is faster to
prototype due to the reliance on existing OS services, while OS development is
a complex task which needs to deal with issues that have been already solved in
existing OSs, such as hardware drivers.
Software development for high performance computing (HPC) systems is always at the forefront with regards to both approaches. The need for ecient,
scalable distributed and parallel computing environments drives the middleware
approach as well as the development of modied or new OSs. Well known HPC
middleware examples are the Parallel Virtual Machine (PVM) [1], the Message
Passing Interface (MPI) [2], the Common Component architecture (CCA) [3],
and the Grid concept [4]. Examples for modications of existing OSs for HPC
include the Beowulf Distributed Process Space (BProc) [5], cluster computing
toolkits, like OSCAR [6] and Rocks [7], as well as a number of Single System
Image (SSI) solutions, like Scyld [8] and Kerrighed [9]. Recent successes in OSs
for HPC systems are Catamount on the Cray XT3/4 [10] and the Compute Node
Kernel (CNK) on the IBM Blue Gene/L system [11].
A runtime environment (RTE) is a special middleware component that resides
within the process space of an application and enhances the core features of the
OS by providing additional abstraction (virtual machine) models and respective
programming interfaces. Examples are message passing systems, like PVM and
implementations of MPI, but also component frameworks, such as CCA, dynamic
instrumentation solutions, like Dyninst [12], as well as visualization and steering
mechanisms, such as CUMULVS [13].
This paper examines a recent trend in HPC system architectures toward
lean compute node solutions and its impact on the middleware approach.
It describes this trend in more detail with regards to changes in HPC hardware
and software architectures and discusses the resulting paradigm shift in software
architectures for middleware in modern HPC systems.
The emergence of cluster computing in the late 90s made scientic computing
not only aordable to everyone using commercial o-the-shelf (COTS) hardware, it also introduced the Beowulf cluster system architecture [14,15] (Fig. 1)
with its single head node controlling a set of dedicated compute nodes. In this
786
Compute
Node
Compute
Node
Compute
Node
Compute
Node
...
Users,
I/O &
Storage
Compute
Node
Compute
Node
Compute
Node
...
Compute
Node
Users
I/O
Node
...
I/O
Node
Service
Node
...
Service
Node
787
Compute
Node
Compute
Node
Compute
Node
...
Compute
Node
Users
I/O
Node
...
I/O
Node
Service
Node
...
Service
Node
Fig. 3. Generic Modern HPC System Architecture with Compute Node Partitions
(a) Fat
(b) Lean
Fig. 4. Traditional Fat vs. Modern Lean Compute Node Software Architecture
788
PEs and provide direct I/O connectivity. Each processor is directly connected to
the interconnect via its Cray SeaStar2TM routing and communications chip over
a 6.4 GB/s HyperTransportTM path. The router in the Cray SeaStar2TM chip provides six high bandwidth, low latency network links to connect to six neighbors
in the 3D torus topology. The Cray XT4 hardware and software architecture is
designed to scale steadily from 200 to 120,000 processor cores.
The Cray XT4 system architecture with its lean compute nodes is not an
isolated case. For example, the IBM Blue Gene/L solution also uses a lightweight
compute node OS in conjunction with service nodes. In fact, the CNK on the
IBM Blue Gene/L forwards most supported POSIX system calls to the service
node for execution using a lightweight remote procedure call (RPC).
System software solutions for modern HPC architectures, as exemplied by
the Cray XT4, need to deal with certain architectural limitations. For example,
the compute node OS of the Cray XT4, Catamount, is a non-POSIX lightweight
OS, i.e., it does not provide multiprocessing, sockets, and other POSIX features.
Furthermore, compute nodes do not have direct attached storage (DAS), instead
they access networked le system solutions via I/O service nodes.
The role and architecture of middleware services and runtime environments
in modern HPC systems needs to be revisited as compute nodes provide less
capabilities and scale up in numbers.
Traditionally, middleware solutions in HPC systems provide certain basic services, such as a message passing layer, fault tolerance support, runtime reconguration, and advanced services, like application steering mechanisms, user
interaction techniques, and scientic data management. Each middleware layer
is typically an individual piece of software that consumes system resources, such
as memory and processor time, and provides its own core mechanisms, such
as network communication protocols and plug-in management. The myriad of
developed middleware solutions has led to the yet another library and yet
another daemon phenomenons, where applications need to link many interdependent libraries and run concurrent to service daemons.
As a direct result, modern HPC system architectures employ lean compute
nodes using lightweight OSs in order to increase performance and scalability
by reducing compute node OS and middleware to the absolute necessary. Basic
and advanced middleware components are placed on compute nodes only if their
function requires it, otherwise they are moved to service nodes. In fact, middleware becomes an external application support, which compute nodes access
via the network. Furthermore, single middleware services on service nodes provide support for multiple compute nodes via the network. They still perform the
same role, but in a dierent architectural conguration. While middleware services, such as daemons, run on service nodes, RTEs continue to run on compute
nodes either partially by interacting with middleware services on service nodes or
789
completely as standalone solutions. In both cases, RTEs have to deal with existing limitations on compute nodes, such as missing dynamic library support.
While each existing HPC middleware solution needs to be evaluated regarding its original primary purpose and software architecture before porting it to
modern HPC system architectures, new middleware research and development
eorts need to take into account the described modern HPC system architecture
features and resulting HPC middleware design requirements.
Discussion
The described recent trend in HPC system architectures toward lean compute
node solutions signicantly impacts HPC middleware solutions. The deployment
of lightweight OSs on compute nodes leads to a paradigm shift in HPC middleware design, where individual middleware software components are moved from
compute nodes to service nodes depending on their runtime impact and requirements. The traditional interaction between middleware components on compute
nodes is replaced by interaction between lightweight middleware components on
compute nodes with middleware services on service nodes.
Functionality. Due to this paradigm shift, the software architecture of modern
HPC middleware needs to be adapted to a service node model, where middleware
services running on a service node provide essential functionality to middleware
clients on compute nodes. In partitioned systems, middleware services running
on a partition service node provide essential functionality to middleware clients
on compute nodes belonging to their partition only. Use case scenarios that
require middleware clients on compute nodes to collaborate across partitions are
delegated to their respective partition service nodes.
Performance and Scalability. The service node model for middleware has
several performance, scalability, and reliability implications. Due to the need of
middleware clients on compute nodes to communicate with middleware services
on service nodes, many middleware use case scenarios incur a certain latency and
bandwidth penalty. Furthermore, central middleware services on service nodes
represent a bottleneck as well as a single point of failure and control.
Reliability. In fact, the service node model for middleware is similar to the Beowulf cluster architecture, where a single head node controls a set of dedicated
compute nodes. Similarly, middleware service ooad, load balancing, and replication techniques may be used to alleviate performance and scalability issues
and to eliminate single points of failure and control.
Slimming Down. The most intriguing aspect of modern HPC architectures is
the deployment of lightweight OSs on compute nodes and resulting limitations
for middleware solutions. While the native communication system of the compute node OS can be used to perform RPC calls to service nodes in order to
interact with middleware services, certain missing features, such as the absence
of dynamic linking, are rather hard to replace.
790
Conclusion
This paper describes a recent trend in modern HPC system architectures toward
lean compute node solutions, which aim at improving overall system performance
and scalability by keeping the compute node software stack small and simple. We
examined the impact of this trend on HPC middleware solutions and discussed
the resulting paradigm shift in software architectures for middleware in modern
HPC systems. We described the service node model for modern HPC middleware
and discussed its software architecture, use cases, performance impact, scalability
implications, and reliability issues.
With this paper, we also try to engage the broader middleware research and
development community beyond those who are already involved in porting and
developing middleware solutions for modern HPC architectures. Based on many
conversations with researchers, professors, and students, we realize that not many
people in the parallel and distributed system research community are aware of
this trend in modern HPC system architectures.
It is our hope that this paper provides a starting point for a wider discussion
on the role and architecture of middleware services and runtime environments
in modern HPC systems.
References
1. Geist, G.A., Beguelin, A., Dongarra, J.J., Jiang, W., Manchek, R., Sunderam,
V.S.: PVM: Parallel Virtual Machine: A Users Guide and Tutorial for Networked
Parallel Computing. MIT Press, Cambridge, MA, USA (1994)
2. Snir, M., Otto, S., Huss-Lederman, S., Walker, D., Dongarra, J.: MPI: The Complete Reference. MIT Press, Cambridge, MA, USA (1996)
3. SciDAC Center for Component Technology for Terascale Simulation Software
(CCTTSS):
High-Performance Scientic Component Research: Accomplishments and Future Directions. Available at http://www.cca-forum.org/db/news/
documentation/whitepaper05.pdf (2005)
4. Kesselman, C., Foster, I.: The Grid: Blueprint for a New Computing Infrastructure.
Morgan Kaufmann Publishers, San Francisco, CA, USA (1998)
5. Hendriks, E.: BProc: The Beowulf distributed process space. In: Proceedings of
16th ACM International Conference on Supercomputing (ICS) 2002, New York,
NY, USA (2002) 129136
791
6. Hsieh, J., Leng, T., Fang, Y.C.: OSCAR: A turnkey solution for cluster computing.
Dell Power Solutions (2001) 138140
7. Papadopoulos, P.M., Katz, M.J., Bruno, G.: NPACI Rocks: Tools and techniques
for easily deploying manageable Linux clusters. In: Proceedings of IEEE International Conference on Cluster Computing (Cluster) 2001, Newport Beach, CA,
USA (2001)
8. Becker, D., Monkman, B.: Scyld ClusterWare: An innovative architecture for
maximizing return on investment in Linux clustering. Available at http://www.
penguincomputing.com/hpcwhtppr (2006)
9. Morin, C., Lottiaux, R., Valle, G., Gallard, P., Utard, G., Badrinath, R., Rilling,
L.: Kerrighed: A single system image cluster operating system for high performance
computing. In: Lecture Notes in Computer Science: Proceedings of European Conference on Parallel Processing (Euro-Par) 2003. Volume 2790., Klagenfurt, Austria
(2003) 12911294
10. Brightwell, R., Kelly, S.M., VanDyke, J.P.: Catamount software architecture with
dual core extensions. In: Proceedings of 48th Cray User Group (CUG) Conference
2006, Lugano, Ticino, Switzerland (2006)
11. Moreira, J., Brutman, M., Castanos, J., Gooding, T., Inglett, T., Lieber, D., McCarthy, P., Mundy, M., Parker, J., Wallenfelt, B., Giampapa, M., Engelsiepen, T.,
Haskin, R.: Designing a highly-scalable operating system: The Blue Gene/L story.
In: Proceedings of International Conference on High Performance Computing, Networking, Storage and Analysis (SC) 2006, Tampa, FL, USA (2006)
12. Buck, B.R., Hollingsworth, J.K.: An API for runtime code patching. Journal of
High Performance Computing Applications (2000)
13. Kohl, J.A., Papadopoulos, P.M.: Ecient and exible fault tolerance and migration
of scientic simulations using CUMULVS. In: Proceedings of 2nd SIGMETRICS
Symposium on Parallel and Distributed Tools (SPDT) 1998, Welches, OR, USA
(1998)
14. Sterling, T.: Beowulf cluster computing with Linux. MIT Press, Cambridge, MA,
USA (2002)
15. Sterling, T., Salmon, J., Becker, D.J., Savarese, D.F.: How to Build a Beowulf:
A Guide to the Implementation and Application of PC Clusters. MIT Press,
Cambridge, MA, USA (1999)
16. Cray Inc., Seattle, WA, USA: Cray XT4 Computing Platform Documentation.
Available at http://www.cray.com/products/xt4 (2006)
17. Novell Inc.: SUSE Linux Enterprise Distribution. Available at http://www.novell.
com/linux (2006)
18. Cluster File Systems, Inc., Boulder, CO, USA: Lustre Cluster File System.
Available at http://www.lustre.org (2006)
19. Cluster File Systems, Inc., Boulder, CO, USA: Lustre Cluster File System Architecture Whitepaper. Available at http://www.lustre.org/docs/whitepaper.pdf
(2006)
1 Introduction
Collaborations are well known to better the outcome of projects in industry as in
academia. The theory is based on the availability of specialist knowledge and
workforce through different collaborators [1]. Software tools to support any form of
collaboration are widely used in scientific as well as in business applications. These
include tools to enhance communications between collaborators, like for example
Access Grid [2] or portals enabling text based exchange of information [3].
Additionally there are tools to support virtual organizations in their work tasks. These
tools have the aim to enable two or more individuals to work in distributed locations
towards one work task using one computing infrastructure. An example is the
Collaborative P-Grade portal [4] or distributed group drawing tools as described in
[5]. The P-Grade portal enables distributed users to make contributions to one
workflow at the same moment in time. Therefore users can actively change, build and
enhance the same workflow in an informed fashion using advantages of collaborative
working models. Similarly the distributed group drawing tool enables multiple users
to draw and share the drawing via networks.
In this paper, first the state of the art in usability evaluation methods will be looked
at, detailing the current methods for usability testing. Then an example of a
collaborative system will be given to provide an understanding of the terminology
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 792798, 2007.
Springer-Verlag Berlin Heidelberg 2007
793
collaborative software. The authors will argue that current methods have to be revised
under the new collaborative software paradigm. Finally the authors will introduce a
multiple screen recorder, which is currently under development. This recorder may
help to enable usability evaluation in collaborative environments and therefore enable
a revision of the current methodologies, namely observational studies, under the new
collaborative software paradigm.
794
a user send e-mails using newly developed e-mail software? However as Dumas [6]
points out the tasks to be performed should be a set of problem tasks, instead of tasks
that are seen to be rather easy. This is seen as a way of making sure that the interface
is not verified, but critically analysed.
While the user is performing the number of tasks provided, the tester would
typically ask the participant to speak aloud what he is thinking during the execution of
the task. This gives the tester an inside to the participants thoughts and problems, for
example a participant would say how do I send this e-mail now indicating that he is
looking for the send button. This method is named think aloud [14], [16]. An
extension of the think aloud is to make two people work on one interface and make
them communicate about their actions. This is seen as more natural then just to talk to
oneself [6].
A technology supported extension of usability testing is remote usability testing.
This is described to enable testing participants in their natural surroundings and with
the opportunity not to have to travel to the participants. The researchers in [16] have
described their study to involve a video conferencing system, shared whiteboard and
shared applications software on the participants side. This video conferencing
software will then enable the observer on his side to see the image of the participant
through the video conferencing system and to see the computer screen using the
shared applications software. The shared whiteboard would be used to give
instructions and tasks to the test participants.
In a more recent publication the researchers have used remote usability testing
using Microsoft NetMeeting to share the test participants screen and a software called
snag-it to capture the shared content from the observers computer screen. In this
particular case speaker phones on the participants side and a tape recorder on the
observers side was used to capture think aloud comments from the participant. The
tasks to be performed during the test were given to the user in written form via postal
mail. The major outcome of the study was that they found that remote usability testing
is as accurate as face to face testing [17].
Fig. 1. A remote usability test, using observational methods, the researcher is observing the
participant using the software via the internet and a phone network. The phone is used for think
aloud protocols and the participants screen is shared using screen sharing software.
795
Fig. 2. Example of the P-Grade Portals central server sharing a workflow. The locks can be
seen in the interfaces indicating that the nodes are not editable.
796
Fig. 3. Test computers are capturing screens and cameras and transfer the images and audio to a
recording server. From there the usability tester can playback the recorded material.
The capturing of screens has been realized using the Java media framework. The
area of the screen to be captured can be defined using x and y locations of the screen.
Therefore not all the screen has to be captured, but only the part of the screen showing
the application looked at by the researchers is captured.
Before the video is transferred, a timestamp is added, so that it is possible to
synchronize the replay of the different clients at a later stage.
The transport is organized using RTP (Real Time Protocol) from the client to the
server. Finally the video is written to disc on the server.
A researcher interested in analyzing the material gathered can then play the
material back from the server to a single client. This will then transfer the video
synchronized to one client.
797
audio is shared has to be added in the graphical user interface. These selections then
have to be fed back to the user in a smaller window on the screen to enable the user to
gain more control over the shared material. Additionally an option has to be created,
where the user can choose the size of the transferred video. This will prevent the
overload of networks and of the personal computer of the participant. The researcher
has to have the option to choose the video feeds during playback and to see the video
feeds during recording. This should enable the researcher to interfere in the test when
needed.
Second it should be possible to add a tag to the recorded material. Tagging is the
adding of information to the recorded material, which can be in text form as well as in
graphical form. This should enable scientists to describe moments in time and code
the material for further analysis. This tool is seen as important by the researchers,
given that during the analysis it will be hard to keep track of where usability problems
occur, because the attention of the researcher has to be multiplied by the number of
participants. Similar, tagging mechanisms have been used in meeting replays [20].
Finally a messenger structure to allow textual communication between the tester
and the participant has to be added. This may only be text based, however could be
voice based or even video based. However intensive testing of network overload and
other issues has to be done before.
In conclusion the researchers have shown in a prove of concept [21] that it is
technically possible to enable the recording of multiple screens and cameras on one
server. This prove of concept is now programmed in one server and multiple clients
application. This application will enable researchers to conduct observational studies
in distributed collaborative computing environments and therefore to evaluate user
interfaces.
The current methods used for such interface evaluations have been described in
this paper in great detail and the new development is described from the classical
observational study of one user to the observation of groups of users and their screens.
At this point it is taken as proved that the observation of the users via networked
screen and camera recording is possible, however tests are being conducted at present
to see how effective the new methodologies are from a human factor point of view.
References
1. Dyer, J.H., Collaborative advantage: winning through extended enterprise supplier
networks. 2000, Oxford: Oxford University Press. xii, 209.
2. AccessGrid. Access Grid: a virtual community. [Internet] 2003 [cited 2006 13 March
2003]; http://www-fp.mcs.anl.gov/fl/accessgrid/].
3. Klobas, J.E. and A. Beesley, Wikis: tools for information work and collaboration. Chandos
information professional series. 2006, Oxford: Chandos. xxi, 229 p.
4. Lewis, G.J., et al., The Collaborative P-GRADE Grid Portal. 2005.
5. Saul, G., et al., Human and technical factors of distributed group drawing tools. Interact.
Comput., 1992. 4(3): p. 364-392.
6. Dumas, J.S. and J. Redish, A practical guide to usability testing. Rev. ed. 1999, Exeter:
Intellect Books. xxii, 404.
7. Mack, R.L. and J. Nielsen, Usability inspection methods. 1994, New York; Chichester:
Wiley. xxiv, 413.
798
8. Carroll, C., et al., Involving users in the design and usability evaluation of a clinical
decision support system. Computer Methods and Programs in Biomedicine, 2002. 69(2):
p. 123.
9. Nielsen, J., Usability engineering. 1993, Boston; London: Academic Press. xiv, 358.
10. Faulkner, X., Usability engineering. 2000, Basingstoke: Macmillan. xii, 244.
11. Holzinger, A., Rapid prototyping for a virtual medical campus interface. Software, IEEE,
2004. 21(1): p. 92.
12. Bias, R., The Pluralistic Usability Wlakthrough: Coordinated Emphaties, in Usability
Inspection Methods, J. Nielsen and R.L. Mack, Editors. 1994, Wiley & Sons, Inc: New
York.
13. Urmetzer, F., M. Baker, and V. Alexandrov. Research Methods for Eliciting e-Research
User Requirements. in Proceedings of the UK e-Science All Hands Meeting 2006. 2006.
Nottingham UK: National e-Science Centre.
14. Thompson, K.E., E.P. Rozanski, and A.R. Haake. Here, there, anywhere: remote usability
testing that works. in Proceedings of the 5th conference on Information technology
education table of contents. 2004. Salt Lake City, UT, USA: ACM Press, New York, NY,
USA.
15. Monty, H., W. Paul, and N. Nandini, Remote usability testing. interactions, 1994. 1(3): p.
21-25.
16. Thompson, K.E., E.P. Rozanski, and A.R. Haake, Here, there, anywhere: remote usability
testing that works, in Proceedings of the 5th conference on Information technology
education. 2004, ACM Press: Salt Lake City, UT, USA.
17. Dieberger, A. and M. Guzdial, CoWeb - Experiences with Collaborative Web Spaces, in
From Usenet to CoWebs: interacting with social information spaces, C. Lueg and D.
Fisher, Editors. 2003, Springer: London. p. x, 262 p.
18. Foster, I., C. Kesselman, and S. Tuecke, The Anatomy of the Grid: Enabling Scalable
Virtual Organizations. International Journal on Supercomputing Applications, 2001. 15(3).
19. Buckingham Shum, S., et al. Memetic: From Meeting Memory to Virtual Ethnography &
Distributed Video Analysis. in Proc. 2 nd International Conference on e-Social Science.
2006. Manchester, UK: www.memetic-vre.net/publications/ICeSS2006_Memetic.pdf.
20. Urmetzer, F., et al. Testing Grid Software: The development of a distributed screen
recorder to enable front end and usability testing. in CHEP 06. 2006. India, Mumbai.
1 Introduction
Any experienced teacher knows that without the proper motivation for students to engage in
a learning experience, the otherwise best designed experiences will be unsuccessful. Dick
and Carey [8] state: Many instructors consider the motivation level of learners the most
important factor in successful instruction. Motivation is not only important because it is a
necessary causal factor of learning, but because it mediates learning and is a consequence of
learning as well [20]. In other words, students who are motivated to learn will have greater
success than those who are not. Participatory Simulation aims for students having rich
conceptual resources for reasoning abut and thoughtfully acting in playful and motivational
spaces, and thus can more easily become highly engaged in the subject matter [11]. It uses
the availability of mobile computing devices to give each student the capability of simple
data exchanges among neighboring devices [19], [4]. They enable students to act as agents in
simulations in which overall patterns emerge from local decisions and information
exchanges. Such simulations enable students to model and learn about several types of
phenomena, [4] including those related to economics [4], [9].
Some research groups have implemented collaborative learning participatory simulations
with handhelds and infrared beaming [16], and it has been found that this kind of activities
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 799807, 2007.
Springer-Verlag Berlin Heidelberg 2007
800
G. Zurita et al.
provide various advantages for teaching and learning: (a) they introduce an effective
instructional tool and have the potential to impact student learning positively across
curricular topics and instructional activities [18], (b) they increase the motivation [12], [4],
and (c) they generate positive effects in engagement, self-directed learning and problemsolving [12].
Although handhelds most natural data-entry mode is the stylus, most currently available
handheld applications adopt the PC application approach that uses widgets instead of
freehand-input-based paradigms (via touch screens) and/or sketching, [6].
This paper presents a tool for implementing collaborative learning participatory
simulations, having two general research goals: (a) propose a conceptual framework for
specifying and developing participative simulation applications, and (b) to determine the
feasibility of using this in undergraduate curricular contexts of the simulation activities both
in terms of intended and actualized learning outcomes; particularly in the management area.
An instance of the framework is described. Its implementation is simple, lightweight and
fully based on wirelessly interconnected handhelds with an ad-hoc network.
2 Related Work
A learning participatory simulation is a role-playing activity that helps to explain the
coherence of complex and dynamic systems. The system maps a problem of the real
world to a model with a fixed number of roles and rules. Global knowledge and
patterns emerge in Participatory Simulations from local interactions among users and
making decisions to understand the impact by an analysis and observation while
doing and/or at the end of the activity.
Researchers are highly interested in collaborative learning participatory
simulations due to these simulations appear to make very difficult ideas around
distributed systems and emergent behavior more accessible to students [19]
motivating its learning process in a playful social space [4].
Various systems using different hardware devices have been already implemented:
A futures trading simulation described on [2] enhances the learning process of concepts
such as price discovery, the open outcry trading method, trading strategies of locals and
brokers, and the impact of interest rates on the treasury bond futures contract.
Thinking Tags [1] uses small nametag sized computers that communicate with each
other. It was used to tech high-school students in a simulation of virus propagation and
asked them to determine the rules of the propagation [5].
NetLogo [17] is an environment for developing of learning participatory simulations for
PCs. Simulations can be re-played, analyzed and compared with previous ones. An
extension called HubNet [19] supports PCs and mobile devices for input and output.
Klopfer et al. [12] showed that the newer and more easily distributable version of
Participatory Simulations on handhelds was equally as capable as the original Tag-based
simulations in engaging students collaboratively in a complex problem-solving task.
They feel that handhelds technology holds great promise for promoting collaborative
learning as teachers struggle to find authentic ways to integrate technology into the
classroom in addition to engaging and motivating students to learn science.
801
3 Developing a Framework
In accordance to [7] and [20] some factors, based on empirical evidence, to enhance
motivation are:
Involve the learner. Learners must be involved in the ownership of the goals,
strategies and assessment of that with which they are to be engaged. The students
must to fell that they are in control of their own learning.
Respond positively to questions posed by students can enhance intrinsic
motivation. Furthermore, consideration should be given to what the learner brings
to the classroom: experiences, interests, and other resources.
Options and choices about the learning environment and the various
curriculum components (persons, time, content, methods, etc.) must be available.
Simulating the reality. Whatever the expected learning outcomes, there must be
a direct connection with the real world outside the classroom.
The shifting of responsibility for learning from the teacher to the student is
fundamental to both content fulfillment and learner motivation.
Feedback and reinforcement are essential to good teaching and effective
learning. When learners are given positive reinforcement, a source of motivation
is tapped. Evaluation should be based on the task, rather than comparison with
performance of other students.
Collaboration among learners is a very potent way in which an individual
learner forms an interpretation of the environment and develops understanding in
motivational spaces of social interactions.
802
G. Zurita et al.
role. This should be based on defining trading activities between students including
Negotiation and Exchange of Objects which is supported by handhelds. These
conditions depend on each particular application and may involve the following
aspects: (a) type of exchange objects, (b) exchange amounts, (c) trade conditions, (d)
parameters before and after the exchange, and (e) exchange objects. If students
require assistance, our framework allows the teacher to wirelessly give them
feedback and assessment. The teacher can (a) observe the simulation state of each
participant device and (b) modify such state in order to solve the student inquiry.
Once the simulation is done, the teacher must guide students understanding about
the activity. In this way, the students will construct the learning objective together,
analyzing different stages of the activity.
803
vendors and customers are implemented. Customers are required to maintain a certain
basket with products they can acquire goods from vendors. Products have a certain
lifespan which is known at the purchase moment. Customers have to replace them
when they expire. The simulation assigns a random lifetime to the products around
the expected one. If the product fails before the lifetime offered by the vendor
customers may claim money refund or product replacement. Vendors can advertise
their products freely offering a longer lifetime to attract customers or a shorter to gain
customers trust. They may refuse to refund the money or replace the product in order
to make better profit. In the real world, the customers trust to the companies is built
by a repetitive interaction. A positive evaluation usually is generated when products
quality is satisfactory or, even, when the company reacts appropriately after a clients
complain about bad products (or services). When the simulation finishes, students
must analyze these results and conclude about how clients trust impacts the
companies profit.
Fig. 2. a) Teacher drags a student icon into the vendor area to assign him a new role. b) Teacher can
create new goods using free-hand drawings.
Setup phase: To assign roles to the students (customer or vendor) the teacher uses the
"activity administration" mode. Students without roles are displayed in the middle of the
screen over a white area. The right area of handhelds (figure 2.a) has vendors and left
belongs to consumers. The teacher assigns roles by drag-and-dropping the icon of a
student into the desired area. Since in this application goods may be anything, they are
created by the teacher by drawing a sketch and surround it by a rectangle. This will produce
a "good icon", displaying an awareness of successful creation and displaying a reduced icon
of the original scratch in the bottom bound of the screen. Then, additional "goods icons" may
be created, as seen in Figure 2.b.
Double-clicking on a "goods icon" will open a window for defining default
variables for that type of good. In this application, instance variables are "original
price", "production time" and "product expected life". Once goods have been created
their icons will show up in "activity administration mode". The teacher assigns goods
to patricians by dragging the goods icons over the vendor icons to allow them to
produce this item, or over consumer icons to ask them to acquire this item.
804
G. Zurita et al.
Simulation phase: The simulation starts by vendors offering their products verbally and
customers looking for the most convenient offer in terms of price and lifetime. Once a
customer faces a vendor, they face their handhelds in order to activate the IrDA
communication. This will enable the customer to receive information about the vendors
reputation and allow customer and vendor make the transaction. Figure 3 shows the
three steps required to complete the transaction. When facing both handhelds the top
region of the screen is converted in the negotiation area. The vendor drags the product
to this area, which will appear on the buyers negotiation area, who accepts it by
dragging it to the area of products owned. The clients keep information of the
reputation of each vendor with a number ranking the vendors. At the beginning it has
no value. The client can set and alter this number after according to the interaction
they had with vendor and also by asking other customers about the opinion they have
from a vendor.
Fig. 3. Three steps in the trade process. The vendor offers a product by dragging the object, a
customer accepts it, the vendors stock and customer requirements/acquired lists get updated.
805
Setup phase: In this scenario there is no role assignment action since all have the
same one. The goods are now the shares of different companies the investors can buy
and sell. The teacher creates the different shares in the same way like the previous
application. Every investor receives an initial amount of shares and money.
Simulation phase: The simulation starts by letting the investors offer and buy their
shares. Figure 4 a) shows the interface of the application. Students can see the amount
of shares and their value, value and amount, and a small graph with the history of the
values with a pull-down menu. Shares are traded using IrDA detection. Figure 4 b)
shows the three steps necessary to transfer shares among students when they agree on
the price and amount of the shares to be traded. When facing both handhelds, from the
buyer and seller, the region at the top of the screen is converted in the trade area. The
seller drags the object representing the share to this area, triggering at the buyers
handheld a dialog in order to enter the amount of shares and the money. Then the data
of both is updates accordingly.
806
G. Zurita et al.
References
1. Andrews, G., MacKinnon, K.A. Yoon, S.: Using Thinking Tags with Kindergarten Children: A
Dental Health Simulation, Journal of Computer Assisted Learning, 19 (2), (2003), 209219.
2. Alonzi, P., Lange, D., Betty, S.: An Innovative Approach in Teaching Futures: A Participatory
Futures Trading Simulation, Financial Practice and Education, 10(1), (2000), 228-238.
3. Castro, B., Weingarten, K.: Towards experimental economics, J. of Political Economy, 78, (1970),
598607.
4. Colella, V.: Participatory simulations: Building collaborative understanding through immersive
dynamic modeling. The Journal of the Learning Sciences 9, 2000, pp. 471500.
5. Colella, V., Borovoy, R., Resnick, M.: Participatory simulations: Using computational objects to
learn about dynamic Systems, Conf. on Human Factors in Computing Systems, (1998), 9 10.
6. Dai, G., Wang, H.: Physical Object Icons Buttons Gesture (PIBG): A new Interaction Paradigm
with Pen, Proceedings of CSCWD 2004, LNCS 3168, (2005), 11-20.
7. Dev, P. (1997). Intrinsic motivation and academic achievement. Remedial & Especial Education.
18(1)
8. Dick, W., & Carey, L. (1996). The systematic design of instruction (4th ed.). New York:
Longman.
9. Guyot, P., Drogoul, A.: Designing multi-agent based participatory simulations, Proccedings of 5th
Workshop on Aget Based Simulations, (2004), 32-37.
10. Hinckley, K., Baudisch, P., Ramos, G., Guimbretiere, F.: Design and Analysis of Delimiters for
Selection-Action Pen Gesture Phrases in Scriboli, Proceeding of CHI 2005, ACM, (2005),
451-460.
11. Klopfer, E., Yoon, S., Perry, J: Using Palm Technology in Participatory Simulations of Complex
Systems: A New Take on Ubiquitous and Accessible Mobile Computing, Journal of Science
Education and Technology, 14(3), (2005), 285-297.
12. Klopfer, E., Yoon, S., Rivas, L.: Comparative analysis of Palm and wearable computers for
Participatory Simulations, Journal of Computer Assisted Learning, 20, (2004), 347359.
807
13. Kopf, S., Scheele, N. Winschel, L., Effelsberg, W.: Improving Activity and Motivation of Students
with Innovative Teaching and Learning Technologies, International Conference on Methods and
Technologies for Learning (ICMTL), WIT press, (2005), 551 556.
14. Landay, J., Myers, B.: Sketching interfaces: Toward more human interface design, IEEE
Computer, 34(3), (2001), 56-64
15. Long, A., Landay, J., Rowe, L.: PDA and gesture Use in Practice: Insights for Designers of Penbased User Interfaces, Retrieved on 2006, December, from http:// bmrc.berkeley.edu/
research/publications/1997/142/clong.html
16. Soloway, E., Norris, C., Blumenfeld, P., Fishman, R., Marx, R:: Devices are Ready-at-Hand,
Communications of the ACM, 44(6), (2001), 1520
17. Tisue, S., Wilensky, U.: NetLogo: A simple environment for modeling complexity, International
Conference on Complex Systems, (2004).
18. Vahey, P., Crawford, V.: Palm Education Pioneers Program: Final Evaluation Report, SRI
International, Menlo Park, CA, (2002).
19. Wilensky, U., Stroup, W.: Learning through participatory simulations: Network-based design for
systems learning in Classrooms, Proceedings of CSCL99, Mahwah, NJ, (1999), 667-676.
20. Wlodkowski, R. J. (1985). Enhancing adult motivation to learn. San Francisco: Jossey-Bass.
Abstract. Secure interoperation for a distributed system, such as a multidomain system, is a complex and challenging task. The reason for this is that
more and more abnormal requests and hidden intrusions make the static access
control policies to be fragile. The access control model presented in this paper
approaches this problem by proposing a concept of trust-level, which
involves a statistical learning algorithm, an adaptive calculating algorithm and a
self-protecting mechanism to evaluate a dynamic trust degree and realize secure
interoperations.
Keywords: Secure Interoperation; Trust-level; Adaptive.
1 Introduction
Traditional access control systems are defined as granting or denying requests to
restrict access to sensitive resources, the main purpose of which is preventing the
system from ordinary mistakes or known intrusions. The development of network and
distributed technology has made a large revolution in information security area.
Sharing information without sacrificing the privacy and security has become an
urgent need.
The emergence of Trust Management has promised a novel way to solve these
problems. Many researchers have introduced the idea of trust to improve a systems
security degree. It always involves a systems risk-evaluation or a users historical
reputation to decide whether they are trust or not. It is insufficient to deal with such
unexpected situations as dishonest network activities, identity spoofing or
authentication risk. There are many researchers who have amply discussed the
importance of trust in a dynamic access control system and reached many
achievements. However, how to change an abstract concept of trust into a numeric
value was insufficiently discussed. The motivation of this paper is drawn by this idea.
To solve these problems, we introduced a new quantitative concept trust-level to
access control policies and developed a novel Adaptive Secure Interoperation System
using Trust-Level (ASITL). In Section 2, we discuss some related achievements of
secure interoperation and trust management in recent years. We describe the whole
architecture and working flow of the ASITL in Section 3. The trust evaluation module
is discussed in Section 4. We also present an interesting example in Section 5.
Concluding remarks is added in Section 6.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 808814, 2007.
Springer-Verlag Berlin Heidelberg 2007
809
2 Related Works
Several research efforts have been devoted to the topic of trust strategies in secure
interoperations and trust management.
Ninghui Li and John C. Mitchell proposed RT [1], which combines the strengths of
Role-based access control and Trust-management systems. RT has been developed
into a systematic theory. Some trust services, such as trust establishment, negotiation,
agreement and fulfillment were reported in [2], [3]. Although they concluded many
security factors that might influence the trust degree, they did not propose a
formalized metric to quantize it. Furthermore, Elisa B. et al. discussed secure
knowledge management, focusing on confidentiality, trust, and privacy [4] and Kilho
S. et al. presented a concrete protocol for anonymous access control that supported
compliance to the distributed trust management model [5], both of which represented
novel achievements in this area. However, the trust evaluation methods have not been
essentially developed.
Comparing with the above research efforts, our framework leads to a number of
advantages in a secure interoperation environment.
A dishonest user can not deceive the authentication server to reach his true
intention. Once a dishonest network activity is detected, the users trust-level
will be decreased and he will not be granted any further privileges. Therefore,
many potential risks can be efficiently avoided.
To gain a higher trust-level, a user seeking to any advanced service has to
submit correct certificate and obey rules all the time.
With a statistical learning algorithm, event a new intrusion or an unknown event
can also be learned and added into the abnormal events DB.
810
L. Jin and Z. Lu
With above three main parts, we can describe a typical secure session in ASITL:
Firstly, a user sends a request to the authentication server. And according to users
request and access control policies, the authentication server asks for some necessary
certificates.
Secondly, the user submits the needed certificates. If the certificates can satisfy the
policies, the users request will be transmitted to the corresponding application
servers. A secure interoperation is finished. Otherwise, the authentication server sends
further authentication requirements to the user and trust evaluation module starts to
work at once.
Thirdly, the user has to send other certificates once more to further proof his
identity. And the authentication server continues to authenticate the current user, at
meanwhile, update the trust-level for the user constantly.
Finally, when the users trust-level is beyond the systems threshold value, the
current session will be canceled and the user will be banned in the system for a
predefined time-out period. Otherwise, the user has to continue to submit some more
certificates to verify his identity until his certificates satisfy the request and access
control policies.
4 Trust Evaluation
To maintain consistency and simplicity, authentication server generates a user ID and
maintains a history record for each user. Generally, a trust observation period is a
fixed interval of time, i.e., a threshold defined by system, or a period between two
audit-related events.
4.1 Basic Definitions
Each network event has it own features. In network security area, researchers often
abstractly divide a network event into many significant features. Similarly, common
kinds of features can be concluded into a class, which might be related to a certain
network event. Before describing the trust evaluation process in detail, we give the
basic definitions and theorems.
Definition 1: Every network event contains a set of intrinsic features. When we
analysis a network event, some of these features are essential, some of them are
irrelevant. We call those essential features as key feature, named feature.
Definition 2: A feature can be divided into a mixture one or more topic kinds, named
classes, which are associated with different kinds of network events.
Theorem 1: Supposing that
1. An event E in the abnormal events DB can be described with a feature set F ;
2. All features f F are mutually exclusive and are associated with one or more
of a set of classes C k ;
3. A suspicious event Ei is observed by a feature set FJ = { f 1 , f 2 ,..., f j ,... f J } ;
811
(1)
Tu = 1 / m Sum( klk )
(1 k m)
(2)
Tu denotes the trust-level of user u, and m is the amount of abnormal event kinds. k
is the influence rate of each kind of event, which is a real number between 0 and 1. lk
is the occurrence number of event k. Consequently, Tu is in the range of [0, 1]. lk
starts as 0 to reflect that there is no prior interaction between user and the
authentication server (that is, unknown users).
Supposing there are 3 kinds of abnormal event E1 , E2 , E3 and their trust rates
are 1 =0.9, 2 =0.7, 3 =0.5. The following tables separately shows Tu s going trend
as all the kind of events are detected. Assuming that l1 , l2 , and l3 all follow the
same increasing rate, we can find an interesting result: with the increasing of event
kinds, the larger lk , the faster the Tu decreases.
812
L. Jin and Z. Lu
Table 1. Tu on
l1
0
3
5
7
9
E1
increasing
l2
0
0
0
0
0
l3
0
0
0
0
0
Table 2. Tu on
l1
0
3
5
7
9
and
E2 increasing
l2
0
3
5
7
9
Table 3. Tu on
l1
0
3
5
7
9
E1
Tu
1.0000
0.9097
0.8635
0.8261
0.7958
l3
0
0
0
0
0
E1 , E2
l2
0
3
5
7
9
and
Tu
1.0000
0.6907
0.5862
0.5202
0.4759
E3 increasing
l3
0
3
5
7
9
Tu
1.0000
0.3990
0.2633
0.1895
0.1432
5 An Example
Assuming there is a file access control system. With the sensitivity S of files, all files
can be divided into three classes A, B, and C ( S A > S B > S C ). To maintain secure
levels of this system, we defines three different certificates C1 , C 2 and C 3
( C 3 > C 2 > C1 ). Different combinations of certificates grant different privileges.
Table 4. File access control policies
File
Trust-level
Certificates
History Records
C1 , C 2 , C 3
0.7 AVGTL
C1 , C 2
0.4 AVGTL
C1
0.1 AVGTL
813
Access control policies are defined in Table 4.There are three kinds of abnormal
events E1 , E2 , E3 and access control policy defines the lowest threshold of Tu ,
named Tu T , is 0.1000. Furthermore, E1 , E2 , E3 and their trust rate 1 , 2 , 3 are
described as follows:
Certificate_Error_Event: a user presents a needless certificate. Although it is valid,
it is not the right one that authentication server needed. This event may indicate a
certificate mistake of the user. The trust influence rate of this event is 1 =0.9.
Certificate_Invalidation_Event: a user presents an expired, damaged or revoked
certificate. This event may indicate an attempt to a network fraud. The trust influence
rate of it is 2 =0.7.
Request_Overflow_Event: a user sends abnormally large amounts of requests. This
event may indicate an attempt to a Dos attack or a virus intrusion. The trust influence
rate of this event is 3 =0.5.
Jimmy wants to access some files and sends a request with his identity certificate
to the authentication server. To demonstrate the secure mechanism of ASITL, we
assume three different possible results:
Jimmy is a malicious intruder: He does not have a valid certificate at all. From
the beginning, he sends expired or damaged certificates to the authentication server
continually. Certificate_Invalidation_Event is detected constantly and the occurrence
number of it increases fast. When the occurrence number reaches a threshold amount,
Request_Overflow_Event may be detected. Once Jimmys TL is below 0.1, he will be
forbidden by the system. And the final TL with his ID will be recorded in the history
record. If this result continually takes place more than five times, the user ID will be
recorded in the Black List.
Jimmy is a potentially dangerous user: He only has a valid certificate C1 , so his
privilege only can access the files of Class C. But his true intention is the more
sensitive files of Class A or Class B. In order to accumulate a good reputation, he
maintains a high TL ( 0.4 TL < 1.0 ) and AVGTL ( 0.4 AVGTL ) by validly accessing
814
L. Jin and Z. Lu
this paper, we introduce a variable value trust-level to reflect a users trust degree.
Based on this value, ASITL dynamically evaluates the users trust degree and
responds to the requestors through the judgment of a new suspicious event.
Furthermore, ASITL can be sure that all secure measures have been completed before
sensitive information is exchanged.
In future work, we would like to extend our work to some new areas. We need find
more efficient learning algorithms to shorten the responding period. Neural network
algorithms or similar methods might be involved. Moreover, we can further optimize
the cooperating abilities among modules in the system to enhance the performance of
the system. Finally, trust evaluating for the authentication server and users privacy
issues also need to be investigated.
References
1. Li, N., Mitchell J., Winsborough W.. RT: A role-based trust-management framework. In:
Proceedings of The 3th DARPA Information Survivability Conference and Exposition
(DISCEX III), Washington (2003) 201-212
2. Li Xiong, Ling Liu. PeerTrust: Supporting Reputation-Based Trust for Peer-to-Peer
Electronic Communities. IEEE Transactions on Knowledge and Data Engineering, Vol.16,
No.7 (2004) 843-857
3. Bhavani Thuraisingham,. Trust Management in a Distributed Environment. In: Proceedings
of the 29th Annual International Computer Software and Application Conference, vol.2
(2005) 561-572
4. Elisa Bertino, Latifur R. Khan, Ravi Sandhu. Secure Knowledge Management:
Confidentiality, Trust, and Privacy. IEEE Transactions on Systems, man, and Cybernetics.
Vol. 36, No.3 (2006) 429-438
5. Kilho Shin, Hiroshi Yasuda. Provably Secure Anonymous Access Control for
Heterogeneous Trusts. In: Proceedings of the First International Conference on Availability,
Reliability and Security (2006) 24-33
Lehrstuhl f
ur Rechnertechnik und Rechnerorganisation,
Institut f
ur Informatik,
Technische Universit
at M
unchen
{fuerling, gerndt}@in.tum.de
2
Innovative Computing Laboratory,
Department of Computer Science,
University of Tennessee
{karl, dongarra}@cs.utk.edu
Abstract. We present a detailed investigation of the scalability characteristics of the SPEC OpenMP benchmarks on large-scale shared memory
multiprocessor machines. Our study is based on a tool that quanties four
well-dened overhead classes that can limit scalability for each parallel
region separately and for the application as a whole.
Keywords: SPEC, Shared Memory Multiprocessors.
Introduction
816
K. F
urlinger, M. Gerndt, and J. Dongarra
The SPEC OpenMP benchmarks come in two variants. The medium variant
(SPEC-OMPM) is designed for up to 32 processors and the 11 applications
contained in this suite were created by parallelizing the corresponding SPEC
CPU applications. The large variant (SPEC-OMPL) is based on the medium
variant (with code-modications to increase scalability) but two applications
(galgel and ammp) have been omitted and a larger data set is used.
Due to space limitations we omit a textual description of the background,
purpose, and implementation of each application, please refer to [7] for such
a description. Instead, Table 1 lists the main characteristics of each application
with respect to the OpenMP constructs used for parallelization (sux m denotes
the medium variant, while sux l denotes the large variant of each application).
2
2
2
12
17
18
7
2
4
23
18
6
1
8
2
2
400000
1
1
2
12
9
10
2
2
4
23
18
6
1
4
1
5
PARALLEL SECTIONS
PARALLEL LOOP
PARALLEL
11
LOCK
CRITICAL
wupwise m/wupwise l
swim m
swim l
mgrid m/mgrid l
applu m
applu l
galgel m
equake m
equake l
apsi m
apsi l
gafort m/gafort l
fma3d m
fma3d l
art m/art l
ammp m
LOOP
BARRIER
Table 1. The OpenMP constructs used in each of the applications of the SPECOpenMP benchmark suite
3
8
10
13
12
26
9
8
1
10
1
29
47
3
5
We performed the scalability study with our own OpenMP proling tool,
ompP [4,5]. ompP delivers a text-based proling report at program termination
that is meant to be easily comprehensible by the user. As opposed to standard
subroutine-based proling tools like gprof [6], ompP is able to report timing data
and execution counts directly for various OpenMP constructs.
817
In addition to giving at region proles (number of invocations, total execution time), ompP performs overhead analysis, where four well-dened overhead
classes (synchronization, load imbalance, thread management, and limited parallelism) are quantitatively evaluated. The overhead analysis is based on the
categorization of the execution times reported by ompP into one of the four overhead classes. For example, time in an explicit (user-added) OpenMP barrier is
considered to be synchronization overhead.
Table 2. The timing categories reported by ompP for the dierent OpenMP constructs
and their categorization as overheads by ompPs overhead analysis. (S) corresponds to
synchronization overhead, (I) represents overhead due to imbalance, (L) denotes limited
parallelism overhead, and (M) signals thread management overhead.
MASTER
ATOMIC
BARRIER
USER REGION
LOOP
CRITICAL
LOCK
SECTIONS
SINGLE
PARALLEL
PARALLEL LOOP
PARALLEL SECTIONS
seqT
execT
(S)
(S)
bodyT
exitBarT
(I)
(I/L)
(L)
(I)
(I)
(I/L)
enterT
exitT
(S)
(S)
(M)
(M)
(M)
(M)
(M)
(M)
(M)
(M)
818
K. F
urlinger, M. Gerndt, and J. Dongarra
Results
314.ovhds.dat
5000
3000
Mgmt
Imbal
Limpar
Imbal
2000
Sync
3000
316.ovhds.dat
Mgmt
2500
Limpar
4000
Work
Sync
Work
1500
2000
1000
1000
500
0
2
12
16
20
24
28
32
(a) mgrid m.
3500
3000
2500
2000
819
12
16
20
24
28
32
24
28
32
(b) applu m.
318.ovhds.dat
1600
Mgmt
1400
Limpar
318.R00034.ovhds.dat
Mgmt
Limpar
Imbal
1200
Imbal
Sync
1000
Sync
Work
Work
800
1500
600
1000
400
500
200
0
2
12
16
20
24
28
32
(c) galgel m.
1200
320.R00009.ovhds.dat
12000
Limpar
6000
400
4000
200
2000
313.ovhds.dat
Limpar
Sync
12
16
20
24
28
32
32
48
64
80
96
112
128
96
112
128
(f) swim l.
50000
Mgmt
317.ovhds.dat
Mgmt
Limpar
40000
Imbal
40000
20
Work
600
50000
16
Imbal
8000
Sync
Work
60000
12
Mgmt
10000
Imbal
800
Mgmt
1000
Limpar
Imbal
Sync
30000
Work
Sync
Work
30000
20000
20000
10000
10000
0
0
32
48
64
80
(g) mgrid l.
96
112
128
32
48
64
80
(h) applu l.
Fig. 1. Scalability graphs for some of the applications of the SPEC OpenMP benchmark suite. Sux m refers to the medium size benchmark, while l refers to the large
scale benchmark. The x-axis denotes processor (thread) count and the y-axis is the
accumulated time (over all threads) in seconds.
820
K. F
urlinger, M. Gerndt, and J. Dongarra
applu m: The interesting scalability graph of this application (Fig. 1b) shows
super-linear speedup. This behavior can be attributed exclusively to one
parallel region (ssor.f 138-209) in which most of the execution time is
spent (this region contributes more than 80% of total execution time), the
other parallel regions do not show a super-linear speedup. To investigate the
reason for the super-linear speedup we used ompPs ability to measure hardware performance counters. By common wisdom, the most likely cause of
super-linear speedup is the increase in overall cache size that allows the applications working set to t into the cache for a certain number of processors.
To test this hypothesis we measured the number of L3 cache misses incurred
in the ssor.f 138-209 region and the results indicate that, in fact, this is
the case. The total number of L3 cache misses (summed over all threads) is
at 15 billion for 2 threads, and at 14.8 billion at 4 threads. At 8 threads the
cache misses reduce to 3.7 billion, at 12 threads they are at 2.0 billion from
where on the number stays approximately constant up to 32 threads.
galgel m: This application scales very poorly (cf. Fig. 1c). The most signicant
sources of overhead that are accounted for by ompP are load imbalance and
thread management overhead. There is also, however, a large fraction of
overhead that is not accounted for by ompP. A more detailed analysis of
the contributing factors reveals that in particular one small parallel loop
contributes to the bad scaling behavior: lapack.f90 5081-5092. The scaling
graph of this region is shown in Fig. 1d. The accumulated runtime for 2 to
32 threads increases from 107.9 to 1349.1 seconds (i.e., the 32 thread version
is only about 13% faster (wall-clock time) than the 2 processor execution).
equake m: Scales relatively poorly. A major contributor to the bad scalability
is the small parallel loop at quake.c 1310-1319. The contribution to the
wall-clock runtime of this region increases from 10.4% (2 threads) to 23.2%
(32 threads). Its bad scaling behavior (Fig. 1e) is a major limiting factor for
the applications overall scaling ability.
apsi m: This code scales poorly from 2 to 4 processors but from there on the
scaling is good. The largest identiable overheads are imbalances in the
applications parallel loops.
Results for the large variant (SPEC-OMPL):
wupwise l: This application continues to scale well up to 128 processors. However, the imbalance overhead already visible in the medium variant increases
in severity.
swim l: The dominating source of ineciency in this application is thread management overhead that dramatically increases in severity from 32 to 128
threads (cf. 1f). The main source is the reduction of three scalar variables in
the small parallel loop swim.f 116-126. At 128 threads more than 6 percent
of total accumulated runtime are spent in this reduction operation. The time
for the reduction is actually larger than the time spent in the body of the
parallel loop.
mgrid l: This application (cf. 1g) shows a similar behavior as the medium variant. Again lower numbers are encountered for thread counts that are powers
821
Related Work
Saito et al. [7] analyze the published results of the SPEC-OMPM suite on large
machines (32 processors and above) and describe planned changes for the then
upcoming large variant of the benchmark suite.
A paper of Sueyasu [8] analyzes the scalability of selected components of
SPEC-OMPL in comparison with the medium variant. The experiments were
performed on a Fujitsu Primepower HPC2500 system with 128 processors. A
classication of the applications into good, poor, and super-linear is given and
is more ore less in line with our results. No analysis on the level of individual
parallel regions is performed and no attempt for a overhead classication is made
in this publication.
The work of Aslot et al. [1] describes static and dynamic characteristics of
the SPEC-OMPM benchmark suite on a relatively small (4-way) UltraSPARC
II system. Similar to our study, timing details are gathered on the basis of individual regions and a overhead analysis is performed that tries to account for the
dierence in observed and theoretical (Amdahl) speedup. While the authors of
this study had to instrument their code and analyze the resulting data manually,
our ompP tool performs this task automatically.
Fredrickson et al. [3] have evaluated, among other benchmark codes, the performance characteristics of seven applications from the OpenMP benchmarks on
a 72 processor Sun Fire 15K. In their ndings, all applications scale well with
the exception of swim and apsi (which is not in line with our results, as well as,
e.g. [7]). This study also evaluates OpenMP overhead by counting the number
of parallel regions and multiplying this number with an empirically determined
overhead for creating a parallel region derived from an execution of the EPCC
micro-benchmarks [2]. Compared to our approach, this methodology of estimating the OpenMP overhead is less exible and accurate, as for example it does
not account for load-imbalance situations and requires an empirical study to
determine the cost of a parallel region. Note that in our study all OpenMPrelated overheads are accounted for, i.e., the work category does not contain any
OpenMP related overhead.
822
K. F
urlinger, M. Gerndt, and J. Dongarra
detailed insight into this behavior and can provide valuable hints towards an
explanation for the underlying reason. Notably, our scalability methodology encompasses four well-dened overhead categories and oers insights into how the
overheads change with increasing numbers of threads. Also, the analysis can
be performed for individual parallel regions and as shown by the examples, the
scaling behavior can be widely dierent. One badly scaling parallel region can
have increasingly detrimental inuence on an applications overall scalability
characteristics.
Future work is planned along two directions. Firstly, we plan to exploit ompPs
ability to measure hardware performance counters to perform a more detailed
analysis of memory access overheads. All modern processors allow the measurement of cache-related events (misses, references) that can be used for this
purpose. Secondly, we plan to exploit the knowledge gathered in the analysis
of the SPEC benchmarks for an optimization case study. Possible optimizations
suggested by our study include the privatization of array variables, changes to
the scheduling policy of loops and avoiding the usage of poorly implemented
reduction operations.
References
1. Vishal Aslot and Rudolf Eigenmann. Performance characteristics of the SPEC
OMP2001 benchmarks. SIGARCH Comput. Archit. News, 29(5):3140, 2001.
2. J. Mark Bull and Darragh ONeill. A microbenchmark suite for OpenMP 2.0. In
Proceedings of the Third Workshop on OpenMP (EWOMP01), Barcelona, Spain,
September 2001.
3. Nathan R. Fredrickson, Ahmad Afsahi, and Ying Qian. Performance characteristics of OpenMP constructs, and application benchmarks on a large symmetric
multiprocessor. In Proceedings of the 17th ACM International Conference on Supercomputing (ICS 2003), pages 140149, San Francisco, CA, USA, 2003. ACM
Press.
4. Karl F
urlinger and Michael Gerndt. ompP: A proling tool for OpenMP. In Proceedings of the First International Workshop on OpenMP (IWOMP 2005), Eugene,
Oregon, USA, May 2005. Accepted for publication.
5. Karl F
urlinger and Michael Gerndt. Analyzing overheads and scalability characteristics of OpenMP applications. In Proceedings of the Seventh International Meeting
on High Performance Computing for Computational Science (VECPAR06), Rio de
Janeiro, Brasil, 2006. To appear.
6. Susan L. Graham, Peter B. Kessler, and Marshall K. McKusick. gprof: A call graph
execution proler. SIGPLAN Not., 17(6):120126, 1982.
7. Hideki Saito, Greg Gaertner, Wesley B. Jones, Rudolf Eigenmann, Hidetoshi
Iwashita, Ron Lieberman, G. Matthijs van Waveren, and Brian Whitney. Large
system performance of SPEC OMP2001 benchmarks. In Proceedings of the 2002
International Symposium on High Performance Computing (ISHPC 2002), pages
370379, London, UK, 2002. Springer-Verlag.
8. Naoki Sueyasu, Hidetoshi Iwashita, Kohichiro Hotta, Matthijs van Waveren, and
Kenichi Miura. Scalability of SPEC OMP on Fujitsu PRIMEPOWER. In Proceedings of the Fourth Workshop on OpenMP (EWOMP02), 2002.
Introduction
The VAMPIR [7] tool is widely used to analyze the behavior of parallel (MPI,
OpenMP and pthreads) as well as sequential programs. This paper will demonstrate how the capabilities of VAMPIR can be used to analyze scheduling events
within the Linux kernel. These events are gathered by a Linux kernel module
that has been developed by the authors. This development has been motivated
by an scheduling problem of an OpenMP program that will be used within this
paper to demonstrate the application of the software.
Linux itself is an operating system with growing market share in the HPC
environment. Linux has its own way of implementing threads. A thread is not
more than a process that shares some data with other processes. Within the
Linux kernel there is no distinction between a thread and a process. Each thread
also has its own process descriptor. So within this paper the terms thread and
process do not dier much. Although we will talk about OpenMP threads,
those threads are also handled by the Linux Kernel as normal processes when
we are talking about scheduling.
The rst section gives an short overview about the state of the art in monitoring the Linux kernel. The next section is dedicated to our Linux kernel module
and the output to OTF [1]. Within the third section will show how various VAMPIR displays that have been designed to analyze time lines of parallel programs
or messages in MPI programs can be reused for an visual analysis of Linux
scheduling events. This paper is closed by a short summary and an outlook.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 823830, 2007.
c Springer-Verlag Berlin Heidelberg 2007
824
Analyzing scheduling events is an interesting piece within the whole eld of performance analysis due to eects that can be traced back to a specic process
placement or cache thrashing. Within this paper we are referring to a multiprogramming environment. This means that multiple programs do run in parallel
on a given set of CPUs. The processes associated to these programs are not
pinned to a specic CPU. Therefore the scheduler is free to place the processes
as needed onto available CPUs.
We have identied two main approaches to analyze the scheduling behavior
of an specic system. The rst idea is to instrument the kernel scheduler itself
to monitor its actions. This would have the advantage of having insight into
scheduler decisions. An other idea is an indirect approach. If the CPU number
that process is running on over time is traced as well as information about the
process state (running or suspended), the priority, the nice value, interactivity
etc. one can show strength and weaknesses within the scheduler also. All the
information needed for the second approach are available within the process
descriptor in the Linux kernel. The information needed for the rst approach is
only locally available only within the scheduler implementation and not globally
in the kernel. Opposite to that, the list of current tasks and their properties are
available everywhere within the kernel.
There is no exiting tool we have found that is able to gather those information described above. The Linux Trace Toolkit [5] collects information about
processes but does not have any information about the CPU number a process
is running on. There are tools that are able to instrument a kernel (like KernInst
[11] or KTau [8]) that require a unique program to be written and put into the
kernel. Monitoring the /proc le system [9] would be an solution but cannot
provide the ne granularity needed. For AIX the AIX kernel trace facilities can
be used to gather data about various events in the kernel [2].
For really ne grained monitoring of the process-to-CPU mapping and the
process state we decided to try a dierent way.
Our approach utilizes the second idea from the section above. Because the information about all tasks on the system are available at each point in the Linux
kernel, the main idea is to write a kernel module that dumps the information
needed at speciable time intervals. Some kind of GUI or automatic analysis
tool could later be used to analyze this data. The advantage of a kernel module
is the ability to load and unload the module as needed as well as the short time
for recompilation after a change in the source code because the kernel itself is
not being touched [4].
The design of the kernel module is as follows. A kernel thread is created and
inspects all given threads at an adjustable time interval. The minimum time
between two inspections is the so called kernel frequency which can be chosen
825
at the kernel setup with 100, 250 or 1000 ticks per second. The kernel module is
given a particular process id (PID) to watch. It will inspect this PID and all its
children and will dump all needed information (actually CPU and process state)
to the relayfs [12] interface. This way the user is able to select all processes
or any part of the current process tree. On problem here are processes that
get reparented. If a process nishes that still has child processes, those child
processes will get the init process (1) as parent. If not all processes but a specic
subset is traced, this child processes will vanish from the trace at this point in
time.
The kernel module itself can be started, congured and stopped via an interface that has been made available through the sysfs le system. So the kernel
module can stay within the kernel without generating overhead when nothing
needs to be measured.
To dump the data gathered to the disk, a relatively new part of the Linux
kernel, relayfs, is used. relayfs is an virtual le systems that has been designed
for an ecient transfer of large amounts of data from the kernel to user space.
It uses one thread per CPU to collect data through a kernel wide interface and
to transfer the data. The data is collected inside relayfs within sub buers. Only
full sub buers are transfered to the user space. On the user side, one thread
per CPU is running to collect the full sub buers and to write the data to a le
(one le per CPU). This thread is sleeping until it gets a signal from the kernel
that a full sub buers is available. This approach is scalable and disturbs the
measured tasks as less as possible.
In summary the kernel module currently supports the following features:
enable/disable tracing from the user space on demand
tracing of user selectable processes or tracing the whole system
changing parameter settings from the user space (via sysfs)
Now we have a collection of events that describes which process has been on
which CPU in which state in the system at dierent timestamps. The amount
of data can become very large and needs a tool to be analyzed. Some kind of
visual and/or automatic analysis is needed here. There are basically two dierent
things that we want to analyze from those trace les:
1. number of active processes on each CPU
2. following the dierent processes (and their current states) on the CPUs over
the time
As threads and processes are basically treated the same way by the Linux
kernel, the hierarchical structure between all processes/threads is also known at
this point. For the rst application it is possible to count the tasks in the state
runnable on each CPU. To actually be able to view this data the following
approach have been identied:
826
OTF Converter
To be able to analyze the collected data with VAMPIR a tool is needed to convert
the data dumped by the kernel module to a trace le. We have chosen to utilize
the OTF library due to its easy handling. Within relayfs the data obtained by
the kernel thread are dumped to the le that is associated with the CPU where
the kernel thread is running on at this point in time. The converter has been
written to serialize all events within these les after the program run and to
follow the tasks when they jump between the CPUs. It generates OTF output
with all necessary information like process names and state, CPU utilization
together with various counters.
827
The example we will look at within the next section creates about 1GB of
trace data together from all CPUs. This example runs for about 6 minutes on
8 CPUs. The conversation to the OTF le format takes about one minute and
results in OTF les between 100 and 120 MB.
Example
Our example is derived from a problem observed on our Intel Montecito test
system. It has 4 Dual Core Itanium 2 CPUs running at 1.5 GHz (MT disabled).
The multiprogramming capabilities of a similar system (SGI Altix 3700) have
been investigated with the PARbench Tool [6], [3], [10]. One result here has been
that an OpenMP parallelized program that is doing independent computation in
all threads all the time (without accessing the memory) is behaving unexpected
hin an overload situation. We put eight sequential tasks and eight parallel tasks
(which open eight OpenMP threads each) on eight CPUs. So we have 72 active
threads that all need CPU time and do hardly any memory access. The algorithm
used on each tasks is the repeated (100000 times) calculation of 10000 Fibonacci
numbers. The sequential version takes about 2 seconds to run. The OpenMP
parallel program exists in two avors. The rst avor has one big parallel section,
100000 10000 numbers are calculated in one block. The second implementation
opens and closes the OpenMP parallel section 100000 times to calculate 10000
Fibonacci numbers. One parallel task with 8 parallel threads also needs 2 seconds
for both avors. In the overload situation, all 72 threads did run concurrently
on the system. If we used the rst OpenMP implementation all 72 tasks/threads
Table 1. Wall time in seconds of the sequential and parallel program version in dierent
execution environments
program
exited after about 20 seconds (+/- 1 second). If we use the second avor, the
eight sequential tasks exit after 2 to 3 seconds and the parallel tasks exit after
45 to 50 seconds.
The explanation for the dierent behavior we found after the investigation
with our tool. It is the fact, that for the rst avor the tasks do not synchronize.
On an overloaded system the tasks get out of sync easily. The default behavior of
the OpenMP implementation for a synchronization point is a busy wait for 200ms
and a call to sleep() afterwards. That way the OpenMP threads for the rst avor do synchronize just once and they use their full timeslice to do calculation. In
the second avor the parallel task spend part of their time slice with busy waiting. By putting the busy waiting time to 0 by using export KMP_BLOCKTIME=0
828
Fig. 1. Screenshot of the full time line, note the three dierent phases
this can be improved. The sequential tasks exit after 8 to 16 seconds and the
parallel tasks need between 21 and 23 seconds. The numbers are compiled in
table 1.
The VAMPIR screenshot for the scheduling time line for all three runs is given
in Figure 1. All switches for a task from one CPU to another is marked by a
(blue) line. From the beginning of the time line to about 1:50 min the run for the
one big OpenMP block has taken place. Afterwards the OpenMP busy waiting
example is executed. As the last example from about 5:30 minutes to the end
of the time line the run with disabled busy waiting is shown. Figure 2 shows all
switches from/to all CPUs. By zooming in and looking into the dierent parts of
the time line, the following facts could be collected for the three dierent runs:
1. After spawning all the processes the system is balanced after a relatively
short period of time. The load on the individual CPUs is well balanced.
Almost no rescheduling occurs during this period of time.
2. For the second run the balancing of the system takes much longer. During
the whole second run every few seconds there are some scheduling events
where tasks switch between CPUs. The reason for this is that some tasks
get suspended (after the busy wait time has elapsed) and the system needs
to be re-balanced afterwards.
3. The third case again is very dierent. Tasks get suspended very often and
awakened thus the CPU utilization jitters a lot (due to the short OpenMP
regions and no busy waiting). For that reason the system never gets well
balanced but due to the fact that there are no CPU cycles spent busy waiting
this scenario has a shorter wall time than the second one.
829
Conclusion
The work presented has two main results. First of all we designed a convenient
measurement environment to collect scheduling events from the Linux kernel (a
kernel module + relayfs). And we reused VAMPIRs capabilities for a dierent
purpose. Traditional displays from VAMPIR have been reinterpreted for our purposes and do provide very useful information to analyze the scheduling behavior
of a Linux system. A test case has been investigated and the underlying problem
has been identied.
For the future there are various opportunities to follow. One very interesting
idea is to correlate this information with a traditional program trace to be able
to follow eect like cache thrashing or other things that are only analyzable by
looking at the whole system and not only looking onto a single program trace
obtained in user space.
This work has also shown that short OpenMP sections in an overload situation
on Linux is counterproductive. With busy waiting disabled this can be improved.
This way the OpenMP threads do sleep while waiting on a barrier. For this there
is a possibility that the Linux kernel classies this threads as interactive and
starts to shorten their timeslice.
The authors wants to thank her colleges Andreas Kn
upfer, Holger Brunst,
Guido Juckeland and Matthias Jurenz for useful discussions and a lot of ideas.
830
References
1. Andreas Kn
upfer, Ronny Brendel, Holger Brunst, Hartmut Mix, and Wolfgang
E. Nagel. Introducing the Open Trace Format (OTF). In Vassil N. Alexandrov,
Geert Dick van Albada, Peter M.A. Sloot, Jack Dongarra, Eds., Computational
Science ICCS 2006: 6th International Conference, Reading, UK, May 28-31,
2006. Proceedings, volume II of Lecture Notes in Computer Science. Springer Berlin
/ Heidelberg.
2. IBM.
http://publib16.boulder.ibm.com/doc link/en US/a doc lib/aixprggd
/genprogc/trace facility.htm.
3. M.A. Linn. Eine Programmierumgebung zur Messung der wechselseitigen Einusse von Hintergrundlast und parallelem Programm. Technical Report J
ul-2416,
Forschungszentrum J
ulich, 1990.
4. Robert Love. Linux Kernel Development (german translation). Number ISBN
3-8273-2247-2. ADDISON-WESLEY, 1 edition, 2005.
5. Mathieu Desnoyers and Michel R. Dagenais. Low Disturbancea Embedded System Tracing with Linux Trace Toolkit Next Generation. http://ltt.polymtl.ca,
November 2006.
6. W.E. Nagel. Performance evaluation of multitasking in a multiprogramming environment. Technical Report KF-ZAM-IB-9004, Forschungszentrum J
ulich, 1990.
7. Wolfgang E. Nagel, Alfred Arnold, Michael Weber, Hans-Christian Hoppe, and
Karl Solchenbach. VAMPIR: Visualization and Analysis of MPI Resources. In
Supercomputer 63, Volume XII, Number 1, pages 6980, 1996.
8. A. Nataraj, A. Malony, A. Morris, and S. Shende. Early Experiences with KTAU
on the IBM BG/L. In Proceedings og EUROPAR 2006 Conference, LNCS 4128,
pages 99110. Springer, 2006.
9. redhat Documentation. http://www.redhat.com/docs/manuals/linux/RHL-7.3Manual/ref-guide/ch-proc.html, November 2006.
10. Rick Janda. SGI Altix: Auswertung des Laufzeitverhaltens mit neuen PARBenchKomponenten. Diplomarbeit, Technische Universit
at Dresden, June 2006.
11. Ariel Tamches and Barton P. Miller. Using dynamic kernel instrumentation for
kernel and application tuning. In International Journal of High-Performance and
Applications 13, 3, 1999.
12. Tom Zanussi et.al. relayfs home page. http://relayfs.sourceforge.net, November
2006.
Institut f
ur Wissenschaftliches Rechnen
Forschungszentrum Karlsruhe
76021 Karlsruhe, Germany
jie.tao@iwr.fzk.de
2
Institut f
ur Technische Informatik
Institut f
ur Technische InformatiK
76128 Karlsruhe, Germany
karl@ira.uka.de
Abstract. Applications usually do not show a satised initial performance and require optimization. This kind of optimization often covers a complete process, starting with gathering performance data, followed by performance visualization and analysis, up to bottleneck nding and code modication. In this paper we introduce DECO (Development Environment for Code Optimization), an interactive graphical interface that enables the user to conduct this whole process within a single
environment.
Keywords: Performance tools, visualization, cache optimization.
Introduction
832
Thread Proler for presenting thread interaction and contention [5]. The Center
for Information Services and High Performance Computing at the University of
Drednen developed Vampir [2] for performance visualization and Goo [8] for
supporting loop transformation in Fortran programs.
Similarly, we implemented a series of tools for cache locality optimization. This
includes a cache visualizer [9] which demonstrates cache problems and the reason
for them, a data proler which collects information about global cache events, a
cache simulator [10] for delivering runtime cache activities, and a pattern analysis
tool [11] for discovering the anity among memory operations.
By applying these tools to optimize applications, we found that it is inconvenient to use them separately. In this case, we developed the program development
environment DECO in order to give the user a single interface for conducting the
whole process of code tuning. A more challenging motivation for us to develop
DECO is the user requirement of a platform to work with their programs. This
platform must provide all necessary functionality for building and running an
application. The third reason for a program development environment is that
users need to compare the execution time or other performance metrics of dierent runs with both unoptimized and optimized code versions. It is more exible
if users could acquire this information within a single view than having to switch
across several windows.
These features are general and can be applied directly or with slight extension
by other tool developers to build a development environment for their own need.
For our purpose with cache locality optimization DECO has an additional property: it visualizes the output of the pattern analysis tool and maps the access
pattern to the source code.
The rest of the paper is organized as follows. We rst describe the design and
implementation of DECO in Section 2. In Section 3 we present its specic feature
for cache locality optimization, together with some initial optimization results
with small codes. In Section 4 the paper is concluded with a short summary and
some future directions.
833
easy logic analysis. Next to the editor is a subwindow for demonstrating runtime
results, such as execution time, cache miss statistics, communication overhead
(e.g. for MPI programs), and analysis of specic constructs (e.g. parallel and
critical regions in OpenMP programs). In addition, the visualization of access
pattern, for our special need of cache locality optimization, is combined with
this subwindow. The output and error reports delivered during the run of applications or tools are displayed at the bottom.
Building Projects. DECO targets on realistic applications which are usually
comprised of several les including head and Makele. Hence, applications are
regarded as project within DECO. Projects must be created for the rst time
and then can be loaded to the DECO environment using corresponding options
in the menu bar.
Figure 2 shows two sample subwindows for creating a project. First users have
to give the project a name and the path where the associated les are stored.
Then users can add the les that need analysis and potentially optimization
into the project by simply select the object from the les at the given path, as
illustrated on the top picture of gure 2. It is allowed to concurrently open a set
of les, but only one le is active for editing.
After modication of the source program users can generate an executable of
the application using Menu Compile that contains several options like make and
make clean, etc. Commands for running the application are also included.
Tool Integration. DECO allows the user to add supporting tools into the
environment. To insert a tool, information about the name, the path, and conguration parameters has to be provided. For this, DECO lists the potential parameters that could be specied as command line options for a specic toolkit. In
case of the cache simulator, for example, it allows the user to specify parameters
for the frontend, the simulator, and the application.
Using this information, DECO builds an execution command for each individual tool and combines this command with the corresponding item in the
menu Analysis of the main window. This means, tools can be started with menu
834
choice. During one tool is running, users can congure another tool or edit the
applications.
Execution Results. To enable a comparative study of dierent program versions, DECO visualizes the output of applications. Depending on the application,
this output can be execution time, overhead for parallel programs, statistics on
memory accesses, or time for synchronization of shared memory applications.
The concrete example in Figure 1 visualizes the statistics on cache hits and
misses.
835
in order to achieve a cache hit. It is clear that users can use this information to
change the order of memory accesses for a better cache hit ratio. However, it is
dicult to apply this information in its original form based on virtual addresses
and numbers. Therefore, DECO provides this specic property of mapping the
pattern to the program.
Visualization. Using DECO, patterns are displayed within the source code but
also in a separate window for a deeper insight. Figure 3 is an example of the
access chain. The window on the right side lists all detected chains with detailed
description, including the ID, number of elements, frequency of occurrence, and
the initial address. It is also possible to observe more detailed information of a
single chain, for example, all accesses contained and the miss/hit feature of each
access. This detailed information helps the user decide whether the grouping
optimization is necessary.
On the left side access chains are demonstrated in the source code. By clicking
an individual chain in the right window, the corresponding variables and the
location of references are immediately marked in the program. Users can utilize
836
this information to move the declarations of the associated variables into a single
code line.
Similarly, the push back distance is also combined with the program. For a
selected variable DECO marks the rst access to it in the code. Then the rest
accesses are one-by-one marked with dierent colors presenting their hit/miss
feature. In case of a cache miss, the position, where the reference has to be issued
for avoiding the miss, is also marked with color. Based on this information users
can decide if it is possible to shift an access. This optimization improves the
temporal locality of single variables and is especially eective for variables in
loops.
The access stride for arrays can be observed in three dierent forms. First,
an initial overview lists all detected strides with the information about start
address, stride length, and the number of occurrence. A further view displays
individual strides in detail, with descriptions of all references holding this stride.
The third form is a diagram. The lower side of Figure 4 is an example. Within
this diagram, all array elements holding the stride are depicted with small blocks.
Each small block represents a byte; hence, an element usually consists of several
blocks, depending on the type of the array. For example, the concrete diagram
in Figure 4 actually demonstrates an array of 4-bytes elements and a stride of
length one. The rst block of each element is colored in order to exhibit the
hit/miss feature. This helps the user reorganize the array structure or change
the sequence of accesses to it, if large number of misses had been introduced
by this array. The size of blocks can be adjusted using the spin-box at the right
corner above the diagram. This allows the user to either observe the global access
characteristics of the complete array or focus on a specic region of elements.
Sample Optimization. We show two examples to demonstrate how to use this
special feature of DECO for cache optimization. The rst code implements a
simple scheduler for user-level threads. With this scheduler the threads release
the CPU resources by themselves, rather than being evicted after the timeslice.
For saving registers by thread swap, a stack is managed for each thread. The
current position at the stack has to be recorded in order to restore the registers
when the thread acquires the timeslice again. We use a struct to store this stack
pointer together with its ID and the stack. By thread switching the stack pointer
has to be updated, where the pointer of the old thread has to be written back
and the pointer of the new thread is fetched. The declaration of struct and the
code for stack pointer update is depicted in Figure 5.
We perform 1000 switchings between four threads with only the operation of
processor release. The trace analysis detects ve access chains that repeat more
than 1000 times. Observing the chains in more detail, we nd that among all
accesses to the associated addresses in four of the ve only three hits exist with
each. Switching to the marked code lines in the source, we further detect that
the corresponding accesses are performed for stack pointer update. This leads
us to move the denition of stackPointer out of struct and dene all the four
pointers together. In this case, the number of L1 misses reduces from 4011 to 9.
This signicant improvement is the result of grouping.
837
The second example performs matrix addition. The working set contains three
matrices which is declared one after another. Initial run of this code reported
12288 L1 miss without any hits. The trace analysis detected three strides of
length one, each corresponding to a single matrix. In principle, for such a stride
many accesses shall be cache hit because with a size of 64 bytes one cache line
can hold several elements. The only explanation lies in that there exists mapping
conict between all three matrices and this conict results in the eviction of a
matrix block out of cache before the other elements can be used.
To eliminate this conict, an ecient way is to insert a butter between two
matrices so that the mapping behavior of the second matrix is changed. As the
applied L1 is a 2-way cache, meaning that a cache line can hold two data blocks,
we need only to alter the mapping behavior of one matrix. Here, we put a buer
of one cache line between the second and the third matrix. In this case, only 769
misses has been observed.
Conclusions
This paper introduces a program development environment that helps the user
perform code optimization. This environment is implemented because we note
that code optimization requires support of several tools and it is inconvenient
to use them separately. Hence, our environment integrates dierent tools into a
single realm. In addition, it provides a exible interface for users to work with
their programs and to study the impact of optimizations. A more specic feature
of this environment is that it directly show access patterns in the source code.
This allows the user to locate the optimization object and the strategy.
References
1. D. I. Brown, S. T. Hackstadt, A. D. Malony, and B. Mohr. Program Analysis
Environments for Parallel Language Systems: The TAU Environment. In Proc. of
the Workshop on Environments and Tools For Parallel Scientic Computing, pages
162171, May 1994.
838
1 Introduction
High Performance Computing (HPC) aims to achieve optimum performance on highend platforms. Always, the achievable performance is limited by one or more resources,
like available processors, floating point throughput or communication bandwidth. Memory is another important resource, in particular for data intensive applications [8].
This paper presents methods for instrumentation and measurement of programs
memory allocation behavior. The integration into VampirTrace [9] provides additional
information for trace-based performance analysis and visualization.
The rest of the first Section discusses the influence of memory allocation to performance, introduces memory allocators and references some related work. The following
Sections 2 and 3 show various instrumentation approaches and ways of representing
the result data. In Section 4 the approach is demonstrated with a real-world application
example before the final Section 5 gives conclusions and an outlook on future work.
1.1 Impact of Memory Allocation on Application Performance
Memory consumption may cause notable performance effects on HPC applications, in
particular for data intensive applications with very large memory requirements. There
are three general categories of memory allocation related performance issues:
memory requirements as such
memory management overhead
memory accesses
Firstly, excessive memory requirements by applications exceeding the available resources may lead to severe performance penalties. An oversized memory allocation
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 839846, 2007.
c Springer-Verlag Berlin Heidelberg 2007
840
M. Jurenz et al.
request might make an application fail or cause memory paging to secondary storage.
The latter might happen unnoticed but brings severe performance penalties.
Secondly, memory management may cause unnecessary overhead - see also
Section 1.2. This might be either due to frequent allocation/deallocation or due to memory placement which can cause so called memory fragmentation.
Thirdly, accesses to allocated memory may cause performance problems. In general,
tracing is unsuitable to track single memory accesses, because of the disproportional
overhead. This is covered by many tools already by means of hardware counters [4].
1.2 Memory Allocators
The memory allocator implements the software interface for applications to request
memory. For example in C it contains the malloc, realloc and free functions
and few more. Only the memory allocator is communicating with the operating system
kernel to actually request additional memory pages in the virtual address space.
Usually, memory allocators handle small requests differently than medium or large
requests. This is done for two reasons. Firstly, because the operating system can partition memory only in multiples of the virtual memory page size. And secondly, to reduce
run-time overhead for small requests.
Reserving a whole page for very small requests would cause a lot of overhead. Thus,
multiple small requests can be placed in the same page. This page can only be released
again, if all memory requests in it have been freed (memory fragmentation). However,
the memory allocator can re-use freed parts for following requests with matching sizes.
All allocators add a small amount of management data to the memory blocks delivered. Usually, this is one integer (or few) of machines address size, see Section
2.3 below. Furthermore, memory allocators will pre-allocate a number of pages from
the operating system for small requests. By this means, it avoids issuing an expensive
system call for every single small request. This provides a notable performance optimization esp. in multi-threaded situations [1].
Memory allocators come as part of a platforms system library (libc) or as external
libraries that can be linked to an application explicitly. Well known examples are the
Lea allocator and the Hoard allocator library [1, 2].
1.3 Related Work
There is a large number of memory debugging tools available that check memory allocation/deallocation or even memory accesses. While such tools serve a different purpose
than the presented work, they use similar techniques to intercept the allocation calls.
One typical and small example is the ccmalloc library for debugging memory management and accesses. It uses dynamic wrapper functions to intercept memory management function calls [3]. The MemProf tool allows memory usage profiling [14]. It provides summary information about memory allocation per function. Valgrind is a very
powerful memory debugger and profiler [15]. It offers more sophisticated debugging
techniques to detect bugs in memory allocation/deallocation as well as invalid accesses.
Unlike the previous examples, Valgrind depends on simulation of target applications.
841
Even though, this is highly optimized, it causes notable slowdown of target applications
which is well acceptable for debugging but not for parallel performance analysis.
Besides debuggin tools, there are performance analysis tools focusing on memory
allocation. The TAU tool set offers special operation modes for profiling and tracing
of memory allocation [13]. It employs preprocessor instrumentation for memory management calls and takes advantage of platform specific interfaces (Cray XT3). Also, it
introduces the memory headroom metric for remaining heap memory, see Section 2.3.
Other existing performance measurement and analysis tools focus on memory access
behavior. This is done either with summary information provided by PAPI counters [4]
or with even more detailed information which are achievable by simulation only [6].
Wrapper functions replace calls to a target but call it again itself. Besides the original purpose
of the function, additional tasks like logging, measurement, checking, etc. can be issued.
842
M. Jurenz et al.
memory size in malloc(), which are essential for recording memory consumption.
However, for some calls the corresponding memory sizes are unknown, e.g. for free().
It is necessary to infer the size of deallocated memory area at this point in order to
correctly update the record. Explicitly storing this information would create memory
overhead. Fortunately, memory managers do provide it. Usually, it is stored as an integer at the position right in front of the very memory area. It can be accessed either by
the malloc usable size function or directly. Note that this deals with the memory allocated, which is greater than or equal to the amount requested. For consistence
out approach always reports the amount of memory actually used, including memory
management overhead. This is greater or equal to user application requests.
Internally, the amount of memory currently allocated is stored in thread-private variables within the measurement infrastructure. Multiple threads in the same process will
record their memory consumption separately. This avoids unnecessary thread synchronization. Below, there is a short discussion of different ways to intercept all memory
management calls like malloc, realloc, free, etc.
Pre-Processor Instrumentation. Compiler pre-processors can be used to replace all
function calls in the source code with given names by alternative (wrapper) functions.
Those need to be provided by the the trace library.
With this approach it is possible to miss certain allocation operations hidden in library calls with inaccessible sources. This can cause falsified results. For example,
memory allocated within third party libraries might be freed by the user application
directly. Therefore, this approach is not advisable without special precautions.
Malloc Hooks. The GNU glibc implementation provides a special hook mechanism
that allows intercepting all calls to allocation and free functions. This is independent
from compilation or source code access but relies on the underlying system library.
Unlike the previous method, this is suitable for Fortran as well. It is very useful to
guaranty a balanced recording, i.e. all allocation, re-allocation and free operations are
captured. Similar mechanisms are provided by other libc implementations, e.g. on SGI
IRIX.
This approach requires to change internal function pointers in a non-thread-safe way!
It requires explicit locking if used in a multi-threaded environment. Nevertheless, this
is the default way for MPI-only programs in our implementation.
Library Pre-Load Instrumentation. An alternative technique to intercept all allocation functions uses pre-loading of shared libraries. Within the instrumentation library
there are alternative symbols for malloc, realloc, free, etc. which are preferred
over all later symbols with the same name. The original memory management functions
can be accessed explicitly by means of the dynamic loader library. This approach requires support for dynamic linking, which is very common but not available on all platforms (e.g. IBMs BlueGene/L). Unlike the previous approach, it can be implemented
in a thread-safe manner without locking.
Exhausting Allocation. There is another remarkable strategy to detect the available
amount of heap memory, the so called memory headroom. It counts the free heap memory and infers about the consumed memory (implying the total amount of memory
843
250
time [s]
200
150
100
50
0
no hooks
with hooks
average
Fig. 1. Run time overhead for instrumentation. The figure compares time without and with instrumentation for ten test runs with a pathological program. It shows total wall clock time (top),
system time (middle) and user time (bottom) as well as the respective average values.
The test covered instrumentation only, no trace records were generated neither in
memory buffers nor in actual trace files. The total tracing overhead may slightly increase
due to the additional records which makes the records buffer flush slightly more often.
844
M. Jurenz et al.
4 Application Example
The example that memory allocation tracing was tested with originates from an aerodynamics application. The sequential application consists of two components for simulation and for optimization of the simulation results. The first part is the flow solver TAUij
from the German Aerospace Center (DLR), which is a quasi 2D version of TAUijk [2].
It solves the quasi 2D Euler equations around airfoils and computes the aerodynamic
coefficients for drag, lift and pitching moment.
The second part uses the ADOL-C software package for Automatic Differentiation
(AD). ADOL-C attaches to TAUij by overloading variable types and operators and provides mechanisms to evaluate various kinds of derivations of the original programs
computation. Here, it is used to compute the gradient of the drag coefficient with respect to the input variables controlling the wing geometry. The gradient is then used for
optimizing the wing shape, which involves iterated simulation and gradient evaluation.
See [5, 7, 12] for more details and background information.
In the example the so called reverse mode of AD is applied to compute the gradient
with respect to a large number of input variables. Basically, this requires to store all intermediate results of the computation in a so called memory tape. This is to be traversed
2
This behavior can be announced by setting a corresponding flag in the counter definition [10].
845
Fig. 2. Vampir process timeline with counters MEM TOT ALLOC and MEM TOT PAGES
in reverse order in the stage of gradient computation. There are some optimizations for
fixpoint iteration algorithms, but still it causes excessive memory requirements [7].
This is shown in the Vampir screenshot in Figure 2. The test-run consumes 15 GB
of memory (MEM TOT ALLOC). The exact amount is neither constant nor easily predictable. The analysis revealed that the actual usage is only 5.4 GB (MEM TOT PAGES).
The experiments involved additional PAPI counters that showed that the memory
intensive sections of the application suffer from high miss rates of level three cache due
to the linear traversal of the memory tape.
Acknowledgments
Wed like to thank Carsten Moldenhauer and Andrea Walther from IWR, TU Dresden
as well as Nicolas R. Gauger and Ralf Heinrich from the Institute of Aerodynamics and
Flow Technology at DLR Braunschweig for their support with the example application.
846
M. Jurenz et al.
References
[1] E.D. Berger, K.S. McKinley, R.D. Blumofe, and P.R. Wilson. Hoard: A Scalable Memory
Allocator for Multithreaded Applications. In Proc. of ASPLOS-IX, Cambridge, MA, 2000.
[2] E.D. Berger, B.G. Zorn, and K.S. McKinley. Reconsidering custom memory allocation. In
Proc. of OOPSLA02, New York, NY, USA, 2002. ACM Press.
[3] Armin Biere.
ccmalloc.
ETH Zurich, 2003. http://www.inf.ethz.ch/
personal/projects/ccmalloc/.
[4] S. Browne, J. Dongarra, N. Garner, G. Ho, and P. Mucci. A Portable Programming Interface
for Performance Evaluation on Modern Processors. The International Journal of High
Performance Computing Applications, 14(3):189204, 2000.
[5] N. Gauger, A. Walther, C. Moldenhauer, and M. Widhalm. Automatic differentiation
of an entire design chain with applications. In Jahresbericht der Arbeitsgemeinschaft
Stromungen mit Ablosung STAB. 2006.
[6] M. Gerndt and T. Li. Automated Analysis of Memory Access Behavior. In Proceedings of
HIPS-HPGC 2005 and IPDPS 2005, Denver, Colorado, USA, Apr 2005.
[7] A. Griewank, D. Juedes, and J. Utke. ADOL-C: A package for the automatic differentiation
of algorithms written in C/C++. ACM Trans. Math. Softw., 22:131167, 1996.
[8] G. Juckeland, M. S. Muller, W. E. Nagel, and St. Pfluger. Accessing Data on SGI Altix: An
Experience with Reality. In In Proc. of WMPI-2006, Austin, TX, USA, Feb 2006.
[9] Matthias Jurenz. VampirTrace Software and Documentation. ZIH, TU Dresden, Nov 2006.
http://www.tu-dresden.de/zih/vampirtrace/.
[10] Andreas Knupfer, Ronny Brendel, Holger Brunst, Hartmut Mix, and Wolfgang E. Nagel.
Introducing the Open Trace Format (OTF). In Proc. of ICCS 2006: 6th Intl. Conference on
Computational Science, Springer LNCS 3992, pages 526 533, Reading, UK, May 2006.
[11] Bernd Mohr. Standardization of event traces considered harmful: or is an implementation of object-independent event trace monitoring and analysis systems possible? Journal:
Environments and tools for parallel scientific computing, pages 103124, 1993.
[12] S. Schlenkrich, A. Walther, N.R. Gauger, and R. Heinrich. Differentiating Fixed Point
Iterations with ADOL-C: Gradient Calculation for Fluid Dynamics. In Proc. of HPSC
2006.
[13] S. Shende, A. D. Malony, A. Morris, and P. Beckman. Performance and memory evaluation
using tau. In Proc. for Cray Users Group Conference (CUG 2006), 2006.
[14] Owen Taylor. MemProf. http://www.gnome.org/projects/memprof/.
[15] Valgrind.org. Valgrind, 2006. http://valgrind.org/info/about.html.
Introduction
Performance analysis tools help users in writing ecient codes for current high
performance machines. Since the architectures of todays supercomputers with
thousands of processors expose multiple hierarchical levels to the programmer,
program optimization cannot be performed without experimentation.
To tune applications, the user has to carefully balance the number of MPI
processes vs the number of threads in a hybrid programming style, he has to
distribute the data appropriately among the memories of the processors, has to
optimize remote data accesses via message aggregation, prefetching, and asynchronous communication, and, nally, has to tune the performance of a single
processor.
Performance analysis tools can provide the user with measurements of the
the programs performance and thus can help him in nding the right transformations for performance improvement. Since measuring performance data and
storing those data for further analysis in most tools is not a very scalable approach, most tools are limited to experiments on a small number of processors.
To investigate the performance of large experiments, performance analysis has
to be done online in a distributed fashion, eliminating the need to transport
huge amounts of performance data through the parallel machines network and
to store those data in les for further analysis.
Periscope [5] is such a distributed online performance analysis tool. It consists of a set of autonomous agents that search for performance bottlenecks in a
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 847854, 2007.
c Springer-Verlag Berlin Heidelberg 2007
848
subset of the applications processes and threads. The agents request measurements of the monitoring system, retrieve the data, and use the data to identify
performance bottlenecks. The types of bottlenecks searched are formally dened
in the APART Specication Language (ASL) [1,2].
The focus of this paper is on Periscopes support for analyzing the memory
access behavior of programs. Periscope searches not only for bottlenecks related
to MPI and OpenMP, but also for ineciencies in the memory accesses. Novel
features are the support for identifying data structure-related bottlenecks and
remote memory accesses bottlenecks in ccNUMA systems.
The next section presents work related to the automatic performance analysis
approach in Periscope. Section 3 presents Periscopes architecture and its special
features for memory access analysis. Section 5 presents several case studies.
Section 6 gives a short summary.
Related Work
Several projects in the performance tools community are concerned with the automation of the performance analysis process. Paradyns [9] Performance Consultant automatically searches for performance bottlenecks in a running application
by using a dynamic instrumentation approach. Based on hypotheses about potential performance problems, measurement probes are inserted into the running
program. Recently MRNet [10] has been developed for the ecient collection of
distributed performance data.
The Expert [12] tool developed at Forschungszentrum J
ulich performs an
automated post-mortem search for patterns of inecient program execution in
event traces. Potential problems with this approach are large data sets and long
analysis times for long-running applications that hinder the application of this
approach on larger parallel machines.
Aksum [3], developed at the University of Vienna, is based on a source code
instrumentation to capture prole-based performance data which is stored in a
relational database. The data is then analyzed by a tool implemented in Java
that performs an automatic search for performance problems based on JavaPSL,
a Java version of ASL.
Architecture
849
The node agents access a performance monitoring system for obtaining the
performance data required for the analysis. Periscope currently supports two
dierent monitors, the Peridot monitor [4] developed in the Peridot project focusing on OpenMP and MPI performance data, and the EP-Cache monitor [8]
developed in the EP-Cache project focusing on memory hierarchy information.
The node agents perform a sequence of experiments. Each experiment lasts for
a program phase, which is dened by the programmer, or for a predened amount
of execution time. Before a new experiment starts, an agent determines a new set
of hypothetical performance problems based on the predened ASL properties
and the already found problems. It then requests the necessary performance data
for proving the hypotheses and starts the experiment. After the experiment,
the hypotheses are evaluated based on the performance data obtained from the
monitor.
The analysis of the applications memory access behavior is based on the EPCache monitor. It allows to access the hardware counters of the machine for
evaluating properties such as the example for L1-cache misses in Figure 2.
The example demonstrates the specication of performance properties with
ASL. The performance property shown here identies a region with high L1cache miss rate. The data model, specied in ASL too, contains a class SeqPerf
which contains a reference to a program region, a reference to a process, and a
number of cache-related and other metrics. The instance of SeqPerf available in
the property is called the propertys context. It denes the program region, e.g.,
a function, and the process for which the property is tested.
A novel feature of the EP-Cache monitor is its data structure support. The
node agent can request measurements for specic data structures via the
850
Measurement Request Interface (MRI) [6]. The node agent species a request
via the MRI Request function. Its parameters determine, for example, that L1cache misses are to be measured for array ACOORD in a specic parallel loop
in subroutine FOO. The request would be generated for a new experiment after
the property LC1MissRate was proven in the previous experiment.
To enable the node agent to specify such detailed requests, it requires static
information about the program, e.g., it has to know that array ACOORD is
accessed in that loop. This program information is generated by the source-tosource instrumenter developed for Periscope. It generates the information in an
XML-based format called the Standard Intermediate Program Representation
(SIR) [11]. This information is read by the agents when the analysis is started.
At runtime the MRI request for measuring cache misses for a data structure is
translated based on the debug information in the executable into the associated
range of virtual addresses. The measurement is certainly only possible, if the
hardware counters of the target processor do support such restricted counting.
Our main target architecture is the Altix 4700, which was installed at the Leibniz
Computing Centre in Munich. It consists of 4096 Itanium 2 processors which have
a very extensive set of hardware counters. On Itanium 2, such measurements
can be restricted to specic address ranges and thus can be executed without
program intrusion.
Another feature of the Itanium 2s hardware counters exploited by Periscope is
its support for counting memory accesses that last more than a given number of
clock cycles. One of these events is DATA EAR CACHE LAT8 for example. This
event returns the number of memory operations with a memory access latency
of more than eight cycles. Similar events return the number of operations with a
memory access latency greater than LAT4, LAT16, ... up to LAT4096 increasing
by powers of 2.
The counters can be used to identify those memory references that go to local
memory on the ALTIX 4700 processor or to remote memory. Since the ALTIX is
a ccNUMA system, all the processors can access all the memory, but, for ecieny
reasons, most of the accesses should be to the processors local memory. Thus it is
very important to identify non-local access behavior. Edmond Kereku specied
appropriate ASL performance properties for such situation in his dissertation [7].
Based on elementary properties such as the LC1Miss-Property and similar properties for individual data structures and for remote memory accesses,
851
higher-level properties can be deduced. For example, the Property UnbalancedDMissRateInThreads shown in Figure 3 gives information on the behavior across
multiple threads.
PROPERTY TEMPLATE UnbalancedDMissRateInThreads
<float MissRateParFunc(MRIParPerf, int)>
(MRIParPef mpp){
LET
const float threshold;
float mean = mean_func_t(MissRateParFunc, mpp);
float max = max_func_t(MissRateParFunc, mpp);
float min = min_func_t(MissRateParFunc, mpp);
float dev_to_max = max - mean;
float dev_to_min = mean - min;
float max_exec_time=MAX(mpp.parT[tid] WHERE tid IN mpp.nThreads);
IN
CONDITION : MAX(dev_to_max, dev_to_min) / mean > threshold;
CONFIDENCE : 1;
SEVERITY
: MAX(dev_to_max, dev_to_min) / mean * max_exec_time;
}
PROPERTY UnbalancedDMissRateInThreads<LC1DReadMissRateParFunc>
UnbalancedLC1DReadMissRatePar;
PROPERTY UnbalancedDMissRateInThreads<LC2DReadMissRateParFunc>
UnbalancedLC2DReadMissRatePar;
PROPERTY UnbalancedDMissRateInThreads<LC3DReadMissRateParFunc>
UnbalancedLC3DReadMissRatePar;
Fig. 3. Performance properties with a similar specication can be expressed via property templates. This template specied an unbalanced miss rate across threads in a
parallel OpenMP program.
Application Experiments
852
Table 1. The list of properties searched on the test applications running on the Inniband Cluster
Property
Threshold LU FT SWIM PGAUSS
LC2DMissRate
5% 0 14
0
5
LC2DReadMissRate
5% 0 3
0
5
LC3DMissRate
2% 13 3
7
0
LC3DReadMissRate
2% 1 3
2
0
test applications. We did not count the data structures, only the code regions.
The properties hold for a region if the cache miss rate is higher than 5% for LC2
and higher than 2% for LC3. Looking at the table, we can conclude that FT
and PGAUSS have more L2 cache problems, while LU and SWIM have more L3
cache problems.
We present here the results of Periscopes automatic search for the LU decomposition application in the form of search paths. The paths start from the
region where the search began and go down to the deepest subregion or data
structure for which the property holds. We omit the severities associated with
each evaluated property. Instead, we provide the measured miss rate for each
of the search paths regions and data structures. The search path which generated the property with the highest severity is marked italic. Please note that
in some of the tests, the region with the highest miss rate does not necessarily have the property with the highest severity. The severity is also dependant
on the regions execution time, which for presentation reasons is not shown
here.
The results of the automatic search for LU
Region
Application Phase( USER REGION, ssor.f, 109 )
( PARALLEL REGION, ssor.f, 120 )
( WORKSHARE DO, ssor.f, 126 )
rsd( DATA STRUCTURE, ssor.f, 4 )
Application Phase( USER REGION, ssor.f, 109 )
( PARALLEL REGION, ssor.f, 120 )
( LOOP REGION, ssor.f, 149 )
jacld( CALL REGION, ssor.f, 156 )
jacld( SUB REGION, jacld.f, 5 )
( WORKSHARE DO, jacld.f, 39 )
u( DATA STRUCTURE, jacld.f, 5)
Application Phase( USER REGION, ssor.f, 109 )
( PARALLEL REGION, ssor.f, 120 )
( LOOP REGION, ssor.f, 149 )
blts( CALL REGION, ssor.f, 165 )
blts( SUB REGION, blts.f, 4 )
LC3 miss
rate
0.038
0.029
0.029
0.038
0.037
0.030
0.030
0.040
0.038
0.037
0.052
LC3 read
miss rate
0.029
853
0.055
0.025
0.038
0.038
0.051
0.054
0.025
0.038
0.039
0.031
0.062
0.031
0.062
The search for L2 cache problems did not detect any problem, but as the
results show, LU has L3 cache problems. In addition to L3DMissRate, our
search rened to the property L3DReadMissRate too. As the search paths show,
LC3DReadMissRate does not hold on the majority of the regions where
LC3MissRate was proven. This means that most of the L3 cache problems in
LU are write-related problems.
The search path that discovered the most severe problem rened from the
application phase to subroutine buts. The data structure v is the source of the
problem. The most important data structures of LU are u and rsd. In fact, the
variable v is the local name for rsd which is passed to subroutine buts as a
parameter.
Summary
This paper presented the automatic memory access analysis support in Periscope.
Periscopes analysis is automatically running several experiments during a single program execution to incrementally search for performance bottlenecks. If no
repetitive program phases are marked by the user, the application can even be
automatically restarted to perform additional experiments.
Periscope uses this approach to search for data structure-related memory access bottlenecks as well as for remote memory access bottlenecks in ccNUMA
architectures. Due to the limitation in the number of performance counters of
current processors, multiple experiments are required to evaluate all the performance hypotheses for critical program regions.
The overall overhead of the analysis depends on the frequency measurements
are taken. In our tests, the regions to be analyzed where outer loops or parallel regions which have signicant runtime so that accesses to the performance
counters did not have signicant overhead.
854
References
1. T. Fahringer, M. Gerndt, G. Riley, and J. Tr
a. Knowledge specication for automatic performance analysis. APART Technical Report, www.fz-juelich.de/apart,
2001.
2. T. Fahringer, M. Gerndt, G. Riley, and J.L. Tr
a. Specication of performance problems in MPI-programs with ASL. International Conference on Parallel
Processing (ICPP00), pp. 51 - 58, 2000.
3. T. Fahringer and C. Seragiotto. Aksum: A performance analysis tool for parallel
and distributed applications. Performance Analysis and Grid Computing, Eds. V.
Getov, M. Gerndt, A. Hoisie, A. Malony, B. Miller, Kluwer Academic Publisher,
ISBN 1-4020-7693-2, pp. 189-210, 2003.
4. K. F
urlinger and M. Gerndt. Peridot: Towards automated runtime detection of performance bottlenecks. High Performance Computing in Science and Engineering,
Garching 2004, pp. 193-202, Springer, 2005.
5. M. Gerndt, K. F
urlinger, and E. Kereku. Advanced techniques for performance
analysis. Parallel Computing: Current&Future Issues of High-End Computing (Proceedings of the International Conference ParCo 2005), Eds: G.R. Joubert, W.E.
Nagel, F.J. Peters, O. Plata, P. Tirado, E. Zapata, NIC Series Volume 33 ISBN
3-00-017352-8, pp. 15-26a, 2006.
6. M. Gerndt and E. Kereku. Monitoring Request Interface version 1.0. TUM Technical Report, 2003.
7. E. Kereku. Automatic Performance Analysis for Memory Hierarchies and Threaded
Applications on SMP Systems. PhD thesis, Technische Universit
at M
unchen, 2006.
8. E. Kereku and M. Gerndt. The EP-Cache automatic monitoring system. International Conference on Parallel and Distributed Systems (PDCS 2005), 2005.
9. B.P. Miller, M.D. Callaghan, J.M. Cargille, J.K. Hollingsworth, R.B. Irvin, K.L.
Karavanic, K. Kunchithapadam, and T. Newhall. The Paradyn parallel performance measurement tool. IEEE Computer, Vol. 28, No. 11, pp. 37-46, 1995.
10. Ph. C. Roth, D. C. Arnold, and B. P. Miller. MRNet: A software-based multicast/reduction network for scalable tools. SC2003, Phoenix, November, 2003.
11. C. Seragiotto, H. Truong, T. Fahringer, B. Mohr, M. Gerndt, and T. Li. Standardized Intermediate Representation for Fortran, Java, C and C++ programs.
APART Working Group Technical Report, Institute for Software Science, University of Vienna, Octorber, 2004.
12. F. Wolf and B. Mohr. Automatic performance analysis of hybrid MPI/OpenMP
applications. 11th Euromicro Conference on Parallel, Distributed and NetworkBased Processing, pp. 13 - 22, 2003.
Abstract. This paper presents a new idea of how to reduce search space by a
general problem solver. The general problem solver, Regressive Total Order
Planner with Knowledgelet (RTOPKLT), can be used in intelligent systems or
in software agent architectures. Problem solving involves finding a sequence of
available actions (operators) that can transfer an initial state to a goal state.
Here, a problem is defined in terms of a set of logical assertions that define an
initial state and a goal state. With too little information, reasoning and learning
systems cannot perform in most cases. On the other hand, too much information
can cause the performance of a problem solver to degrade, in both accuracy and
efficiency. Therefore, it is important to determine what information is relevant
and to organize this information in an easy to retrieve manner.
Keywords: Software Agent, Artificial Intelligence, Planning.
1 Introduction
In recent years, as the computing power increases steadily, computers are used in a
wide variety of areas that need some intelligence. All of these intelligent systems need
a problem solver. The problems that require a problem solver include: (1) generating
a plan of action for a robot, (2) interpreting an utterance by reasoning about the goals
a speaker is trying to achieve, (3) allocating the use of resources, and (4)
automatically writing a program to solve a problem. The heart of a problem solver is a
planner. There are many kinds of planners [1]. In this paper, we present a regressive
planner that uses knowledgelet. A planner is complete if it is able to find every
solution given that solutions exist and that the planner runs to its completion. There is
a trade-offs between the response time and the completeness. We can improve the
response time of a planner by using some criteria to prune the search space. But that
will cause the loss of solutions to the problem. On the other hand, if a planner
searches every possible space, then, the search space grows exponentially with the
number of operators; the response time will deteriorate to the point of intolerable for
many problems of decent size. This paper offers a solution that gives us both the
quick response time and the completeness of solutions. The planner presented in this
paper has the following characteristics:
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 855863, 2007.
Springer-Verlag Berlin Heidelberg 2007
856
K. Jian
It has fast response time since the planner searches only relevant
operators,
It can use existing relational database to store pieces of
knowledge, called knowledgelet,
It is built on proven regressive idea and is conceptually simple
and complete,
It is general, which means that it can be used in different areas
with little or no changes.
The rest of the paper is organized as the following: section 2 gives the description
of knowledgelet; section 3 presents the regressive general problem solver,
RTOPKLT, and its application to a planning problem; and section 4 is the summary.
2 Knowledgelet
A knowledgelet is an object that describes the relevant knowledge of solving a
particular problem. By using knowledgelets, the search time by a problem solver can
be greatly reduced. A knowledgelet consists of slots of data structure and can be
stored in most existing databases (object databases will be the best fit).
2.1 Structure of Knowledgelet
Knowledgelet constrains the world states by giving only subsets of operators (actions)
that are relevant to the problem at hand. The search space can be an open world space
or a Local Closed World (LCW) space [2]. In a LCW space, we assume that we know
Slot4:
Language building blocks : LCW or open
world
Operator set -
857
858
K. Jian
forward from the initial world state until it finds the goal state. A regressive planner
searches backward from the goal state until it finds the initial state. As the search
progresses, both the forward search algorithm and the backward search algorithm
need to choose non-deterministically the next operator to consider. The planner
discussed in this paper belongs to the regressive type. Since the answer returned by
our planner is a total-ordered (represented by <<) sequence of operators, our
planner is called Regressive Total Order Planner with Knowledgelet (RTOPKLT).
In this planner, a returned plan is represented by two-tuple: <A, TOLO>. TOLO is
the total order of the operators that is selected by the planner. Internally, a plan is
represented by a three-tuple: <A, O, L>. A is a set of operators drawn from available
operator pool , O is a set of partial-ordering (represented by <) constraints over A,
and L is a set of causal links. For example, if A = {A1, A2, A3} then O might be the
set {A1 < A3, A2 < A3}. A good way of ensuring that the different operators
introduced for different goals wont interfere with each other is to record the
dependencies among operators explicitly within a partial plan. To record these
dependencies, we use a data structure called causal link [4]. A causal link is a data
structure with three fields: the first two fields contain pointers to plan operators (the
links producer, Ap, and its consumer, Ac); the third field is a proposition or conjunct
of propositions, Q, which is both an effect of Ap and a precondition of Ac. We can
write such a causal link as Ap (Q) Ac and store a plans links in the set L. Figure 2
is the algorithm for the regressive planner.
==========================================================
Algorithm: RTOPKLT
<A, TOLO>RTOPKLT_Algorithm (InitialState, Goal, KnowledgeletName, DomainName)
(a) Use either KnowledgeletName or DomainName to search existing knowledgelets.
If there is a applicable knowledgelet in the system and the partial plan exist
for the given InitialState and Goal
Return the plan directly
Else if there is a applicable knowledgelet in the system and the partial plan does
not exist for the given IntialState and Goal
1. Construct A0, A, initial A, O, L, agenda, and get - from
knowledgelet. All the added operator Ai satisfies the
following ordering:
A0 < Ai < A
2. Goto step (b), pass it a null plan, initial agenda, and the operator pool -.
Else if there is no applicable knowledgelet in the system
Return no answer.
(b) Call subroutine RTOP(<A, O, L>, agenda, -).
(c) Total order: TOLO = total ordering O.
(d) Termination: return <A, TOLO>.
RTOP(<A, O, L>, agenda, -)
859
==========================================================
Fig. 2. Regressive generic total order planner, RTOPKLT
In the above algorithm, there are four parameters. The InitialState is the starting
place where the planner begins to work. The Goal is the final state. The parameters
KnowledgeletName and DomainName are used by the planner to search the existing
knowledgelets. RTOPKLT starts with a search of knowledgelet based on the
knowledgelet name or the domain name. Based on the search result, it either returns a
plan immediately or invokes the subroutine RTOP. The return type is a two-tuple data
structure. A is a set of operators included in the executable plan and TOLO is the
total order constraint on A. The total ordering constraints, TOLO, is guaranteed to
be an action sequence that solves the planning problem [5].
The first parameter to subroutine RTOP is a three-tuple data structure: A is the
chosen operator for the partial plan, O is the set of ordering constraints, and L is the
set of causal link constraints. The second parameter is an agenda of goals that need to
be supported by links. Each item on the agenda is represented as a pair <Q, Ai> where
Q is a precondition or a conjunct of the precondition of Ai. The third parameter is ,
which is the pool of operators selected by a knowledgelet. To achieve simplicity, we
introduce two dummy operators: A0 and A. A0, the start operator, has no
precondition and has the initial state as its effect; A, the end operator, has no effect
and has the goal as its precondition. Subroutine RTOP always starts with a null plan:
A = {A0, A}, ordering constraint O = {A0 < A}, and causal link L = {}. Then,
860
K. Jian
RTOP makes non-deterministic choices of operators until all the conjuncts of every
operators precondition have been supported by causal links and all the threatened
links have been protected from possible interferences. In the rest of the paper, we use
~ to mean a condition is not true.
3.1 Example of Applying the RTOPKLT
Lets use an example to illustrate how the RTOPKLT planner works. We use the
following simple but illustrative planning problem. The following is the problem
statement:
Example 1 (block world)
This problem involves a robot operating in a closed room. There are three blocks of
equal size labeled as A, B, and C. There is a table that supports blocks. The robot may
be commanded to move blocks one at a time, placing them on the table or on top of
other blocks. Blocks may only be stacked one atop the other and the robot can easily
reach all of the blocks. Suppose the exact position of the blocks on the table are not
important and that there is enough room for all the blocks to be resting on the table at
the same time. The initial state is A and B are on the table; C is on top of A. The goal
state is A on top of B; B is on top of C; and C is on table.
Start
(on c a)
(clear b)
(clear c)
(on a table)
(on b table)
3.a. the null plan
(on a b)
(on b c)
(clear a)
(on c table)
End
A
C
A
B
B
Fig. 3. The null plan, initial state, and goal state for block world example
Figure 3.b is the visual representation of the initial state and the goal state. The
RTOPKLT starts by constructing a null plan as shown in figure 3.a.
3.2 Solution to the Problem When There Is a Partial Plan
If there is a solution existing in the applicable knowledgelet, then the RTOPKLT
will return a solution immediately. The line (a) will return a plan of two-tuple <
A, TOLO>. One possible answer is: the operator set A contains {move-C-from-A-toTable, move-B-from-Table-to-C, move-A-from-Table-to-B}, and TOLO contains
{move-C-from-A-to-Table << move-B-from-Table-to-C << move-A-from-Tableto-B}.
861
<pre: none>A0<post: (on C A), (clear B), (clear C), (on A Table), (on B Table)>,
<pre: none>A0<post: (on C A), (clear B), (clear C), (on A Table), (on B Table)>,
<pre: (clear A), (on A B), (on B C), (on C Table)>A<post: none>,
A1 <pre: (clear C), (on C A)>move-C-from-A-to-Table<post: ~(on C A), (clear A), (on C
Table)>,
A2 <pre: (clear B), (clear C), (on B Table)>move-B-from-Table-to-C<post: (on B C),
~(clear C), ~(on B Table)>,
A3 <pre: (clear A), (clear B), (on A Table)>move-A-from-Table-to-B<post: (on A B),
~(clear B), ~(on A Table)>,
A4 <pre: (clear A), (on A C)>move-A-from-C-to-Table<post: (on A Table), (clear C), ~(on
A C)>,
A5 <pre: (clear C), (clear B), (on C Table)>move-C-from-Table-to-B<post: (on C B),
~(clear B), ~(on C Table)>,
A6 <pre: (clear B), (clear A), (on B Table)>move-B-from-Table-to-A<post: (on B A),
~(clear A), ~(on B Table)>.
Note: for every operator Ai, we have A0 < Ai < A.
A
O
L
Agenda
A0, A
A0 < A
none
<(clear A), A>, <(on A
B), A>, <(on B C), A>,
<(on C Table), A>
A0, A,
A0 < A
A2 (on B C) A
<(clear A), A>, <(on A
A2
A0 < A2
A0 (clear B) A2
B), A>, <(on C Table),
A2 < A
A0 (clear C) A2
A>
A0 (on B Table) A2
A0, A,
A0 < A
A2 (on B C) A
<(clear A), A>, <(on C
A2, A3
A0 < A2
A0 (clear B) A2
Table), A>,
A2 < A
A0 (clear C) A2
<(clear A), A3>, <(clear
A0 < A3
A0 (on B Table) A2 B), A3>, <(on A Table),
A3 < A, A2 < A3 A3 (on A B) A
A3>
A0, A,
A0 < A
A2 (on B C) A
<(clear A), A>, <(on C
A2, A3
A0 < A2
A0 (clear B) A2
Table), A>,
A2 < A
A0 (clear C) A2
<(clear A), A3>
A0 < A3
A0 (on B Table) A2
A3 < A
A3 (on A B) A
A2 < A3
A0 (clear B) A3
A0 (on A Table)A3
Iteration
1
862
K. Jian
Table 1. (Continued)
A0, A,
A2, A3,
A1
A0 < A
A0 < A2
A2 < A
A0 < A3
A3 < A
A2 < A3
A0 < A1
A1 < A
A1 < A2
A0 << A1 << A2
<< A3 << A
A2 (on B C) A
A0 (clear B) A2
A0 (clear C) A2
A0 (on B Table) A2
A3 (on A B) A
A0 (clear B) A3
A0 (on A Table) A3
A0 (clear C) A1
A0 (on C A) A1
A1 (clear A) A
A1 (clear A) A3
A1 (on C Table) A
Initially, the planner contains only null plan as shown in iteration 1 of the above
table. At this point, the agenda is: <(clear A), A>, <(on A B), A>, <(on B C), A>,
<(on C Table), A>. There are four choices for the immediate goal. As far as
completeness is concerned, it doesnt matter which one is chosen first. If the first
conditions take from agenda is (on B C) and the operator to support this condition,
Aadd, is move-B-from-Table-to-C, then all the values of parameters will be updated to
the values as shown in iteration 2. Aadd has three preconditions, they can either be
supported by conditions in the initial state or be put into agenda. In this instance, all
the preconditions are supported by the initial condition. We record this fact by adding
three causal links to L.
For iteration 3, suppose the planner selects the goal (on A B) from the agenda
and decides to instantiate a new operator 3, move-A-from-Table-to-B, as Aadd. If
operator 3 is put before operator 2, we will get a threat situation. We resolve threat by
promotion to order the threat after links consumer. In iteration 6, the planner returns
a totally ordered plan with two-tuples: <A={A0, A1, A2, A3, A}, TOLO=
{A0<<A1<<A2<<A3<< A}>. The total order uses notation << to indicate the
absolute order among chosen operators. In this iteration, the agenda is empty and the
algorithm terminates.
References
1. McDermott, D.: The 1998 AI planning systems competition, AI Magazine 21 (2) (2000)
35-55.
2. Bertino, E., Provetti, A., and Salvetti, F.: "Local Closed-World Assumptions for Reasoning
about Semantic Web Data", In Proceedings of the APPIA-GULP-PRODE Conference on
Declarative Programming (AGP 03), pages 314-323, 2003.
863
3. Gordon, A.: "The Representation of Planning Strategies", Artificial Intelligence 153 (1-2)
(2004) 287-305.
4. Akman, V., Erdogan, S., Lee, J., Lifschitz, V., Turner, H.: "Representing the Zoo World and
the Traffic World in the Language of the Causal Calculator", Artificial Intelligence 153
(1-2) (2004) 105-140.
5. Wilkins, D.: Practical Planning Extending the Classical AI Planning Paradigm, Morgan
Kaufmann, San Mateo, California, 1988.
6. Gray, R.: Agent Tcl: A flexible and secure mobile-agent system, In Mark Diekhans and
Mark Roseman, editors, Proceedings of the Fourth Annual Tcl/Tk Workshop (TCL 96),
Monterey, California, July 1996.
Abstract. In this paper two learning methods are presented: reinforcement learning and supervised rule learning. The former is a classical
approach to a learning problem in multi-agent systems. The latter is
a novel approach, according to the authors knowledge, which has several advantages. Both methods are used for resource management in a
multi-agent system. The environment is a Fish Bank game, where agents
manage shing companies. Both learning methods are applied to generate ship allocation strategy. In this article the system architecture and
learning processes are described and experimental results comparing the
performance of implemented types of agents are presented.
Keywords: Machine learning, multi-agent systems, resource management.
Introduction
Resource allocation is a vital problem in multi-agent systems. Agents try to realize theirs goals in a way that is as good as possible, whereas a cooperation may
be necessary to avoid an exhaustion of resources and appearing a crisis situation.
One of the main problems in the development of such systems is designing an
appropriate strategy for resource allocation.
Applying learning algorithms allows to overcome such problems. One can
implement an agent that is not perfect, but improves its performance. This is
why machine learning term appears in a context of agent systems for several
years. There are many learning methods that can be used to generate knowledge
or strategy. Choosing an appropriate one, which ts a given problem, sometimes
is a dicult task.
In multi-agent systems the most common technique is reinforcement learning [1]. It allows to generate a strategy for an agent in a situation, when the
environment provides some feedback after the agent has acted. Feedback takes
the form of a real number representing reward, which depends on the quality of
the action executed by the agent in a given situation. The goal of the learning
is to maximize estimated reward.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 864871, 2007.
c Springer-Verlag Berlin Heidelberg 2007
865
System Description
The Fish Banks game is originally designed for teaching people eective cooperation in using natural resources [7]. However; it suits using in multi-agent
systems very well [2,8]. The game is a dynamic environment providing all necessary resources, action execution procedures, and time ow represented by game
rounds. Each round consists of the following steps: ships and money update,
ship auctions, trading session, ship orders, ship allocation, shing, sh number
update.
Agents represent players that manage shing companies. Each company aims
at collecting maximum assets expressed by the amount of money deposited at
a bank account and the number of ships. The company earns money by shing
at sh banks. The environment provides two shing areas: coastal and deep-sea.
Agents can also keep their ships at the port. The cost of deep-sea shing is the
highest. The cost of staying at the port is the lowest but such ship does not
866
zy
B. Snie
nski
catch sh. Initially, it is assumed that the number of sh in both banks is close
to the banks maximal capacity. Therefore, at the beginning of game deep-sea
shing is more protable.
Usually exploration overcomes birth and after several rounds the number can
decrease to zero. It is a standard case of the tragedy of commons [9]. It is more
reasonable to keep ships at the harbor then, therefore companies should change
theirs strategies.
3.1
Agents
Four types of agents are implemented: reinforcement learning agent, rule learning
agent, predicting agent, and random agent. The rst one uses learned strategy to
allocate ships, the second one uses rules induced from the experience to classify
actions and chose the best one, third agent type uses previous shing results
to estimate values of dierent allocation actions, the last one allocates ships
randomly.
All types of agents may observe the following aspects of the environment:
arriving of new ships bought from a shipyard, money earned in the last round,
ships allocations of all agents, and shing results for deep sea and inshore area.
All types of agents can execute the following two types of actions: order ships,
allocate ships.
Order ships action is currently very simple. It is implemented in all types of
agents in the same way. At the beginning of the game every agent has 10 ships.
Every round, if it has less then 15 ships, there is 50% chance that it orders two
new ships.
Ships allocation is based on the method used in [2]. The allocation action is
represented by a triple (h, d, c), where h is the number of ships left in a harbor,
d and c are numbers of ships sent to a deep sea, and a coastal area respectively.
Agents generate a list of allocation strategies for h = 0%, 25%, 50%, 75%, and
100% of ships that belong to the agent. The rest of ships (r) is partitioned; for
every h the following candidates are generated:
1. All: (h, 0, r), (h, r, 0) send all remaining ships to a deep sea or coastal area,
2. Check: (h, 1, r 1), (h, r 1, 1) send one ship to a deep sea or coastal area
and the rest to the other,
3. Three random actions: (h, x, r x), where 1 x < r is a random number
allocate remaining ships in a random way,
4. Equal: (h, r/2, r/2) send equal number of ships to both areas.
The random agent allocates ships using one of the candidates chosen by random. Predicting agent uses the following formula to estimate the value of the
action:
v(a) = income(a) + ecology(a),
(1)
where income(a) represents the prediction of the income under the assumption
that in this round shing results will be the same as in the previous round,
ecology(a) represents ecological eects of the action a (the value is low if shing
867
begin
if it is the rst game then Q := 0;
a1 := random action; execute a1 ;
foreach round r > 1 do
xr := current state;
if random() > the probability of exploration then a := random action;
else ar := arg maxa Q(a, xr ); qr := Q(ar , xr );
execute ar ; xr+1 := state after action execution;
i:= income (money earned by shing - costs);
Qmax
r+1 := maxa Q(a, xr+1 );
:= Qmax
r+1 + I Q;
Q(ar , xr ) := Q(ar , xr ) + ;
end
end
Fig. 1. Algorithm used by the reinforcement learning agent
Learning Agents
(2)
868
zy
B. Snie
nski
begin
if it is the rst game then KB := ; T := ;
foreach round r do
if it is the rst game or round then a:= random action;
else a:= action with the highest rating using KB;
execute a; observe actions of other agents and results;
T := T {(best-action-data, good), (worst-action-data, bad)};
end
KB := generate knowledge from training examples T ;
end
Fig. 2. Algorithm used by the rule learning agent
(3)
where good(a) and bad(a) are numbers of rules, which match the action and
current environment parameters, with consequence good and bad, respectively,
and is a weight representing the importance of rules with consequence good.
If there is more then one action with the same value, one occurring earlier in
the list is chosen. As a consequence, actions with smaller h are preferred.
Training examples are generated from agents observations. Every round the
learning agent stores ship allocations of all agents, and the sh catch in the
previous round. The action of an agent with the highest income is classied as
good, and the action of an agent with the lowest income is classied as bad. If
in some round all agents get the same income, none action is classied, and as a
consequence, none of them is used in learning.
At the end of each game the learning agent uses training examples T , which
were generated during all games played so far, to learn a new classier (KB),
which is used in the next game.
To support rule induction the AQ21 program is used [11]. It is a machine
learning software that allows to generate attributional calculus rules for given
examples. In standard mode it produces a complete and consistent description of
the data, but it can also provide rules that are not complete and/or consistent.
The main advantage of this program is that the generated knowledge is easy to
interpret for human what makes the experimental results easier to check and can
be useful in Fish Bank application to teach people. Of course, other methods of
rule (or even classier) learning can be used.
3.3
Implementation
The software used in experiments is written in Prolog, using Prologix compiler [12]. Every agent is a separate process. It can be executed on a separate
machine. Agents communicate with the environment using Linda blackboard.
869
Experimental Results
Three series of experiments were performed to test how learning inuences the
agents performance. Four agents took part in every series. Each series consisted
of the sequence of 15 games and it was repeated ten times.
In the rst series there were three random agents and one reinforcement learning agent (with = 1 and = 0.1). The performance of agents measured as a
balance at the end of every game is presented in Fig. 3-a.
In the second series there were three random agents and one rule learning
agent (with weight = 1). The performance of these agents is presented in
Fig. 3-b.
In the third series one learning ( = 1), one predicting and two random agents
were used. The performance of agents is presented in Fig. 3-c.
In all experiments average balance of both types of learning agents increases
with the agents experience, while the performance of the predicting and random
agents decreases slightly (because of the learning agents competition). Reinforcement learning agent was a little bit worse then a rule learning agent, but tuning
of its parameters (, ) and taking into account actions of other agents during
learning should increase its performance.
Examples of rules learned are presented in Fig. 4. Capital letters represent
variables that can be unied with any value. Predicate member checks if its rst
argument belongs to the list that is a second argument. It is used to represent
an internal disjunction (expression of the form x = v1 v2 . . . vn ). Remaining predicates represent the catch in the previous round (prevCatchDeep,
prevCatchCoastal) and action (harbor, deep_coastal_ratio).
These rules (in the form of clauses) can be interpreted in the following way.
Clause (a): it is a bad decision to keep at a harbor 25, 50, or 75 percent of
ships if the previous catch at deep-sea is greater or equal to 16, and the previous
catch at coastal area is 10.
Clause (b): it is a good decision to send 100% ships to a deep sea or 75% to
a deep sea and 25% to a coastal area if previous catch at deep-sea is greater or
equal to 18, and smaller or equal to 21, and previous catch at coastal area is
smaller or equal to 10.
Experimental results show that the rule learning agent performance increases
rapidly at the beginning of the learning process, when generated rules are used
instead of a random choice. Next it increases slowly, because new examples do
not contain any signicant knowledge. The performance stabilizes at the end of
the process.
As we can see in Fig. 3-c, the predicting agent performs better then the
learning agent. It suggests, that there is a space for improvement of the learning
method. Further research is necessary to check if it is possible to learn such a
good strategy.
zy
B. Snie
nski
870
(a)
35
30
25
RLA
RA1
RA2
RA3
20
15
10
5
0
1
9 10 11 12 13 14 15
Game nr
(b)
(c)
40
35
30
25
LA
RA1
RA2
RA3
20
15
10
5
0
1
10 11 12 13 14 15
40
35
30
25
LA
PA
RA1
RA2
20
15
10
5
0
-5
Game nr
10 11 12 13 14 15
Game nr
Fig. 3. Comparison of performance of reinforcement learning agent (RLA), rule learning (LA) and other agents using random strategy of ship allocation (RA1, RA2, RA3)
or prediction (PA); values for learning and predicting agents are presented with the
standard deviation
(a)
rate(bad) :harbor(B),
member(B,[25,50,75]),
prevCatchDeep(C),
C >= 16,
prevCatchCoastal(10).
(b)
rate(good) :deep_coastal_ratio(B),
member(B,[100%-0%,75%-25%]),
prevCatchDeep(C),
C >= 18,
C =< 21,
prevCatchCoastal(D),
D =< 10.
Fig. 4. Examples of rules (in the form of Prolog clauses) learned by the agent
As we can see, both learning algorithms can be applied for learning resource allocation in a multi-agent system. Their performance is much better then a random
strategy, but there is still a space for improvement. Both of the techniques have
some advantages and disadvantages.
These two methods use dierent knowledge representation. Reinforcement
learning uses the action value function, which is dicult to analyze especially
in a case of a large domain. Rules are usually much easier to interpret (unless
871
References
1. Sen, S., Weiss, G.: Learning in multiagent systems. In Weiss, G., ed.: A Modern
Approach to Distributed Articial Intelligence. The MIT Press (1999)
2. Kozlak, J., Demazeau, Y., Bousquet, F.: Multi-agent system to model the shbanks
game process. In: The First International Workshop of Central and Eastern Europe
on Multi-agent Systems (CEEMAS99), St. Petersburg (1999)
3. H.Kitano, M.Tambe, P.Stone, M.Veloso, S.Coradeschi, Osawa, E., Matsubara, H.,
Noda, I., Asada, M.: The RoboCup synthetic agent challenge 97. In: International
Joint Conference on Articial Intelligence (IJCAI97), Nagoya, Japan (1997) 2429
4. Lashkari, Y., Metral, M., Maes, P.: Collaborative interface agents. In: AAAI.
(1994) 444449
5. Tesfatsion, L.: Agent-based computational economics: Growing economies from
the bottom up. Articial Life 8 (1) (2001) 5582
6. Stolfo, S.J., Prodromidis, A.L., Tselepis, S., Lee, W., Fan, D.W., Chan, P.K.: Jam:
Java agents for meta-learning over distributed databases. In: KDD. (1997) 7481
7. Meadows, D., Iddman, T., Shannon, D.: Fish Banks, LTD: Game Administrators Manual. Laboratory of Interactive Learning, University of New Hampshire,
Durham, USA (1993)
8. Sniezynski, B., Kozlak, J.: Learning in a multi-agent approach to a sh bank
game. In: Multi-Agent Systems and Applications IV: Proc. of CEEMAS 2005.
Volume 3690 of Lecture Notes in Computer Science. (2005) 568571
9. Hardin, G.: The tragedy of commons. Science 162 (1968) 12431248
10. Watkins, C.J.C.H.: Learning from Delayed Rewards. PhD thesis, Kings College,
Cambridge (1989)
11. Wojtusiak, J.: AQ21 Users Guide. Reports of the Machine Learning and Inference
Laboratory, MLI 04-3. George Mason University, Fairfax, VA (2004)
12. A. Majumdar, P. Tarau, J.S.: Prologix: Users guide. Technical report, VivoMind
LLC (2004)
Introduction
Vast amounts of money from the budgets of many companies are spent on costs
related to transport. In the case of some goods or services, these costs constitute
the most dominant element. A lot of companies oer shipping services or services
on demand, where it is necessary that the vehicle arrives at the destination
in a given period of time. Additionally, and especially in the case of motor
transport, it is dicult to predict the exact times of travel between locations.
This could be a consequence of changing trac volume, trac jams or some other
current unpredicted events. Therefore, the development of software tools which
make route planning and predicting travel times possible, takes on a very high
signicance. This will also allow the limiting of the use of means of transport and
total traversed distances, and will assure that the time and capacity constraints
can be achieved.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 872879, 2007.
c Springer-Verlag Berlin Heidelberg 2007
873
A lot of dierent transport problems like TSP, VRPTW or PDPTW in static and dynamic versions have been widely researched. The basis of the current
work constitutes a dynamic version of the PDPTW (Pickup and Delivery Problem with Time Windows). The PDPTW consists of the realisation of a set of
transport requests by a eet of vehicles. In PDPTW, it is assumed that by using
a eet of vehicles it is necessary to perform a set of transport requests described
by periods of time when operations of a pick up and a delivery may take place,
locations where the goods are picked up and where they must be delivered as
well as the quantity of commodities. The dynamic version of the problem concerns the requests arriving during the running of the system, a problem solving
algorithm that must be able to be started repeatedly, the variable constraints
related to time ow and performed operations of pickups and deliveries have to
be taken into consideration as well as making it necessary for the movement of
vehicles to be modeled.
In the version of the problem being analysed in this work, several extensions
to dynamic PDPTW were introduced. They are based on assessing uncertain
and changeable travel times between locations, which are additionally a result of
the formation of trac jams and them propagating onto neighbouring arcs. The
problem, extended in such a way, better suits the situations we may encounter
when planning the realisation of transport requests in practice. To solve the
problem, the multi-agent approach has been chosen.
The layout of this paper is as follows. Section 2 contains an overview of the
work being carried out within domains of transport planning and multi-agent
systems. Section 3 concerns the presentation of a model of a multi-agent system
for planning transport requests, while taking into consideration communication
between agents, modelling and the spread of trac jams and trac patterns.
Section 4 contains an overview of experiments carried out and the advantages
oered by communication between agents as well as trac patterns. Section 5
contains conclusions and plans for future research.
874
J. Kolak
freight and construction of the transport unit (composed of trucks and trailers
adjusted to the given needs [2]) as well as a problem decentralisation [9].
The next aspect being analysed in this paper is a problem of uncertainty related to travel times through the arcs. This problem is examined in particular by
the systems designed for city trac modelling. A very popular approach which is
the basis for dierent multi-agent realisations, is the Nagle-Schreckenberg model
[7]. Taking advantage of these systems and possessing information about city
trac, it is possible to estimate travel times in any given part of the route.
Model
The model presented in this work, besides solution optimisation methods focus
on the learning of the travel times and recognition of trac-jam patterns in the
road network. The model of the system consists of a set of agents (a dispatcher
and vehicles) and of the environment, where agents function (g. 1).
3.1
Environment
3.2
875
Agent-Dispatcher
Agent-Vehicles
The goal of agent-vehicle is to negotiate transport requests for realisation, determination using insertion algorithm to nd the best positions in the travel route
for adding new request points, request realisation and exploration of the road
networks to improve the quality of information about travel times. Agent-vehicle
AV k is represented by the following n-tuple (V k , Rk , Rpk , Rdk , P k , Prk , k , pk ,
g k , ckmax , ck , sk , AT , AT k ,rk ), where:
V k V actual location (the node where the agent currently is at present
or where it is currently aiming);
876
J. Kolak
Rk , Rpk , Rdk set of requests assigned for realisation, picked up and have
been realised (after delivery);
P k - planned route, represented as a series <pkj > where pkj =Vj ;
Prk - planned travel route which consists only of pickup or delivery points;
k - function which assigns the request points to be performed at given
locations to the points of the travel routes;
pk a special point in the travel route, describing the current position of the
vehicle;
g k goal function describing the functioning of an agent;
ckmax maximum capacity of vehicle;
ck current load, ck should be lower or equal to ckmax ;
sk strategy which is used by the agent to estimate travel times between the
nodes and to take into consideration the uncertainty of travel times (average
value of estimations, given probability of successful plan realisation);
AT knowledge concerning the estimated travel times through the arcs;
AT k knowledge concerning travel times through the given arcs adjusted by
the travel times coming from agent experiences (its times of travel through
the arcs during its movements) and information obtained from other agents;
rk parameter describing an inclination to take a risk, for a small value of
this parameter, the agent chooses the fastest known routes, for larger values,
the agent tries to explore the road networks and to supplement the data
about less explored arcs.
The quality of solution g k for the given vehicle AV k is described by eq. 1.
n
n
g k = i=1
pi c i=1
(fip + fid )
(1)
where: n number of requests to be realised by a vehicle, pi gain after realisation of request number, c costs caused by total distance travelled, fip , fid
penalties caused by lateness at the points of pickup and delivery of request i, ,
, weighting coecients;
Agent-vehicle performs the following actions:
actions related to request allocation: construction of route for a given set
of requests taking into consideration information about travel times and a
parameter describing the inclination to take a risk, route estimation, estimation of submitted proposition (it is described as a dierence between goal
function of agent after request acceptance and before request acceptance, the
agent may also inform that it is not able to realise the request), submitting
an oer of request realisation to agent-company or acceptance or rejection
of request;
actions related to vehicle movement: movement of vehicle, pickup realisation,
delivery realisation;
actions related to an updating of its own knowledge bases and those of
other agents: modication of route because of trac jam, modication of
knowledge base about travel times through the arcs AT k , sending of message
to agent-vehicles giving information on current travel times through a given
arc, observation of existing trac jams, acquiring information about trac
patterns.
3.4
877
Trac Jams
Trac Patterns
878
J. Kolak
trac-jam appearing on any given arc may verify whether a trac-jam appearing
on this arc was often associated with the appearances of trac jams on other arcs
contained in its planned route. If this is the case, the agent makes an attempt to
construct a diversion route also omitting the arcs threatened by the appearance
of trac-jams.
Experiments
The experiments were conducted with the goal of estimating the quality of the
system functionality depending on the selected behaviours of agents. In particular, the following aspects were considered:
dierent frequencies of messages exchanged between agent-vehicles, these
messages contained information about travel times through the arcs, the
other option taken into consideration was the lack of exchange of this kind
of information.
application of trac patterns which describe the dependencies between the
state of trac on the dierent pairs of arcs, the other option was to not take
this element into consideration
Fig. 2. Vehicle groups income a) dierent messages exchange frequencies Group1 and
no message exchange Group2 b) with and without patterns
Vehicles in the system were divided into two groups. The vehicles in the rst
group exchange information about the travel times through the given arcs. The
vehicles in the second group do not use this mechanism. As a method of estimating the quality of activities, the total income of vehicles in each group is
considered. Experiments proved (g. 4) that for almost each frequency of messages exchanged, the group which used this mechanism obtained better results.
The only exception was a case when the communication had the lowest frequency.
In this case the exchanged information might not be current and so has a limited
inuence on the improvement of the accuracy of trac description on this arc.
The results obtained for those vehicles using the patterns proved to give highest nancial income than those that did not. Because the quantities of performed
879
requests were similar in each case, the increase of income in the cases with
communication and with the patterns is caused by a more accurate estimation
of travel times which limits lateness and the consequent nancial penalties.
Conclusions
The system for solving the transport problem as an extension to the dynamic
PDPTW by uncertain travel times was realised. The experiments showed advantages resulting from the additional exchange of information among agents
concerning travel times and the application of trac patterns. Future work on
the system will have as its goal the improvement of the quality of obtained solutions and to make verication better. In particular, an elaborate set of tests
based on the benchmarks for static PDPTW is planned. The use of larger graphs
representing the road networks, which is a real city (roads e.g. in Krakw.) is
also planned.
Kind thanks to the Computer Science students at AGH-UST and the trainees
who contributed to the work on the pilot version of the system and especially to
M. Kwiecie, J. Rachwalik and Ch. Elmer.
References
1. Bachem, A., Hochstattler, W., Malich, M.: Simulated Trading A New Parallel Approach for Solving Vehicle Routing Problems. Proc. of Int. Conf. Parallel Computing: Trends and Applications, 1994.
2. Burckert, H.-J., Fischer, K., Vierke., G. : Transportation scheduling with holonic
MAS - the TELETRUCK approach. Third International Conference on Practical
Applications of Intelligent Agents and Multiagents (PAAM 98), 1998.
3. Fischer, K., Mller, J.P., Pischel, M.: Cooperative Transportation Scheduling: an
Application Domain for DAI. Applied Articial Intelligence, vol.10, 1996.
4. Gendreau, A., Guertin, F. , Potvin, J.Y., Sguin, R. :Neighborhood search heuristics
for a dynamic vehicle dispatching problem with pick-ups and deliveries. Rapport
technique CRT-98-10, Universit de Montral, 1998.
5. Li, H., Lim A.: A Metaheuristic for the Pickup and Delivery Problem with Time
Windows. Proceedings of 13th IEEE International Conference on Tools with Articial Intelligence (ICTAI01), USA, 2001.
6. Lim, H. , Lim, A., Rodrigues, B.: Solving the Pick up and Delivery Problem using
Squeaky Wheel Optimization with Local Search. Proceedings of American Conference on Information Systems, AMCIS 2002, USA.
7. Nagel, K., Schreckenberg, M.: A cellular automaton model for freeway trac, J.
Phisique I, 2(12), 1992.
8. Neagu, N., Dorer, K., Calisti, M.: Solving Distributed Delivery Problems with AgentBased Technologies and Constraint Satisfaction Techniques. Dist. Plan and Schedule
Management, 2006 AAAI Spring Symp., The AAAI Press, USA.
9. Dorer, K., Calisti, C.: An Adaptive Solution to Dynamic Transport Optimization,
Proceedings of the AAMAS05 industry track, Utrecht, The Netherlands, 2005.
Abstract. In this paper a graph transformation system with the parallel derivation is used to model the process of distribution and adaptation
for computer aided design. It is based on earlier research in formal language theory, especially graph grammars, and distributed models. The
motivation for the ideas presented here is given and possible ways of
application are described. A connection to the multi-agent model is also
presented.
Keywords: Graph transformations, grammar systems, design.
Introduction
881
One of the most useful representations in computer aided design systems is based
on graphs. The process of designing can then be seen as generating graphs representing some objects. In such situation introducing a method for the generation
of these graphs is needed. Moreover such a method must guarantee that graphs
it produces are valid in respect to a design problem being solved. In other words
each graph generated by a chosen method must be interpretable as a design.
Usually it must also satisfy some design criteria or constraints. Graph transformations are a method fullling all above requirements.
In real world problems the object being designed are complex and consist of
many parts which in turn can contain subparts. Thus the graphs representing
such an object can become large structures dicult to maintain, update and analyze. Yet in many situations design decisions dealing with one part of the design
are independent from the rest of it. Thus it seems reasonable to distribute the
graph representing such a design into a number of local graphs, each representing a part of design, and a master graph containing the overall structure of the
design. Each local graph can be generated by its own graph transformation system Graph transformation system can thus be considered a set of autonomous
systems paralelly cooperating with the user (designer) thus behaving itself like
an agent.
Using such an approach, two major problems inherent to graph-based representations in design problems, namely the size of graphs and number of transformation rules, can be reduced.
Moreover there is nothing to prevent local graph representing a part of a
design to be a master one either for other graphs representing subparts of this
part (what introduce hierarchy inside graph) or the common (replicated) part
of the graph structure. The second one will be discussed in the paper in a more
detailed way.
Distribution of the representation solves mentioned problems but also generates new ones. As each graph represents a part of a design then there can
exist elements that can be represented in dierent subgraphs. Thus a need for
synchronization any modication of their environment arises. For example in
a house design a system expected to design a oor layout of a house with the
whole infrastructure and furnishing each room can be considered a valid part of
a design and the master graph would contain the structure of the house layout
and common elements. The way a furniture is placed in one room is independent
from whatever happens to be placed in other rooms, thus each one can be designed by an autonomous agent. Yet some common elements exist. Doors can be
one of such elements as they are shared by two rooms and thus changing their
position must be synchronized inside both graphs representing these rooms, thus
a need for communication between agents arises.
Moreover there are some limited resources to be placed in the house. For example it may be specied that two TV sets must be placed in the house with
882
883
1. a notion for describing some constrains in applying the grammar production in a given context (as analogy to the OCL correlated with algebraic
transformation [5]);
2. the ability to synchronize, at the level of the single production, in order to
wait until some specied sequence of events appears;
3. the ability to designate some sequence of productions associated with the
given event.
Let us start to formalize these demands.
Denition 1. A derivation control diagram is a sixtuple S = (N, I, F, T, ,
W ait), where:
N - is the set of control points,
I N and F N are accordingly, the set of starting control points and the
set of nal control points,
T is a set of transitions of the form (k, q, P, SF ), where:
k,q are control points,
P is either a production or symbol when no production is associated
with this transition,
SF is a semantic action described,
= {k }, it the set of selectors, ,
W ait = {W aitk }, is the set of synchronizing functions.
The synchronizing function W aitk awaits evaluation of the selector k until
the condition it specied is fullled. Selector k points: a production, a semantics
action and a destination control point associated with the chosen transition.
Initially activity is associated with each starting point; when the transition is
red the activity is moved to the destination one. If the source control point
is a starting one then the activity is also replicated to it; if the destination
node is the nal one the activity is cancelled. We assume that for any k the
successful evaluation of the synchronizing function W aitk and of the selector
k is made in the critical section over the graph G and the set of request .
These assumptions imply not only the correctness of the sequential evaluation
of the conditions dened inside control point, but also exclude busy form of
waiting during evaluation of the awaiting synchronizing conditions. Like in Ada
language, in the worst case all the synchronizing conditions are evaluated after
any modication G or . If no transition are red to modify G or the evaluation
is suspended until some new request r appears ( = {r} )). The semantic
function SF (associated with the transition)
enriches external request set (requesting some actions either of the designing
system or the user),
removes the request, that is serviced, from ,
evaluate parameters of the right-hand graph of the production P. Production
P is applied to current graph G and new graph H is created
884
In the approach presented in this paper, we use labelled and attributed graphs to
represent structures of design objects as they allow us to express multi-argument
relations between objects parts. Attributing is used to represent features of
885
S
=
S
S
P
D
P
S
S
P
D
D
P
3
S
objects and relations between them. Attributes represent properties (for example
size, position, colour or material) of elements corresponding to a given node or edge.
The graphs representing designs may be dynamically generated by means
of so called graph grammars [15]. Intuitively, such a grammar is a system of
graph transformations, which consist of formal rules called productions. Each
production is composed of a left-hand side. The left-hand side is replaced by the
right-hand one only if it appears in the graph to be transformed. In each step
a production is applied to a current graph. The sequence of such replacements,
which starts from the initial graph, is called a derivation process.
Yet in real world design problems it is dicult, if not impossible, to dene
such an order of application a priori.
Designing is an incremental process of applying changes, evaluating and correcting designs. Moreover it must adapt to changes in design requirements that
are not always known before the process starts. Note that it is very important
that DCD is able to designate the derivation process by responding to events
rather then following a predened route. Each event generates one or more requests sent to other DCDs. For example adding a replace to a single room may
require moving doors, which belong to two dierent rooms and thus appropriate
requests must be generated; both DCDs (controlling graph representing these
rooms) must react to them. Let consider this example in detail. Figure 2 depicts
a graph representing a part of a house layout during a design process. It consist
of three local graphs, representing three rooms. The replicated (shared) elements
are placed in gray part of each graph and connected by dashed lines (it means
that a connection is established by appropriate attribute(s) used in the request)
Now a designer wants to add a replace to a room 2. Such an operation is local
to the room 2 and is done by applying an appropriate production locally. Local
application of productions has been widely and thoroughly presented in other
papers [6] so it will be skipped here. While doing it a designer nds that the
best location for the replace collides with the doors. So a decision is taken to
remove the doors. A production Pr is applied that performs this action (shown
886
Padd
Premove
:=
:=
S
D
in g. 3a). But the doors are shared by the room 2 with the room 3. So the
request remove door(...) must be sent to DCD controlling the graph describing
the room 3. This DCD should react to the appearance of the remove door(...)
request by applying the production Pr to remove the door from the room 3.
In both cases the removed doors can be the only door in the room. Checking the
existence of the correct communication from the room can be made in our model
with help of semantic action. If the communication stays correct than current
thread of control can be moved to the starting point, otherwise it is moved to
the part of DCDs responsible for negotiation adding dierent doors in other
walls. Such doors are added by applying production shown in g. 3b.
Conclusions
References
1. Borkowski A., Grabska E., Nikodem P, and Strug B. Searching for Innovative
Structural Layouts by Means of Graph Grammars and Esvolutionary Optimization,
Proc. 2nd Int. Structural Eng. And Constr. Conf, Rome (2003).
2. E. Csuhaj-Varj
u, J. Dassow, J. Kelemen and Gh. Paun. Grammar systems. A
grammatical approach to distribution and cooperation. Topics in Computer Mathematics 8. Gordon and Breach Science Publishers, Yverdon, 1994.
3. E. Csuhaj-Varj
u: Grammar systems: A short survey, Proceedings of Grammar Systems Week 2004, 141-157, Budapest, Hungary, July 5-9, 2004.
887
1 Introduction
Analysis of criminal behaviour is a central issue in Criminology. Such an analysis
involves different types of aspects, such as biological, psychological, and social
aspects, and their mutual interactions; e.g., [2, 5, 8, 10, 12]. Usually such analyses are
made by criminologist researchers or practitioners in a nonexact manner, without
using any formalisation or computer support.
In recent years, much progress has been made in biological, cognitive, and social
complex dynamical systems modelling within areas such as Artificial Intelligence,
Computational Biology and Computational Cognitive Science. The methods
developed in these areas usually address one of the disciplines separately. However,
when an integrated modelling approach is applied, this opens the perspective to
address the analysis of criminal behaviour in more exact, formalised and computer
supported manners. Thus, the way is paved to a more solid basis and computer
support for simulation and analysis in the area of Criminology. The research
discussed here explores this potential. It identifies on the one hand useful knowledge
from the literature in Criminology and the different disciplines underlying it e.g.,
[6, 8, 10], and on the other hand it exploits dedicated agent-based and dynamical
systems modelling techniques [3]. The aim is, by combining these, to develop an
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 888895, 2007.
Springer-Verlag Berlin Heidelberg 2007
889
In this paper, Section 2 discusses a specific type of criminal used as a case study:
the violent psychopath. In Section 3 the simulation model based on LEADSTO is
presented. Section 4 discusses some of the simulation results for the case study.
Finally, Section 5 is a discussion about the approach and its possible applications.
890
shallow emotions, lack of insight and remorse, anxiety or guilt in relation to their
antisocial behaviour. They are usually callous, manipulative individuals, incapable of
lasting friendship and of love. They use charm, manipulation, intimidation and
violence to control others and to satisfy their own selfish needs. Lacking in
conscience and in feelings for others, they violate social norms and expectations
without the slightest sense of guilt or regret.
Biological Aspects. Psychopaths have a specific deviation in the brain: the frontal
lobes are disconnected from the limbic area. The frontal lobes are the area of the brain
that is concerned with conscience, guilt and remorse and is the residence of our
morality. The limbic area generates feelings [8, p.157]. Because of the disconnection,
psychopaths cannot express their emotions in terms of feeling. They know the
difference between right and wrong, but the difference does not matter for them. It is
hard for a psychopath to understand or imagine the pain of other people [8, p.158].
Furthermore, violent psychopaths have a high level of testosterone, which makes
them more aggressive in their behaviour, and low levels of serotonin, which makes
them easily bored and impulsive, and stimulates them to seek sensation. Once they
reach adulthood, their condition is incurable. However, only a fraction of psychopaths
develops into violent criminals [8, p. 267].
desire
?
observed
stimuli
intention
action
belief in reason
belief in
opportunity
891
Note that the beliefs used here both depend on observed stimuli, as shown in
Figure 1. Furthermore, stands for the conjunction operator (and) between the atomic
state properties (depicted below by an arc connecting two (or more) arrows).
A second submodel is used to determine desires, needed as input for the BDImodel. This submodel incorporates various biological and psychological aspects and
their interactions. The biological and psychological aspects involved are of different
types. On the one hand there are qualitative aspects, such as anatomical aspects
concerning brain deviations (e.g., the absence of certain connections). On the other
hand there are quantitative aspects, such as biochemical aspects concerning
testosterone levels. To model these, both logical relations (as in qualitative modelling)
and numerical relations (as in differential equations) have been integrated in one
modelling framework.
A third submodel determines how observations lead to beliefs in an opportunity as
needed as input for the BDI-model. The notion of opportunity is based on criteria as
indicated in the Routine Activity Theory by [5]: a suitable target and the absence of a
suitable guardian. This was specified by the following dynamic property in
LEADSTO format:
a1,a2:AGENT l:LOCATION
observes(a1,agent_of_type_at_location(a1,criminal,l))
observes(a1,agent_of_type_at_location(a2,passer_by,l))
[ a3:AGENT not observes(a1,agent_of_type_at_location(a3,guardian,l)) ]
belief(opportunity(assault))
892
Moreover, the brain is configured for the following characteristics: a sensitivity for
alcohol, a high anxiety threshold (value 8), a high excitement threshold (value 8), a
low positive emotional attitude towards others and a low negative emotional attitude
towards others. In addition, some inputs for the model over time are provided:
initially there is a rather neutral stimulus present, which is not very dangerous nor
exciting (both aspects have value 2), alcohol is used during the whole scenario, no
Prozac is taken and no Ritalin is taken. Finally, the initial characteristics of the
environment are: the violent psychopath agent is at location A, there is a guardian at
location C, and one at location E and there is a passer-by at location F, and one at
location G.
In Figure 2, the results of the chosen example simulation trace (run) for the
behaviour of the violent psychopath agent are shown. In these pictures, time is on the
horizontal axis; the state properties are on the vertical axis. A dark box on top of
the line indicates that the property is true during that time period, and a lighter box
below the line indicates that the property is false. Figure 2 depicts the
biological/psychological aspects of the behaviour of the violent psychopath agent
within the example simulation trace, such as change of serotonin levels, and the
generation of beliefs, desires and intentions. Due to space limitations the
environmental aspects are not shown in Figure 2.
As can be seen in Figure 2, the initial settings mentioned above lead to the
following characteristics in the psychopath criminal type agent: the insulin level is
high, the anxiety threshold is high (value 8), the excitement threshold is high (value
10), the person is sensitive for alcohol, and his emotional attitude towards others, both
positive and negative, is low. In addition, he has a low neural self. This leads to a low
me-other differentiation, a low empathy, and eventually, a low theory of mind. His
high initial level of testosterone leads to a high current level of testosterone, which in
turn leads to high aggressiveness. Moreover, the medium level of initial adrenalin
leads to a medium current level of adrenalin (value 5). This current level of adrenalin,
combined with a low level of oxytocine, leads to a low desire to cope anxiety and a
low desire to ignore anxiety. Furthermore, the low initial serotonin level (value 3)
leads to a low current level of serotonin (also value 3). This current level of serotonin
combined with sensitivity for alcohol and taking alcohol leads (at time point 2) to a
decreased level of serotonin (value 0). The current serotonin level also leads to an
increased excitement threshold (from value 10 to value 13). The high insulin level
leads to a low blood sugar level and a high impulsiveness.
When the excitement threshold is higher than the strength of the observed stimuli,
then the violent psychopath agent will become bored. This leads to the desire for
actions with strong stimuli at time point 4. As a result of this desire and several other
characteristics mentioned above, the agent eventually (time point 5) develops a desire
for an action that is characterised by the following aspects: a low theory of mind, high
aggressiveness, a low desire to cope with anxiety, a low desire to ignore anxiety, a
high desire for actions with strong stimuli, high impulsiveness, a low positive attitude
towards others and a low negative attitude towards others. This desire, combined with
the belief that assaulting someone will lead to the satisfaction of such a desire, leads
to the intention to assault someone at time point 6.
893
In the meantime, the criminal agent has started to move around in the world. In
total, in this example trace, which was kept simple for reasons of presentation, there
are 5 agents in the world: agent 1 representing the considered criminal type (i.e., the
violent psychopath agent described in Figure 2, agents 2 and 3 are guardians, and
agents 4 and 5 are passers-by (i.e., potential victims). These agents are moving
through the world. For example, agent 1 starts at location A (time point 0), then
moves to location B (time point 4), and so on. When the criminal agent meets a
passer-by without a guardian present then the criminal agent will believe that there is
an opportunity to assault the passer-by. There is an opportunity to assault a passer-by
at time point 15. This opportunity has arisen because agent 1 is at location G and
agent 5 is also at this location, and there are no guardians present (agents 2 and 3 are
respectively at location E and H). At time point 43 there is another opportunity for
894
5 Discussion
This paper proposes a method to analyse the behaviour of certain criminal types as
described in the literature, based on integrated dynamic modelling. As a case study,
this method has been applied to analyse the behaviour of the violent psychopath
criminal type. It has been found that the model indeed shows the behaviour as
described for this criminal type. The model takes into account a cognitive modelling
approach to the preparation of actions based on beliefs, desires and intentions (BDI)
in a more or less standard manner e.g., [11]. However, for this standard BDI-model,
desires and beliefs about opportunities are required as input. Concerning the former,
additional biological, cognitive, and emotional aspects have been used as a basis to
generate desires. For the latter, additional social aspects have been used to generate
beliefs on opportunities based on two specific criteria (suitable target, presence of
guardian) as indicated by the Routine Activity Theory in [5]. For the generation of
desires various other aspects as described in the literature are taken into account,
varying from specific types of brain deviations, and serotonin and testosterone levels,
to the extent to which me-other differentiation and a theory of mind were developed.
Thus the model integrates biological, cognitive and socially related aspects in the
process of desire generation, as extracted from literature, in particular [6, 8, 10].
These involve both qualitative aspects (such as the anatomy of brain deviations, and
presence or absence of agents at a specific location in the world), and quantitative
aspects (such as distances and time durations in the world and hormone ands
neurotransmitter levels).
To achieve the integration of different aspects, the proposed modelling approach
(based on the LEADSTO language) integrates qualitative, logical aspects and
quantitative, numerical aspects. This integration allows one to exploit techniques from
both areas. As the latter type of aspects are fully integrated in the former, this results
in a declarative specification for which automated methods for logical analysis can be
exploited. Conversely, as the former types of aspects are fully integrated in the latter,
a simulation environment is offered that extends the usual possibilities to simulate
dynamical systems using numerical methods, by incorporating qualitative elements.
895
Only few papers on simulation of criminal behaviour can be found in the literature,
and they usually address a more limited number of aspects than the modelling
approach presented in this paper. For example, Brantingham and Brantingham, [4]
discuss the possible use of agent modelling approaches to criminal behaviour in
general, but do not report a specific model or case study. Moreover, in [1] a model is
presented with emphasis on the social network and the perceived sanctions. However,
this model leaves the psychological and biological aspects largely unaddressed. The
same applies to the work reported in [7], where the emphasis is on the environment,
and police organisation.
References
1. Baal, P.H.M. van (2004). Computer Simulations of Criminal Deterence: from Public
Policy to Local Interaction to Individual Behaviour. Ph.D. Thesis, Erasmus University
Rotterdam. Boom Juridische Uitgevers.
2. Bartol, C.R. (2002). Criminal Behavior: a Psychosocial Approach. Sixth edition. Prentice
Hall, New Jersey.
3. Bosse, T., Jonker, C.M., Meij, L. van der, and Treur, J. (2005). LEADSTO: a Language
and Environment for Analysis of Dynamics by SimulaTiOn. In: Eymann, T. et al. (eds.),
Proc. of the 3rd German Conference on Multi-Agent System Technologies, MATES'05.
LNAI 3550. Springer Verlag, 2005, pp. 165-178. Extended version to appear in
International Journal of Artificial Intelligence Tools, 2007.
4. Brantingham, P. L., & Brantingham, P. J. (2004). Computer Simulation as a Tool for
Environmental Criminologists. Security Journal, 17(1), 21-30.
5. Cohen, L.E. and Felson, M. (1979). Social change and crime rate trends: a routine activity
approach. American Sociological Review, vol. 44, pp. 588-608.
6. Delfos, M.F. (2004). Children and Behavioural Problems: Anxiety, Aggression,
Depression and ADHD; A Biopsychological Model with Guidelines for Diagnostics and
Treatment. Harcourt book publishers, Amsterdam.
7. Melo, A., Belchior, M., and Furtado, V. (2005). Analyzing Police Patrol Routes by
Simulating the Physical Reorganisation of Agents. In: Sichman, J.S., and Antunes, L.
(eds.), Multi-Agent-Based Simulation VI, Proceedings of the Sixth International Workshop
on Multi-Agent-Based Simulation, MABS'05. Lecture Notes in Artificial Intelligence, vol.
3891, Springer Verlag, 2006, pp 99-114.
8. Moir, A., and Jessel, D. (1995). A Mind to Crime: the controversial link between the mind
and criminal behaviour. London: Michael Joseph Ltd; Penguin.
9. Quay, H.C. (1965). Psychopathic Personality: Pathological Stimulation-Seeking. American
Journal of Psychiatry, vol. 122, pp. 180-183.
10. Raine, A. (1993). The Psychopathology of Crime: Criminal Behaviors as a Clinical
Disorder. New York, NY: Guilford Publications.
11. Rao, A.S. & Georgeff, M.P. (1991). Modelling Rational Agents within a BDI-architecture.
In: Allen, J., Fikes, R. and Sandewall, E. (eds.), Proceedings of the Second International
Conference on Principles of Knowledge Representation and Reasoning, (KR91). Morgan
Kaufmann, pp. 473-484.
12. Turvey, B. (1999). Criminal Profiling: an Introduction to Behavioral Evidence Analysis.
Academic Press.
1 Introduction
The most profound technologies are those that disappear. They weave themselves
into the fabric of everyday life until they are indistinguishable from it. Mark Weiser
described his vision of ubiquitous computing in his seminal 1991 [1].
Pervasive computing involves many related technologies which include mobile
computing, embedded computing and distributed system etc. Promiscuously each of
these technologies has some features which are also the features of pervasive computing. Many research papers depict pervasive computing as calm computing technology
[2], user distraction free computing [3] etc. This exposes the problem that the essence
of pervasive computing is ambiguous, which is an obstacle for further research work.
This problem has brought the attention of some foreseeable researchers and in paper [4] a conceptual model for pervasive computing is presented to facilitate the discussion and analysis. However, it doesnt show the essence of pervasive computing
and it is more of a logical layered architecture of pervasive computing systems.
In this paper, we present a Rich Servants Service (RSS) Model for pervasive computing to reveal the essence of pervasive computing, distinguish it from analogical
research fields and evaluate the implementations of pervasive computing systems.
The rest of this paper is organized as follows. In section 2, current researches and
the key characteristics of pervasive computing are studied. In section 3 the RSS
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 896903, 2007.
Springer-Verlag Berlin Heidelberg 2007
897
Model for pervasive computing is demonstrated and the related technologies are integrated into it. The interpretation and evaluation capability of the model and the problems exposed by it are described. In section 4 a prototype system spawned from the
model and a demo system are presented. The paper is concluded in section 5 with the
key contributions of this model emphasized.
898
3 RSS Model
The concept of pervasive computing sounds graceful and the features such as invisibility and pervasive have been explicitly stated. But many features can also be found
in other technologies such as mobile computing and distributed system etc. These
technologies are good ways to solve the problems rather than the leading actor after
the following discussion. Pervasive computing includes these fields but it is not the
simple addition of them. As Artificial Intelligent classifies itself in one sentence: To
build a system that has Intelligence like human, the perfect model for AI is humans
intelligence. Theres an absence of the counterpoint for pervasive computing which
can help us comprehend the essence of pervasive computing. Here we present such an
ideal model Rich Servants Service Model for pervasive computing.
The model presents an ideal pervasive computing world described by Mark Weiser
[1] at conceptual level. Correspondingly, Fig.1 presents the physical model of pervasive computing. People live in such environment are like ancient rich men. A lot of
digital servants (hollow man-flag) reside everywhere around the user (black-solid
man-flag), listen, look, learn and analyze the masters context and take action
proactively.
We define Rich Servants Service Model as: The user in Rich Servants Service
Model is called master. Digital entity that provides services for a master is called
servant. Each master is surrounded by a dynamic set of servants. Servants must be
smart, careful, proactive, inexhaustible, cooperative, faithful, invisible at most time
and deployed all around the environment. The services cover from masters daily life
899
to working. In one word, the model is a satisfied rich man serviced by a world of
smart digital servants. This is what pervasive computing is more than mobile computing or distributed system. The essence of pervasive computing can be presented
clearly by this model. It has the following features:
900
manager or some smart space manager with demands by the user. All these elements
communicate with each other through some kind of servant-language. We have
designed a context exchange language, Context-C for it which will be demonstrated in
another paper.
RSS Model has strong interpretation power to show the essence of pervasive computing clearly and thoroughly. RSS Model for pervasive computing is like human
intelligence for AI research. The emphasis in the model is servant that is something
human-being. RSS Model uses the real smart human servant system to analogize
pervasive computing which clearly illustrates the characteristics of the pervasive
computing and distinguishes it from distributed system, mobile computing etc. and
also clarifies their relationships.
Pervasive. As mentioned before, users can get into the information world anywhere and anytime by various methods. RSS Model contains many smart spaces and
servants deployed everywhere the user might visit. The valets (servants with the master-body) in the mobile device carrying with the master are aware of the local environment (communicate with waiter) and provide the most proper services. To avoid
getting into the design level of RSS Model here we will not discuss how valets accomplish this task in detail. But a lot of communication protocols have already been
invented to do things like this. For example [13] has discussed how foreign devices
can express the data requirement to a local environment through a profile. In a word,
computing is pervasive in RSS Model.
Nomadic. User and computing can move anywhere when required. The user has a
set of valets moving with the master. They cooperate to log out from the old environment, enter a new one and provide continuous services. Waiters at the door help
users movement. For example, environment and mobile device communicate by
service discovery mechanism such as JINI or UPNP at implementation level.
Invisibility. User has no sense of the servants system around him because servants
are hidden in physical spaces such as coffee cup, TV set, camera and even the wall.
This is one aspect of invisibility. Whats more, all elements are intelligent. Servants
are able to perceive the masters emotion status and the intention expressed by his
action. All the smart targets are reached by the human servants.
Perception and smartness. RSS Model is inherently smart and sensitive. The digital servants are designed to have some intelligence of human.
When using this model to evaluate the implementations of pervasive computing
systems, the more similar it is to RSS Model, the better it is a pervasive computing
system. A good servant must perceive masters status and try to provide services
proactively [3].
Due to the strong interpretation power of the model, it distinguishes pervasive
computing from other research fields. Paper [6] discusses the relationship of pervasive computing and distributed system, mobile computing. It compares the distributed
system with pervasive computing at remote communication, fault tolerance, high
availability, remote information access, and security which are indirect. However,
when investigating these problems through RSS Model, the difference can be told
more easily. Pervasive computing has particular consideration at these problems
themselves. For example, remote communication in distributed system is to aid two
computer systems working together at the system level. In pervasive computing the
communication takes place between the servants to serve their master better. The
901
former focused on computer systems interaction and the latter must take place at a
higher level. It focuses on the master The computing is around the user . The
latter may be implemented based on the former technology but it is not pervasive
computing itself.
Likewise we could use RSS Model to distinguish pervasive computing from mobile computing. Paper [6] also compares the two research fields. Mobile computing
focused on mobile networking, mobile information access, support for adaptive
applications, system-level energy saving techniques, location sensitivity. In pervasive computing we must have mobile computing support for the user wandering
around. Furthermore for mobile information access, RSS Model can exploit new
problems that need to be solved rather than mobile computing. RSS Model shows
that the digital servant must utilize its intelligence to automatically accomplish the
masters data requirement by discovering and analyzing to satisfy the master. There
must be research fields on how to exchange mobile information based on the users
context.
In a word, RSS Model takes great advantage over other models to grasp the essence of pervasive computing. It can tell the difference between pervasive computing
and other research fields.
There are several research problems revealed by RSS Model.
Pervasive Computing involves all aspects of computer systems from operating systems to applications as many research papers have described. The tri-layer model of
Mhlhauser [14] covers from Gadgets, integration to UC world. RSS Model implies
these layers. Thinking deeply into RSS Model, we can find many research problems
across these layers spontaneously. Below well discuss some of those problems.
Impact on Operating System. Servants in RSS Model are smart for we define it to
be context-aware, self-tuning, etc. which impacts underlying operating system deeply.
Traditional operating system theory has many conclusions that are inferred from the
assumption application process is not able to predict its resource requirement and
action which was true in old days. For example, Banker-algorithm for deadlockavoid needs the resource requirement in advance to calculate the deadlock risk.
Virtual memory maintenance predicts the coming page-using-sequence with LRU
algorithm etc. While for servant process in RSS Model, it takes action according to
the context-based prediction of user and does act in a predictable mannerthey have
changed their behavior. There must be changes for operating system accordingly.
The integration of AI and Pervasive Computing. Digital servants are human being. The AI technology will play an important role in pervasive computing.
Intention-oriented Schedule. When master moves his focus, smart servants will
evaluate the masters intention and change state to meet the masters demands. It
schedules the action according to the masters intention even though the whole smart
space behaves in the same way. The problems on how to quantify users intention and
what schedule policy is proper remain to be studied.
Therere a lot of other problems that can be found by RSS Model. For example, the
software manufacturer is most likely to provide servant that is trained to a particular
customer, the language used by different servant country is need to be defined.
902
Fig. 3. A pervasive computing prototype designed based on RSS Model with the concepts of
RSS Model mapped to a design model directly and perfectly
We choose mobile agents system to allow the valet to move into infrastructure and
vice versa. To demonstrate the power of the model, a demo system with simulated
environment is developed for the life and work in the university.
The scenario is that Prof. Li will give a C language class to the students as scheduled from 2:00pm to 4:00pm, Dec 20th, 2006 in room #306 of the 10th teaching
building.
At 1:45pm, Prof. Li finishes editing the presentation for the class and leaves his office for the 10th building. The office is a private space for Prof. Li. The edited presentation will be routed to the target space automatically by his valet. Probably Prof. Li
will cross several public/private spaces before he reaches the building.
When he enters the buildings public space, the servant which detects Prof. Lis location will send the information to the manager, and his valet moves to the buildings
infrastructure after proper conversation. The valet works with the local manager to
find the scheduled class information for Prof. Li. Accordingly it asks another type of
valet to move into the infrastructure of room #306, download the presentation and
warm up the projector. These valets are trained well and perform the work proactively. Private information of Prof. Li is concealed against other software entities.
When Prof. Li enters the room, everything is ready for him.
If Prof. Li feels sick after entering the building, he goes to the hospital directly.
The valet that resides in the room will get this information from Prof. Lis manager. It
will print a line in the projector so that all the students know it. The system handles all
the situations smartly and silently.
903
5 Conclusions
In this paper we present a target model for a better understanding in pervasive computing. The key proposition is that pervasive computing essentially aims at building a
virtual servants service system for users. The widely deployed digital smart servants
wait in coffee-cup, TV set and even the wall, carefully perceive the masters intention
and emotion to provide the services in advance based on the information they get or
infer. The master usually is unaware of the existence of digital servants.
We can use RSS Model to distinguish pervasive computing from other relevant research fields such as distributed system and mobile computing etc. It accommodates
these fields into pervasive computing. RSS Model can evaluate an implementation of
pervasive computing to see how smart it achieves. It can correct the current researchs
direction, find new research problems and provide a primary solution.
The future work includes finding more problems about pervasive computing with
this model and bringing more intelligence into the prototype.
References
1. Weiser, M.: The Computer for the 21st Century. Scientific American, September, 1991.
2. Rekimoto J et a1 Adding another communication channel to reality Experience with a
chat augmented conference. In Proceedings of ACM SIGCHI Conference on Human
Factors in Computing Systems Los Angeles U SA 1998 384391
3. Garlan D Siewiorek D P Smailagic A, Steenkiste P Project aura: Toward distractionfree pervasive computing IEEE Pervasive Computing 2002 1(46) 22 31
4. Ciarletta L t Dima A: A Conceptual Model for Pervasive Computing IEEE 2000
5. Debashis Saha ,Amitava Mukherjee: Pervasive Computing: A Paradigm for the 21st Century. IEEE 2003
6. Satyanarayanan M. Pervasive Computing: Vision and Challenges. IEEE Personal Communications, 2001, 8(4): 1017
7. Dertouzos M . The future of computing. Scientific American 1999 282(3) 5263
8. Norman D.The Invisible Computer Cambridge Mass MIT Press 1999
9. Brumitt B, Meyers B Krumm J Kern A Shafer s EasyLiving: Technologies for intelligent environments Handheld and Ubiquitous Computing Bristol UK 2000
30 36
10. Esler, M., Hightower, J., Anderson, T., and Borriello, G. Next Century Challenges: DataCentric Networking for Invisible Computing: The Portolano Project at the University of
Washington Mobicom 99.
11. Hopper. A. Sentient Computing, The Royal Society Clifford Paterson Lecture, AT&T
Laboratories Cambridge, Technical Report 1999.12, 1999
12. Kindberg, T., Barton, J.: A Web-based nomadic computing system,Computer Networks
35(4), pp 443456, March 2001.
13. Cherniack M Franklin M J Zdonik S Expressing user profiles for data recharging
IEEE Personal Communications Special Issue on Pervasive Computing 2001 8(4)
3238
14. Mhlhauser M.:Ubiquitous Computing and Its Influence on MSE. IEEE, 2000
Abstract. The loss of population diversity is one of the main problems in some
applications of evolutionary algorithms. In order to maintain useful population
diversity some special techniques must be used, like niching or co-evolutionary
mechanisms. In this paper the mechanisms for maintaining population diversity
in agent-based multi-objective (co-)evolutionary algorithms are proposed. The
presentation of techniques is accompanied by the results of experiments and comparisons to classical evolutionary multi-objective algorithms.
Keywords: Agent-based evolutionary computation, maintaining population diversity, sexual selection, flock-based operators.
1 Introduction
Evolutionary Algorithms (EAs) are techniques inspired by Darwinian model of evolutionary processes observed in nature. They have demonstrated in practice eciency
and robustness as global optimization techniques. However, sometimes the loss of useful population diversity limits the possibilities of their application in some areas (like,
for example, multi-modal optimization, multi-criteria optimization, dynamic problems,
etc.)
In the case of multi-objective optimization problems loss of population diversity may
cause that the population locates in the areas far from Pareto frontier or that individuals are located only in selected areas of Pareto frontier. In the case of multi-objective
problems with many local Pareto frontiers (defined by Deb in [5]) the loss of population diversity may result in locating only local Pareto frontier instead of a global one.
In order to avoid such negative tendencies special mechanisms are used, like niching
techniques, co-evolutionary algorithms and sexual selection.
Evolutionary multi-agent systems (EMAS) are multi-agent systems, in which there
are three basic mechanisms needed in order to start and maintain evolutionary processes:
limited resources that agents need for all activities and for which they compete, and
agents abilities to reproduce and die. Basic EMAS model also suers from the negative
tendency to loss the population diversity, however, as we will show in the following
sections, it can be equipped with additional mechanisms and operators which improve
the quality of obtained results. The general model of co-evolutionary multi-agent system
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 904911, 2007.
c Springer-Verlag Berlin Heidelberg 2007
905
(CoEMAS) [6] introduces additionally the notions of species, sexes, and interactions
between them. CoEMAS allows modeling and simulation of dierent co-evolutionary
interactions, which can serve as the basis for constructing the techniques of maintaining
population diversity and improving adaptive capabilities of such systems (for example
see [7]).
In the following sections mechanisms for maintaining useful population diversity
in classical evolutionary multi-objective algorithms are presented. Next, new techniques for (co-)evolutionary multi agent systems for multi-objective optimization are
proposed. The presentation of proposed techniques is accompanied with the examples
of selected experimental results and comparisons to classical multi-objective evolutionary algorithms.
906
of one criteria but on the basis of the weighted sum of all criteria [5]. Li proposed other
modifications to this algorithm [14]. The main dierence was that not only predators
were allowed to migrate within the graph but also preys could do it. The model of
co-operative co-evolution was also applied to multi-objective optimization ([12]).
Sexual selection results from co-evolution of female mate choice and male displayed
trait where females evolve to reduce direct costs associated with mating and keep them
on optimal level and males evolve to attract females to mating (sexual conflict) [9].
Sexual selection is considered to be one of the ecological mechanisms responsible for
biodiversity and sympatric speciation [9].
All the works on sexual selection mechanism for multi-objective evolutionary algorithms were focused on using this mechanism for maintaining population diversity.
Allenson proposed genetic algorithm with sexual selection for multi-objective optimization in which the number of sexes was the same as the number of criteria of the given
problem [1]. Lis and Eiben proposed multi-sexual genetic algorithm (MSGA) for multiobjective optimization [15] in which also one sex for each criterion was used. They
used special multi-parent crossover operator and child had the same sex as the parent
that provided most of genes. Bonissone and Subbu continued work on Lis and Eibens
algorithm. They proposed additional mechanisms for determining the sex of ospring
(random and phenotype-based) [3].
Co-evolution of species and sexes is the biological mechanism responsible for biodiversity and sympatric speciation. However the application of such mechanisms in
evolutionary multi-objective algorithms is still the subject of ongoing research and an
open issue.
907
is very desirable since agent creating new flock stands out in its original flock as
strange agenti.e. agent representing poorly sampled (at least by this very flock)
area of search space. Decision about the number of new cloned descendants created by
agent is an autonomous agents decision of course but it should ensure that flock does
not become extinct too early and on the other hand that there do not exist in the system
too many similar agents1 . In the simplest case eliminating/merging flocks operator can
be realized as follows: two flocks are being merged if their centers of gravity are located
closer than configured value and the dierence between their radiuses is smaller than
given parameter2 (both of these parameters can change adaptively).
1.4
2.35
35
2.3
1.3
30
1.1
Non-dominated count
1.2
Decision Dispersion
Objective dispersion
2.25
2.2
2.15
2.1
25
20
15
2.05
0.9
10
2
0.8
1.95
a)
50
100
150
200
250
300
350
400
450
500
550
Step number
b)
100
150
200
250
2.3
0.36
2.25
0.35
2.2
0.34
0.33
0.32
300
350
400
450
500
550
1.95
50
100
150
200
250
300
Step number
350
400
450
500
550
e)
150
200
250
300
350
400
450
500
550
500
550
90
80
70
60
50
40
1.9
0
100
Step number
2.1
0.3
50
100
2.05
2
c)
2.15
0.31
0.29
d)
50
Step number
Decision dispersion
Objective dispersion
0.37
5
0
30
0
50
100
150
200
250
300
Step number
350
400
450
500
550
f)
50
100
150
200
250
300
350
400
450
Step number
Fig. 1. Selected characteristics: objective dispersion (a,d), decision dispersion (b,e), number
of non-dominated individuals (c,f) obtained during solving ZDT-1 (a,b,c) and ZDT-2 (d,e,f)
problems
908
2.4
140
0.42
120
2.35
0.36
Decision dispersion
Objective dispersion
0.4
0.38
2.3
2.25
100
80
60
0.34
2.2
40
0.32
0.3
2.15
0
a)
50
100
150
200
250
300
350
400
450
500
550
Step number
0.38
50
100
150
200
250
300
350
400
450
500
550
12.5
c)
Step number
0.36
20
0
b)
12
100
150
200
250
300
350
400
450
500
550
500
550
Step number
70
11.5
0.34
50
80
0.3
0.28
0.26
Decision dispersion
Objective dispersion
11
0.32
10.5
10
9.5
9
60
50
40
8.5
0.24
0.22
0.2
d)
30
7.5
7
0
50
100
150
200
250
300
Step number
350
400
450
500
550
e)
20
0
50
100
150
200
250
300
350
400
Step number
450
500
550
f)
50
100
150
200
250
300
350
400
450
Step number
Fig. 2. Selected characteristics: objective dispersion (a, d), decision dispersion (b, e), number of
non-dominated individuals (c, f) obtained during solving ZDT-3 (a, b, c) and ZDT-4 (d, e, f)
problems
Reproduction
Agent of sex B
Copy
of child
Environment
Death
Selection
of partner for
reproduction
Agent of sex A
Migration
909
in the system). This resource is distributed (proportionally to the fitness values of the
agents) by each node of the graph among the agents that are located in that node.
a)
Population size
500
Population size
Chromosome length
10
Chromosome length
256
64
Crossover probability
0,3
Crossover probability
0,1
Mutation probability
0,2
Mutation probability
Metrics
M1
M3
c)
0,05
0,2
0,6
M2
M2
M2
SPEA
Obayashi Tamaki
problem problem
0.08
0.001
1.69
1.75
3.47
2.38
1.50
1.49
5.80
18.67
NSGA
Obayashi Tamaki
problem problem
0.003
0.10
1.81
1.84
1.58
4.38
0.64
0.41
5.20
1.09
b)
CoEMAS
Obayashi Tamaki
problem problem
0.011
0.15
2.01
1.37
1.64
4.03
0.83
0.39
5.98
2.24
Metrics
M1
M3
d)
0,05
0,2
0,6
M2
M2
M2
SPEA
Obayashi Tamaki
problem problem
0.13
0.32
0.74
0.55
4.38
0.54
1.13
1.28
7.17
14.29
100
0,1
NSGA
Obayashi Tamaki
problem problem
0.44
0.0
1.96
2.55
3.95
7.63
0.39
0.15
2.98
2.11
CoEMAS
Obayashi Tamaki
problem problem
0.56
0.32
2.00
2.79
3.88
8.21
0.62
0.29
3.14
2.87
Fig. 4. Comparison of the proposed CoEMAS with sexual selection, SPEA and NSGA algorithms
according to the M1 , M2 and M3 metrics (table a includes selected configuration parameters for
results presented in table c, and table b includes parameters for results presented in table d)
Each time step, the agents can migrate within the environment (they lose some resource during the migration). The agent can migrate only to the node connected with
the one within which it is located. The agent chooses the node to which it will migrate on the basis of the amount of resource of that node. When the agent is ready for
reproduction (i.e. the amount of its resource is above the given level) it sends the information to the agents of other sexes located within the same node. The other agents
can response to this information when they are also ready for reproduction. Next, the
agent which initiated the reproduction process chooses one (or moreit depends on
the number of sexes in the system) of the agents of opposite sex on the basis of the
amounts of their resources (the probability of choosing the agent is proportional to the
amount of its resource). The ospring is created with the use of intermediate recombination and Gaussian mutation [2]. Next, the child is compared to the individuals from
the non-dominated individuals set of the node in which parents and child are located. If
none of the individuals from this set is dominating the child then the child is copied to
the set (all individuals dominated by the child are removed from the set).
First experiments, which results are presented in this section, were aimed at investigating if SCoEMAS can be applied to multi-objective optimization problems and
whether it works properly (agents do not die o). Proposed co-evolutionary multi-agent
system with sexual selection mechanism for multi-objective optimization has been tested
using, inter alia, Tamaki and Obayashi test functions [18]. Additionally, results obtained
with the use of SCoEMAS was compared to those obtained by classical evolutionary
algorithms for multi-objective optimization: niched-pareto genetic algorithm (NPGA)
[5] and strength pareto evolutionary algorithm (SPEA) [19].
To compare proposed approach with implemented classical algorithms three metrics M1 , M2 , and M3 ([19]) were used. These metrics are defined as follows. If A X
denotes a non-dominated set, 0 denotes appropriately chosen neighborhood parameter and denotes the given distance metricthen three functions M1 (A), M2 (A)
and M3 (A) can be introduced to asses the quality of A regarding the decision space:
910
1
M1 (A) = |A|
aA min{a x | x X p } (the average distance to the Pareto optimal set
1
X p ), M2 (A) = |A1|
aA |{b A | a b > }| (the distribution in combination with the
N
number of non-dominated solutions found), and M3 (A)=
i=1 max{ai bi | a, b A}
(the spread of non-dominated solutions over the set A, N is the number of objectives).
Presented results (fig. 4) show that SPEA is the best of all compared algorithms. It
turned out that proposed SCoEMAS with sexual selection mechanism can be used for
multi-objective problems however more research is needed to obtain better results. The
fact that results were worse than in the case of classical evolutionary multi-objective
algorithms results from the tendency to maintain high population diversity what could
be very useful in the case of hard dynamic and multi-modal multi-objective problems
(as defined by Deb [4]).
5 Conclusions
Maintaining population diversity is one of the main problems in some applications of
EAsespecially in multi-modal optimization, multi-objective optimization and adaptation in dynamic environments. In the case of multi-objective optimization problems
the loss of population diversity may result in locating only some parts of Pareto frontier
or locating a local Pareto frontier instead of the global one in the case of multi-modal
multi-objective problems.
In this paper overview of selected techniques and algorithms for maintaining
population diversity in (co-)evolutionary multi-agent systems for multi-objective optimization were presented. Proposed mechanisms worked very well from maintaining
population diversity (and in the consequence improving the quality of the Pareto frontier approximation) point of view. It is worth to mention in this place that presented
flock-based operators as well as co-evolutionary approach with sexual selection are
only selected examples of the whole range of mechanisms that can be easily introduced
into (co-)evolutionary multi-agent system and that can significantly improve the quality
of obtained solutions. Other mechanisms and models such as: semi-elitist evolutionary
multi-agent system, distributed frontier crowding, co-evolutionary multi-agent system
with host-parasite model, co-evolutionary multi-agent system with predator-prey model
should be mentioned, but because of the space limitation they are omitted in this paper. Of course, further research is needed in order to improve proposed mechanisms. It
seems that full potential abilities of these systems could be fully observed in the case of
hard multi-modal multi-objective problems in which many local Pareto frontiers exist.
The future research will also include the application of other co-evolutionary mechanisms like, for example, co-operative co-evolution.
References
1. R. Allenson. Genetic algorithms with gender for multi-function optimisation. Technical
Report EPCC-SS92-01, Edinburgh Parallel Computing Centre, Edinburgh, Scotland, 1992.
2. T. Back, D. Fogel, and Z. Michalewicz, editors. Handbook of Evolutionary Computation.
IOP Publishing and Oxford University Press, 1997.
911
3. S. Bonissone and R. Subbu. Exploring the pareto frontier using multi-sexual evolutionary algorithms: An application to a flexible manufacturing problem. Technical Report
2003GRC083, GE Global Research, 2003.
4. K. Deb. Multi-objective genetic algorithms: Problem diculties and construction of test
problems. Evolutionary Computation, 7(3):205230, 1999.
5. K. Deb. Multi-Objective Optimization using Evolutionary Algorithms. John Wiley & Sons,
2001.
6. R. Drezewski. A model of co-evolution in multi-agent system. In V. Mark, et al., editor,
Multi-Agent Systems and Applications III, volume 2691 of LNCS, pages 314323, Berlin,
Heidelberg, 2003. Springer-Verlag.
7. R. Drezewski and L. Siwik. Multi-objective optimization using co-evolutionary multi-agent
system with host-parasite mechanism. In V. N. Alexandrov, et al., editor, Computational
Science ICCS 2006, volume 3993 of Lecture Notes in Computer Science, pages 871878,
Berlin, Heidelberg, 2006. Springer-Verlag.
8. C. Fonseca and P. Fleming. Genetic algorithms for multiobjective optimization: Formulation,
discussion and generalization. In Genetic Algorithms: Proceedings of the Fifth International
Conference, pages 416423. Morgan Kaufmann, 1993.
9. S. Gavrilets. Models of speciation: what have we learned in 40 years? Evolution,
57(10):21972215, 2003.
10. P. Hajela and C. Lin. Genetic search strategies in multicriterion optimal design. In Structural
optimization 4, pages 99107, 1992.
11. J. Horn, N. Nafpliotis, and D. E. Goldberg. A niched pareto genetic algorithm for multiobjective optimization. In Proceedings of the First IEEE Conference on Evolutionary Computation, pages 8287, Piscataway, New Jersey, 1994. IEEE Service Center.
12. A. Iorio and X. Li. A cooperative coevolutionary multiobjective algorithm using nondominated sorting. In K. Deb, et al., editor, Genetic and Evolutionary Computation - GECCO
2004, volume 3102-3103 of LNCS, pages 537548. Springer-Verlag, 2004.
13. M. Laumanns, G. Rudolph, and H.-P. Schwefel. A spatial predator-prey approach to multiobjective optimization: A preliminary study. In A. Eiben, et al., editor, Parallel Problem
Solving from Nature PPSN V, volume 1498 of LNCS. Springer-Verlag, 1998.
14. X. Li. A real-coded predator-prey genetic algorithm for multiobjective optimization. In
C. M. Fonseca, et al., editor, Evolutionary Multi-Criterion Optimization, Second International Conference (EMO 2003), Proceedings, volume 2632 of LNCS. Springer-Verlag, 2003.
15. J. Lis and A. E. Eiben. A multi-sexual genetic algorithm for multiobjective optimization. In
T. Fukuda and T. Furuhashi, editors, Proceedings of the Third IEEE Conference on Evolutionary Computation, pages 5964, Piscataway NJ, 1996. IEEE Press.
16. S. W. Mahfoud. Niching methods for genetic algorithms. PhD thesis, University of Illinois
at Urbana-Champaign, Urbana, IL, USA, 1995.
17. N. Srinivas and K. Deb. Multiobjective optimization using nondominated sorting in genetic
algorithms. Evolutionary Computation, 2(3):221248, 1994.
18. D. A. Van Veldhuizen. Multiobjective Evolutionary Algorithms: Classifications, Analyses,
and New Innovations. PhD thesis, Graduate School of Engineering of the Air Force Institute
of Technology Air University, 1999.
19. E. Zitzler. Evolutionary algorithms for multiobjective optimization: methods and applications. PhD thesis, Swiss Federal Institute of Technology, Zurich, 1999.
Introduction
913
914
M. Paszy
nski
Computational Problems
915
three nite elements with interior nodes with polynomial orders of approximation set to 6 in two directions and 7 in the third direction. The load representing
computational cost over these elements for integration and elimination components is much higher then load over all other elements, see Fig. 2. In the second
Fig. 2. The load inbalance over the optimal hp mesh for the Fichera model problem
Fig. 3. The load inbalance over the optimal hp mesh for the SFIL problem
problem, there is one central nite element with polynomial order of approximation higher then orders in all other nite elements. The load over this element
is higher then load over all other nite elements, and it is equal to 5 in two
directions and 6 in the third direction, see Figure 3. In the third problem, there
are many singularities related to jumps in material data. There are many nite
elements with high polynomial orders of approximation and the load distribution
is quite uniform, see Figure 4.
This section presents an overview of FEM computations performed by integration and direct solve components over hp nite element meshes. The goal of this
916
M. Paszy
nski
Fig. 4. The load balance over the optimal hp mesh for the resistance heating problem
(2)
The nite dimensional basis of Vhp is constructed from polynomials of the rst
order in all directions at all nite elements vertices, from polynomials of order
{pj,K }j=1,..,12,K over all 12 edges of all nite elements K, from polynomials of
order {(pih,K , piv,K }i=1,...,6,K over all 6 faces j = 1, ..., 6 of all nite elements K
and from polynomials of order {(px,K , py,K , pz,K )}K over interiors of all nite
elements K. These polynomials are called nite element shape-functions and
their support is spread over adjacent elements only, see [3] for more details. The
global shape functions {eih,p }i=1,...,N are obtain by collecting all interior nite
elements shape functions, and by glueing together edge and face nite elements
shape functions, respectively. The total number of global shape functions is denoted by N . Thus, the approximated solution uh,p is represented as a linear
combination of global shape functions
uh,p = u0 +
uih,p eih,p .
(3)
i,...,N
917
The coecients {uih,p }i=1,...,N are called global degrees of freedom. and the discretized problem (2) can be rewritten as
uh,p u0 + Vh,p
.
(4)
j
j
i
i
i=1,...,N uh,p b eh,p , eh,p = l eh,p j = 1, ..., N
Tosolve problem
(4) it is necessary to build and solve the globalstiness
matrix
j
j
i
{b eh,p , eh,p }i,j=1,...,N , and the right-hand-side (rhs) vector {l eh,p }j=1,...,N .
The global stiness matrix and the rhs vector are aggregated
from local
vectors
j
i
and matrices, related to restrictions of integrals {b eh,p |K , eh,p |K }i,j=1,...,N ,
and {l ejh,p |K }j=1,...,N over particular nite elements K.
For hp meshes with high polynomial orders of approximation the construction
of these local contributions, performed by the integration component, is very
expensive.
Let us consider a single nite element with polynomial orders of approximation
in its interior equal to (p1 , p2 , p3 ). The size of the local matrix associated with
such a nite element is equal to the number of degrees of freedom nrdof of the
shape function of order (p1 , p2 , p3 ).
nrdof = (p1 + 1)(p2 + 1)(p3 + 1).
(5)
Here is the algorithm building the local matrix over such a nite element:
1 for i=1,nint1
2
for j=1,nint2
3
for k=1,nint3
4
for m=1,nrdof
5
for n=1,nrdof
6
aggregate local contribution to the stiffness matrix,
7
associated with m-th and n-th degrees of freedom
8
aggregate local contribution to the rhs vector
9
associated with m-th degrees of freedom
where nint1 = p1 + 1, nint2 = p2 + 1 and nint3 = p3 + 1 stand for number of
Gaussian quadrature interpolation points necessary to compute integral of polynomial of orders (p1 , p2 , p3 ). The computational complexity of the integration
algorithm is then nint1 nint2 nint3 nrdof nrdof = (p1 + 1) (p2 + 1)
(p3 +1)(p1 +1)(p2 +1)(p3 +1)(p1 +1)(p2 +1)(p3 +1) = (p1 +1)3 (p2 +1)3 (p3 +1)3 .
The load balancing is performed based on the computational cost estimation
load = (p1 + 1)3 (p2 + 1)3 (p3 + 1)3 .
(6)
When the hp mesh contains nite elements with load much higher than sum of
loads of all other elements, the optimal load balance is such that each expensive
nite element is assigned to a separate processor, and some number of other
processors is responsible for all other nite elements. For example in Figures 2
and 3 there are hp meshes balanced in optimal way into 6 or 4 processors, whilst
total number of available processors is 8 (2 or 4 processors are idle).
918
M. Paszy
nski
To overcome the problem with expensive integration over nite elements with
very high p, the following agent based strategy is proposed.
The multiple agents are executed to localize nite elements with highest polynomial orders of approximation. Multiple agents are then assigned to each high
order nite element. All agents assigned to a single high order element execute
parallel version of the integration algorithm. The following line is added in the
integration algorithm after i, j, k loops:
4 if((k+(j-1)*nint3+(i-1)*nint2*nint3) modulo NRA != RANK)continue
where N RA is the total number of agents assigned to high order node, and
RAN K is the identicator of current agent. In other words, the Gaussian quadrature integration loops are cut into parts, and each agent executes some portion
of loops. There are three phases of communication in this algorithm
To localize nite elements with highest order agents must exchange orders
of approximations of interiors of hp nite elements.
Agents must exchange data necessary to perform integration over Gaussian
quadrature points assigned to each agent. This involves only material data
for a nite element and geometry of an element represented as single double
precision Jacobian from change of variables from a physical nite element K
= [0, 1]3 element.
into the reference K
At the end of loops, agents must sum up resulting local matrices of size
nrdof 2 and vectors of size nrdof .
Fig. 5. Execution time of the integration algorithm with and without agents for 8 and
16 processors, for the Fichera model problem
The agent based hierarchical parallelization scheme was utilized to improve efciency of the integration component for the presented problems. Exemplary
results for the Fichera model problem are presented in Figure 5. There is 1 node
with (px , py , pz ) = (7, 7, 7) and 3 nodes with (px , py , pz ) = (6, 6, 7), compare
Figure 2. The domain decomposition, optimal with respect to load dened by
(6), is put each of these nodes into separate sub-domain, and all other nodes
into two other sub-domains. For 8 processors execution there are 2 processors
919
idle, whilst for 16 processors execution there are 10 processors idle. The application of agents to localize highly loaded nodes and eliminate them by performing
parallelization of loops gives ideal load balance, see Figure 5. The integration is
followed by forward elimination phase of the parallel multi-frontal direct solver
[5]. The cost of elimination over highly loaded element is nrdof 3 and the same
load inbalances as for the integration component occurs. It means that we were
able to improve eciency of the integration and elimination components by 50%,
since the elimination is still not well balanced. The further improvement of the
eciency can be achieved by switching to iterative solvers.
The agent based hierarchical parallelization with DD paradigm on the base level
and functional decomposition on highly loaded unbreakable pieces of data was
proposed. The computational agents were utilized to localize such highly loaded
unbreakable parts of domain, and to utilize functional decomposition by executing computational algorithm with parallelization of loops. The methodology has
been successfully applied to improve eciency of parallel hp FEM computations.
Acknowledgments. The work reported in this paper was supported by Polish
MNiSW grant no. 3 TO 8B 055 29.
References
1. Ciarlet P., The Finite Element Method for Elliptic Problems. North Holland, New
York (1994)
2. Rachowicz, W., Pardo D., Demkowicz, L., Fully Automatic hp-Adaptivity in Three
Dimensions. ICES Report 04-22 (2004) 1-52
3. Demkowicz L., Computing with hp-Adaptive Finite Elements, Vol. I. Chapman &
Hall/Crc Applied Mathematics & Nonlinear Science, Taylor & Francis Group, Boca
Raton London New York (2006)
4. Foster I., Desiging and Building Parallel Programs. www-unix.mcs.aml.gov/dbpp
5. Paszy
nski, M., Demkowicz, L., Parallel Fully Automatic hp-Adaptive 3D Finite
Element Package. Engineering with Computers (2006) in press.
6. Paszy
nski, M., Romkes, A., Collister, E., Meiring, J., Demkowicz, L., Willson, C.
G., On the Modeling of Step-and-Flash Imprint Lithography using Molecular Statics
Models. ICES Report 05-38 (2005) 1-26
7. Paszy
nski, M., Maciol, P., Application of Fully Automatic 3D hp Adaptive Code to
Orthotropic Heat Transfer in Structurally Graded Materials. Journal of Materials
Processing Technology 177 1-3 (2006) 68-71
1 Introduction
Evolutionary algorithms (EAs) are global optimization techniques based on principles
of Darwinian model of evolutionary processes. Although they have been widely, and
with great successes, applied to a wide variety of problems, EAs often suffer from loss
of population diversity. This limits the adaptive capabilities of EAs, may lead to locating
local optima instead of a global one, and limits the possibilities of application of EAs
in some areas (multi-modal optimization and multi-objective optimization are only two
examples). In the case of multi-modal optimization problems an EA without any special
mechanisms will inevitably locate a single solution [7]. Multiple solutions can be found
only after using some special multi-modal optimization techniques (so called niching
techniques [7]). Niching techniques are aimed at forming and stably maintaining subpopulations (species) that are located within the basins of attraction of local optima of
multi-modal problems.
The understanding of species formation processes (speciation) still remains the
greatest challenge for evolutionary biology. The biological models of speciation include
allopatric models (which require geographical separation of sub-populations) and sympatric models (where speciation takes place within one population without physical
barriers) [5]. Sympatric speciation may be caused by different kinds of co-evolutionary
interactions including sexual selection.
Sexual selection mechanism is the result of co-evolution of interacting sexes. Usually
one of the sexes evolve to attract the second one to mating and the second one tries to
keep the rate of reproductionand costs associated with iton optimal level (sexual
conflict) [5]. The proportion of two sexes (females and males) in population is almost
always 1 : 1. This fact combined with higher females reproduction costs causes, that
in the majority of cases, females choose males in the reproduction process according
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 920927, 2007.
c Springer-Verlag Berlin Heidelberg 2007
921
to some males features. In fact, different variants of sexual conflict are possible. For
example there can be higher females reproduction costs, equal reproduction costs (no
sexual conflict), equal number of females and males in population, higher number of
males in population (when the costs of producing a female are higher than producing a
male), higher number of females in population (when the costs of producing a male are
higher than producing a female) [6].
Evolutionary multi-agent system (EMAS) is the agent-based realization of evolutionary computation. In such system three basic mechanism, which are responsible for initiating and maintaining evolutionary processes, exist: agents are able to reproduce, die,
and there exist resources in the environment for which agents compete and which are
needed for all their activities. The general model of co-evolution in multi-agent system
(CoEMAS) [2] includes additionally the notions of species, sex and relations between
species and sexes in evolutionary multi-agent system. These additional mechanisms
can serve as a basis for creating techniques of maintaining useful population diversity
and speciation in systems based on CoEMAS model. Computational systems based on
CoEMAS model has already been applied with promising results to multi-modal optimization [3], and multi-objective optimization [4].
In the following sections the previous work on sexual selection as a population diversity maintaining and speciation mechanism for evolutionary algorithms is presented.
Next, the co-evolutionary multi-agent system with sexual selection mechanism is presented. In such a system two sexes co-evolve: females and males. Female mate choice
is based on values of some important features of selected individuals. Such system
is applied to multi-modal function optimization and compared to classical niching
techniques.
922
Reproduction
923
Agent of sex B
Environment
Death
Selection
of partner for
reproduction
Agent of sex A
Migration
deterministically selected points, ten randomly generated points are used in order to
evaluate hill-valley function value. The decision of acceptance is made on the basis of
distance between female and male in phenotype space (Euclidean metric is used). The
probability of acceptance is greater for more similar individuals. Also, the operator of
grouping individuals into reproducing pairs is introduced. If female chooses male for
reproduction they move together within the environment and reproduce during some
simulation steps.
The system was applied to multi-modal function optimization and run against four
commonly used test functions.
3.1 Experimental Results
The presented system with sexual selection mechanism was, among others, tested with
the use of standard Rastrigin and Schwefel multi-modal problems (see fig. 2)1 . In order
to give a kind of reference point two other algorithmsstandard EMAS and deterministic crowding (DC) [7]was run against the same set of test functions.
Rastrigin function used in experiments is given by:
f1 (x) = 10 n +
n
(1)
i=1
n
xi sin |xi |
(2)
i=1
The presented CoEMAS was also tested with the use of other multi-modal problems, but because of space limitations it is out of scope of this paper.
924
60
50
40
30
20
10
0
900
600
300
0
-300
-600
-900
400
200
-2
-400
-1
-200
-1
0
1
-200
0
200
-2
2
-400
400
a)
b)
40
DC
EMAS
SCoEMAS
20
nnm(t)
10
nnm(t)
10
30
12
14
DC
EMAS
SCoEMAS
a)
1000
2000
3000
t
4000
5000
b)
1000
2000
3000
4000
5000
Fig. 3. The number of located local minima neighborhoods of Rastrigin (a) and Schwefel (b)
functions by CoEMAS with sexual selection, EMAS, and deterministic crowding technique (average values from 20 experiments)
925
14
DC
EMAS
SCoEMAS
npd(t)
npd(t)
10
12
DC
EMAS
SCoEMAS
1000
2000
a)
3000
4000
5000
1000
2000
b)
3000
4000
5000
Fig. 4. The value of proportional species sizes indicator in experiments with Rastrigin (a) and
Schwefel (b) functions (average values from 20 experiments)
Figure 4 shows the average values of proportional species sizes indicator npd(t).
The npd(t) indicator is defined as follows:
min
|D
|
npd(t) =
g Ai (t)
(3a)
i=1
opt
j
1
niopt
g(A j (t)) =
j
j
1 |A (t)|niopt
|A(t)|
j
niopt
j
if A j (t) niopt
j
if A j (t) > niopt
f (x+j )
= min
|D |
k=1
f (x+k )
|A(t)|
(3b)
(3c)
where: Dmin D is the set of local minima of the goal function f , A(t) is the set of agents
that exist in the system in time t, x+j is j-th local minima, A j (t) is the set of agents, that
are closer than distmax to j-th local minima in the time t, f = f is the modified goal
function, : is scaling function which assures that the values of f function are
greater than 0 and that local maxima of this function are located in the same places as
local minima of function f .
In the case when all sub-populations (species) located within the neighborhoods of
local minima are of optimal sizes then npd(t) indicator has the maximal value (equal
to the number of local minima). In the case when some subpopulations sizes are not
optimal then the value of this indicator falls down. The results presented in fig. 4 confirm that SCoEMAS stably maintains useful population diversity and that DC technique
initially properly distributes individuals over the local minima basins of attraction, but
then, as the time goes on, it loses almost all basins of attraction (species located within
2500
926
1500
0
500
1000
1500
1000
500
0
0
a)
DC
EMAS
SCoEMAS
2000
DC
EMAS
SCoEMAS
1000
2000
3000
4000
5000
b)
1000
2000
3000
4000
5000
Fig. 5. The number of individuals in population in experiments with Rastrigin (a) and Schwefel
(b) functions (average values from 20 experiments)
them disappear). Also, earlier observations that EMAS is not able to maintain useful
population diversity are fully acknowledged by the results presented in fig. 4.
The sizes of population in EMAS, DC and SCoEMAS during experiments with Rastrigin and Schwefel functions are presented in fig. 5. EMAS and SCoEMAS used variable size populations, while DC population size was fixed (this results from the DC
algorithms assumptions [7]). In the case of EMAS and SCoEMAS systems initial population sizes are small and quickly adapts to the difficulty of the problem. It is worth
noting that SCoEMAS uses the smallest population in experiments with both functions,
what is the big advantage.
Presented results indicate that simple EMAS can not be applied to multi-modal function optimization without introducing special mechanisms such as co-evolution. DC
technique has some limitationsit has the strong tendency to lose basins of attraction
of worse local minima during the experiments (this fact was also previously observed
in [12]). CoEMAS with sexual selection is able to form and stably maintain species but
still more research is needed.
927
neighborhoods of local minima than EMAS without niching mechanism and deterministic crowding niching technique.
Future research will include the comparison of other variants of sexual conflict (different costs of reproduction for each sex, different costs of producing female and male
individual, resulting in different proportions of individuals of each sex in population).
Also, more detailed comparison to other classical niching and co-evolutionary techniques and the parallel implementation of systems based on CoEMAS model with the
use of MPI are included in future research plans.
References
1. T. Back, D. Fogel, and Z. Michalewicz, editors. Handbook of Evolutionary Computation.
IOP Publishing and Oxford University Press, 1997.
2. R. Drezewski. A model of co-evolution in multi-agent system. In V. Mark, et al., editor,
Multi-Agent Systems and Applications III, volume 2691 of LNCS, pages 314323, Berlin,
Heidelberg, 2003. Springer-Verlag.
3. R. Drezewski. Co-evolutionary multi-agent system with speciation and resource sharing
mechanisms. Computing and Informatics, 25(4):305331, 2006.
4. R. Drezewski and L. Siwik. Multi-objective optimization using co-evolutionary multi-agent
system with host-parasite mechanism. In V. N. Alexandrov, et al., editor, Computational
Science ICCS 2006, volume 3993 of Lecture Notes in Computer Science, pages 871878,
Berlin, Heidelberg, 2006. Springer-Verlag.
5. S. Gavrilets. Models of speciation: what have we learned in 40 years? Evolution,
57(10):21972215, 2003.
6. J. Krebs and N. Davies. An Introduction to Behavioural Ecology. Blackwell Science Ltd,
1993.
7. S. W. Mahfoud. Niching methods for genetic algorithms. PhD thesis, University of Illinois
at Urbana-Champaign, Urbana, IL, USA, 1995.
8. M. Ratford, A. L. Tuson, and H. Thompson. An investigation of sexual selection as a mechanism for obtaining multiple distinct solutions. Technical Report 879, Department of Artificial
Intelligence, University of Edinburgh, 1997.
9. J. Sanchez-Velazco and J. A. Bullinaria. Gendered selection strategies in genetic algorithms
for optimization. In J. M. Rossiter and T. P. Martin, editors, Proceedings of the UK Workshop
on Computational Intelligence (UKCI 2003), pages 217223, Bristol, UK, 2003. University
of Bristol.
10. P. M. Todd and G. F. Miller. Biodiversity through sexual selection. In C. G. Langton and
T. Shimohara, editors, Artificial Life V: Proceedings of the Fifth International Workshop on
the Synthesis and Simulation of Living Systems (Complex Adaptive Systems), pages 289299.
Bradford Books, 1997.
11. R. K. Ursem. Multinational evolutionary algorithms. In P. J. Angeline, Z. Michalewicz,
M. Schoenauer, X. Yao, and A. Zalzala, editors, Proceedings of the 1999 Congress on Evolutionary Computation (CEC-1999), pages 16331640, Piscataway, NJ, USA, 1999. IEEE
Press.
12. J.-P. Watson. A performance assessment of modern niching methods for parameter optimization problems. In W. Banzhaf, J. Daida, A. E. Eiben, M. H. Garzon, V. Honavar, M. Jakiela,
and R. E. Smith, editors, GECCO-99: Proceedings of the Genetic and Evolutionary Computation Conference, volume 1, pages 702709, San Francisco, CA, 1999. Morgan Kaufmann.
1 Introduction
The term evolutionary multi-agent systems (EMAS) covers a range of optimization
techniques, which consist in the incorporation of evolutionary processes into a multiagent system at a population level. The most distinctive for these techniques are selection mechanisms, based on the existence of non-renewable resources, which is gained
and lost when agents perform actions [6].
Even though the idea of EMAS proved working in a number of tests, it still reveals
new features, especially when supported by specific mechanisms borrowed from other
optimisation methods [7]. In particular, immunological approach was proposed as a
more effective alternative to the classical resource-based selection used in EMAS [2].
The introduction of immune-based mechanisms may affect various aspects of the system behaviour, such as the diversity of the population and the dynamics of the whole
process. From the practical point of view the most interesting effect is the substantial reduction of the number of fitness assignments required to get the solution of comparable
quality. This is of vast importance for problems with high computational cost of fitness
evaluation, like reverse problems involving simulation experiments to assess the solution, or hybrid soft computing systems with learning procedure associated with each
assessment (e.g. evolution of neural network architecture for a particular problem) [1].
This paper focuses on the impact of the immune-based approach on the performance of EMAS applied to function optimization in comparison to the resource-based
selection used alone. The results obtained for both agent-based approaches are also
compared to classical parallel evolutionary algorithm (evolutionary algorithm with
allopatric speciation).
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 928935, 2007.
c Springer-Verlag Berlin Heidelberg 2007
929
evaluation
localization
agent
reproduction
MAS
death
localization
930
The most often used algorithms, which are inspired by the immune system of vertebrates, are based on clonal and negative selection processes [5].
The algorithm of negative selection corresponds to its biological origin and consists
of the following steps:
1. Lymphocytes are created, as yet they are considered immature.
2. The binding of these cells (affinity) to present self-cells (eg. good solutions of some
problem) is evaluated.
3. Lymphocytes that bind themselves to good cells are eliminated.
4. Lymphocytes that survive are considered mature.
Mature lymphocytes are presented with the cells that have unknown origin (they may be
self, or non-self cells), and they are believed to have possibility of classifying them [8].
The algorithm is usually used for classification problems.
The algorithm of clonal selection is based on biological process. Original approach
used to classification problems was modified by De Castro and von Zuben [3] in order
to adapt to solving optimization problems. In this approach the lymphocyteantigen
binding is represented by the value of fitness function (in fact, antigens may be identified
with the function optima):
1. The population of lymphocytes is randomly created.
2. Every lymphocyte produces certain number of mutated clones.
3. Every lymphocyte in the population is replaced by the best of its clones (in the
means of fitness function value) or retained.
4. The pairs of similar lymphocytes are selected (euclidean distance may be used for
similarity measure) and from every pair better lymphocyte (in the means of fitness function value) is retained. Worse one is replaced by randomly generated new
lymphocyte.
5. Steps 2-4 are repeated, until the stop condition is reached.
931
death of
an agent and
creation of
a lymphocyte
localization
lymphocyte
agent
MAS
recognising
and removing
apoptosis
localization
http://age.iisg.agh.edu.pl
932
Crossover probability was 0.7, mutation probability was 0.001 with 0.1 probability
of macromutation.
Every 20 iterations 5 the most different individuals were exchanged among the
island in the process of migration.
EMAS
Initial amount of agents energy is 30. In every evaluation, agents exchanged 1 unit
of energy.
Agent was removed from the system, when its energy reached 0.
Agent was able to reproduce, when its energy exceeded average energy computed
for the evolutionary island.
Agent was able to migrate when its energy exceeded about 110% of average energy
computed for the evolutionary island.
iEMAS
The pattern contained in T-cell has the same structure as the agents genotype. The
affinity function evaluates the difference between every element of genotype and
pattern.
The energy of T-cell was 150. The T-cell was removed from the system after its
energy reached 0.
The length of negative selection process was 30 iterations. The immature T-cell
was removed from the system, after recognizing agent which energy exceeded the
minimal energy needed for reproduction.
6 Experimental Results
The plots discussed below show averaged values (with the estimates of standard deviation) obtained for 20 runs of the systems with the same parameters.
In the figures 3(a),3(b), 3(c) and 3(d), averaged best fitness is presented in consecutive steps of the system activity for EMAS, iEMAS and PEA for all optimization
problems. These graphs show, that EMAS and iEMAS reached better or comparable
results to PEA for three problems (Ackley, De Jong and Rastrigin). PEA turned out to
be better only for Griewank problem. The final results of the optimization may be seen
in the figure 4(a) and in the table 1.
It seems that introduction of the immunological selection mechanism does not affect
greatly the quality of obtained results. Both systems (EMAS and iEMAS) reached similar sub-optimal values in the observed period of time (continuation of the search would
yield better results, however it was not the primary task of this research), although the
results obtained for iEMAS were a little worse than its predecessor.
In the figure 4(b), the aggregated count of fitness function calls for Ackley problem
is presented (other problems yielded very similar results, see table 2). It may be clearly
seen, that the agent-based approaches require far less computations of fitness functions
than PEA, what makes them good for solving problems where time of fitness computation is significant (e.g. reverse problems). Fitness count result for iEMAS was about
50% better than EMAS (see table 2).
1000
1000
PEA
EMAS
iEMAS
PEA
EMAS
iEMAS
100
10
F (X)
100
F (X)
933
10
1
0.1
1
0.1
0.01
0.001
0.0001
0.01
1e005
0.001
1e006
0
2000
4000
6000
8000
10000
n
(a) Ackley problem optimization
4000
6000
8000
10000
n
(b) De Jong problem optimization
1000
1000
PEA
EMAS
iEMAS
100
PEA
EMAS
iEMAS
100
10
F (X)
F (X)
2000
1
0.1
10
1
0.1
0.01
0.01
0.001
0.0001
0.001
0
2000
4000
6000
8000
10000
n
(c) Rastrigin problem optimization
2000
4000
6000
8000
10000
n
(d) Griewank problem optimization
Table 1. The best fitness for EMAS, iEMAS and PEA in 10000 iteration
Problem
Ackley
De Jong
Griewank
Rastrigin
PEA
1.97
6.49 106
7.58 103
7.81
0.07
0.96 106
2.33 103
0.81
EMAS
1.38 103
1.31 106
0.02
0.26 103
37 106
68.6 109
5.05 103
16.8 106
iEMAS
4.17 103
7.9 106
0.11
4.58 103
0.14 103
0.59 106
0.03
1.83 103
Table 2. The aggregated number of fitness function calls for EMAS, iEMAS and PEA in 10000
iteration
Problem
Ackley
De Jong
Griewank
Rastrigin
PEA
0.6 106
0.6 106
0.6 106
0.6 106
EMAS
57 840
57 769
58 484
57 787
43
43
62
29
iEMAS
25 596
26 172
30 829
27 727
149
158
379
220
934
1000
400000
PEA
EMAS
IEMAS
100
#F (X)
F (X)
10
1
0.1
0.01
PEA
EMAS
iEMAS
350000
300000
250000
200000
150000
0.001
0.0001
100000
1e005
50000
1e006
0
Ackley
De Jong
Griewank
Rastrigin
n = 10000
(a) The best fitness in 10000 iteration
2000
4000
6000
8000
10000
n
(b) Ackley problem fitness count
Fig. 4. The best fitness in 10000 iteration and aggregated number of fitness function calls
Relatively small value of standard deviation displayed in the presented graphs shows
that the experimental results are trustworthy for examined problems.
7 Conclusion
In the paper immune-based selection mechanisms for evolutionary multi-agent systems
were evaluated to show their performance in comparison to energetic ones and classical
parallel evolutionary algorithms. As the experimental results show, it lowers the cost
of the computation by decreasing the number of fitness assignments, though the results
are comparable to these obtained for the system without immunological selection. Additionally it may be noticed that both agent-based approaches give better solutions than
PEA in most considered problems.
References
1. A. Byrski and M. Kisiel-Dorohinicki. Immune-based optimization of predicting neural networks. In Vaidy S. Sunderam et. al., editor, Proc. of the Computational Science ICCS 2005 :
5th International Conference, Atlanta, GA, USA, Lecture Notes in Computer Science, LNCS
3516, pages 703710. Springer Verlag, 2005.
2. A. Byrski and M. Kisiel-Dorohinicki. Immunological selection mechanism in agent-based
evolutionary computation. In M. Kopotek and et al., editors, Intelligent Information Processing and Web Mining : proceedings of the international IIS: IIPWM 05 conference : Gdansk,
Poland, June 1316, 2005, pages 411415. Springer Verlag, 2005.
3. Leandro Nunes de Castro and Fernando J. Von Zuben. The clonal selection algorithm with
engineering applications. In Artificial Immune Systems, pages 3639, Las Vegas, Nevada,
USA, 8 2000.
4. G. Dobrowolski and M. Kisiel-Dorohinicki. Management of evolutionary MAS for multiobjective optimization. Evolutionary Methods in Mechanics, pages 8190, 2004.
5. W.H. Johnson, L.E. DeLanney, and T.A. Cole. Essentials of Biology. New York, Holt, Rinehart
and Winston, 1969.
935
{vilem.srovnal, bohumil.horak}@vsb.cz
2
Abstract. Mobile embedded systems are a part of standard applications of distributed system control in real time. An example of a mobile control system is
the robotic system. The software part of a distributed control system is realized
by decision making and executive agents. The algorithm of agents cooperation
was proposed with the control agent on a higher level. The algorithms for agents
realized in robots are the same. Realtime dynamic simple strategy description
and strategy learning possibility based on game observation is important for discovering opponents strategies and searching for tactical group movements,
simulation and synthesis of suitable counter-strategies. For the improvement of
game strategy, we are developing an abstract description of the game and propose ways to use this description (e.g. for learning rules and adapting team
strategies to every single opponent).
1 Introduction
A typical example of a distributed control system with embedded subsystems is the
controlling of physical robots playing soccer. The selection of this game as a laboratory task was motivated by the fact that the realization of this complicated multidisciplinary task is very difficult. The entire game can be divided into a number of partial
tasks (evaluation of visual information, image processing, hardware and software
implementation of distributed control system, hard-wired or wireless data transmission, information processing, strategy planning and controlling of robots). The task is
a matter of interest for both students and teachers, and allows direct evaluation and
comparison of various approaches. For the improvement of game strategy, we are
developing an abstract description of the game and propose ways to use this description (e.g. for learning rules and adapting team strategies to every single opponent).
We are building upon our previous work - the hardware implementation and basic
control of robots - and we would like to achieve a higher level control of complex
game strategies.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 936943, 2007.
Springer-Verlag Berlin Heidelberg 2007
937
The rest of the paper is organized as follows: First, we briefly describe the base
hard-ware and software implementation. Then, we describe the representation of the
game field using abstract grids. After that, we describe possible game strategies. Using the abstract grids and game strategies, we explain how to learn rules that describe
specific game strategies. Particular attention is paid to the learning how to use latent
semantic analysis. We conclude with the discussion of the presented approach.
2 Technical Implementation
Embedded systems are represented by two teams (own and opponent) made up of up
to 11 autonomous mobile robots. The core of an embedded control system is a digital
signal processor Motorola - DSP56F805. PWM output of the signal processor is connected to a pair of power H-bridge circuits, which supply a pair of DC drives with
integrated pulse encoders. For communication, the communication module is used
with the control IC Nordic nRF2401, which ensures communication with a higher
level of the control system.
The higher level control system is represented by a personal computer. At the PC
input, a signal that represents a picture of a scene with robots scanned with CCD
aerial camera is entered. At the output, a radio line that transmits commands for all
own mobile robots is connected.
The software part of a distributed control system is realized by decision making
and executive agents. The algorithm of agents cooperation was proposed with the
control agent on a higher level. The algorithms for agents realized in robots are the
same. The control agent determines the required behavior of the whole control system
as the response to the dynamic behavior of robots. Ones own global strategy in the
task and knowledge of prior situations saved in the database of the scene can also be
determined. The agent on a higher level controls the other agents [1].
Another task is the transformation that converts the digital picture into the object
coordinates (robots and ball in the task of robot soccer) saved in the database of the
scene [2]. This database is common for all agents in the control system. Used agents
structure was described in [3]. Each agent sees the entire scene and is capable of
controlling its own behavior. The basic characteristic of a control algorithm of a
subordinate agent is the independence on the number of decision making agents for
robots on the playground.
Both teams (ones own and the opponents) have a common goal, to score a goal
and not to allow any goals from opponent. For successful assertion of ones own
game strategy the extraction and knowledge of an opponents game strategy is very
important. Strategy extraction algorithms are created from the opponents game
strategy database and from object coordinates of the picture scene.
938
V. Srovnal et al.
our approach we are using a software simulator for this robot soccer game [4]. Robots
create a very dynamic environment. This environment is scanned by a CCD aerial
camera with a sample frequency (in the present time) up to 50 fps.
The neuronal net of a control agent in a sensation module process the picture signal
and encoded information (position, orientation) is saved in one of output vectors of
scene database [5]. Scene database is common for all agents. Both agent teams have a
common goal to score the goal and not to get any goal. For a success, it is also advisable to extract the strategy of the opponent team. The extraction and knowledge of
opponent game strategy is an approach that is known to be successful in other situations as well [6].
Our approach of game representation is based on separation of game into logical
and physical part. Logical part includes selection of strategy, calculation of robots
movements, and adaptation of rules to opponents strategy. Physical part contains real
movement of robots on game field and recognition of opponents turn. Logical part is
independent on physical part, because we can calculate moves of opponents robots as
well as moves of our robots. Next advantage of separation is that logical part is independent on size of game field and resolution of used camera. In logical part, the game
is represented as abstract grid with very hight resolution, which guaranteed very
precise position specification of robots and ball. But this very detailed representation
of game field in not suitable for strategy description, because that brings requirements
of many rules for description of behavior of robots. Therefore, for strategy description
is used so-called strategy grid with much less resolution than abstract grid. This simplification of reality is sufficient, because it is not necessary to know exact position,
but only approximate position, of robots for strategy realization (Figure 1). When
physical part is used, then we must only transform coordinates from abstract grid into
coordinates based on game field size and camera resolution.
939
4 Game Strategy
The game strategy can be dynamically changed based on the game progress (i.e. the
history and the current position of the players and the ball [7]). The game progress
can be divided in time into the following three ground playing classes (GPC). GPC of
game opening (GPCO), GPC of movements in game site (GPCS), GPC of game end
(GPCE). The game progress, especially in the GPCS class, can be also divided into
the following two game playing situations (GPS):
GPS of attack (GPSA). The interactions of simple behaviours cause the robots to fall into a V-formation where the ball is in motion roughly towards
the opponents goal.
GPS of defence (GPSD). When the ball is not moving roughly towards the
opponents goal, the robots move around it to form an effective barrier and to
be in a good position for recovery.
Each GPC has its own movement rules. The classes GPCO and GPCE consist of
finite number of possible movements that are determined by initial positions of players and the ball. The class GPCS has virtually unlimited number of possible movements. The movements are determined by the current game situation (GPS) and by
the appropriate global game strategy (in next GGS). The movement of the particular
robot is determined by the current game class and situation, and also by the robot role.
For example, the goalkeepers task is to prevent the opponent to score a goal. His
movements are in most cases limited along the goalmouth near of goal line. The preferred movements are in goal line direction. The preference of these movements
comes from the particular GGS, where the goalkeeper prevents to score a goal in the
way of moving in the position between the central goal point and the ball (or the expected ball position). The preference of other movement directions is created using
GPSA, where movements of goalkeeper secure kicking the ball from the defense
zone.
It should be noted that above presented categorization of game play progress is rather a tool for analysis and training and description of initial team habits than strict
differentiation of game situations. During the dynamic strategy adaption, the rules
change and should evolve toward more suitable opponent anti-strategy. So the content
of each GPC is changing in time and the particular strategies influence each other and
also the strategies belonging to other classes.
We adopt definition of strategy [8]: Strategy is the direction and scope of an organization over the long-term: which achieves advantage for the organization through
940
V. Srovnal et al.
its configuration of resources within a challenging environment... Strategy application for one movement of players is computed in following steps:
1.
2.
3.
4.
5.
6.
7.
Each strategy is stored in one file and currently consists of about 15 basic rules.
Furthermore the file contains metadata Information about the name of strategy, the
algorithm to strategy choosing, the author responsible for current strategy, the date of
last modification, the size of strategic grid, strategic rules.
Each strategic rule consists of five records. The rule ID and description (e.g. Rule 1
Attack1), the coordinates of our players in strategic grid (e.g. .Mine a6 c7 d6 e3 f9),
the coordinates of opponents players in strategic or abstract grid (e.g. .Opponent d3
e7 e8 g2 k6), the ball coordinates in abstract or strategic grid (e.g. .Ball i6), strategic
or abstract grid positions of the move (e.g. .Move a6 g7 f5 j3 i8). From observation of
opponents strategy a new set of rules can be written, without necessity of program
code modification. Furthermore, there is a possibility of automatic strategy (movement) extraction from running game.
There exist two main criteria in the Rule selection process. The selection depends
on opponents coordinates, mines coordinates and ball position. The strategy file
contains rules, describing three possible formations suggesting danger of current
game situation. The opponents team could be in offensive, neutral or defensive formations. Furthermore, we need to weigh up the ball position risk. Generally, opponent
is not dangerous if the ball is near his goal. The chosen rule has minimal strategic grid
distance from current.
Optimal movements of our robots are calculated by applying minimal distance
from strategic grid position. The goalkeeper and attacking player, whose distance is
closest to the ball are excluded from strategic movement and their new position is
calculated in exact coordinates. To summarize, the strategy management can be described in the following way:
Based on incoming data from the vision system, calculate abstract and
strategy grid coordinates of the players and the ball,
The abstract grid is then used to decide which player has under the ball
control,
This player is issued a kick to command that means that it has to try to kick
the ball to a given strategy grid coordinates,
All other players are given (imprecise) go to coordinates. These coordinates
are determined by the current game strategy and are determined for each
robot individually,
The goalkeeper is excluded from this process since its job is specialized, and
does not directly depend on the current game strategy.
941
6 Future Research
The need to learn opponents strategy from the game and decide an appropriate counter-strategy in response was identified in the previous section. Also, verification of the
created strategy is of notable importance. An off-line (out of the gameplay) verification process validates the strategy and ensures that there are no:
Such a verified game strategy can improve complex goal-targeted robot behavior in
practice. We aim to extend our framework with strategy validating and optimizing
componenst based on genetic algorithms.
Genetic Algorithms are powerful and popular optimization and search algorithms
inspired by natural evolution introduced by John Holland and extended by David
Goldberg. GA is wide applied and highly successful variant of evolutionary computation [9]. GA operates over a population of potential solutions encoded into chromosomes. Each chromosome is rewarded with a fitness value expressing its suitability as
a solution of given problem. The workflow of GA consists of iterative application of
genetic operators on population of chromosomes (Figure 2). Genetic operators are:
942
V. Srovnal et al.
The attacker moves towards the ball (when the ball is moving to opponents
goal)
The attacker possessing the ball moves towards the competitors goal
The defender moves between the ball and own goal area (when the ball is
moving towards own goal).
The defender moves quickly between the ball and its own goal, when the opponent attacks and there are no defenders in position.
The goalie moves towards the ball in an effort to perform a kick-off when the
ball is too close to the goal area. Otherwise, he guards the goal.
The strategy concept presented in previous sections should then be used to resolve
complex non-trivial game situations (like standard situations in a real soccer game) or
to incorporate surprising, innovative moves to the game. If robot activity is partly or
mostly independent, there will be no need to evaluate the global game situation and
search for appropriate moves in every GPS. The gained processor time can be used
for improved strategy learning, game strategy optimization, and optimized game strategy applied in certain gameplay situations (the opponents team loses the ball when
attacked by more players; own team gains advantage by attacking with more players,
posing a greater threat to opponents goal). This can lead to notably superior results.
Supplementary out of the play analyses of game history, recorded by the means
of abstract grid and strategy rules, are used for fine tuning robot behavior as descrybed above and for development of strategy rules fitting accurately to a particular
opponent.
7 Conclusion
The main goal of the control system is to enable an immediate response in real time.
The system response should be sooner than time between two frames from the camera. When the time response of the algorithm exceeds this difference the control quality deteriorates. The method we described provides fast control. This is achieved by
using rules that are fast to process. We have described a method of game representation and a method of learning game strategies from observed movements of players.
943
The movements can be observed from the opponents behaviour or from the human
players behaviour. We believe that the possibility of learning the game strategy that
leads to a fast control is critical for success of robotic soccer players. Like in chess
playing programs, the database of game strategies along with the indication of their
success can be stored in the database and can be used for subsequent matches.
In the future, we want to use modular Q-learning architecture [10]. This architecture was used to solve the action selection problem which specifically selects the
robot that needs the least time to kick the ball and assign this task to it. The concept of
the coupled agent was used to resolve a conflict in action selection among robots.
Acknowledgement
The Grant Agency of Czech Academy of Science supplied the results of the project
No. p. 1ET101940418 with subvention.
References
1. Hork, B., Obitko, M., Smid, J., Snel, V., Communication in Robotic Soccer Game.
Communications in Computing (2004) 295-301.
2. Holland, O., Melhuish, C., Stigmergy, self-organisation, and sorting in collective robotics.
Artiffcial Life, (2000) 173-202.
3. Srovnal, V., Hork, B., Bernatik, R., Strategy extraction for mobile embedded control systems apply the multi-agent technology. Lecture Notes in Computer Science, Vol. 3038.
Springer-Verlag, Berlin Heidelberg New York (2004) 631-637.
4. FIRA robot soccer, http://www.fira.net/
5. Berry, M. W., Browne, M., Understanding Search Engines: Mathematical Modeling and
Text Retrieval. SIAM Book Series: Software, Environments, and Tools (1999)
6. Slywotzky, A.J., Morrison, D., Moser, T., Mundt, K., Quella, J., Profit Patterns: 30 ways
to anticipate and profit from strategic forces reshaping your business (1999)
7. Veloso, M. and Stone, P., Individual and collaborative Behaviours in a Team of Homogeneous Robotic Soccer Agents, Proceedings of International Conference on Multi-Agent
Systems (1998) 309-316.
8. Johnson, G., Scholes, K., Exploring Corporate Strategy: Text and Cases. FT Prentice Hall,
(2001)
9. Mitchell, M., An Introduction to Genetic Algorithms. MIT Press, Cambridge, MA (1996)
10. Park, K.H., Kim, Y.J., Kim, J.H., Modular Q-learning based multi-agent cooperation for
robot soccer, Robotics and Autonomous Systems, Elsevier, 35 (2001) 109-122.
Abstract. Supply chains are discussed in this article. They are viewed as intelligent decentralized systems that meet the agent paradigm. Thus possibility of
arising critical situations in the chains can be analyzed in the agent-based manner. The work is focused on applying an overall methodology dedicated to the
discovery of crises and support of anti-crisis activities. The agent-based model is
proposed that incorporates majority of features of supply chains so that the modeling of crises can be wide-ranging and easy. As an illustration some simulation
results are presented.
1 Introduction
Intelligent decentralized systems that meet the agent paradigm [2] can be of two types:
designed from scratch as multi-agent ones (operating in the virtual world, e.g. network
information services, virtual enterprises) and existing in the reality as a set of cooperating autonomous subsystems of whatever origin (e.g. transportation systems, industrial
complexes) that can be analyzed in agent-based manner.
Such systems are marked by possibility of arising critical situations that can be
caused by both outer (e.g. undesirable interference or the forces of nature) and inner
(e.g. resource deficit, local damages) factors. Such is the source of an idea to embed
considerations about crises in the field of multi-agent systems MAS [3,6].
As a consequence, in the real case an assumption must be taken that the system
under consideration has agent-based conceptualization that can serve as a means for
analysis of its operation, especially in critical situations. If the description occurs to be
enough precise, a simulation (computerized) model of its behavior can be built. Results
of the simulation studies would be the scenarios of crises progress. Investigation of the
scenarios would lead to finding a strategy of avoiding the particular crisis or, at least,
reducing its effects [9,6].
Some difficulties of crisis identification, evaluation of possible effects and prevention (anti-crisis) actions come from general features of multi-agent systems (autonomy
of the agents decisions, lack of global information) as well as their dynamics (consequences appear after an operation in unpredictable manner).
A set of enterprises which activities can be characterized as production or providing
services, distribution or trading of some raw materials, by-products or market goods,
called a supply chain, constitute a system that can be numbered among the discussed
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 944951, 2007.
c Springer-Verlag Berlin Heidelberg 2007
945
above and the ideas of agent and multi-agent system can be useful to solve managerial
problems dealing with it.
The same approach is present in research reported by some number of publications,
among which it is worth to mention here at least [7,4,5,8]. The first one contains a
comparative study of the agent-based approach versus some others proposed earlier.
Searching for the answer to question whether agents that construct supply chains can
do it better than human decision makers, especially with respect to changing market
conditions is a subject of [4]. In [5] a reader can find a limited overview of the discussed field oriented to comparison of different applications of multi-agent systems
to modeling and managing the chains. As bases of reported algorithms the following
are mentioned: evolutionary algorithms, special languages (grammars), various auction
(Contract Net) and negotiation schemas.
The paper is organized as follows. The initial part describes the proposed model of a
critical situation with discussion of its most important aspects. Some assumptions and
architecture solutions of how to manage with the defined critical situations is proposed
also. The next section 3 introduces an area of application which is management of
supply chains. Section 4 gives description of an agent-based model that, following the
main methodology assumption, is prepared to carry out simulation studies of crises
in the chains. The chosen results of simulation studies illustrating the approach are
presented at the end.
946
multi-agent system has some elements of the mechanisms implemented either as parts
of the agents algorithms or in a way of communication or organization of a system (or
a sub-system).
Let us discuss the conditions firstly for the case of local critical situations. In the
obvious way an agent monitors his state as well as evaluates it on his own. In each
state he determines a set of admissible actions. Significant reduction of the set can be
an indication of the crisis. If the agent must consider actions like do nothing or selfdestruction, it is not only the indication but a kind of remedy also.
Although application of the agents strategy is oriented towards a decision, it is also
the evaluation of the state. If some ranking of the actions is prepared according to the
utility coefficients, its values can be used for formulation of a crisis criterion. Then
decline in utility can be regarded as a sign of a crisis. Finally, if the both mechanisms
occur to be insufficient, the applied choice function can be augmented with an element
intended for monitoring of crises and causing activation of built-in especially anti-crisis
actions.
The similar analysis with respect to global critical situations is a bit harder. This
is because of a problem with determining the state of a multi-agent system. The state
can be easily defined as composition of the agents states but its calculation is usually
operationally impossible. Such situation comes from the following features of a system.
There are no strong enough synchronization mechanism to determine simultaneity
of the agents states.
The system state is highly multi-dimensional so that the high cost of information
acquisition should be taken into account.
The agents are autonomous. They usually intend to disclose only as much information as it is necessary for the system operation.
In the general case it is assumed that agent reveals just a sub-space of his state or
some evaluation of its state. Restriction of the state is accepted as a report while the
evaluation is regarded as subjective. Of course, interpretation of the above information
is known around the system. It is worthwhile to mention here that a state comprises also
information about history so that the evaluation can have dynamic character.
Putting all descriptions of the agents state together possibly in a single place and
regarding them as simultaneous is the only way to construct a description of the state
of the whole system. The evaluation similarly as in the case of a single agent
can be oriented towards critical situation. Adoption of a special shape of the evaluation functions and the appropriate definition of subsets of their values opens possibility
of specialized tracking of the system states. For example, the values can be done by
linguistic values: normal, preferred, danger, crisis. In its simplest form tracking can
be just memorization of monitoring data and introduction of them into an evaluation
procedure.
Following the pointed earlier ways of definition of the global goal, two kinds of critical situations can be introduced: direct and indirect. The direct means the threat of
loosing operability of the system in consequence of unavailability of the some agents
actions. The primary cause of an indirect critical situation is a lack of resources (violation of the appropriate balance) that, in turn, gives deficit of functionality.
947
chains will be presented, let us analyzed generals on figure 1. The main elements of the
structure are:
rMAS an agent-based conceptualization of real systems of some kind; there can be
pointed out also the concrete real system accords with this conceptualization;
vMAS an agent-based computerized model of the conceptualization thus systems of
that kind and finally the concrete one.
The presented structure is a direct consequence of a methodological rule, that creates a basis of majority of research using modeling and simulation. The rule can be
formulated here as follows. Pairs of mechanisms respectively of rMAS and vMAS are
considered. For each pair two statements are true: a real mechanism is adequately modeled or the virtual one is adequately and effectively implemented in the reality. It must
be pointed out that the formulation not only comprises requirements of adequate modeling but indicates possibility of searching for such mechanisms basing on the model
(vMAS) and applying them in the reality (rMAS) as well.
Appropriate extraction and flows of data in the described structure are done by
two monitoring modules, respectively: rMonitor and vMonitor. The former serves as
a provider of available information about the real system (rMAS), the latter is design
mainly to aggregate generated output data of the model (vMAS) which can be regarded
as the standard computer science problem. Of course, the amount of the data dictates
application of proper techniques.
As it is assumed, the invented mechanisms are to be implemented. It is represented
by block Management in the general structure that plays, in fact, a three-fold role.
948
949
Interchange of goods is modeled with a kind of markets. Entering the markets, suppliers and customers evaluate interesting sale and purchase offers. Formulas which are
used in the model can be sketched out as in eq. (2) evaluation of a purchase offer and
eq. (3) evaluation of a sale one.
ob = ob (p, pw, n, nw, t, tw)
(2)
where: p representation of the customer prestige, t delivery time needed, n quantity, pw, tw, nw weight coefficients of parameters p, t, n respectively.
os = os (p, n, q, t, c, pw, qw, tw, cw)
(3)
Whenever an enterprise-agent faces a decision, the main stream of simulation is suspended and the predicting mechanism started (see fig. 2). At the beginning a population of enterprise-agents is generated as pseudo-random variation (mutation) of the
agents parameters which represents the enterprise under consideration. A number of
950
sub-simulations with a given (predicting) horizon are carried out for each agent of the
population in turn. Next each such a variant is evaluated on the basis of the value of
enterprise capital gained and the best chosen. Then the main stream is resumed and the
best agent can work. Assumed in the model, an expression that represents the capital of
an enterprise is as follows.
u = f (l, co , gb ) + g(e)
(4)
where: f function that describes changes of the capital, l maintenance cost that
depends on the parameters of a line, co total cost of raw materials, gb profit gained
as a result of the winning auction, g(e) profit that is gained.
The implementation of the model [1] is an application of medium degree of complication. It has layered software architecture. The following layers can be shown to
give the general overwiev of it: Java Virtual Machine, JADE Java Agent DEvelopment Platform that conforms to FIPA Foundation for Intelligent Physical Agents,
JFreeChart a library for chart programming, VMFr a framework dedicated to MAS
simulation, Virtual Market the layer of supply chains modeling in the presence of
critical situation. Two upper layers create the original part of the software.
The presented model is extensively used as a simulation tool for studies of supply
chains. Analyzed problems are: searching for the best configuration of chains, values of
the agents decision parameters, applied auction protocols, granularity of representation
of the chains, modeling environment and its influence on the chains and, of course,
forecasting and discovery of critical situations and simulation-based formation of anticrisis policies and others.
As an illustration, the authors decide to show here results dealing with one of possible
critical situations which is a drop in quality of products. The drop can entail repair of
the line. Alteration cost and parameters of the line are taken into account.
Fig. 3. a) Drop and increase of the quality of production together with changes of the capital in
time b) Quality of production in time fot two strtegies: with or without prediction
The charts that group some chosen experiment results are reproduced in figure 3.
Chart a shows changes in time of the quality of some product under analysis. As a consequence of a line deterioration, the quality falls down successively. At some moment
a repair starts and increase of the quality arises. The capital of the enterprise shows the
same tendency as the quality. Initially it decreases it is hard to sell a product of the
poor quality, next things go better.
951
Chart b is based on the same scenario (crisis) but influence of the alteration cost is
presented. Consideration of the capital allows to deepen the problem and search for an
anti-crisis policy. As the alteration cost is relative high, the repair is done ,,incrementally minimum costs just to restore the quality. Then the two strtegies are analyzed:
conservative the repair is initiated when the quality decreases beneath some assumed
level, and active with prediction of the parameters of the line.
5 Summary
Consideration of the article concerns with the application of the agent-based approach
to the problem of management of critical situations. Design assumptions and proposal
of the overall architecture of the (sub-)system dedicated to the discovery of crises and
support of anti-crisis activities are described.
One of the possible applications of the presented approach can be found in a field
supply chains that operate in highly dynamic and uncertain environment of economic,
social, and political interdependencies that are a kind of generator of critical situations.
Considerations are carried out on the basis of the originally invented model which incorporates the majority of features of supply chains.
Simulation experiments shortly presented in the article confirm the main ideas of the
approach at general as well as specific levels. Future work will concentrate on further
studies of the model.
References
1. Bogucki P.: A Platform for Production Planning Problems Solving Using Agent-based Approach (in polish), M.Sc., Dept. of Comp. Sci., Univ. of Science and Technology, Krakow,
Poland, 2005.
2. Bussman S., Jennings R.N., Wooldridge M.: Multiagent Systems for Manufacturing Control.
A Design Methodology, Springer-Verlag, 2004.
3. Dobrowolski, G., Nawarecki, E.: Crisis management via agent-based simulation. In B. DuninKeplicz, et al., editors, Monitoring, security, and rescue techniques in multiagent systems,
Advances in Soft Computing, pages 551562. Springer, 2005.
4. Kimbrough, S.O, Wu D.J., Zhong F.: Computers Play the Beer Game: Can Artificial Agents
Manage Supply Chains?: Decision Support Systems 33(3): 323-333, 2002.
5. Moyaux, T., Design, Simulation And Analysis Of Collaborative Strategies In Multi-Agent
Systems: The Case Of Supply Chain Management, Ph.D., Luniversite Laval, 2004.
6. Nawarecki, E, Kozlak, J., Dobrowolski, G, Kisiel-Dorohinicki, M.: Discovery of crises via
agent-based simulation of a transportation system. In M. Pechoucek, et al., editors, MultiAgent Systems and Applications IV, volume 3690 of LNCS, pages 132141. Springer, 2005.
7. Parunak V., Applications of Distributed Artificial Intelligence in Industry, OHare and Jennings, eds. in Foundations of Distributed Artificial Intelligence. Wiley 1994.
8. Swaminathan J.M., Smith S. F., Sadeh N.M., Modeling Supply Chain Dynamics: A Multiagent
Approach, Decision Sciences, Volume 29, Number 3, 1998.
9. Zhao, Z., et al.: Scenario switches and state updates in an agent-based solution to constructing
interactive simulation systems. In: Proc. of CNDS 2002, pages 310, 2002.
Abstract. Although current service discovery protocols provide the same basic
function of service discovery, they differ significantly in architecture, message
exchange pattern, expected operating environment and service representation/description. These differences prevent service interoperability among
protocols. To solve this problem, we propose a web-based integrated service
discovery mechanism, using an agent platform to guarantee scalability of scope
of available services without modifying existing service discovery protocols.
The proposed web-based integrated service discovery mechanism provides users with a wider selection of services, and convenient search methods.
1 Introduction
The increase in the number of different services in pervasive computing environments
makes people need service discovery protocols, which help them conveniently find
the services they want. Representative service discovery protocols have been classified by academia (INS, INS/Twine, SSDS, Splendor) and industrial standardization
bodies (Bluetooth SDP, SLP, UPnP, Jini, Salutation ).
Although they provide the same basic function of service discovery, they differ
significantly in architecture, message exchange pattern, expected operating environment and service representation/description. These differences prevent service interoperability among protocols.
To solve this problem, several approaches [1] [2] [3] that support interoperability
among service discovery protocols, have been proposed. These approaches, however,
have limitations such as translation loss, high maintenance cost, high management
cost of service information, the complexity of development, and the modification of
existing service.
In this paper, we propose an integrated service discovery mechanism based on an
agent platform and the Web, to guarantee scalability of scope of available services
without modifying existing service discovery protocols.
The remainder of the paper is organized as follows. Section 2 describes our proposed mechanism and system architecture in detail. Section 3 presents the conclusion.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 952955, 2007.
Springer-Verlag Berlin Heidelberg 2007
953
The Message Monitoring module listens to the messages about services from each
service discovery protocol. It sends them to the Message Parser. The Message Parser
parses them and registers the parsed data to the Directory Facilitator (DF), which is
the agent that provides a yellow page service to the agent platform. Finally, agents
can freely use the services registered in the DF. In terms of agents, the scope of available services is extended. The following section provides a more detailed explanation
of this mechanism.
954
The system consists of Agent Management System (AMS) and DF, which are essential agents of the FIPA-compliant agent platform; RMA, which monitors state of
agents; Discovery Agent, and Service Proxy Agent. The Discovery Agent is needed for
heterogeneous service discovery. The function of the Service Proxy Agent is to guarantee collaboration with a web server. System processing flow starts in the AP-to-Web
Communication module. It sends its hosts IP and port number to the web server.
When service search from the web server is requested, the Authentication module
judges whether a client using the web server has either view authority or invocation
authority. The Service Search module then searches available services, and transmits
the results to the web server. The Invocation Transmission module sends an invocation message about the service, from the web server requested by the client, to the
Remote Invocator module.
Figure 3 depicts the conceptual model of the web-based integrated service discovery system. The architecture is composed of three environments. First, there are domains connected with service discovery protocols such as UPnP, SLP and Jini. Second, there is a JADE environment, as shown in Figure 2, which detects messages of
services existing within each service discovery protocol. Finally, there is a web server
that supports the viewing of available services and invoking these services. The web
955
server requests an available service list to the pre-registered agent platform, according
to the clients request, and then presents the result as a web page.
3 Conclusion
This paper mainly contributes to present an integrated service discovery mechanism
for heterogeneous services. It is based on an agent platform and the Web, to guarantee
scalability of scope of available services, without modifying existing service discovery protocols. The proposed integrated service discovery mechanism provides users
with a greater variety of services and convenient search methods.
Acknowledgements
This research is supported by the ubiquitous Computing and Network (UCN) Project,
the Ministry of Information and Communication (MIC) 21st Century Frontier R&D
Program in Korea.
References
1. Erik Guttman and James Kempf. Automatic Discovery of Thin Servers: SLP, Jini and the
SLP-Jini Bridge. In Proceedings of the 25th Annual Conference of the IEEE Industrial Electronics Society, pages 722-727, 1999.
2. Hiroo Ishikawa et al. A Framework for Connecting Home Computing Middleware. In Proceedings of the IWSAWC2002, 2002.
3. J. Allard, V. Chinta, S. Gundala and G.G Richard. Jini Meets UPnP: An Architecture for
Jini/UPnP Interoperability. In Proceedings of the 2003 Symposium on Applications and the
Internet, Orlando, 2003.
1 Introduction
Characterized as cooperation and high efficiency, cooperative multi-robot systems
(CMRS) have emerged as usual manufacturing equipments in current industries [1].
Differing from generic control systems, the cooperation needs to be considered in the
realization of CMRS [1]. So the system modeling, analysis and refinement always meet
with difficulties. CMRS can be regarded as a typical multi-agent system (MAS) in
distributed artificial intelligence [2]. For modeling MAS, object-oriented methodology
has been tried and some typical agent objects have been proposed, such as active object,
etc [3]. However, agent based object models still can not depict its structure and
dynamic aspects, such as cooperation, learning, temporal constraints, etc [2].
This paper proposes a high level PN called fuzzy timed agent based Petri net
(FTAPN) on the base of FTOPN [4] and it is organized as the following. Section 2
reviews the concept of FTOPN and extends FTOPN to FTAPN on the base of
*
This work is jointly supported by the National Nature Science Foundation (Grant No:
60405011, 60575057) and the China Postdoctoral Foundation for China Postdoctoral Science
Fund (Grant No: 20040350078).
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 956 959, 2007.
Springer-Verlag Berlin Heidelberg 2007
957
ACTALK model. Section 4 uses FTAPN to model a typical CMRS in the wafer
etching procedure of circuit industry and makes some modeling analysis to
demonstrate its benefits in modeling MAS. Finally, the conclusion and future work
can be found in section 5.
2 Basic Concepts
2.1 FTOPN
Definition 1. FTOPN is a six-tuple, FTOPN= (OIP, ION, DD, SI, R, I) where OIP,
ION, DD and SI are the same as those in HOONet [5] and TOPN [6] and
1)
2)
958
H. Xu and P. Jia
The parameters of FTAPN are always given beforehand. In general, however, these
parameters may not be available and need to be estimated just like those in FTPN [7].
The estimation is conducted on the base of some experimental data concerning
marking of input and output places. The marking of the places is provided as a
discrete time series. More specifically we consider that the marking of the output
place(s) is treated as a collection of target values to be followed during the training
process. As a matter of fact, the learning is carried out in a supervised mode returning
to these target data. The learning method is just like those in FTOPN [4].
3 A Modeling Example
3.1 A CMRS Model
In the etching tools, usually there is a CMRS platform made up of two transferring
robots. These two cooperative robots are up to complete transferring one unprocessed
wafer from the input lock to the chamber and fetch the processed wafer to the output
lock. Any robot can be used to complete the transferring task at any time. If one robot
is up to transfer one new wafer, the other will conduct the other fetching task. They
will not conflict with each other. Fig. 3 depicts this CMRS FTAPN model, where two
agent objects (ACTALK) is used to represent these two cooperative robots. Fig.4
depicts the time relevance rules.
[a,b]
CMRS
1'C
[a1,b1]
[a2,b2]
r1
1'C
Actalk
Agent1
1'C
1'C
[a4,b4]
1'C
[a6,b6]
1-r2
Transfer
InputLock
1'C
t1
Behavior Model
1'C
Actalk
Agent2
[a3,b3]
1'C
1'C
r2
1-r1
[a5,b5]
Fetch
1'C
[a7,b7]
1'C
tA1
1'C
1'C
rA1
OutputLock
1'C
[a,b]
1'C
1'C
1'C
1'C
tA3
1'C
rA3
rA2 1'C
1'C
tA2
tA4
959
4 Conclusions
Cooperative multi robot system is a kind of CMRS in manufacturing industries. In
order to model, analyze and simulate this kind of CMRS, this paper proposes fuzzy
timed agent based Petri net (FTAPN) on the base of FTOPN [4] and FTPN [7]. In
FTAPN, one of the active objects ACTALK is introduced and used as the basic
agent object to model CMRS. Every abstract object in FTOPN can be trained and
reduced independently according to the modeling and analysis requirements for OO
concepts supported in FTOPN. The validity of this modeling method has been used to
model the CMRS platform in etching tools. The FTAPN can not only model complex
MAS, but also be refined into the object-oriented implementation easily. It has
provided a methodology to overcome the development problems in agent-oriented
software engineering. At the same time, it can also be regarded as a conceptual and
practical artificial intelligence (AI) tool for integrating MAS into the mainstream
practice of software development.
References
[1] Cao, Y.U., Fukunaga, A.S., Kahng, A.B., Meng, F.: Cooperative Mobile Robotics:
Antecedents and Directions, Autonomous Robots, 4(1997)727
[2] Jennings, N.R., Sycara, K., Wooldridge, M.: A Roadmap of Agent Research and
Development. Autonomous Agents and Multi-Agent Systems, 1 (1998)738
[3] Guessoum, Z., Briot, J.-P., From active objects to autonomous agents, IEEE Concurrency,
7-3(1999) 68 76
[4] Hua, X., Peifa, J., Fuzzy Timed Object-Oriented Petri Net; Artificial Intelligence
Applications and Innovations II-Proceedings of AIAI2005, Berlin Heidelberg New York
(2005) 155-166
[5] Hong, J.E., Bae, D.H.: Software Modeling and Analysis Using a Hierarchical Objectoriented Petri net. Information Sciences, 130(2000)133-164
[6] Xu, H.; Jia, P.F.: Timed Hierarchical Object-Oriented Petri Net-Part I: Basic Concepts and
Reachability Analysis, Proceedings of RSKT2006, Vol.4062, Lecture Notes In Artificial
Intelligence , Berlin Heidelberg New York (2006)727-734
[7] Pedrycz, W.: Camargo, H.: Fuzzy timed Petri nets, Fuzzy Sets and Systems,140(2003):
301-330
1 Introduction
Routing algorithms in modern networks must address numerous problems. Current
routing algorithms are not adequate to tackle the increasing complexity of such
networks. Centralized algorithms have scalability problems; static algorithms have
trouble keeping up-to-date with network changes; and other distributed and dynamic
algorithms have oscillations and stability problems. One of the applications of Ant
Colony Optimization in network routing is swarm intelligence routing which provides
a promising alternative to these approaches. Swarm intelligence utilizes mobile
software agents for network management. These agents are autonomous entities, both
proactive and reactive, and have the capability to adapt, cooperate and move
intelligently from one location to the other in the communication network. In this
paper we discuss routing algorithms in section 2, present FuzzyAntNet in section 4,
and finally the simulation and results are given in section 5.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 960965, 2007.
Springer-Verlag Berlin Heidelberg 2007
961
2 Routing Algorithms
Routing decisions can only be made on the basis of local and approximate
information about the current and the future network states, with additional
constraints posed by the network switching and transmission technology [1]. In this
article we focus on wide area networks, that is, irregular topology datagram networks
with an IP-like (Internet Protocol) network layer and a very simple transport layer.
The instance of the communication network is mapped on a directed weighted graph
with N nodes. All the links are viewed as having two parameters characterized by a
bandwidth and a transmission delay, and are accessed following a statistical
multiplexing scheme.
E
F
Neighbor Node
B
C
0.35
0.65
040
0.60
neighbor node when the destination node is d, with the constraint defined in (1):
n N k
dn
(1)
nodes i and j is addressed as linkij and there are two parameters for each linkij : Delayij
and Bandwidthij. There are five membership functions for first input variable
(Delayij), five membership functions for second input variable (Bandwidthij), and nine
membership functions for output variable (Fuzzy-Delayij). All of the membership
functions are Triangular because it can eliminate noises and in comparison with
Gaussian membership function, the precision of Triangular is as good as Guassian
962
but it's computation is so easier and simpler. Before applying their values, Delayij is
normalized between (0, 1) and Bandwidthij is normalized between (0, 0.5). The engine
used, is multiplication engine. Table 2 shows the rulebase for the fuzzy system.
In this table the Values for the amount of goodness from lowest to highest are
LL(Very Low), LM, LH, ML, MM, MH, HL, HM, and HH(Very High).
Table 2. RuleBase for FuzzyAntNet Method
X1
(Delay)
X2
(Bandwidth)
VL (Very Low)
L (Low)
VL
(Very Low)
L
(Low)
M
(Medium)
H
(High)
VH
(Very High)
MM
MH
ML
MM
LH
ML
LM
LH
LL
LM
MH
MM
ML
LH
(Medium)
HL
(High)
HM
HL
MH
MM
ML
VH (Very High)
HH
HM
HL
MH
MM
In table 2 as shown, there are 25 rules for this fuzzy system. We mentioned some
of them as following:
R1: If x1 (Delay) is VL and x2(bandwidth) is VL
then Y(goodness )
is MM
Fuzzy
_ Delay
ij
(t ) =
i=1
l =1
M
l =1
y
n
l
i
( X
(2)
i=1
A il ( X
963
(3)
Where is the learning rate and set to 0.7 . The routing table probabilities, are
updated by (4):
n
j ,d
Sum
(t ) =
Where
l Neighbor (n )
1
_ Delay
_ Fuzzy
Sum
1
_ Delay
_ Fuzzy
n
j ,d
( t )
n
l ,d
( t )
(4)
2
70,9
60,8
95,2
45,2
50,8
95,2
90,2
95,2
1
40,2
60,8
95,2
55,8
Destination
65,2
70,2
Source
85,2
80,1
5
65,9
Fig. 1. TypicalNet. On every link, its delay and bandwidth are shown respectively.
In TypicalNet, the the traffic is generated by source node 1 and the destination is
node 9. Standard performance metrics are: Throughput, End-2-End Delay, Packet
Delivery, and Packet Drop Ratio. Comparisons of End-2-End Delay are performed for
DSDV, AntNet, and FuzzyAntNet and the results are shown in Fig. 2.
We also summarized the experimental results in Table 3 which shows that
FuzzyAntNet outperforms other routing methods in all evaluation metrics.
964
Fig. 2. Simulation results for End-2-End delay. In this software-simulated network during 20
seconds, the routing algorithms have been executed in the same traffic state.
Table 3. Results obtained by three algorithms DSDV, AntNet, and FuzzyAntNet
Routing
Algorithms
DSDV
AntNet
FuzzyAntNet
Overhead(%0)
Overhead(%1)
Overhead(%1)
4.43
4.36
2. 99
Avg.Throughput (kbps)
280.8
189.2
375
70
47
93
30
53
Standard
Criteria
Conclusions
References
1. Bertsekas D.&Gallager R.: Data Networks. Englewood Cliffs, Prentice-Hall (1992)
2. Di Caro G.& M.Dorigo: Ant Colonies for Adaptive Routing in Packet Switched Comunications Networks. Proc. PPSN Fifth International Conference on Parallel Problem
Solving From Nature (1998)
3. G. Di Caro and M. Dorigo: "AntNet: A Mobile Agents Approach to Adaptive Routing",
Tech. Rep. IRIDIA/97, Universit Libre de Bruxelles, Belgium (1997)
4. Dubois, D. and H. Prade: Fuzzy Sets and Systems: Theory and Applications, Vol.18 Filev,
D.P. (1996)
965
5. Seyed Javad Mirabedini, Mohammad Teshnehlab: "Adaptive Neuro Fuzzy for Optimization of Ant Colony System". Workshop Proc. EurAsia-ICT Advances in Infor-mation
and Communication Technology, Shiraz Iran (2002) 325-329
6. Seyed Javad Mirabedini , Mohammad Teshnehlab: "AntNeuroFuzzy: Optimal Solu-tion for
Traveling Salesman Problem using Ant Colony and Neuro-Fuzzy Systems".Proc. ICTIT
International Conference Supported by IEEE Jordan (2004) 305-312
1 Introduction
Computational grid [1], the core field of grid computing, enables us to get the ability
to perform high performance computing and large-scale simulation. The key purpose
of computational grid is how to allocate grid resources to grid applications with high
throughput and low latency effectively. But, the effective allocation of grid resources
is not an easy task because distributed grid resources have heterogeneous operating
systems and different system performances. Grid resources also have commercial
characteristics [2] that grid users pay for grid resource utilization and grid resource
providers make profits. And, we need to consider the QoS of the whole grid.
Diverse models like GRAM [3] and nimrod-G resource broker [4] have been
developed for the resource management of computational grid. GRAM (Globus
Resource Allocation Manager), the core component of globus toolkit, is developed to
facilitate processing requests for executing remote application and managing active
jobs. Nimrod-G resource broker, a grid application scheduler, is responsible for
resource discovery, selection, scheduling, and deployment of computations. But,
existing models are based on centralized architecture that deals with communications
between grid resources and grid applications. And, these models are unable to satisfy
commercial characters and meet the dynamic demand for grid resources due to the
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 966969, 2007.
Springer-Verlag Berlin Heidelberg 2007
967
passive resource transaction mechanism. Also, these models are liable to generate
communication overheads and bottleneck by communication messages concentrated
to grid broker and too many given tasks of grid broker.
Therefore, this paper proposes the service agent-based resource management
model using virtualization in order to solve problems of the centralized resource
management model. Agent-based system [5] provides the ability to unify and allocate
networked resources in the grid environment and is useful to solve technical problems
of distributed resource management. As applying agent-based system and
virtualization to our model, we can integrate grid resources of local networks and
construct a virtual grid computing system.
This paper is organized as follows. Section 2 proposes the service agent-based
resource management model. Section 3 demonstrates the efficiency of our model with
experiment results. The conclusion of this paper is in Section 4.
Roles of each component are as follows. Grid user is in grid application level and
uses grid resources to solve its own computing problem as paying for resources. Grid
resource provider (GRP) is in grid fabric level and provides commercial grid
resources to grid users and makes profits. Central grid broker takes charge of grid
resource registry which services the data management of local grid resource group
and discovers grid resources suitable for requirements of grid users by data query.
Central grid broker also binds grid users with local grid broker of local network of
which grid resources satisfy the requirements.
968
Local grid broker is composed of local resource pool, resource cluster manager and
transaction coordinator. All grid resources connected with local network are stored to
local resource pool. Resource cluster manager divides grid resources of this pool into
classes and constructs several clusters. Transaction coordinator provides a transaction
mechanism by the negotiation of grid user and grid service agent.
Grid service agent, the key component of our model, consists of resource
allocation, resource deal module, synchronization module, resource monitor module,
and communication agent. Firstly, grid service agent constructs virtual computing
system as integrating networked grid resources of a cluster by virtualization
techniques [6] such as LUN (Logical Unit Number) mapping and masking. Virtual
computing system collects the local network attached computing resources into a
large computing system. This logical computing system can be allocated to any grid
user with adequate computing performance. It also can solve the physical complexity
of grid resources and provide the ability to monitor and control distributed grid
resources. Secondly, grid service agent manages metadata about location, owner, and
condition of grid resources and improves the monolithic update cycle of metadata as
updating and publishing metadata dynamically when the condition of grid resources is
changed. Thirdly, grid service agent takes charge of bidding for resource transaction
instead of grid resource providers because it costs a great deal for marketing,
management and communication if grid resource providers participate in resource
transaction in several. Finally, grid service agent prioritizes grid resources of virtual
computing system by performance like the processing time and the number of
processors.
Fig. 2. (a) Comparison of Job Latency (b) Comparison of Communication Messages (Service
Agent-based Resource Management Model (SARMM) vs. Centralized Resource Management
Model (CRMM))
969
In our experiments, we assumed that grid resources of each model are processors
with multi queue and measured the job latency and communication message of each
model. Fig. 2 (a) and (b) illustrate variations of job latency and communication
messages by the number of transactions. As a result, the decreasing rates of job
latency and communication messages for the service agent-based resource
management model over the centralized resource management model are 25.8% and
151.6%. This result demonstrates that our model provides improved QoS with high
throughput and reduces communication overheads.
4 Conclusion
This paper proposed the service agent-based resource management model to solve
problems of existing centralized resource management models in the computational
grid environment. We applied virtualization and agent-based system to the service
agent-based resource management model in order to improve load imbalance of grid
broker and reduce communication overheads. Contrary to the centralized resource
management model, our model of which grid service agent takes charge of dealing
and monitoring grid resources instead of grid resource providers can generate more
resource transactions and profits than existing models. Experiment results
demonstrate that the service agent-based resource management model decreases
25.8% more job latencies and 151.6% more communication messages than the
centralized resource management model.
Acknowledgments. This work is supported by INHA UNIVERSITY Research Grant.
References
1. Berman, F., Fox, G., Hey, T.: Grid computing: making the global infrastructure a reality. J.
Wiley. New York (2003) p
2. Subramoniam, K., Maheswaran, M., Toulouse, M.: Towards a Micro-Economic Model for
Resource Allocation in Grid Computing System. In Proceedings of the 2002 IEEE Canadian
Conference on Electrical & Computer Engineering (2002) 782-785
3. Foster, I., Kesselman, C.: The Globus project: a status report. Heterogeneous Computing
Workshop, 1998. (HCW 98) Proceedings. (1998) 4 - 18
4. Buyya, R., Abramson, D., Giddy, J.: Nimrod-G: An Architecture for a Resource
Management and Scheduling System in a Global Computational Grid. The 4th International
Conference on High Performance Computing in Asia-Pacific Region (HPC Asia 2000),
IEEE Computer Society Press, USA (2000)
5. Mandutianu, S.: Modeling Agent-Based Systems. Formal Approaches to Agent-Based
Systems: In Proceedings of First International Workshop. FAABS 2000, Springer Verlag,
LNCS Vol. 1871 (2001)
6. Nanda, S., Chiueh, T.: A Survey on Virtualization Technologies. RPE Report, (2005)
7. Zeigler, B.P. (ed.): The DEVS Environment for High-Performance Modeling and
Simulation. IEEE CS & E, Vol. 4, No3 (1997) 61-71
Introduction
Agents are entities capable of taking account of what surrounds them. In referring to an embodied cognitive multi-agent system this means, among others,
that agents are managed to analyze the scene they act on. In particular, an
agent has got a symbolic and explicit representation of the surrounding world
([2], page 17). Syntactic pattern recognition based on graphs is one of the classical approach to this task.
In a node replacement graph grammar, a node of a derived graph is replaced
by a new subgraph, which is connected to the remainder of the graph. A node replacement is controlled by a production of a given graph grammar. An example of
a node replacement graph grammar is an ETPL(k) (embedding transformationpreserving production-ordered k-left nodes unambiguous) grammars introduced
in [3]. The so-called IE (indexed edge-unambiguous) graphs have been dened in
[3] for a description of patterns (scenes) in syntactic pattern recognition. Nodes
in an IE graph denote pattern primitives. Edges between two nodes in an IE
graph represent spatial relations between pattern primitives. An idea of a probabilistic improvement of syntactic recognition of distorted patterns represented
This work was partially supported by the AGH grant number 1010140461.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 970973, 2007.
c Springer-Verlag Berlin Heidelberg 2007
971
972
If the arithmetic product is used as a T -norm then the presented parsing algorithm (see Section 3) is identical to the random parsing algorithm described
in [6].
2
b(0.8)
d(0.3)
{p(0.2), r(0.9)}
{t(1.0)}
{s(0.8), t(0.3)}
a(1.0)
{r(0.2), s(0.7)}
c(0.9)
a(0.2)
{r(1.0)}
3
d(0.7)
b(0.4)
{s(0.7), t(0.2)}
6
e(0.8)
g(0.3)
{t(0.9), u(0.2)}
{t(1.0)}
g(0.9)
a(0.2)
f(1.0)
{s(0.3), t(0.8)}
{v(1.0)}
{t(0.2), u(0.9)}
8
h(0.8)
b(0.3)
Fig.1. An example of fuzzy IE graph representing an unknown pattern
973
Concluding Remarks
References
1. Bielecka M., Skomorowski M., Bielecki A.: Fuzzy-syntactic approach to pattern
recognition and scene analysis, under revision.
2. Ferber J.: Multi-Agent Systems. An Introducing to Distributed Articial Intelligence. Addison-Wesley, Harlow (1999)
3. Flasi
nski M.: On the parsing of deterministic graph languages for syntactic pattern
recognition. Pattern Recognition, Vol. 26 (1993) 1-16
4. Flasi
nski M., Skomorowski, M.: Parsing of random graph languages for automated
inspection in statistical-based quality assurance systems. Machine Graphics and
Vision, Vol. 7 (1998) 565 - 623
5. Rutkowski L.: Articial Intelligence Techniques and Methods. PWN, Warszawa
(2005) (in Polish)
6. Skomorowski, M.: Use of random graph parsing for scene labeling by probabilistic
relaxation. Pattern Recognition Letters, Vol. 20 (1999) 949-956
1 Introduction
In recent years, with the rapid development of e-business, web based applications are
developed from localization to globalization, from B2C to B2B, from centralized
fashion to decentralized fashion and many applications are constructed based on
services. The services are executed by using the heterogeneous back-end resources
such as high performance systems, mass storage systems, database system etc.
However, the applications may be integrated across the Internet by using the services
and the distributed services and resources must be scheduled automatically,
transparently and efficiently. To service the increasing online clients those transmit a
large, often busty, number of requests and provide dependable services with high
quality constantly, we must make the distributed computing systems more scalable
and dependable. And even under high load, the systems must still support the services
as usual. Therefore, we must balance the load of the diverse resources to improve the
utilization of the resources and the throughput of the systems. Currently, load
balancing mechanisms can be provided in any or all of the following layers in a
distributed system:
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 974977, 2007.
Springer-Verlag Berlin Heidelberg 2007
975
976
J. Wang et al.
of getting the best replica for the service and the client requests proceed with their
normal procedure such as calling methods from the service replica. The decision
agent makes decisions based on the algorithms configured in our load balancing
policy according to the Component Configurator design pattern.
Load Monitor: Load monitor collects load information from every load agent within
certain time interval. The load information should be refreshed at a suitable interval
so that the information provided is not expired. The hosts may have different
workload when processing some certain client requests and the workload of the
different hosts may fluctuate in different ways. Therefore we suggest an approach that
the refresh rate can be adjusted according to the workload of the hosts.
Load Agent: The purpose of load agent is to provide load information of the hosts it
resides when requested by load monitor. As different services might have replicas in
the same host, it is hard to presume the percentage of resource is being used by which
service at particular moment. Therefore, a general metric is needed to indicate the
level of available resources at the machine during particular moment.
Load Prediction: This module use the machine-learning based load prediction
method where the system minimizes unpredictable behavior by reacting slowly to
changes and waiting for definite trends to minimize over-control decisions.
Replica Management Agent Group: The purpose of these agents is to dynamically
manage the replicas to achieve a balance load distribution among different services. In
order to carry out service replication, we determine parameters such as initial number
of replica, maximum number of replica, when to replicate, where to replicate etc. As
different service contains different characteristics such as process time, priority and
popularity, we coordinate services in order to avoid monopolizing of resource by
popular service and unfair treatment for high priority service.
Several complex tests have been completed, and we can see that by using the Load
Agent the overhead of monitoring will be decreased effectively. Furthermore, with the
addition of the number of the hosts and the services, the resources can still be
977
allocated efficiently and the workload of the resources can be balanced with the help
of the Replica Management Agent Group. Especially to the hot-spot services sharing
the workloads with the extra replicas is much better than load migration among the
overloaded servers.
3 Conclusions
Kinds of load balancing middleware have already been applied successfully in
distributed computing. However, they dont take the services types into consideration
and for different services requested by clients the workload would be different out of
sight. Furthermore, traditional load balancing middleware uses the fixed and static
replica management and uses the load migration to relieve overload. However, to the
complex service-oriented applications, the hosts may be heterogeneous and
decentralized at all and load migration is not efficient for the existence of the delay.
Therefore, we put forward an Agent based autonomic load balancing middleware to
support fast response, hot-spot control and balanced resource allocation among
different services. Corresponding simulation tests are implemented and their result s
indicated that this model and its supplementary mechanisms are suitable to complex
service-oriented applications.
Acknowledgements
This work was funded by the National Grand Fundamental Research 973 Program of
China under Grant No.2005cb321804, the National High-Tech Research and
Development Plan of China under Grant No.2004AA112020 and the National Natural
Science Foundation of China under Grant No.60603063.
References
1. Object Management Group, The Common Object Request Broker: Architecture and
Specification, 3.0 ed., June 2002.
2. Henning, M., Vinoski, S.: Advanced CORBA Programming With C++. Addison-Wesley
Longman, Massachusetts (1999)
3. Chow, R., Johnson, T.: Distributed Operating Systems and Algorithms, Addison-Wesley
Publishing Company (1997)
4. Rajkumar, B.: High Performance Cluster Computing Architecture and Systems,
ISBN7.5053-6770-6.2001
5. IONA Technologies, Orbix 2000. www.iona-iportal.com/suite/orbix2000.htm.
6. Othman, O'Ryan, C., Schmidt, D. C.: The Design of an Adaptive CORBA Load Balancing
Service. IEEE Distributed Systems Online(2001)
7. Othman, O., Schmidt, D. C.: Issues in the design of adaptive middleware load balancing. In:
ACM SIGPLAN, ed. Proceedings of the ACM SIGPLAN workshop on Languages,
Compilers and Tools for Embedded Systems. New York: ACM Press(2001)205-213
8. Othman, O., ORyan, C., Schmidt, D.C.: Strategies for CORBA middleware-based load
balancing. IEEE Distributed Systems Online(2001) http://www.computer.org/dsonline
1 Introduction
Power utilities are under continuous pressure to reduce maintenance expenditures
while maintaining a high level of component reliability. As a result, condition based
maintenance (CBM) has been developed to cut down the maintenance cost and
increase the level of system and component reliability. An open substation main
equipment state monitoring system framework, which used data warehouse
technologies to collect all kinds of data and used data mining and Open Architecture
Agent technologies to set up an open architecture, is proposed in this paper.
979
980
X. Li et al.
2.2.2.4 Cluster Analysis Agent. Cluster analysis agent is responsible for finding the
testing data's distribution patterns and relations of attributes. Cluster analysis agent
responds to the request of the facilitator agent to make the cluster analysis. The grey
correlation method is used to extract the failure types.
2.2.2.5 Classification Analysis Agent. The nave Bayesian classifier learns from
training data the conditional probability of each attribute Ai given the class label C.
Classification is then done by applying Bayes rule to compute the probability of C
given the particular instance of A1, ... , An, and then predicting the class with the
highest posterior probability.
2.2.2.6
Forecasting Agent. Forecasting agent responds to the request of the
facilitator agent, which provides the agent community with a number of services for
routing and delegating tasks and information among agents, to make the transformer
failure forecast. In grey model GM(1,1), stochastic variables are seen as Grey
Variables, irregular original data are cumulated to be regular series, and then, a
differential equation model is formed and settled. When the grey theory is used to
predict transformers dissolved gases values, the posteriori error of each gas can be
about 5% or less than 5% [11].
2.2.2.7 Transformer Condition Assessment Agent. The threshold analysis, trend
analysis, event tree analysis, cluster analysis, classification analysis, and parameter
forecasting are comprehensively analyzed through using the Bayesian network. The
transformer condition is divided into five states, excellent, better, normal, worse and
fault. Transformer condition node has seven parent nodes, which are all middle nodes
just like threshold analysis result node.
3 Applications
We are developing a transformer condition assessment system for an electric utility.
The initial results expressed in table 1 are suitable to actual transformers conditions.
Table 1. Initial results
Voltage grade
(kV)
Capacity
(kVA)
Count of Tr.
110
110
110
110
220
220
31500
20000
40000
50000
120000
180000
28
7
12
4
19
4
E
11
6
7
3
17
4
Transformers
Conditions
B N W
14 1
1
1 0
0
4 1
0
1 0
0
1 0
0
0 0
0
F
1
0
0
0
1
0
981
In order to test the diagnosis accuracy of the system, some examples in [2] are
tested again, and the results are excellent agreement with transformers actual faults.
4 Conclusions
In this paper, we presented some general guidelines of developing an intelligent
transformer condition assessment system to help electric utilities optimize the
maintenance activities. This proposed framework is open and flexible, so the
objective system is easy to be maintained and further developed. A data warehouse
has been used to integrate all kind of transformer condition parameters. OAA is
employed to compose the multi-agent system that is the main part of the proposed
system. Seven application agents are designed to evaluate transformers conditions
synthetically. The initial filed test results got from tests of some transformers based
on a prototype system developed by the authors have proven that the framework
system is able to produce accurate condition assessment results and is promising for
further implementation. Moreover, the maintenance and further development of the
objective system is feasible since the present framework is open and flexible.
References
1. Jie Cheng and Russell Greiner: Comparing bayesian network classifiers. In Proceedings of
the 15th Conference on Uncertainty in Artificial Intelligence (UAI'99), Morgan Kaufmann
Publishers (1999) 101--107.
2. Mang-Hui Wang: A Novel Extension Method for Transformer Fault Diagnosis, IEEE
Transactions on Power Delivery, 18(1) (2003) 164-169
Introduction
Shannon wavelets are the real part of the so-called harmonic wavelets [2,4,5].
They have a slow decay in the variable space but a very sharp compact support in
the frequency (Fourier) domain, being represented therein by box functions. This
fact, together with the Parseval equality have been used to easily compute the
inner product and the connection coecients of the Shannon wavelets (see [2,3])
which are the inner product of the Shannon basis with their -order derivatives.
These coecients, also called renable integrals, are a very useful tool for the
analysis of discrete samples [7,8] and for the derivation of the wavelet solution
of partial dierential equation (in the Petrov-Galerkin approach) [1,6] In the
following the representation of linear operators in Shannon wavelet bases will
be given. As an example the solution of the heat equation for a localized initial
prole [6] will be obtain as a Shannon wavelet series. The main advantages of this
approach are that: 1) only by using localized functions, like Shannon wavelets,
the initial prole (and then its evolution in time), can be performed by the
lowest number of series coecients; 2) only with this approach the evolution can
be split into many scales: some for the low frequency evolution and some for the
high frequency evolution 3) the numerical approach is the simplest one.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 982989, 2007.
c Springer-Verlag Berlin Heidelberg 2007
983
Shannon Wavelets
The dilated and translated instances of the Shannon scaling functions nk (x)
2n/2 (2n x k) and Shannon wavelet functions kn (x) 2n/2 (2n x k) are [3]:
(2n x k)
(1)
1
1
n
n
(x)
=
2
.
k
(2n x k 12 )
Their Fourier transform are
2n/2 ik/2n
nk () =
e
(/2n + 3)
2
n/2
n
n () = 2
ei(k+1/2)/2 (/2n1 ) + (/2n1 )
k
2
(2)
f, g
f (x)g(x)d x ,
f, g
f (x) g (x)d x = 2
f() g ()d = 2 f, g ,
(3)
d
n (x) = (i) kn () ,
d x k
(5)
(6)
By a direct computation it can be shown (for a sketch of the proof see [3])
984
C. Cattani
im
+1
+1
+
+1
[1+(m)](2s+1)/2
(1)
s=1
where
!is s+1
+ Cnst.
( s + 1)!|m|s
1 ,m>0
0 ,m=0 .
(7)
(8)
ik
= (1) =
, k = 2s
1 , k = (2s + 1) , s N
it is
Corollary 1. For a given m Z {0}, N and a, b Z, (a < b) it is
+(m)
+1
!is s+1
(1)[1+(m)](2s+1)/2
[(1)m b bs+1 (1)m a as+1 ]
s
(
s
+
1)!|m|
s=1
(9)
+1
s=1
(1)[1+(hk)](2s+1)/2
!is s
(1)s2(h+k) 2ns1
( s + 1)! |h k|s
2+1 (1)4h+s + (1)4k+ 2s (1)3k+h+ + (1)3h+k+s
(10)
nm
respectively, for 1, and (0)nm
.
kh = kh
985
(n = m)
2(n1)
=
4
4
2
i(kh)/2
i(kh)/2
(i ) e
d +
(i ) e
d ,
(11)
(2)nn
(2)nn
kh =
hk .
(12)
kh = i (1 |(h k)|)
+(hk)(1)hk
+1
[1 + (1) ]
+
2( + 1)
(1)[1+(hk)](2s+1)/2
s=1
!is s
[1+(1)s]
2( s + 1)!|h k|s
(13)
Let f (x) be a given function such that the r.h.s. series expansion
f (x) =
h=
h (x h) +
kn kn (x) ,
(14)
n=0 k=
986
C. Cattani
f (x)
=
S
h (x h) +
N
M
kn kn (x)
(15)
n=0 k=M
h=S
with
f (x)(x h)d x ,
kn
f (x)kn (x)d x .
(16)
By re-arranging the many terms of the series (15) with respect to the dierent
scales, for a xed N we have
f (x)
=
S
h (x h) +
N
fn (x)
n=0
h=S
M
fn (x) =
kn kn (x)
(17)
k=M
where fn (x) represent the components of the function f (x) at the scale 0 n
N , and f (x) reults from a multiscale approximation.
Let us compute the approximate representation of the even function
f (x) = e(16x)
/2
(18)
The bottom lenght (i.e. the main part) of the function f (x) is concentrated in
the interval [0.2, 0.2]. With a low scale n = 3 we can have a good approximation
of the function, even with a small number k of translation. In fact, with |k| 5
the absolute value of the approximation error is less than 5%. Thus we can
assume
3
5
(16x)2 /2
e
kn kn (x) ,
(19)
= 0 (x) +
n=0 k=5
kn
given by (16).
Let f (x) a function represented by (14). Any linear dierential operator L acting
on f is
S
N
M
Lf (x) =
h L 0h (x) +
kn Lkn (x) ,
n=0 k=M
h=S
and, since
L 0h (x) =
Lkn (x) =
i.e.
L 0h (x) =
m,h
h
() kh , 0h (x)
Lkn (x) =
m,h
m
()nm
kh h (x)
(20)
a
987
b
1
t0
t0.005
0.02
0.2
0.2
0
0.2
x
0.2
Fig. 1. Surface u(x, t) a) and b) time evolution of the Fourier integral solution
Lf (x) =
S
h=S
h () kh , 0k (x) +
N
M
m
kn ()nm
kh h (x) .
As an example, let us consider the one-dimensional heat equation for an innite bar, with normalized physical constants
u
= Lu ,
t
2
,
x2
(21)
(22)
(x )2
f () exp
d ,
4t
t = 0 ,
(23)
which, assuming (18) as initial function, can be easily computed (see Fig. 1)
2
9
1
u(x, t) =
e(16x) /(1+2 t) .
29 t + 1
(24)
Thus in a short time the high peak (of the initial prole) reduces to a smooth
prole. In the wavelet approach, according to the best scale-dilation approximation of the initial function (18), restricted to the interval [1, 1], we can assume
that at the resolution n 3 , |k| 5, the solution of (21) can be expressed as
u(x, t) = 0 (t)(x) +
3
5
n=0 k=5
kn (t)kn (x)
988
C. Cattani
a
b
t0
t0.005
0.02
0.2
0.2
0
0.2
x
0.2
Fig. 2. Surface of the approximate wavelet solution for u(x, t) a) and b) its time
evolution
so that
0 (t)(x) +
3
5
n=0 k=5
3
5
kn (t)Lkn (x)
n=0 k=5
d 0 (t)
dt
= 0 (t)
d2
(x), (x)
d x2
3
3
d kn (t) n
d2
i.e., taking into account (12) and (10) at the second order ( = 2), it is
d 0 (t)
2
0 (t)
dt
3
5
d kn (t)
=
(2)nm
kh h (t) ,
dt
(25)
(n = 0, . . . , 3; k = 5, . . . , 5) ,
m=0 h=5
The initial conditions, coincide with the values of the wavelet coecients of
the initial prole, i.e.
0 (0) = f (x), nk (x) = 0.155663 , kn (0) = f (x), kn (x)
are given by integrals (16). Since (25) is a linear system we can easily get the
solution for :
2
(t) = 0.155663e t/3
989
as well as for the detail coecients , so that the solution can be (numerically)
computed (see Fig. 2). Comparing the approximate wavelet solution (Fig. 2) with
the exact solution (24) (Fig. 1) it substantially coincides with the Fourier solution
(24) even with a low number of scales. However, it should be noticed that (only)
with the rst approch it is possible to decompose the solution at the dierent
scales (anologously what is done in Fourier series with mode decomposition)
which is impossible to do with the Fourier integral solution (23), (24).
If we limit to the interval [1, 1] we can see that the evolution of the initial
prole can be split into four dierent waves: f (x)
= f0 (x) , f (x)
= f1 (x) , f (x)
=
f2 (x) , f (x)
= f3 (x) , (corresponding to the four scales n = 0, . . . , 3). The
low frequency wave has a low amplitude but is more steady, while the higher
frequency wave (n = 3) has higher amplitude but a quite fast decay.
References
1. C. Cattani. Harmonic Wavelet Solutions of the Schr
odinger Equation. International
Journal of Fluid Mechanics Research, 5, 2003, 110.
2. C. Cattani. Harmonic Wavelets towards Solution of Nonlinear PDE. Computers and
Mathematics with Applications, 50, 8-9, 2005, 11911210.
3. C.Cattani, Connection Coecients of Shannon Wavelets, Mathematical Modelling
and Analysis, vol. 11 (2),(2006), 116.
4. S.V. Muniandy and I.M. Moroz. Galerkin modelling of the Burgers equation using
harmonic wavelets. Phys.Lett. A, 235, 1997, 352356.
5. D.E. Newland. Harmonic wavelet analysis. Proc.R.Soc.Lond. A, 443, 1993,
203222.
6. J.J. Rushchitsky , C. Cattani and Terletska E.V. Wavelet Analysis of a Single Pulse
in a linearly Elastic Composite // International Applied Mechanics. 2005. Volume
41 (4). P. 374-380.
7. C. Toma, An Extension of the Notion of Observability at Filtering and Sampling Devices, Proceedings of the International Symposium on Signals, Circuits and Systems
Iasi SCS 2001, Romania, 233236.
8. G. Toma, Practical Test Functions Generated by Computer Algorithms, Lecture
Notes Computer Science 3482 (2005), 576585.
Abstract. A nonlinear dynamical system which describes two interacting and competing populations (tumor and immune cells) is studied
through the analysis of the wavelet coecients. The wavelet coecients
(also called detail coecients) are able to reproduce the behaviour of the
function, and, being sensible to local changes, are strictly related to the
dierentiable properties of the function, which cannot be easily derived
from the numerical interpolation. So the main features of the dynamical
system will be given in terms of detail coecients that are more adapted
to the description of a nonlinear problem.
Introduction
dx
2(1+)4
xy ,
d = 1 x 1 0 e
dy = 1 xy 2 y + 3 x + 4 5 yx2 ,
d
(1)
0 < 1 ,
|1 | 1 , 0 < 2 , |3 | 1 , 0 4 1 ,
0 0 1 , || < 1 .
In this system, which is a generalization of the Lotka-Volterra model, the unknown quantity x(t) represents the numerical density of tumor cells, while y(t)
is the numerical density of lymphocyte population, under conditions x(t) > 0
and y(t) > 0 [6]. Moreover
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 990996, 2007.
c Springer-Verlag Berlin Heidelberg 2007
991
The Haar scaling function (t) is the characteristic function on [0, 1]. By translation and dilation we get the family of functions dened in [0, 1]
n
k (t) 2n/2 (2n t k) ,
(0 n , 0 k 2n 1) ,
k k+1
n
n
1 , t k , k n , n
,
2
2
(2 t k) =
n
0 , t k .
(2)
992
The Haar wavelet family {kn (t)} is the orthonormal basis for the L2 ([0, 1])
functions [5]:
k k + 1/2
1 , t n ,
,
2
2n
(2n t k)
k + 1/2 k + 1
1
,
t
,
,
(0 n , 0 k 2n 1) ,
n
n
2
2
0,
elsewhere .
(3)
Without loss of generality, we restrict ourselves to 0 n , 0 k 2n 1 =
kn [0, 1]. Let Y {Yi }, (i = 0, . . . , 2M 1, 2M = N < , M N), be a
real and square summable time-series Y KN
2 (where K is a real eld);
ti = i/(2M 1), is the regular equispaced grid of dyadic points on the interval
restricted, for convenience and without restriction, to = [0, 1].
Let the set Y = {Yi } of N data be segmented into segments (in general)
of
dierent length. Each segment Y s , s = 0, . . . , 1 is made of ps = 2ms ,
( s ps = N ), data:
Y = {Yi }i=0,...,N 1 =
Y s} ,
{Y
s=0
1
1
s
ps ,
p
,
Y
=
Y ,
s=0
s=0
1
1
ps ,
ps
ps s
Y
=
W
Y =
W
Y
,
W
s=0
s=0
ms
0(s)
0(s)
1(s)
1(s)
m 1(s)
W
2 Ys
= 0 , 0 , 0 , 1 , . . . , 2mss 1 1 .
Where the discrete Haar wavelet transform is the operator W
N : KN
2
N
2
K
which maps the vector Y into the vector of the wavelet coecients
{ , kn }:
W
N Y = {, 00 , . . . , 2M1
M 1 1 } ,
Y = {Y0 , Y1 , . . . , YN 1 } .
(4)
There follows that, the matrix of the wavelet transform is expressed as a direct
sum of lower order matrices so that the short transform is a sparse matrix [1]. We
want to emphasize that when the short wavelet transform maps short interval
values into a few set of wavelet coecients, it can be considered as a rst order
approximation. Thus giving information about the linear behavior. However,
993
since the wavelet transform maps the original signal into uncorrelated sequences
[7], the short wavelet transform describes for each sequence of detail coecients
its local behavior. When ps = p = N, = 1, the above coincides with the
ordinary wavelet transform. We assume, in the following, ps = p = N/, s =
0, . . . , 1, ( > 1).
System of Competition
dx
2(1+0.1)0.2
xy ,
d = x 1 e
(5)
5 0.04`
x
0
x
0
5 0.05`
8
5 0.06`
x
0
x
0
994
5 0.04`
5
5
t
0
5 0.05`
5 0.06`
t
0
t
0
Fig. 2. Numerical solution (plain x(t), dashed y(t)) of system (1) with parameters
1 = 1 , 1 = 0 , 2 = 0.1 , 3 = 1 , 4 = 0.2, 0 = 1 , = 0.1, and initial conditions
x(0) = 5, y(0) = 0, in correspondence of dierent values of 5
It can be observed (see Fig. 1 and Fig. 2) that with small values of the tumor malignancy 5 , the lymphocyte population y(t) grows, whereas tumor cells
x(t) decrease. When 5 > 0.05 the number of lymphocytes reach a maximum
value and then goes to zero while the tumor cell population grows. It should
be noticed that 5 = 0.05 represents a bifurcation point for the model with
loss of uniqueness of the dierential system, because the curve is not simply
connected (for the presence of a knot). When the number of tumor cells tends
to zero the number of lymphocytes decreases to a particular value, called the
sentinel value. The dynamics of equation (5) has been simulated by using the
Runge Kutta 4-th order method, with the accuracy 106 . We obtain as a numerical solution (0 < t 6), in correspondence of the values of the parameter
1 = 1 , 1 = 0 , 2 = 0.1 , 3 = 1 , 4 = 0.2, 0 = 1 , = 0.1, four sequences
(in correspondence of 5 = 0.01, 5 = 0.04, 5 = 0.05, 5 = 0.06) of 29 = 512
values Y = {Y0 , Y1 , . . . , YN 1 }, with N = 512 and M = 9. Moreover, using
the short Haar wavelet transform, with ps = p = 4, we compare the wavelet
coecients of the two time-series, near the bifurcation value of 5 , i.e. 5 = 0.05
and 5 = 0.06 computed numerically (Fig. 3, 4).
Critical Analysis
The importance of the wavelet analysis is mainly based on the information content of the detail coecients. It can be seen (from Fig. 3 and 4) that only a small
set of detail coecients, namely 00 , 01 , 11 , is already enough to have a good
information about the dynamical system, in any case better than the numerical evaluation (Fig. 3,4 on top). In fact, the detail coecients show some local
995
yt
xt
11
11
01
01
00
00
t
0 12
25
3
2
9
10
9
5
9
2
Fig. 3. Numerical solution and wavelet coecient of 4-parameters of short Haar transform of the numerical solution x(t) (left) and y(t) (right) of system (1) with parameters
1 = 1 , 1 = 0 , 2 = 0.1 , 3 = 1 , 4 = 0.2, 0 = 1 , = 0.1, and initial conditions
x(0) = 5, y(0) = 0, in correspondence of 5 = 0.05
yt
xt
11
11
01
01
00
00
0 12
25
9
10
Fig. 4. Numerical solution and wavelet coecient of 4-parameters of short Haar transform of the numerical solution x(t) (left) and y(t) (right) of system (1) with parameters
1 = 1 , 1 = 0 , 2 = 0.1 , 3 = 1 , 4 = 0.2, 0 = 1 , = 0.1, and initial conditions
x(0) = 5, y(0) = 0, in correspondence of 5 = 0.06
maxima and changes which are hidden in the continuous interpolation of the numerical integration. Each detail coecient is able, at each scale but mostly at the
lower scale n = 0, 00 , to reproduce the behaviour of the function, but they are
very sensible to local changes and therefore they can easily describe the intervals
where the function is monotonic. Moreover, being sensible to local changes they
996
are strictly related to the dierentiable properties of the function, which cannot
be easily derived from the numerical interpolation of the function. In particular,
we can see that they can focus exactly on local maxima of the function, and
on a number of changes higher than the numerical functions x(t) e y(t). Therefore the detail coecients are more adapted to the description of a nonlinear
problem but also show a inexion in the initial growth which is invisible in the
numerical solution. These time spots, where the the detail coecients are zero,
or where the detail coecients have some local maxima (minima) are reported
in Fig. 3,4, and tell us the inversion (inexion) in the population growth. The
positive values of the detail coecients describe the local growth, the negative
values the decreasing of the function. Local maxima (minima) of the detail coefcients dene some inexion which enable us to predict if the phenomenon will
increase in time or decrease.
References
1. Cattani, C.: Haar Wavelet based Technique for Sharp Jumps Classication. Mathematical Computer Modelling 39 (2004) 255279.
2. Cattani, C., Bochicchio, I.: Wavelet Analysis of Chaotic Systems. Journal of Interdisciplinary Mathematics Vol. 9 No. 3 (2006) 445458.
3. Cattani, C., Bochicchio, I.: Clustering Dynamical System by Wavelet. Proceeding
of the International Conference Inverse Problem and Applications Birsk, Russia
(2006) 149159
4. Cattani, C., Ciancio, A.: Hybrid Two Scales Mathematical Tools for Active Particles
Modelling Complex System with Learning Hiding Dynamics. Math. Mod. Meth.
Appl. Sci. Vol. 2 No 17 (2007).
5. Daubechies, I.: Ten lectures on wavelets. CBMS-NSF Regional Conference Series
in Applied Mathematics, SIAM, Philadelphia (1992).
6. DOnofrio, A.: A general framework for modeling tumorimmune system competition and immunotherapy: Mathematical analysis and biomedical inference. Physica
D 208 (2005) 220235.
7. Percival, D. B., Walden, A. T.: Wavelet Methods for Time Series Analysis. Cambridge University Press, Cambridge (2000).
8. Toma, C.: An Extension of the Notion of Observability at Filtering and Sampling
Devices. Proceedings of the International Symposium on Signals, Circuits and Systems Iasi SCS, Romania (2001) 233236.
9. Toma, G.: Practical Test Functions Generated by Computer Algorithms. Lecture
Notes Computer Science 3482 (2005) 576585.
Introduction
Evolution Equations
Since in the following we are going to consider dust universes with spatial spherical symmetry, we want to briey summarize the previous main results in a form
inspired by [3,4].
1
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 9971003, 2007.
c Springer-Verlag Berlin Heidelberg 2007
998
(1)
(2)
If we put a(r) = A(0, r), the metric of the initial Osphere V3 takes the form:
d 2 = ij dxi dxj = a2 (r)dr2 + r2 (d2 + sin2 d2 ) ,
(3)
B (t,r)
0 (r)r 2
(t, r) = B (t,r)B 2 (t,r)
(4)
where (t, r) is the mass density, 0 = (0, r) is the initial mass density, and
m(r) is the socalled Euclidean mass [3,4]
r
m(r) = 4
0 (s) s2 ds .
(5)
0
The rst principal curvature is very important for studying the geometrical
property of V3 in fact, as underlined in the paper [9,10], it completely determines
its curvature properties.
2
See [1, Chap. XII, 11 p.408] for a precise denition of spherical symmetry around
a point O.
In accordance with [1] (but dierently from [3,4]) the latin indices will vary from 1
to 3, whereas the greek indices will vary from 1 to 4.
At any point B12 represents the gaussian curvature of the geodesic sphere with its
centre at the centre of symmetry O and passing through the point [1, Chap. XII,
11 p.410].
Hereafter a dot will denote dierentiation with respect to t and a prime dierentiation with respect to r.
999
Remark 1. In [4] it was demonstrated that given a spherical dust universe, for
each material rshell there exists a corresponding time T (r) at which the dust
distributed on the rshell is collapsed into the symmetry center, so that we have
a function t = T (r) which satises B(T (r), r) = 0.6
Now we will focus our attention on a given single r-shell (that is we will consider
r as a given xed parameter), so we can regard the intrinsic radius B = B(t; r) as
a function of time only, and r , 1 (r) , m(r) as constants. By introducing the new
adimensional function Y (t) = B(t;r)
and the function k(r) = GNrm(r)
(which we
3
r
will consider constant being r is a given xed parameter), equation (4)2 becomes
2k
Y 2 (t) = 1 c2 +
.
Y (t)
(6)
In the following we will put = |1 | and will consider separately the three
cases 1 = 0, 1 = > 0 and 1 = < 0, to get the corresponding exact
solutions. The case 1 = 0 corresponds to the Euclidean case a2 (r) = 1, already
studied in [4]; it is the only case where it is possible to solve (4)2 explicitly for
B. Since 1 (r) = 0, equation (4)2 becomes
2 GN m(r)
B 2 =
B(t, r)
2k
Y 2 (t) =
.
Y (t)
1
2 3
2 k dt = Y dY t (r) =
Y2
3
k
(7)
(8)
where we have to choose the plus sign if Universe is initially expanding (B(0;
r) >
1
2
1
2 r3
T (r) =
=
.
(9)
3 k(r)
3 GN m(r)
6
1000
It is possible to solve equation (8)2 with respect to Y and we can write the
solutions of equations (7) in the form [4]:
23
23
t
t
Y (t, r) = 1
B(t, r) = r 1
.
(10)
T (r)
T (r)
If 1 (r) = (r) > 0, equation (4) becomes
2k
Y 2 = c2 +
.
Y
Now we can write
Y 2 = 2 k
where h(r) =
1
1
Y
h
dY
=
dt
(11)
2k
h
hY
,
Y
(12)
2 k(r)
(r)c2
h
h Y
h
Y
t (r) =
(h Y )Y + h arctan
2k
hY
(13)
(14)
where we have to choose the plus sign if Universe is initially expanding (B(0;
r) >
0), the minus sign if Universe is initially contracting (B(0; r) < 0) and (r) is
an arbitrary function of r.
Remark 3. Also in this case for t = (r) Y = 0 B = 0 then, from Remark
2, t = T (r) and consequently (r) T (r).
h
By substituting Bmax = h(r) r and 2k
= c12 we nd
1
B
t T (r) =
(Bmax B)B + Bmax arctan
.
Bmax B
r 2 c2
(15)
We can calculate the function (r) T (r) from the initial values B(0; r) = r
1
r
T (r) =
(Bmax r)r + Bmax arctan
. (16)
Bmax r
r 2 c2
Finally, when 1 (r) = (r) < 0, equation (4) becomes
2k
c2 Y + 2k
Y 2 = c2 +
Y 2 =
Y
Y
1 + c2 k Y
dY
= 2k
.
dt
Y
We can solve equation (18) separating the variables:
(17)
(18)
t (r) =
1
Y
dt =
2k 1 + c2 Y
2k
c k Y 2 k + c2 Y 2 k arcsinh( c 2Yk )
3
c3 2
1001
(19)
(20)
where we have to choose the plus sign if Universe is initially expanding (B(0;
r) >
c k 2 k + c2 2 k arcsinh( c2
)
k
T (r) =
3
3
c 2
(21)
Now we want to study the behaviour of the universe in proximity of the collapse/expansion times by an expansion in fractional (Puiseux) series.7
Remark 5. In proximity of the times of generation or collapse the evolution has
the same behaviour apart from its initial geometry. In addition the function
T (r) has approximately the same form in all of the three dierent cases 1 = 0,
1 > 0 and 1 < 0.
4.1
We already remarked that it is not possible to solve (14) explicitly with respect
to B, but we can approximate the exact solution by an opportune fractional
power series (or Puiseux series):8
h
Y
(h Y )Y + h arctan
=
(22)
2k
hY
7
In [11] the approximate explicit solution was obtained through an expansion in power
series of the parametric equations, therefore by a double expansion in power series.
It is not possible to expand the second member of (14) in a simple power series
with
respect to Y , but we can develop it in Mac Lauren series with respect to Y thus
obtaining a fractional power series. As it is known the fractional power series are
particular cases of Puiseux series (see e.g. [5]).
1002
2
= Y
3 k
3
2
Y
5h 2k
5
2
28
h2
2k
7
2
(23)
By truncating the fractional series to the rst term (with precision 3/2),
we nd
1 2
3
t (r) =
Y2 .
(24)
3 k
So in our approximation we found the same expression (8) that characterizes
the case 1 = 0: in proximity of the generation or collapse times, the r-shells
expand or collapse with the same behaviour as in the case 1 = 0 and the
function T (r) has, approximately, the form (9), in agreement with [11].
4.2
Also in this case, being not possible to solve (20) explicitly with respect to B,
we can approximate the exact solution by a Puiseux series:
c Y 2 k + c2 Y k 2 k arcsinh( c 2Yk )
=
(25)
3
c3 2
3
5
7
2Y 2
c2 Y 2
3 c4 2 Y 2
=
3 +
5 +
3 k
10 2 k 2
112 2 k 2
(26)
References
1. Levi-Civita, T.: The Absolute Dierential Calculus. Dover Publications Inc. (1926)
2. Bondi, H.: Spherically symmetrical models in general relativity. Monthly Notices
107 (1947) p. 410
3. Laserra, E.: Sul problema di Cauchy relativistico in un universo a simmetria
spaziale sferica nello schema materia disgregata. Rendiconti di Matematica 2 (1982)
p. 283
4. Laserra, E.: Dust universes with spatial spherical symmetry and euclidean initial
hypersurfaces. Meccanica 20 (1985) 267271
5. Amerio, L.: Analisi Matematica con elementi di Analisi Funzionale. Vol. 3 Parte I
Utet
1003
6. Siegel, C. L.: Topics in Complex Function Theory. Elliptic Functions and Uniformization Theory. New York: Wiley 1 (1988) p. 98
7. Davenport, J. H., Siret Y., Tournier. E.: Computer Algebra: Systems and Algorithms for Algebraic Computation. 2nd ed. San Diego: Academic Press (1993)
9092
8. Iovane, G., Laserra, E., Giordano, P.: Fractal Cantorian structures with spatial
pseudo-spherical symmetry for a possible description of the actual segregated universe as a consequence of its primordial uctuations. Chaos, Solitons & Fractals
22 (2004) 521528
9. Bochicchio, I., Laserra, E.: Spherical Dust Model in General Relativity. Proceeding
of the International Conference Inverse Problem and Applications , May 22-23
2006, Birsk, Russia, ISBN 5-86607-266-1 (2006) 144148
10. Bochicchio, I., Laserra, E.: Inuence of the Initial Spatial Curvature on the Evolution of a Spatially Spherical Universe (to appear in Mathematical Methods, Physical Models and Simulation)
11. Giordano, P., Iovane, G., Laserra, E.: El Naschie () Cantorian Structures with
spatial pseudo-spherical symmetry: a possibile description of the actual segregated
Universe. Chaos, Solitons & Fractals 31 (2007) 11081117
DiFarma, Universit`
a di Salerno, Via Ponte Don Melillo 84084 Fisciano (SA)- Italy
ccattani@unisa.it
2
ETSID-Departamento de Matem
atica Aplicada, Universidad Politecnica de
Valencia, 46022 Valencia, Spain
lmsr@mat.upv.es
Introduction
Wavelets have widely been studied from a theoretical point of view for its many
interesting properties, mainly related with multiresolution analysis such as generating orthonormal basis in L2 (R) as well as for the fact that they have proven
to be extremely useful in many applications such as image processing, signal
detection, geophysics, medicine or turbulent ows. More mathematically focussed dierential equations and even non linear problems have also been studied
with wavelets. Very often wavelets are compared with the Fourier basis (harmonic functions), however the basic dierence is that the harmonic functions
are bounded in the frequency domain (localized in frequency) while wavelets
are bounded both in space and in frequency. Nevertheless a major drawback
for wavelet theory is the existence of many dierent families of wavelets, giving
some arbitrariness to the whole theory. Among the many families of wavelets
the simplest choice is the one based on Haar functions. Despite their simplicity
Haar wavelets have proven their suitability for dealing with problems in which
piecewise constant functions or functions with sharp discontinuities appear. The
scaling function is the box function dened by the characteristic function [0,1]
and its Fourier transform, up to constants or phase factor, is a function of the
Work partially supported by Regione Campania under contract Modelli nonlineari di materiali compositi per applicazioni di nanotecnologia chimica-biomedica,
LR 28/5/02 n. 5, Finanziamenti 2003, by Miur under contract Modelli non Lineari per Applicazioni Tecnologiche e Biomediche di Materiali non Convenzionali,
Univ. di Salerno, Processo di internazionalizzazione del sistema universitario, D.M.
5 agosto 2004 n. 262 - ART. 23 and by Applications from Analysis and Topology
- APLANTOP, Generalitat Valenciana 2005.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10041011, 2007.
c Springer-Verlag Berlin Heidelberg 2007
1005
sin(t)
type
, also called sinc-function. By exchanging the role of the variable
t
and frequency space, i.e. assuming as Fourier transform the box function and the
sinc-function in the space of variable, we can construct the so-called Shannon
wavelets [2]. In a more general approach they can be derived from the real part
of harmonic (complex) wavelets [2] and its scaling function may be obtained by
choosing as such a function in the Fourier space such that it satises various
conditions for a scaling function and then nd the wavelet basis. In fact the
Haar and Shannon systems reverse the roles of the kind of scaling and wavelet
functions. Very recently the connection coecients both of Shannon wavelets
and harmonic wavelets [2] have been explicitly computed at any ordered.
Let us recall that a drawback of the Shannon wavelet in the time domain is
its slow decay which has been improved by smoothing the scaling function in
the frequency space, e.g. by means of the Meyer scaling function that instead
of enjoying a sharp discontinuity, uses a smooth function in order to interpolate
between its 1 and 0 values [4]. In this paper we study the dierentiable structure
of Meyer wavelets and, in particular, its connection coecients in the line of the
aformentioned results obtained for the Harmonic [2] and Shannon wavelet.
Meyers Wavelets
Meyers wavelets are dened in a such a way to avoid the slow decay (of compact
support frequency domain wavelets) in the space domain. In order to do this one
needs a continuous interpolating even function () dened on R, [0, 1] valued
which is proportional to n+1 (see the interpolating polynomials in table 1).
There follows that the Meyer scaling function is given by [4]
, || < 2
3
1
3
2
4
()
= cos 2 2
|| 1 ,
||
3
3
0
, || > 4
3
(1)
n
0
1
2
3
4
5
6
()
2 (3
2 )
3 10 15 + 6 2
4 35 84 + 70 2 20 3
5 126 420 + 540 2 315 3 + 70 4
6 462 1980 + 3465 2 3080 3 + 1386 4 252 5
7 1716 9009 + 20020 2 24024 3 + 16380 4 6006 5 + 924 6
1006
3
3
()
= ( + 23 ) + 12 ei ( 2 ||1)/2 + ei ( 2 ||1)/2 ()
(2)
(3)
By taking into account that, for the properties of the Fourier transform, it is
1
f(a b) = ei b /a f(/a) ,
a
(4)
there follows that the dilated and translated instances of the scaling function are
def
n t k) = 2n/2 (2
n k) = 2n/2 2n ei2n k (2
n )
nk () = 2n/2 (2
that is
n
n )
nk () = 2n/2 ei2 k (2
(5)
so that the Meyer scaling function at any scale and frequency localization is [4]
2n+1
1
,
||
<
3 n
2n+1
2n+2
n
n/2 i2n k
k () = 2
e
cos
|2
|
1
,
||
2
2
3 n+2
3
0
, || >
3
(6)
where (x) is the interpolating polynomial (Table 1). According to (5)-(3) it is
n
nk () = 2n/2 ei2 k (2n + 23 ) +
3
3
1
i ( 2
|2n |1)/2 + ei ( 2
|2n |1)/2 (2n )
e
2
(7)
The scaling function in the time domain is obtained by nding its inverse
Fourier transform
1 4/3
def 1
it
(t) =
()e d =
() cos (t)d
(8)
2
0
(9)
(a,b] (h k)
= ( a k, b k] ()
h
h
(a,b] (h)
= (a,b] (h)
(a,b] () + (c,d]()
= (a,b](c,d]() + (a,b](c,d] ()
(a,b] ()(c,d] ()
= (a,b](c,d]()
1007
(10)
hold. According to the previous equations, the characteristic function (9) on any
interval (a, b] can be reduced to the basic function (2):
2
(a,b] () =
(b 2a) ,
b>a.
3(b a)
Analogously, according to (10)1 and (2), we can generalize the basic function (2)
to any interval being
4
(h k) = ( 2
() .
3h k, 3h k]
(11)
2 m 2 4 m 2
2 n 4 n
2 ,
2
2 ,
2 =
3
3
3
3
3
3
m
n1
2m > 1 + 2n+1
2 < + 2
4 m 2 2 n
1
1
n1
+ < 2m < 2n +
3 2 3 , 3 2 2
2
2
=
2
4
1
n
n
n
m
n
2 ,
2 2 + < 2 < 2 + 1
3
3
2
2
2
4
2m ,
2n 2n + 1 < 2m < 2n+1 + 1
3
3
3
(12)
(13)
being () = 0
Analogously it can be easily shown that
Lemma 2. For the product of the characteristic functions we have:
2
(2m + ) (2n ) = ( 2
m 2 , 4 2m 2 ]( 2 2n , 4 2n ] ()
3 2
3
3
3
3
3
3
(14)
1008
n
n1
) = 0
(2 + ) (2
3
(2n1 + ) (2n ) = 0
3
(15)
(2m ) (2n ) = ( 2
m , 4 2m ]( 2 2n , 4 2n ] ()
3 2
3
3
3
(16)
Taking into account the previous lemmas and (10)5 we have also
Corollary 1. According to lemma 3 it is
2
2
(2m + )(2n + ) = (2m )(2n ) ,
3
3
and, in particular,
(2n + 2 ) (2n1 + 2 ) = 0
3
3
n
n1
(2 ) (2
)
=0
(17)
2n+1
1
,
||
<
3 n 2n+1
2n+2
n
n/2 i2n k
k () = 2
e
sin
|2
|
,
||
3 n+2
3
0
, || >
3
(18)
that is
n2
2
n
n/2 i2n k
n
n
k () = 2
e
(2 + ) + sin 2
3 || (2 )
3
(19)
From equation (19) it immediately follows that for k = 0 the scaling functions
n0 () are real functions while for k = 0 the functions nk () have also a nontrivial complex part (see Fig. 1). Moreover, the functions n0 () are orthonormal
functions with respect to the inner product on L2 (R):
01
1
2
2
1009
2
2
1
1
1
02
1
2
2
2
2
1
1
11
2
12
2
2
2
Fig. 1. The Meyer scaling function in frequency domain (plain the real part)
f, g
=
def
f (t) g (t)dt
(20)
with f (t) , g (t), in L2 (R) and the bar stands for the complex conjugate. By
taking into account the Parseval equality it is
1
f, g
=
2
1
g
f() g ()d =
f,
2
(21)
1010
Theorem 1. The scaling functions {0k (t)} are orthonormal (see e.g. [4])
0k (t) , 0h (t)
= kh .
Proof: It is enought to show that, due to (21),
1 0
() , 0h ()
= kh
2 k
From equation (19) and taking into account the denition (20) of the inner
product it is
2
3
ik
0
0
k () , h ()
=
e
( + ) + sin
|| ()
3
4
2
3
eih ( + ) + sin
|| () d
3
4
Since the compact support of the characteristic functions are disjoint: ( +
2
3 ) () = 0, we get
2
3
2
i(kh)
0
0
k () , h ()
=
e
( + ) + sin
|| () d
3
4
2/3
d +
2/3
2/3
sin
4/3
4/3
3
3
2
d +
sin
d
4
4
2/3
+ + = 2
3
3
3
2
n
3
9 + 18 cos
2
n
3
9 4n2
2 , k = h
0 , k = h
=0 .
1011
(/2)
()
= 2ei/2 cos(2)()
(22)
From (22) we can easily derive the dilated and translated instances
n
(n1)/2 n+1
kn () = 2n/2+1 ei2 (k+1/2) cos(2n+1 )2n/2 n
0
()
0 ()2
i.e.
n
n+1 () .
kn () = 2(n+1)/2 ei2 (k+1/2) cos(2n+1 )n
0 ()0
From this denition we can easily prove that Meyer wavelets are orthonormal
functions.
References
1. D.E. Newland, Harmonic wavelet analysis, Proc.R.Soc.Lond. A, 443, (1993)
203222.
2. C.Cattani, Harmonic Wavelets towards Solution of Nonlinear PDE, Computers
and Mathematics with Applications, 50 (2005), 1191-1210.
3. H. Mouri and H.Kubotani, Real-valued harmonic wavelets, Phys.Lett. A, 201,
(1995) 5360.
4. I. Daubechies, Ten Lectures on wavelets. SIAM, Philadelphia, PA, (1992).
1 Introduction
Experimental observations of long-range dependence (LRD) and self-similarity (SS) of
traffic time series in computer communication networks (traffic for short) were actually
noted before the eighties of last century [1]. The description of traffic in [1] was further
studied and called packet trains during the eighties of last century [2]. However, the
properties of LRD and SS of traffic were not investigated from a view of self-affine
random functions, such as fractional Brownian motion (fBm) or fractional Gaussian
noise (fGn), until the last decade, see e.g. [3], [4], [5], [6], [7], and our previous work
[8], [9], [10], [11], [12].
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10121020, 2007.
Springer-Verlag Berlin Heidelberg 2007
1013
Further research of traffic exhibits that traffic has multifractal behavior at small
time-scales. However, the multifractal behavior of traffic is conventionally described
on an interval-by-interval basis by using H(n), where H(n) is the Hurst parameter in the
nth interval for n = 1, 2, , see e.g. [13], [14], [15], [16], [17], [18], and our recent work
[19]. Note that H plays a role in computer networks, see e.g. [20], [21], and our recent
papers [19], [22], [23]. Hence, modeling multi-fractality of traffic becomes a
contemporary topic in traffic modeling. From a practice view, any models of
multi-fractal phenomena of traffic are desired as they may be promising to understand
and or find solutions to some difficult issues, such as simulation of the Internet,
performance evaluation, network security, and so forth, in networking as can be seen
from [15], [19], [34]. [35].
Owing to the fact that a monofractal model utilizes fractional Brownian motion
(fBm) with the constant Hurst index H that characterizes the global self-similarity,
see e.g. [24], we need studying the possible variation of scaling behavior locally. To do
so, fBm can be generalized to multifractional Brownian motion (mBm) by replacing the
constant H with a time-dependent Hurst function H (t ), which is also called the local
Holder exponent see e.g. [26], [27], and our work [28], [29], [30]. In this paper, we
discuss and describe the multi-scale and multi-fractal properties of real traffic based on
H(t). We shall exhibit that H (t ) of traffic change erratically with location t. It is noted
(2 H (t )) cos( H (t ))
. Since is time-dependent,
H (t )(2 H (t ) 1)
1014
M. Li et al.
2
2 H (t )
it will be desirable to normalize BH (t ) such that E ( X (t ) ) = t
by replacing
X (t ) with X (t )
.
H (t )
X (t ) =
1
( H (t ) + 1/ 2)
(t s)
H (t ) 1/ 2
( s ) H (t ) 1/ 2 dB ( s )
(1)
+ (t s )
H (t ) 1/ 2
dB( s ).
2
2 H (t )
E ( X (t ) ) = H2 ( t ) t
.
(2)
For the subsequent discussion, X (t ) will be used to denote the normalized process.
The explicit expression of the covariance of X (t ) can be calculated by
E [ X (t1 ) X (t2 ) ] =
H ( t ) + H ( t2 )
N ( H (t1 ), H (t2 ) ) t1 1
+ t2
H ( t1 ) + H ( t2 )
t1 t2
H ( t1 ) + H ( t2 )
(3)
where
H (t1 ) + H (t2 )
(2 H (t1 ) H (t2 )) cos
.
N ( H (t1 ), H (t2 ) ) =
H (t1 ) + H (t2 )
( H (t1 ) + H (t2 ) 1)
2
With the assumption that H (t ) is -Holder function such that 0 < inf( H (t ))
sup( H (t )) < (1, ), one may approximate H (t + u ) H (t ) as 0. Therefore, the
local covariance function of the normalized mBm has the following limiting form
E [ X (t + ) X (t )] ~
1
t +
2
2 H (t )
+t
2 H (t )
2 H (t )
) , 0.
(4)
E [ X (t + ) X (t ) ]
}~
2 H (t )
, 0
(5)
implying that the increment processes of mBm is locally stationary. It follows that the
local Hausdorff dimension of the graphs of mBm is given by
dim{ X (t ), t [a, b]} = 2 min{H (t ), t [a, b]}
(6)
1015
stationary property. Instead, standard mBm now satisfies the local self-similarity.
Recall that fBm BH (t ) is a self-similar Gaussian process with BH (at ) and a H BH (t )
having identical finite-dimensional distributions for all a > 0. For a locally self-similar
process, therefore, one may hope that the following expression can provide a
description for the local self-similarity of X (t ) :
X (at ) a H ( t ) X (t ), a > 0,
(7)
uR
0+
uR
(8)
Sk ( j ) =
m j+k
X (i + 1) X (i) , 1 < k < N ,
N 1 j =0
(9)
where m is the largest integer not exceeding N / k . The local Hurst function H (t ) at
point t = j /( N 1) is then given by
H (t ) =
log( / 2 S k ( j ))
.
log( N 1)
(10)
1016
M. Li et al.
0.8
H(t)
x(i), Bytes
1000
500
0.75
0.7
0
256
512
768
1024
2048
4096
6144
8192
(a)
(b)
Fig. 1. (a) Traffic time serie s X(i) of DEC-PKT-1.tcp. (b) Local Hurst function of X(i)
0.8
H(t)
x(i), Bytes
2000
1000
0.75
0.7
0
256
512
768
1024
2048
4096
6144
8192
(a)
(b)
Fig. 2. (a) Traffic time series X(i) of DEC-PKT-2.tcp. (b) Local Hurst function of X(i)
0.8
H(t)
x(i), Bytes
1000
500
0.78
0.76
0
256
512
768
1024
2048
4096
6144
8192
(a)
(b)
Fig. 3. (a) Traffic time series X(i) of DEC-PKT-3.tcp. (b) Local Hurst function of X(i)
0.85
H(t)
x(i), Bytes
1000
500
0.8
0.75
0
256
512
768
1024
2048
4096
(a)
6144
8192
(b)
Fig. 4. (a) Traffic time series X(i) of DEC-PKT-4.tcp. (b) Local Hurst function of X(i)
1017
Multifractal process. From the above figures, it is obviously seen that H (t ) appears
random. Thus, H (t )s illustrated in Fig. 1 (b) ~ Fig. 4 (b) are numerical models of
multi-fractality of real traffic DEC-PKT-n.tcp (n = 1, 2, 3, 4).
3 Discussions
The previous figures provide verifications that traffic has the nature of multi-fractal.
Recall that the Hurst parameter characterizes the burstness of process from a view of
networking. From the above figures, we see that the local Hurst function of a
real-traffic series is time varying. Thus, a traffic series may have different burstness at
different points of time. As known, if the space of a buffer is occupied, some packets
will be dropped and they will be retransmitted late when traffic load becomes light but
these packets suffer from delay. The above H (t )s provide evidences that, during a
communication process, why packets are delayed due to traffic congestion and why
delay is usually a random variable.
Further, the local Hurst functions in Figs. 1 (b) ~ 4 (b) verify that traffic has strictly
alternating ON/OFF-period behavior, where the term strictly alternating ON- and
OFF- periods implies 1) the length of ON-periods are independent and identically
distributed (i.i.d.) and so are the length of OFF-periods, and 2) an OFF-period always
follows an ON-period [16].
The assumption that the Hurst function is continuous implies H (t + ) H (t ) for
0. Therefore, the normalized mBm has the covariance in the following limiting
form:
E[ X (t + ) X (t )] = 0.5 t
2 H (t )
+ t +
2 H (t )
2 H (t )
) , 0.
(11)
2 H (t )
, 0.
(12)
Therefore, one sees that the increment process of mBm is locally stationary.
In practice, a process is causal. Hence, we consider X + (t ) which stands for a causal
process with the starting point t = 0. In this case, one has the one-sided mBm based on
fractional integral of Riemann-Liouville type as follows [30]:
t
X + (t ) =
1
(t u ) H ( t ) 0.5 dB (u ).
( H (t ) + 1/ 2) 0
(13)
2t
t
2 F1 (0.5 H (t2 ), 1, H (t1 ) + 1.5, t1 / t2 ).
(2 H (t1 ) + 1)( H (t1 ) + 0.5)( H (t2 ) + 0.5)
(14)
1018
M. Li et al.
2 H (t )
up to a
4 Conclusions
We have given and demonstrated the multi-fractality of real traffic based on the local
Hurst functions. The present results exhibit that the local Hurst functions of
investigated real traffic show that H(t) of traffic is time-varying. The significance of the
present results is not only to show multifractal phenomena of traffic on a point-by-point
basis instead of an interval-by-interval basis as conventionally done in computer
networks but, more importantly, to make the research of the multi-fractality of traffic a
step further towards modeling multi-fractality of traffic.
Acknowledgements
This work was supported in part by the National Natural Science Foundation of China
under the project grant numbers 60573125 and 60672114, by the Key Laboratory of
Security and Secrecy of Information, Beijing Electronic Science and Technology
Institute under the project number KYKF 200606 of the open founding. SC Lim would
like to thank the Malaysia Ministry of Science, Technology and Innovation for the
IRPA Grant 09-99-01-0095 EA093, and Academy of Sciences of Malaysia for the
Scientific Advancement Fund Allocation (SAGA) P 96c.
References
1. Tobagi, F.A.; Gerla, M., Peebles, R.W., Manning, E.G.: Modeling and Measurement
Techniques in Packet Communication Networks. Proc. the IEEE 66 (1978) 1423-1447
2. Jain, R., Routhier, S.: Packet Trains-Measurements and a New Model for Computer
Network Traffic. IEEE Journal on Selected Areas in Communications 4 (1986) 986-995
3. Csabai, I.: 1/f Noise in Computer Network Traffic. J. Phys. A: Math. Gen. 27 (1994)
L417-L421
4. Paxson V., Floyd, S.: Wide Area Traffic: The Failure of Poison Modeling. IEEE/ACM T.
Networking 3 (1995) 226-244
5. Beran, J., Shernan, R., Taqqu, M. S., Willinger, W.: Long-Range Dependence in Variable
Bit-Rate Video Traffic. IEEE T. Communications 43 (1995) 1566-1579
6. Crovella, E., Bestavros, A.: Self-Similarity in World Wide Web Traffic: Evidence and
Possible Causes. IEEE/ACM T. Networking 5 (1997) 835-846
1019
1020
M. Li et al.
30. Muniandy, S. V., Lim, S. C.: Modelling of Locally Self-Similar Processes Using
Multifractional Brownian Motion of Riemann-Liouville Type. Phys. Rev. E 63 (2001)
046104
31. Benassi, A., Jaffard, S., Roux, D.: Elliptic Gaussian Random Processes. Revista
Mathematica Iberoamericana 13 (1997) 19-90
32. Lim S. C., Li, M.: Generalized Cauchy Process and Its Application to Relaxation
Phenomena. Journal of Physics A: Mathematical and General 39 (2006) 2935-2951
33. http://www.acm.org/sigcomm/ITA/
34. Floyd, S., Paxson, V.: Difficulties in Simulating the Internet. IEEE/ACM T. Networking 9
(2001) 392-403
35. Willinger, W., Govindan, R., Jamin, S., Paxson V., Shenker, S.: Scaling Phenomena in the
Internet: Critically Examining Criticality. Proc. Natl. Acad. Sci. USA 99 (Suppl. 1) (2002)
2573-2580
Abstract. Sampling theory is one of the most powerful results in signal analysis. The objective of sampling is to reconstruct a signal from
its samples. Walter extended the Shannon sampling theorem to wavelet
subspaces. In this paper we give a further characterization on some shiftinvariant subspaces, especially the closed subspaces on which the sampling theorem holds. For some shift-invariant subspaces with sampling
property, the sampling functions are explicitly given.
Keywords: Sampling theorem, Wavelet subspace, Wavelet frame,
Shift-invariant subspace.
Sampling theory is one of the most powerful results in signal analysis. The objective of sampling is to reconstruct a signal from its samples. For example, the
classical Shannon theorem says that for each
1 1
f B 12 = {f L2 (R) : suppf [ , ]},
2 2
(xk)
f (k) sin(xk)
, where the convergence is both in L2 (R) and uni
form on R, and the Fourier transform is dened by f() = f (x)e2ix dx.
If (x) = sinxx , then {( k)}kZ is an orthonormal basis for B 12 and B 12 is a
shift-invariant subspace in L2 (R).
The structure of nitely generated shift-invariant subspaces in L2 (R) is studied, e.g., in [1]-[6]. There are fruitful results in wavelet theory in the past 20 years
(see [7]-[12]). In [2], Janssen considered the shifted sampling and corresponding
aliasing error by means of Zak transform. Walter [1] extended the Shannon sampling theorem to wavelet subspaces. Zhou and Sun [13] characterized the general
shifted wavelet subspaces on which the sampling theorem holds:
f (x) =
k=
This work was supported by the National Natural Science Foundation of China
(Grant No. 60572113).
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10211028, 2007.
c Springer-Verlag Berlin Heidelberg 2007
1022
X. Li and D. Yang
2
where is the characteristic function, E = { R : k (
+ 2k) > 0}.
n) for any f V0 ,
Moreover, it implies that for S in (i), f (k) = f, S(
where S is dened in the following Proposition 3.
In this paper we characterize some shift-invariant subspaces, especially the closed
subspaces in L2 (R) such that the sampling theorem holds.
Notations. Firstly, we discuss functions in L2 (R). Therefore f = g means that
f () = g() for almost everywhere R. C(R) is the space of continuous
2
function. Gf () =
f
(
+
k)
. It is easy to see that Gf is dened only
k
a.e.. Ef = { R : Gf () > 0} for any f L2 (R). E is the characteris
tic function of the set E. f
() =
f (n)ei2n for any f L2 (R) with
n
2
0
n |f (n)| < . Vf = {g : g() =
n cn f ( n), where the convergence is
in L2 (R) and {cn }nZ l2 }. Vf = {f ( n)}n which means that any g Vf
can be approximated arbitrarily well in norm by a nite linear combinations of
vectors f ( n). Moreover, Vf is called a shift-invariant subspace generated by
a.e
f . Let () be the Lebesgue measure on R. For E, F R, E = F means that
(E \ F ) = (F \ E) = 0.
For L2 (R), if {( n)}n is a frame (Riesz basis) for V then is called
a frame (Riesz) function.
Denition 1. A closed subspace V in L2 (R)
is called a sampling space, if there
exists a frame {(k)}kZ for V such that k ck (xk) converges pointwisely
to a continuous function for any {ck } l2 and
f (x) =
f (k)(x k) for any f V,
k
1023
From the denition, we know that if V is a sampling space then for any f V
there exists a function g C(R) such that f (x) = g(x), a.e. x R. Therefore, in
what follows we assume that all the functions in a sampling space are continuous.
Next we denote the following three sets to characterize the functions with
sampling property.
2
P1 is the subset in L (R) C(R) in which each function satises that
2
k ck (x k) converges pointwisely to a continuous function for any {ck } l .
P2 is the set of functions in which each function f satises the following three
conditions:
(i) f = 0, f L2 (R) C(R), k |f (k)|2 < and f is a bounded function;
(ii) ({ : f () = 0, Gf () = 0}) = 0;
(iii) There exist two positive constants A, B such that
Gf ()
A
B, a.e. Ef .
2
f ()
P3 = { P2 : supxR
n
For any f P2 , it is easy to see that (Ef ) > 0 and f (), Gf () are well
dened almost everywhere.
Next we list the following propositions to be used in the proof of our results.
Proposition 2 ([3],[5]). Let L2 (R). is a frame function if and only if
there are constants A, B > 0 such that AE G BE , a.e.
Especially, if is a Riesz function, then E = R.
Proposition 3 ([3],[13]). Assume that f L2 (R) and f is a frame function.
Let
f ()
, if Ef
f () = Gf ()
0,
if
/ Ef
then {f( n)}n is a dual frame of {f ( n)}n in Vf .
Proposition 4 ([13]). Let L2 (R). Then P if and only if the following
holds
(i) C(R),
2
(ii) kZ |(x k)| M for some constant M > 0.
Proposition 5 ([5]). Vf = {g L2 (R) :
g = f, where is a function with
period 1 and f L2 (R)}.
Proposition 6 ([5]). Let g Vf . Then Vg = Vf if and only if suppf = supp
g.
a.e
Now we give the following theorem to check whether Vf is the maximum shiftinvariant subspace in L2 (R).
1024
X. Li and D. Yang
(2)
(3)
(iii) There exists C(R) such that {( n)}n is a frame for V and (2),
(3) hold.
(iv) There exists C(R) such that {( n)}n is a frame for V , (2)
holds and
A g 2
|g(n)|2 B g 2 , g V.
(4)
n
1025
f(), if
/ E,
1, if E.
Then
Gfp () =
Gf ()
|f ()|
0,
, if Ef
if
/ Ef .
Since f P2 , there exist positive constants A, B such that AEf Gfp BEf .
However, is a function with period 1. By Proposition 5, fp Vf . It is from
suppf = suppfp and Proposition 6 that Vf = Vfp . Finally, by Proposition 2, fp
is a frame for Vf .
This completes the proof of Theorem 8.
Proof of Theorem 9. [(i)] Since f (x) = k f (k)S(x k) and f () = 0, we
have f() = f ()S(),
S()
= ff()
. Thus S = fp .
()
0
[(ii)] For any g Vf , there exist {ck } l2 such that g() = k ck f ( k),
where the convergence is pointwise and g C(R). Let C() = k ck ei2k ,
1026
X. Li and D. Yang
C ()
Ef
1/2
f () 2 i2n
f
()
e
d
=
C ()f ()ei2n d
Gf ()
1/2
ck f (n k) = g(n).
S()
= fp () +
h(), S = fp + h.
Since g(n) =
Then
k) for n Z, we have g () =
g ()
h() = 0,
g(n)h(x n) = 0.
k ck f (n
i2k
f ().
k ck e
Therefore
g(x) =
g(n)S(x n).
1027
2
2
= sup
|B()|
(x k)ei2k d
x
1/2
k
2
2
sup B()
|(x k)| < .
1/2
(5)
1028
X. Li and D. Yang
(7)
If (iv) holds, then there exist two positive constants A, B such that
A g 2
|g, qk
|2 B g 2 for any g V.
k
References
1. Walter,G.: A sampling theorem for wavelet subspaces. IEEE Trans. Inform. Theory
38 (1992) 881884
2. Janssen, A.J.E.M.: The Zak transform and sampling theorems for wavelet subspaces. J. Fourier Anal. Appl. 2 (1993) 315327
3. Boor, C., Devore, R., Ron, A.: The structure of nitely generated shift-invariant
subspaces in L2 (R). J. Func. Anal. 119 (1994) 3778
4. Boor, C., Devore, R., Ron, A.: Approximation from shift-invariant subspaces of
L2 (Rd ). Trans. Amer. Math, Soc. 341 (1994) 787806
5. Benedetto, J.J., Walnut, D.F.: Gabor frames for L2 and related spaces. In:
Benedetto, J.J., Frazier, M. W. (eds.): Wavelets: Mathematics and Applications.
CRC Press, Boca Raton (1993) 136
6. Ron, A., Shen, Z.W.: Frames and stable bases for shift-invariant subspaces of
L2 (Rd ). Can. J. Math. Vol. 5 (1995) 1051-1094
7. Daubechies, I.: Ten lectures on wavelets, Philadalphia, SIAM (1992)
8. Christensen, O: An Introduction to Frames and Riesz Bases. Birkh
auser, Boston
(2003)
9. Chui, C., Shi, X.: Orthonormal wavelets and tight frames with arbitrary real dilations, Appl. Comp. Harmonic Anal. 9 (2000) 243264
10. Yang, D., Zhou, X.: Irregular wavelet frames on L2 (Rn ), Science in China Ser. A.
Math. 48 (2005) 277287
11. Yang, D., Zhou, X.: Wavelet frames with irregular matrix dilations and their stability, J. Math. Anal. Appl. 295 (2004) 97106
12. Yang, D., Zhou, X.: Frame wavelets with matrix dilations in L2 (Rn ), Appl. Math.
Letters 17 (2004) 631639
13. Zhou, X.W., Sun, W.C: On the sampling theorem for wavelet subspace. J. Fourier
Anal. Appl. 1 (1999) 347354
Abstract. There are many results in one dimensional wavelet frame theory in recent years. However, since there are some essential dierences in
high dimensional cases, the classical methods for one dimensional regular
wavelet frames are unsuitable for the cases. In this paper, under some
conditions on matrix-dilated sequences, a characterization formula for
irregular tight frames of matrix-dilated wavelets is developed. It is based
on the regular formulation by Chui, Czaja, Maggioni, Weiss, and on the
recent multivariate results by Yang and Zhou.
Keywords: Irregular frame, Tight wavelet frame, Matrix dilations,
Bessel sequences.
(1)
n
where j,k (x) = |det Aj | 2 (A
j x Bk). If {j,k : j Z, k Z } is a tight
frame for L2 (Rn ), then is called a tight frame function with respect to dilation
sequence {Aj }jZ . There are some results in high dimensional wavelet
frame
,
g
,
n
j,k
j,k
jZ,kZ
This work was supported by the National Natural Science Foundation of China
(Grant No. 60572113).
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10291036, 2007.
c Springer-Verlag Berlin Heidelberg 2007
1030
D. Yang et al.
= { Rn : = A
(Zn )},
j m, (j, m) Z B
(3)
Then we have
Theorem 2. Suppose that , L2 (Rn ) have the property that the following
two functions are locally integrable:
2
2
.
(A
)
,
(A
)
j
j
jZ
jZ
1
(A
j )(Aj ( + Aj m)) = ,0 ,
(j,m)I()
for a.e. Rn and for all , if and only if P (f, g) = f, g for all f, g B.
By Theorem 2 and Lemma 1, the following two theorems are the immediate
consequences.
Theorem 3. Assume that , L2 (Rn ) are two Bessel sequences,
2
2
(Aj ) ,
(Aj )
jZ
jZ
are locally integrable. Then and constitute a pair of dual frames for L2 (Rn )
if and only if
1
1
(A
j )(Aj ( + Aj m)) = ,0 ,
|det B|
(j,m)I()
1031
j )(A
j ( + A1 m)) = ,0 ,
(A
j
(j,m)I()
for a.e. Rn and for all , if and only if {j,k }j,k is a tight frame with
constant 1 for L2 (Rn ).
1
j + B s))d.
Gj =
f()(A
f( + A1
s)(A
j )(
j B
|det B| Rn
n
sZ
Thus, we would like to show that jZ Gj is absolutely convergent. To do so,
it is enough to show that the following two series are absolutely convergent:
I :=
f()(A
j )f ()(Aj )d,
Rn
jZ
and
f()(A
j )(
II :=
Rn
j + B s))d.
f( + A1
s)(A
j B
sZn \{0}
Since
2
2
j + B s) 1 ((A
s) ),
(Aj )(A
j ) + (Aj + B
2
(4)
2
s) h(Aj ) d
f ()f ( + A1
j B
jZ,sZn \{0}
=
Rn
Rn
jZ,sZn \{0}
2
1
1 1
h() d. (5)
f (Aj )f (Aj ( + B s))
|det Aj |
Since f B, it follows from (2) and (3) that there exists constant C0 > 0 such
that for each j Z, Rn , the number of s Zn \ {0} satisfying
1032
D. Yang et al.
1
1
f(A1
s) = 0
j )f (Aj + Aj B
1
1 1
F (A1
f (Aj )f (Aj ( + B s)) C
j ), (6)
|det Aj |
jZ
2
where C = C0 f and F is compact in Rn \ {0}. By (2) and (3), {Aj }jZ is
an MFS (see [4]). Therefore there exists constant K > 0 such that
n
F (A1
j ) K for any R \ {0}.
(7)
jZ
Now, it follows from (5), (6) and (7) that the series II is convergent. Hence, we
can rearrange the series for P (f, f ), to obtain
1
P (f, f ) =
f()f( + )
(A
j )(Aj ( + )) d.
|det B|
n
R
(j,m)I()
Then using the polarization identity for the form P , we get the suciency of
the theorem.
Next, we prove the necessary condition. From the above discussion, we
have, let
P (f, g) = M (f, g) + R(f, g),
where
1
M (f, g) :=
|det B|
and
R(f, g) :=
1
|det B|
\{0}
g()f()
(A
j )(Aj ) d,
Rn
jZ
g()f( + )
Rn
(A
j )(Aj ( + ))d.
(j,m)I()
1
+H (),
(Hk )1/2 0 k
Then
M (f1 , f1 ) =
1
|det B| (Hk )
j )(A
j )d
(A
0 +Hk jZ
1033
and
|R(f1 , f1 )|
1
|det B| (Hk )
j ( +)) d
(Aj )(A
|det B| (Hk )
\{0} (j,m)I()
\{0} (j,m)I()
2 1/2
(Aj ) d
2 1/2
.
(Aj ( + )) d
If (0 + Hk ) (0 + + Hk ) = , then A1
k ( ). Thus for (j, m) I(),
m (Aj A1
(Zn ) = Qj,k .
k ( )) B
Using (2) and (3), there exists a constant c > 0 such that j k + c. However,
|R(f1 , f1 )|
2 1/2
1
(Aj ) d
|det B| (Hk )
+H
0
k
jk+c mQj,k \{0}
2 1/2
.
(Aj ()) d
(8)
0 +Hk
|det Ak |
jk+c
2
(Aj ) d
0 +Hk
1
C det(Aj A1
k ) |det Aj |
jk+c
=C
2
() d
Aj (0 +Hk )
2
() d,
(9)
Aj (0 +Hk )
1034
D. Yang et al.
Using (8), (9), (P1 ) and (P2 ), we can get |R(f1 , f1 )| 0 when k . Then,
by Lebesgue theorem, we have
1
j )(A
j )d
1 = lim
(A
k |det B| (Hk ) 0 +H
k
jZ
1
j 0 ),
=
(Aj 0 )(A
|det B|
jZ
1
|det B|
1
R2 (f, g) =
|det B|
g()f( + 0 )
Rn
(A
j )(Aj ( + 0 ))d.
(j,m)I(0 )
\{0,0 }
g()f(+)
Rn
(A
j )(Aj ( + ))d.
(j,m)I()
2
Next, let 0 Rn \ {0} be any Lebesgue point of functions jZ (A
j ) and
2
(A
)
. For xed k Z, we dene f2 , g2 as follows:
j
jZ
f2 ( + 0 ) =
1
1
0 +Hk (), g2 () =
+H ().
1/2
(Hk )
(Hk )1/2 0 k
1
|det B|
(A
j 0 )(Aj (0 + 0 )).
(j,m)I(0 )
1035
J1
1
+
|det B|
g2 ()f2 ( + )(A
j )(Aj ( + ))d
Rn
g2 ()f2 ( + )(A
j )(Aj ( + ))d
Rn
1
|det B| |Hk |
2 1/2
(Aj ) d
0 +Hk
2 1/2
.
(Aj ) d
0 +Hk
2
(Aj ) d
0 +Hk
2
1
1
(1 + C |det Aj | |det Ak | )
(Aj ) d
|Hk |
0 +Hk
jJ1
2
1
2
=
(Aj ) d +
() d.
|Hk | 0 +Hk
Aj (0 +Hk )
jJ1
jJ1
2
(A
)
j 0 < . Then
jJ1
jJ1
1
(Hk )
0 +Hk
2
(Aj ) d < /2.
1036
D. Yang et al.
2
lim
() d = 0.
k
jJ1
Aj (0 +Hk )
Thus for any > 0, there exists J1 such that limk |R2,1 (f2 , g2 )| . Finally,
we obtain
1
(A
j 0 )(Aj (0 + 0 )) = 0, for any 0 \ {0}.
|det B|
(j,m)I(0 )
Remarks
In the proof of Theorem 2, we have used the following result in some places.
Remark 3.1. If (2) and (3) holds, then there exist constants C, q Z+ and
(0, 1) such that
(i) for any p, j Z+ , j pq and Rn , |Aj | C( 1 )p ||.
(ii) for any p, j Z+ , j pq and Rn ,|Aj | C p ||.
(iii) for any j, k Z, j < k and Rn , we have |Ak | C( 1 )
kj
q
|Aj |.
j
Remark 3.2. Assume that A is an expand matrix, S = \1
j= (A ), where
n
is a bounded measurable subset in R , supx,y x y < 1 and the origin is
an interior point of . Let = S . By Theorem 4, is a tight frame function
with respect to dilation sequence {Aj }jZ . If Di (i = 1, , p) are nonsingular
matrices which is commutative with A, and Asp+i = As+1 Di for any s Z, i =
1, , p, then using Theorem 4 again, it is easy to show that is also a tight
frame function with respect to dilation sequence {Aj }jZ .
References
1. Hern
andez, E., Weiss, G.: A rst Course on Wavelets. CRC Press, Boca Raton
(1996)
2. Frazier, M., Garrigos, G., Wang, K., Weiss, G.: A characterization of functions that
generate wavelet and related expansion. J. Fourier Anal. Appl. 3 (1997) 883906
3. Frazier, M., Jawerth, B., Weiss, G.: Littlewood-Paley theory and the study of function spaces. CBMS Regional Conference Series in Mathematics, 79, AMS, Providence, R1 (1991)
4. Yang, D., Zhou, X.: Wavelet frames with irregular matrix dilations and their stability. J. Math. Anal. Appl. 295 (2004) 97106
5. Yang, D., Zhou, X.: Irregular wavelet frames on L2 (Rn ). Science in China Ser. A
Mathematics 2 (2005) 277287
6. Yang, D., Zhou, X.: Frame wavelets with matrix dilations in L2 (Rn ). Appl. Math.
Letters 17 (2004) 631639
7. Yang, X., Zhou, X.: An extension of Chui-Shi frame condition to nonuniform ane
operations. Appl. Comput. Harmon. Anal. 16 (2004) 148157
1 Introduction
Seal imprint has been commonly used for personal confirmation in the Oriental
countries. Seal imprint verification for document validation is sticking point.
Therefore, it is highly desirable that large numbers of seal imprint are verified
automatically, speedily and reliably. However, seal imprint verification is a very
difficult problem [1]. Its difficulty comes from two aspects [2]:
(1) The various stamping conditions may affect the quality of the seal imprint
images;
(2) The forgery seal imprint may be very similar to the original seal imprint.
Therefore, it is important to find separate and efficient features of seal imprint.
Over the past years, many studies have been focused on extracting the impression
feature in frequency domain. Gabor filters [3] have been used in texture analysis due
to their good directional selectivity in different frequency scales. Serkan el. [4]
proposed a new feature extraction method utilizing dual tree complex wavelet
transform (DT-CWT).
In the conventional DWT domain, it is difficult to achieve perfect reconstruction
and equal frequency responses. In addition, directional selectivity is poor in DWT
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10371044, 2007.
Springer-Verlag Berlin Heidelberg 2007
1038
R. Li et al.
domain. In 2004, Selesnick [5] proposed the double-density dual-tree DWT, which
possess the properties of the double-density DWT as well as the DT-CWT.
In this paper, the double-density dual-tree DWT is employed for decomposing a
seal imprint image into the bandpass sub-images that are strongly oriented at 16
different angles. As higher directional selectivity is obtained, the dominant frequency
channel and orientation of the pattern are detected with a higher precision [5].
This paper is organized as follows. In Section 2, the double-density dual-tree DWT,
its dual-tree filters, and its properties are introduced. The projection operators of
bandpass subimages in the double-density dual-tree DWT are presented in Section 3.
The experimental results are shown in Section 4, followed by the conclusions drawn in
Section 5.
1039
Here we obtain image subbands from 16 orientations as in the previous case, but the
seal imprint image at each level of decomposition contains two parts (the real parts
and the imaginary parts, each which is the relative 18 sub-images at each level.)
1040
R. Li et al.
1041
2500
2000
100
200
200
150
150
1500
100
100
1000
50
50
50
500
0
0
0
-50
-500
-50
-100
-1000
-100
-50
-150
-1500
-150
-2000
-100
10
20
30
40
50
60
70
100
50
-2500
10
20
30
40
50
60
70
-200
-200
10
20
30
40
50
60
70
-250
2000
200
250
1500
150
200
1000
10
20
30
40
50
60
70
10
20
30
40
50
60
70
150
100
500
100
50
0
0
50
0
-500
-50
-50
-1000
-50
-100
-1500
-100
-150
-2000
-150
10
20
30
40
50
60
70
-2500
-100
10
20
30
40
50
60
70
-200
-150
10
20
30
40
50
60
70
-200
100
50
-50
-100
10
20
30
40
50
60
70
To reduce the computational complexity, we search for three maximum and three
minimum values, whose locations are regarded as the features of seal imprint in the
1042
R. Li et al.
4 Experiment Result
In our experiment, the feature extraction of seal imprint is in the second level of
double-density dual-tree DWT. The seal imprint images are of size 256256.The
following images are the three true seal imprints and their corresponding false seal
imprints.
In Fig.8, we see that false seals are similar to the given true seals too much. The
performance of this method has been investigated using a database containing
1003 seal imprint images (three groups are A, B and C respectively, each contains
50 true seals and 50 false seals.), and promising results have been obtained. The
match ratio of the features is used for the classification algorithm. To reduce FAR
(False Acceptance Rate, set the threshold of 46% matching ratio for B-Group and
A-Group, and 50% matching ratio for C-Group. The experimental results are shown
in Table 1.
1043
FRR
(%)
Recognition rate
96%
B
C
0
0
6
14
97%
93%
In Table 1, we can see that recognition rates of rotundity-seals (A) and ellipse-seals
(B) are more high than square -seals (C). As rotundity-seals (A) and ellipse-seals (B)
possess more salient features of direction, their features are separated highly in
comparison with square -seals.
5 Conclusion
In this paper, we proposed a feature extraction method of seal imprint based on the
double-density dual-tree DWT. Through the double-density dual-tree DWT of seal
imprint images, 16 different directions information is obtained. Although the
frequency distributions of true seals are similar to false seals, their directional
behaviors are much different. The method is stable and computationally efficient. The
1044
R. Li et al.
experimental results demonstrate that the features which have directional selectivity
properties extracted by this method are appropriate for verification of similar
structure.
Acknowledgments. This work is supported by the National Natural Science
Foundation of China (No. 60662003, 60462003, 10626029), the Science &
Technology Research Project of the Education Department of Jiangxi Province
(No.2006-231), Jiangxi Key Laboratory of Optic-electronic & Communication and
Jiangxi University of Finance & Economics Innovation Fund.
References
1. Fam T. J., Tsai W H: Automatic Chinese seal identification [J]. Computer Vision Graphics
and Image Processing, 1984, 25(2):311 - 330.
2. Qing H., Jingyu Y., Qing Z.: An Automatic Seal Imprint Verification Approach [J]. Pattern
Recognition, 1995, 28 (8):1251 - 1265.
3. Jain, A.K. and Farrokhnia. F., Unsupervised texture segmentation using Gabor filter,
Pattern Recognition, 1991.24, 1167-1186
4. Hatipoglu S., Mitra S K. and Kingsbury N.: Classification Using Dual-tree Complex Wavelet
Transform. Image Processing and Its Applications, Conference Publication No. 465 @IEE
1999
5. Selesnick I. W.: The Double-Density Dual-Tree DWT in IEEE Transactions on Signal
Processing, 52 (5): 1304-14, May 2004.
6. Selesnick I. W.: Hilbert Transform Pairs of Wavelet Bases, Signal Processing Letters, vol. 8,
no. 6, pp. 170.173, Jun. 2001.
7. Kingsbury N.G.: Image Processing with Complex Wavelets. Phil. Trans. Royal Society
London A, September 1999.
Introduction
Test-functions (which dier to zero only on a limited interval and have continuous derivatives of any order on the whole real axis) are widely used in the
mathematical theory of distributions and in Fourier analysis of wavelets. Yet
such test functions, similar to the Dirac functions, cant be generated by a differential equation. The existence of such an equation of evolution, beginning
to act at an initial moment of time, would imply the necessity for a derivative
of certain order to make a jump at this initial moment of time from the zero
value to a nonzero value. But this aspect is in contradiction with the property of
test-functions to have continuous derivatives of any order on the whole real axis,
represented in this case by the time axis. So it results that an ideal test-function
cant be generated by a dierential equation (see also [1]); the analysis has to be
restricted at possibilities of generating practical test-functions (functions similar
to test-functions, but having a nite number of continuous derivatives on the
whole real axis) useful for wavelets analysis. Due to the exact form of the derivatives of test-functions, we cant apply derivative free algorithms [2] or algorithms
which can change in time [3]. Starting from the exact mathematical expressions
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10451052, 2007.
c Springer-Verlag Berlin Heidelberg 2007
1046
G. Toma
(1)
for a free string dened on the length interval (0, l) (an open set), where
represents the amplitude of the string oscillations and v represents the velocity
of the waves inside the string medium. At the initial moment of time (the zero
moment) the amplitude together with all its derivatives of rst and second
order are equal to zero. From the mathematical theory of the wave-equation we
know that any solution of this equation must be a superposition of a direct wave
and of a reverse wave. We shall restrict our analyze at direct waves and consider
a supposed extension of the string on the whole Ox axis, being dened by the
function
1
exp ( (xvt+1)
2 1 ) for |x vt + 1| < 1
( ) =
(2)
0 for |x vt + 1| 1
where t 0. This function for the extended string satises the wave-equation
(being a function of x-vt , a direct wave). It is a continuous function, having
continuous partial derivatives of any order for x (, ) and for x 0. For
x (0, l) (the real string)the amplitude and all its derivatives are equal to zero
at the zero moment of time, as required by the initial null conditions for the real
string (nonzero values appearing only for x (2, 0) for t = 0, while on this
interval |x vt + 1| = |x + 1| < 1). We can notice that for t = 0 the amplitude
and its partial derivatives dier to zero only on a nite space interval, this being
a property of the functions dened on a compact set (test functions). But the
argument of the exponential function is x vt ; this implies that the positive
amplitude existing on the length interval (2, 0) at the zero moment of time will
move along the Ox axis in the direction x = +. So at some time moments
t1 < t2 < t3 < t4 < . . . after the zero moment the amplitude will be present
inside the string, moving from one edge to the other. It can be noticed that the
pulse passes through the real string and at a certain time moment tf in (when
the pulse existing at the zero moment of time on the length interval (2, 0) has
moved into the length interval (l, l + 2)) its action upon the real string ceases.
We must point the fact that the limit points x = 0 and x = l are not considered
1047
to belong to the string; but this is in accordance with the rigorous denition of
derivatives (for these limit points cant be dened derivatives as related to any
direction around them).
This point of space (the limit of the open space interval considered) is very
important for our analysis, while we shall extend the study to closed space
intervals. Considering small space intervals around the points of space where
the sources of the generated eld are situated (for example, the case of electrical
charges generating the electromagnetic eld), it will be shown that causal aspects
require the logical existence of a certain causal chain for transmitting interaction
from one point of space to another, which can be represented by mathematical
functions which vanishes (its amplitude and all its derivatives) in certain points
of space. From this point of space, an informational connection for transmitting
the wave further could be considered (instead of a tranmission based on certain
derivatives of the wave). Thus a kind of granular aspect for propagation along
a certain axis can be noticed, suitable for application in quantum theory. As
an important consequence, by a multiscale analysis and the use of non-Markov
systems, some directions for propagating the generated wave will appear and the
possibility of reverse radiation will be rejected. Finally. specic applications for
other phenomena involving wave generation (as the Lorentz formulae describing
the generation of a wave with dierent features after the interaction with the
observers material medium) will be also presented.
If we extend our analysis to closed intervals by adding the limit of the space
interval to the previously studied open intervals (for example by adding the
points x = 0 and x = l to the open interval (0, l), we should take into account the
fact that a complete mathematical analysis usually implies the use of a certain
function f (t) dened at the limit of the working space interval (the point of space
x = 0, in the previous example). Other complete mathematical problems for the
wave equation or for similar equations in mathematical physics use functions
f0 (t), fl (t) corresponding to both limits of the working space intervals (the points
of space x = 0 and x = l in the previous example) or other supplementary
functions.
The use of such supplementary functions dened on the limit of the closed
interval could appear as a possible explanation for the problem of generating
acausal pulses as solutions of the wave equation on open intervals. The acausal
pulse presented in the previous paragraph (similar to wavelets) travelling along
the Ox axis requires a certain non-zero function of time f0 (t) for the amplitude of
the pulse for the limit of the interval x = 0. It could be argued that the complete
mathematical problem of generating acausal pulses for null initial conditions on
an open interval and for null functions f0 (t) and fl (t) corresponding to function
(the pulse amplitude) at the limits of the interval x = 0 and x = l respectively, would reject the possibility of appearing the acausal pulse presented in
the previous paragraph. The acausal pulse presented implies non-zero values
1048
G. Toma
for f0 and fl at the limit of the closed interval at certain time moments, which
represents a contradiction with the requirement for these functions f0 and fl to
present null values at any time moment. By an intuitive approach, null external
sources would imply null values for functions f0 and fl and (as a consequence)
null values for the pulse amplitude .
Yet it can be easily shown that the problem of generating acausal pulses on
semi-closed intervals can not be rejected by using supplementary requirements
for certain functions f (t) dened at one limit of such space intervals. Let us
simply suppose that instead of function
1
exp ( (xvt+1)
2 1 ) for |x vt + 1| < 1
( ) =
(3)
0 for |x vt + 1| 1
presented in previous paragraph we must take into consideration two functions
0 and l dened as
1
exp ( (xvt+m)
2 1 ) for |x vt + 1| < 1
0 ( ) =
(4)
0 for |x vt + m| 1
and
l ( ) =
1
exp ( (x+vtm)
2 1 ) for |x vt + 1| < 1
0 for |x + vt m| 1
(5)
1049
A possible mathematical explanation for this aspect consists in the fact that we
have used a reverse wave (an acausal pulse) propagating from x = towards
x = , which is rst received at the right limit x = l of the semi-closed interval
[0, l) before arriving at the point of space x = 0. It can be argued that in case
of a closed space interval [0, l] we should consider the complete mathematical
problem, consisting of two functions f0 (t), fl (t) corresponding to both limits of
the working space intervals (the points of space x = 0 and x = l. But in fact the
wave equation corresponds to a physical model valid in the three-dimensional
space, under the form
2 2 2
1 2
+ 2 + 2 2 2 =0
2
x
y
z
v t
(6)
and the one-dimensional model previously used is just an approximation. Moreover, the source of the eld is considered at a microscopic scale (quantum particles like electrons for the case of the electromagnetic eld, for example) and
the emitted eld for such elementary particles presents a spherical symmetry.
Transforming the previous equation in polar coordinates and supposing that the
function depends only on r (the distance from the source of the eld to the
point of space where this emitted eld is received), it results
2U
1 2U
2 2 =0
2
r
v t
(7)
U = r
(8)
where
An analysis of the eld emitted from the space origim towards a point of space
r = r0 (where the eld is received) should be performed on the space interval
(0, r] (a semi-closed interval); the point of space r = 0 can not be included in the
working interval as long as the solution (r) for the eld is obtained by dividing
the solution U (r) of the previous equation (in spherical coordinates) through
r (the denominator of the solution being zero, some supplementary aspects
connected to the limit of functions should be added, but still without considering
a solution for the space origin).
1050
G. Toma
Thus an asymmetry in the required methods for analyzing phenomena appears. In a logical manner, by taking also into consideration the free-term (corresponding to the source of the eld) situated in the point of space x = 0 (the
origin) it results that the use of function depending on x vt (mentioned in the
previous paragraph) or r vt (for the spherical waves) represents also a limit
for the case of a sequence of small interactions acting as external source (freeterm)- changes in the value of partial derivatives as related to space coordinates
- changes in the partial derivatives of the amplitude as related to time - changes
in the value of the function, so as the possibility of appearing acausal pulses
(not yet observed) to be rejected. Such a causal chain can be represented in a
mathematical form as a dierential equation able to generate functions similar
to test functions, dened as practical test functions only as an approximation at
a greater scale of space-time for the case when the length and time intervals corresponding to such equations with nite dierences are very small. Moreover, a
certain direction for the transmission of interaction appearing, it results that the
possibility of reverse radiation (a reverse wave generated by points of space where
a direct wave has arrived) should be rejected in a logical manner (a memory of
previous phenomena determining the direction of propagation). Mathematically,
an analysis at a small spatial and temporal scale based on continuous functions for transmitting interactions from one point of space to another (similar to
continuous wave function in quantum physics describing the generation and annihilation of elementary particles) should be described by non-Markov processes
(phenomena which should be analyzed by taking into account the evolution in
a past time interval).
1051
the initial time moment) a global time dilation appears. If the time is measured
using the age of two plates, it results that the plate in a reference system S2 is
older than the other in reference system S1 , (having a less mechanical resistance)
and it can be destroyed by it after both observers stop their circular movements.
However, the same analysis can be made by starting from another set of small
time intervals considered in the other reference system, and nally results that
the plate in reference system S1 is older than the other in reference system S2 ,
(having a less mechanical resistance) and it can be destroyed by it after both
observers stop their circular movements. But this result is in logic contradiction
with the previous conclusion, because a plate can not destroy and in the same
time be destroyed by another one.
A logical attempt for solving this contradiction can be made by considering
that Lorentz formulae are valid only for electromagnetic phenomena (as in the
case of the transversal Doppler eect) and not in case of mechanical phenomena or any phenomena involving memory of previous measurements. Using an
intuitive approach which considers that the Lorentz transformation represents
physical transformation of a wave-train when this interacts with the observers
material medium, such logical contradiction can be avoided (see [5], [6] for more
details). Yet the memory of past events can not be totally neglected. The transformation of a received wave into another wave which moves along the same
direction, with certain mathematical expressions describing how space-time coordinates corresponding to the case when the received wave would have been not
aected by interaction are transformed into space-time coordinates corresponding to the transformed wave train (according to the Lorentz formulae valid on
the space and time intervals corresponding to the received wave-train) requires a
certain memory for the received wave train necessary for performing the transformation (other way no local time dilation would appear). This aspects is similar
to the requirement of using non-Markov processes for justifying how a certain
direction of propagation for the generated wave appears.
Conclusions
This study has shown that some solutions of the wave equation for semi-closed
space interval considered around the point of space where the sources of the generated eld are situated (for example, the case of electrical charges generating
the electromagnetic eld) can be mathematically represented by vanishing waves
corresponding to a superposition of travelling test functions. It is also shown that
this aspect requires the logical existence of a certain causal chain for transmitting
interaction from one point of space to another. As an important consequence, by
a multiscale analysis and the use of non-Markov systems, certain directions for
propagating the generated wave appeared and the possibility of reverse radiation
was rejected. Specic applications for other phenomena involving wave generation (as the Lorentz formulae describing the generation of a wave with dierent
features after the interaction with the observers material medium) have been
also presented. Unlike other mathematical problems (Cauchy problem) based on
1052
G. Toma
long-range dependence (see also [7], where statistical aspects are also taken into
consideration), this study presents aspects connected to short-range interactions.
Asymptotic properties are taken into account for the mathematical problem for
functions having the limit (null denominator at the limit of the working semiclosed interval) instead of an approach based on relaxation phenomena, as in [8].
In future studies, such aspects will be extended to mathematical models describing step changes in a certain environment (similar to aspects presented in [9],
[10] with step changes presented in [11]. The aspects presented in this study can
be extended at closed space intervals, by considering that at the initial moment
of time, at one of the spatial limits of the interval arrives a direct wave and a
reverse wave (asymmetrical as related to this point of space) represented both
by sequences of extended Dirac pulses having the same spacelemgth d = L/k (k
being an integer and L being the length of the whole interval). As a consequence,
after a certain time interval, a set of oscillations represented by stationary waves
with null derivatives of certain orders at both spatial limits will apeear.
Acknowledgment. This work was supported by the National Commission of
Romania for UNESCO, through a pilot grant of international research involving Politehnica University, Salerno University, IBM India Labs and Shanghai
University.
References
1. Toma, C. : Acausal pulses in physics-numerical simulations, Bulgarian Journal of
Physics (to appear)
2. Morgado, J. M., Gomes, D.J. : A derivative - free tracking algorithm for implicit
curves with singularities, Lecture Notes in Computer Science 3039 (2004) 221229
3. Federl, P., Prudinkiewiez, P. : Solving dierential equations in developmental models of multicellular structures using L-systems, Lecture Notes in Computer Science
3037 (2004) 6582
4. Toma, C.: The possibility of appearing acausal pulses as solutions of the wave
equation, The Hyperion Scientic Journal 4 1 (2004), 2528
5. Toma, C.: A connection between special relativity and quantum theory based on
non-commutative properties and system - wave interaction, Balkan Physics Letters
Supplement 5 (1997), 25092513
6. Toma, C.: The advantages of presenting special relativity using modern concepts,
Balkan Physics Letters Supplement 5 (1997), 23342337
7. Li, M., Lim, S.C.: Modelling Network Trac Using Cauchy Correlation Model with
Long-Range Dependence, Modern Physics Letters,B 19 (2005), 829840
8. Lim, S.C., Li, M. : Generalized Cauchy Process and Its Application to Relaxation
Phenomena, Journal of Physics A Mathematical and General 39 (2004), 29352951
9. Lide, F., Jinhai, L., Suosheng C.: Application of VBA in HP3470A Data Acquisition
System, Journal of Instrunebtation and Measurements 8 (2005), 377379
10. Lide, F., Wanling, Z., Jinha, L., Amin, J.: A New Intelligent Dynamic Heat Meter,
IEEE Proceedings of ISDA 2006 Conference, 187191
11. Xiaoting, L., Lide, F.: Study on Dynamic Heat Measurement Method after Step
Change of System Flux, IEEE Proceedings of ISDA 2006 Conference, 192197
Introduction
1054
S. Pusca
phenomena, based on considerations about a possible memory of previous measurements (operators) in case of a sequence of received pulses were presented in
[4], trying to obtain expressive pattern classes (similar to those presented in [5]).
As a consequence, aspects connected with memory of previous measurements
corresponding to action of systems upon received wave-trains have to be raken
into consideration.
Moreover, this aspect implies an intuitive interpretation for the dependence
of the mass of a body inside a reference system. Thus, it was shown that for
the case when the Lorentz transformation doesnt generate a pulse (for example
when the relative speed between the material body and the wave is equal to c,
the speed of light in vacuum), the mass m is equal to , which means that no
interaction due to the received pulse exists. This manner the notion on innite
mass is connected with the absence of interaction) [8]. So m = for a body
inside a reference system S shows that we cant act upon the material body
using wave pulses emitted in system S; however, changes in the movement of
the body (considered in system S ) due to other external forces seem to be
allowed. The absence of interaction is connected also with absence of estimation
for space coordinates of the wave source (the general case being presented in
[9]). This aspect can be considered as a suddenly emerging phenomenon, while
the interaction disappears when the relative speed v between the system which
emits the wave and the system which receives it becomes equal to c.
Yet the problem is more complex if a high energy pulse interacts with a
single or with a small number of elementary (small) particles. In this case the
total energy of the particles (according to relativistic expression E = mc2 can
be much smaller than the energy of the received pulse which interacts with
them. For a correct analysis (according to previous considerations) the small
(elementary) particles should be considered as associated wave trains interacting
with a high-energy environment (some scaling aspects [10] appearing). The high
energy pulses would be much less aected by interaction, which means that
it is the element performing the transformation; associated wave-train of the
particles would be the much more aected by interaction, being the element
which undergoes the transformation. In the most general case, the study of wave
transformations according to Lorentz formulae in a certain environment must
be performed in the reference systems where the total momentum is zero (by
analogy with the study of collisions in the reference system associated to the
center of mass).
For an improved analysis of phenomena we must nd an approach able to connect transitions corresponding from one steady state of a system to another using
a formalism based on functions dened on limited time intervals. Smooth transitions (based on practical test-function, similar to wavelets) where presented in
[2], but that study has presented an algorithm for generating smooth transitions
for any derivative of the function f describing the transitions, avoiding alternating function. On the contrary, for allowing an approach able to explain also the
creation and annihilation of quantum particles by interactions in modern physics
(dened on an extremely small time interval dt around the interaction moment
1055
k
(1)
p=0
1056
S. Pusca
of time chosen at a time moment close to the t = a moment of time (when the
function begins to present non-zero values).
By using these properties of practical test-functions, we obtain the following
important result for a product f (t)g(t) between a function g(t) which belongs
to C class and a practical test-function of n order f (t) which diers to zero
on (a, b):
General Property for Product: The product g(t)f (t) between a function g(t)
C and a practical test function f of order n is represented by a practical test
function of order n.
This is a consequence of the following two properties:
a) the product g(t)f (t) diers to zero only on the time interval (a, b) on which
f (t( diers to zero.
b) the derivative of order k for the product g(t)f (t) is represented by the sum
(f (t)g(t))(k) =
k
(2)
p=0
1057
- after the second integration (when we integrate the function obtained at previous step): a term equal to n (t 1) and a term equal to a constant value cn1
(a constant of integration) on the time interval (1, +).
-after the n +1 integration: a term equal to n (t 1)n /n! and a sum of terms
having the form cni (t 1)i /i! for i N, i < n (cni being constants of integration) on the time interval (1, +) and so on. Corrections due to the fact that
function fn previously obtained has non-zero variations dn1 , dn2 , ..d1 for its
derivatives of order n 1, n 2, ..1 these values were substracted from the set
n1 , n2 , ..1 before passing to the next step, when the bump-like function
was multiplied by the corrected value n1 dn1 , Finally, by integrating this
product n times we obtained in a similar manner a function with a term equal
to n (t 1)n1 /(n 1)! and a sum of terms having the form cni (t 1)i /i! for
i N, i < n1 (cni being constants of integration) on the time interval (1, +),
being noticed that the result obtained after n integration possess the n 1 order
derivative equal to n1 , a smooth transition for this derivative from the initial
null value being performed. So the second function which must be added to the
initial null function is the integral of n-1 order for the bump-like function multiplied by this variation n1 (noted as fn1 ). The function f2 has a null value
for the derivative of n order, so the result obtained at rst step is not aected.
We must take care again to the fact that the function fn1 previously obtained
has non-zero variations d1n1 , d1n2 , ..d11 for its derivatives of order n 1, n 2, ..1
and so we must once again substract these values from the previously corrected
set n1 dn1 , n2 dn2 , ..1 d1 before passing to the next step. Finally
we obtain all functions fn+1 , fn , ...f1 which represent the terms of function f
modeling the smooth transition from an initial null function to a function having a certain set of variations for a nite number of its derivatives on a small
time interval. The procedure can be also applied for functions possessing a nite
number of derivatives within a certain time interval by time reversal ( t being
replaced with t).ere substracted from the set n1 , n2 , ..1 before passing
to the next step, when the bump-like function was multiplied by the corrected
value n1 dn1 , Finally, by integrating this product n times we obtained in a
similar manner a function with a term equal to n (t 1)n1 /(n 1)! and a sum
of terms having the form cni (t 1)i /i! for i N, i < n 1 (cni being constants of
integration) on the time interval (1, +), being noticed that the result obtained
after n integration possess the n 1 order derivative equal to n1 , a smooth
transition for this derivative from the initial null value being performed. So the
second function which must be added to the initial null function is the integral of
n-1 order for the bump-like function multiplied by this variation n1 (noted as
fn1 ). The function f2 has a null value for the derivative of n order, so the result
obtained at rst step is not aected. We must take care again to the fact that the
function fn1 previously obtained has non-zero variations d1n1 , d1n2 , ..d11 for its
derivatives of order n 1, n 2, ..1 and so we must once again substract these
values from the previously corrected set n1 dn1 , n2 dn2 , ..1 d1
before passing to the next step. Finally we obtain all functions fn+1 , fn , ...f1
which represent the terms of function f modeling the smooth transition from an
1058
S. Pusca
initial null function to a function having a certain set of variations for a nite
number of its derivatives on a small time interval. The procedure can be also
applied for functions possessing a nite number of derivatives within a certain
time interval by time reversal ( t being replaced with t).
Next step consists in considering the previously obtained functions the argument of a complex function F . In [10] has been presented the similitude between
coecients appearing in case of partial fractal decomposition and the electric
eld intensity E depending on distance a b (in electrostatics). If we write the
decomposition
1
1
1
1
1
=
(3)
(x a)(x b)
ab
xa
ab
xb
and compare the coecient 1/(a b) of each term with the electromagnetic eld
Q
Q
E=
(4)
4
ab
for the classical case in electrostatics when in a point situated in xd = b is
received an electric eld emitted by a body with Q charge, situated in a point
xs = a (the unidimensional case) - without taking the sign into consideration we can notice that coecient 1/(a b) is also the coecient of Q/(4). This
has suggested that such coecients of 1/(x a) correspond to certain physical
quantities noticed in point x = b and associated to a eld emitted in the point
x = a. It also suggested that the whole system Sa,b should be described as
Q
1
Sa,b =
(5)
4
(x a)(x b)
and it can be decomposed in phenomena taking place in point x = a or x =
b by taking into consideration the coecient of 1/(x a) or 1/(x b) from
partial fraction decomposition. Mathematically, these coecients ca , cb can be
written as
ca = lim (x a)Sa,b , cb = lim (x b)Sa,b
(6)
xa
xb
Conclusions
This study has shown that the use of such short range alternating functions is
required by the fact that in modern physics (quantum physics) all transitions
1059
imply the use of certain quantum particles (eld quantization) described using
associated frequencies for their energy. Due to this reason, a connection between
a wave interpretation of transitions (based on continuous functions0 and corpuscle interpretation of transitions (involving creation and annihilation of certain
quantum particles) has been performed using certain oscillations dened on a
limited time interval corresponding to the transition from one steady-state to
another.
Acknowledgment. This work was supported by the National Commission of
Romania for UNESCO, through a pilot grant of international research involving Politehnica University, Salerno University, IBM India Labs and Shanghai
University.
References
1. Toma, G. : Practical test-functions generated by computer algorithms, Lecture
Notes Computer Science 3482 (2005), 576585
2. Toma, C.: The advantages of presenting special relativity using modern concepts,
Balkan Physics Letters Supplement 5 (1997), 23342337
3. DAvenia, P., Fortunato, D., Pisani, L. : Topological solitary waves with arbitrary
charge and the electromagnetic eld, Dierential Integral Equations 16 (2003)
587604
4. Cattani, C.: Harmonic Wavelets towards Solution of Nonlinear PDE, Computers
and Mathematics with Applications, 50 (2005), 11911210
5. Toma, C. : An extension of the notion of observability at ltering and sampling
devices, Proceedings of the International Symposium on Signals, Circuits and Systems Iasi SCS 2001, Romania 233236
6. Rushchitsky, J.J., Cattani, C., Terletskaya, E.V.: Wavelet Analysis of the evolution
of a solitary wave in a composite material, International Applied Mechanics, 40, 3
(2004), 311318
7. Toma, C.: The possibility of appearing acausal pulses as solutions of the wave
equation, The Hyperion Scientic Journal 4 1 (2004), 2528
8. Cattani, C.: Harmonic Wavelet Solutions of the Schroedinger Equation, International Journal of Fluid Mechanics Research 5 (2003), 110
9. Toma, A., Pusca, St., Moraraescu, C.: Spatial Aspects of Interaction between HighEnergy Pulses and Waves Considered as Suddenly Emerging Phenomena, Lecture
Notes Computer Science 3980 (2006), 839847
10. Toma, Th., Morarescu, C., Pusca, St.: Simulating Superradiant Laser Pulses Using Partial Fraction Decomposition and Derivative Procedure, Lecture Notes Computer Science 3980 (2006), 771779
Abstract. This papers presents properties of spatial linear systems described by a certain physical quantity generated by a dierential equation. This quantity can be represented by internal electric or magnetic
eld inside the material, by concentration or by similar physical or chemical quantities. A specic dierential equation generates this quantity
considering as input the spatial alternating variations of an internal parameter. As a consequence, specic spatial linear variations of the observable output physical quantity appear. It is shown that in case of very
short range variations of this internal parameters, systems described by
a dierential equation able to generate a practical test-function exhibit
an output which appears to an external observer under the form of two
distinct envelopes. These can be considered as two distinct structural
patterns located in the same material along a certain linear axis.
Keywords: patterns, short range variations, internal parameters.
Introduction
1061
of time from the zero value to a nonzero value. But this aspect is in contradiction
with the property of test-functions to have continuous derivatives of any order
on the whole real axis, represented in this case by the time axis. So it results
that an ideal test-function cant be generated by a dierential equation. For this
reason, the analysis must be restricted at practical test-functions [2], dened
as functions which dier to zero on a certain interval and possess only a nite
number of continuous derivatives on the whole real axis. Mathematical methods
based on dierence equations are well known [3], but for a higher accuracy of the
computer simulation specic Runge-Kutta methods in Matlab are recommended.
The physical aspects of dynamical systems able to generate spatial practical
test-functions will be studied, for the case when the free-term of the dierential
equation (corresponding to the internal parameter of material) is represented
by alternating functions. The shape of the output signal (obtained by numerical
simulations in Matlab based on Runge-Kutta functions) will be analyzed, being
shown that for very short range alternating inputs an external observer could
notice (in certain condition) the existence of two distinct envelopes corresponding
to two distinct structural patterns inside the material. Such aspect diers to
the oscillations of unstable type second order systems studied using dierence
equations [4], and they diers also yo previous studies of the same author [5]
where the frequency response of such systems to alternating inputs was studied
(in conjunction with the ergodic hypothesis).
1062
F. Doboga
initial conditions for the function f (generated by the dierential equation) and
for some of its derivatives f (1) , and/or f (2) etc. equal to the values of the testfunction and of some of its derivatives (1) , and/or (2) etc. at an initial space
point xin very close to the beginning of the working spatial interval. This can
be written under the form
(2)
(2)
fxin = xin , fx(1)
= (1)
xin and/or fxin = xin etc.
in
(1)
(2)
(3)
subject to
lim f k (x) = 0 for k = 0, 1, . . . , n.
x1
(4)
According to previous considerations for the form of a dierential equation invariant at the transformation
x x
a rst order system can be written under the form
df
=f +u
d (x2 )
(5)
1063
which converts to
df
= 2xf + 2xu
dx
(6)
representing a rst order dynamical system. For a periodical input (corresponding to the internal parameter) u = sin 10x, numerical simulations performed
using Runge-Kutta functions in Matlab present an output of an irregular shape
(gure 1), not suitable for joining together the outputs for a set of adjoining
linear intervals (the value of f at the end of the interval diers in a signicant
manner to the value of f at the beginning of the interval). A better form for the
physical quantity f is obtained for variations of the internal parameter described
by the equation u = cos 10x. In this case the output is symmetrical as related to
the middle of the interval (as can be noticed in gure 2) and the results obtained
on each interval can be joined together on the whole linear spatial axis, without any discontinuities to appear. The resulting output would be represented by
alternances of two great oscillations (one at the end of an interval and another
one at the beginning of the next interval) and two small oscillations (around the
middle of the next interval).
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0.05
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
Similar results are obtained for an undamped dynamical system rst order,
represented by
df
=u
(7)
d (x2 )
which is equivalent to
df
= 2xu
dx
(8)
1064
F. Doboga
0.25
0.2
0.15
0.1
0.05
0.05
0.1
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
0.005
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
When the internal parameter presents very short range variations, some new
structural patterns can be noticed. Considering an alternating input of the form
u = sin(100x), it results an observable physical quantity f represented in gure 3; for an alternating cosine input representd by u = cos(100x), it results
the output f represented in gure 4. Studying these two graphics, we can notice
the presence of two distinct envelopes. Their shape depends on the phase of the
1065
0.03
0.025
0.02
0.015
0.01
0.005
0.005
0.01
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
Conclusions
1066
F. Doboga
Salerno University, IBM India Labs and Shanghai University - supported by the
National Commission of Romania for UNESCO.
References
1. Toma, C. : An extension of the notion of observability at ltering and sampling devices, Proceedings of the International Symposium on Signals, Circuits and Systems
Iasi SCS 2001, Romania 233236
2. Toma, G. : Practical test functions generated by computer algorithms, Lecture Notes
Computer Science vol. 3482 (2005), 576584
3. Dzurina, J. : Oscillation of second order dierential equations with advanced argument, Math. Slovaca, 45 3 (1995) 263268
4. Zhang, Zh., Ping, B., Dong, W. : Oscillation of unstable type second order nonlinear
dierence equation, Korean J. Computer and Appl. Math. 9 1 (2002) 8799
5. Doboga, F., Toma, G., Pusca, St., Ghelmez, M., Morarescu, C. : Filtering Properties
of Practical Test Functions and the Ergodic Hypothesis, Lecture Notes Computer
Science vol. 3482 (2005), 563568
1 Introduction
The accuracy of measurement model is a continuous goal in measurement instrument
designing, moreover, in last decades saving the energy has become an important issue,
due to environmental protection and economical reasons. In every year a significant
part of the energy is utilized for heating. So the primary concern of heating services
today is to accurately measure and charge the heat consumption.
According to EN1434 (European Standard) and OIML R-75(International
Organization of Legal Metrology), there are two methods in heat measurement, and
they are all steady-state methods of test, Theory give the two methods as
2
Q = Ghd
1
v2
Q = k dV
v1
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10671074, 2007.
Springer-Verlag Berlin Heidelberg 2007
(1)
(2)
1068
L. Fang et al.
where: Q is the quantity of heat given up; G is the mass flow rate of the heat-conveying
liquid passing through the heat meter; h is the difference between the specific
enthalpies of the heat-conveying liquid at the flow and return temperatures of the
heat-exchange circuit; t is time; V is the volume of liquid passed; k called the heat
coefficient, is a function of the properties of the heat-conveying liquid at the relevant
temperatures and pressure; is the temperature difference between the flow and
return of the heat exchange circuit[1,2].
Usually, equation (1) called enthalpy difference method and equation (2) called K
coefficient method; they are widely used in all kinds of heat meters [3-8].
Howeve r, when the flow rate of system have a step change, heat dissipating capacity
is a function of flow rate, temperature and time, and, if the transient time interval
between two steady states is long enough, huge error would be produced by using
steady equation (1) or (2).
During the author study on a new heating measurement and control system, a
function relationship of heat quantity and time is deduced, and the validity of the
function is proved through experimentation, and it is simplified reasonably [9], so it can
be used in variable flow heating system, this article presented a comparison of state
heat measurement method and dynamic heat measurement method.
)
s1
b0
(t g t n ).( K 0 + ( K 1 K 0 )
b1
)
s1
(e
b 0 ( FC
( e b1 FC e
. a 0 1 )
s1
b1
FC
s1
b0 (
FC
. a 0 1 )
s1
s1
).......( 0 s1 )
)
s1
)+
( e b 0 FC e
b0
FC
s1
( t g t n ).( K 1 ( K 1 K 0 )
b1
)
s1
(e
b1 ( FC +
. a1 0 )
s1
b1 (
FC +
. a1 0 )
s1
s1
.......(0 s 0 )
Where
1069
a 01 , the max right parallel moving distance; a10 , the max left parallel
the flow rate G1 . s 0 evacuation time of the medium in the flow rate G0 .
These two equations can be applicable not only for dynamic course, but also for
steady course. Let 0 in steady course.
G1 to G0 ,
maximum error exist in the beginning of the transient too, and it is negative value, for
this moment the feed water temperature is invariable, and the backwater temperature
1070
L. Fang et al.
Fig. 2. Average of relative error in the same initial flow rate with different step change
3.2 Errors in Same Step Change with Different Initial Flow Rate
1071
G0
Fig. 3. Average of relative error in different initial flow rate and different step change (flow rate
vary to large)
Fig. 4. Average of relative error in different initial flow rate and different step change (flow rate
vary to small)
It is clear from all the results that average of relative errors increase with increasing
step change. At the same step change, absolute average of relative errors is descending
with the initial flow rate G 0 changing to large no matter in the transient of system flow
1072
L. Fang et al.
rate changing to large or small. Fig.3,4 showed average of relative errors have the same
trend in different step change; Average of relative error tends to unity at same step
change ratio, so all data almost exhibits one line in Fig.5. In flow rate large to small
transient, all data exhibits most curvature, particularly at low initial flow rate, see Fig.6.
These pictures would provide some valuable reference for heat measurement function
correlations. Two ways may be concerned in correcting the errors, one is to use
dynamic equations in transient, the other is to use steady equation multiply a coefficient
which is the function of step change ratio.
Fig. 5. Average of relative error in different step change ratio and different initial flow rate (flow
rate vary to large)
Fig. 6. Average of relative error in different step change ratio and different initial flow rate (flow
rate vary to small)
1073
4 Conclusion
From discussing above, The obvious error will be produced if heat dissipating capacity
of heat system is calculate by using steady-state equation (1) after step change of flow
rate.
In a fixed original flow rate, As the flow rate step change is small the relative error
corresponding this condition is small too, and otherwise, it is large. In a fixed step
change, average relative errors decreasing with the initial flow rate increasing. These
kinds of errors only exist in the transient, and a part of it can be counteracted because
the sign of the relative error is reverse during the two process of flow rate increasing
and decreasing. According to calculation data shown in the paper, the error can be
ignored when the flow rate step change is less than 5 kg/h, else it must be corrected.
The errors mentioned above only exist in transient, when system reach steady state,
the errors disappear, however, the transient time is long in heating system, it is at least
30 minutes, so it is necessary to take some measures to correct them.
To correcting the errors, some program should be added in systems software, so that
the heat meter can have some functions like step change discrimination, timing. In
brief, heat meter should have the function to judge the quantity of the flow rate step
change, so that using different formula in different working state. In brief, two ways
may be concerned in correcting the errors, one is to use dynamic equations in transient,
the other is to use steady equation multiply a coefficient which is the function of step
change.
References
[1] Europeanstandard, EN1434:1997has the status of a DIN standard, Heatmeters,(1997)
[2] OIML-R75 International Recommendation, Heatmeters,(2002)
[3] SHOJI KUSUI and TETSUO NAGAI: An Electronic Integrating Heat Meter, IEEE
TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT. VOL 39 NO S.
OCTOBER,pp785-789,1990
[4] Gza Mczr,Tibor Csubk and Pter Vrady: Distributed Intelligent Hierarchical System
for Heat Metering and Controlling, IEEE Instrumentation and Measurement Technology
Conference,Budapest,Hungary,pp2123-2128,May 21-23,2001.
[5] Gza Mczr, Tibor Csubk, and Pter Vrady: Student Member, IEEE, Distributed
Measurement System for Heat Metering and Control, IEEE TRANSACTIONS ON
INSTRUMENTATION AND MEASUREMENT, VOL. 51, NO. 4, pp691-694, AUGUST
2002.
[6] Jin Hai-long; Pan Yong: Development and research of a new style intelligent heat meter,
Chinese Journal of Sensors and Actuators vol.18, no.2 : 350-352, 2005
[7] Hao LN, Chen H, Pei HD: Development on a new household heat meter, ISTM/2005: 6TH
INTERNATIONAL SYMPOSIUM ON TEST AND MEASUREMENT, VOLS 1-9,
CONFERENCE PROCEEDINGS : 3090-3092, 2005
[8] Ye Xian-ming; Zhang Xiao-dong: Design on intelligent heat meter, Instrument Techniques
and Sensor no.1: 10-12, 2005
[9] Fang Lide: Study on dynamic character of a new heating measurement and control system,
Masters degree dissertation of Hebei University of Technology, pp18-36, 2005.3
1074
L. Fang et al.
[10] Fang Lide, Li Xiaoting, Li Jinhai, etc: Analyze Dynamic Errors of heat meter after step
change of Flow rate, Electrical Measurement & Instrumentation (J), pp20-24, .2005.9
[11] Toma, G: Practical Test Functions Generated by Computer Algorithms, Lecture Notes
Computer Science 3482 (2005), 576585
[12] Toma, C: An Extension of the Notion of Observability at Filtering and Sampling Devices,
Proceedings of the International Symposium on Signals, Circuits and Systems Iasi SCS
2001, Romania, 233--236
+
k=
f
k
W
sinc(Wt k),
(1)
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10751082, 2007.
c Springer-Verlag Berlin Heidelberg 2007
1076
G. He et al.
f, uk =
f (x)uk (x)dx
(2)
for some collection of averaging functions uk (x), k ZZ, which satisfy the
following properties,
Wt k
|k|>N
k=N
But on the one hand, we can not nish a innite number of terms in practise, we
only approximated signal functions by a nite number of terms. Which is called
truncation error deal with bounds by a number of papers [7]- [15].
On the other hand, since signals are often of random characters, random
signals play an important role in signal processing, especially in the study of
sampling theorems. For example, a signal of speech, where the random portion
of the function may be white noise or some other distortion in the transmission
channel, perhaps given via a probability distribution. So there are a lots of papers
on this topic too. Such as [16]-[24]. Now we give truncation error bounds random
signals by local averages.
Before stating the results, let us introduce some notations. Lp (IR) is the space
of all measurable functions on IR for which f p < +, where
f p :=
1/p
|f (u)|p du
1 p < ,
p = .
uIR
BW,p is the set of all entire functions f of exponential type with type at most
W that belong to L2 (IR) when restricted to the real line [25]. By the PaleyWiener Theorem, a square integrable function f is band-limited to [W, W]
if and only if f BW,2 .
Given a probability space (, A, P) [26] , a real-valued stochastic process
X(t) := X(t, ) dened on IR is said to be stationary in weak sense if
E[X(t)2 ] < , t IR, and the autocorrelation function
RX (t, t + ) :=
X(t, )X(t + , )dP ()
1077
supp uk [
constants;
ii)
uk (t) 0,
k
k
k ,
+ k ], where /4 k , k /2, are positive
W
W
uk (t)dt = 1;
k/ W +/4
k/ W /4
uk (t)dt.
(5)
2
N
X 2
k
E |RN | = E
X(t, )
X
, sinc(W t k)
W
k=N
(7)
2
N
k
lim E
X(t, )
X
, sinc(W t k)
= 0.
(8)
N
W
k=N
1078
G. He et al.
X 2
|RN
|
=O
ln N
N
2
N .
(10)
2
q
|sinc(W t k)|q 1 +
< p .
q 1
(2.1)
k=
j
j
j
j
:= sup
RX
RX
RX
+ + RX
+
W
W
W
W
| |
2
| | 2
sup
| |
RX
j
+ u + v dudv
.
W
| | 2
D
;
(4N + 1)(RX
(t) )r
.
2
2
j=2N
Proof. Since RX is even and RX
(t) C(IR), we have
r
r
+2N
2N
r
j
j
D
;
= D 0;
+2
D
;
2
2
2
j=1
j=2N
2r
r
(4N + 1)(RX (t) )
.
2
(11)
1079
2
k/ W +k
N
X 2
E |RN | = E
X(t, )
uk (t)X(t, )dtsinc(W t k)
k=N k/ W k
N
k
= E
X(t, )
X
, sinc(W t k)
W
k=N
N
k
+
X
, sinc(W t k)
W
k=N
2
k/ W +k
N
uk (t)X(t, )dtsinc(W t k)
k=N k/ W k
X 2
= 2E |RN |
2
k/+k
N
+2E
X
,
uk (t)X (t, ) dt sinc(W t k)
W
k/ W k
k=N
N
k
X 2
k
k
= 2E |RN | + 2E
X
, uk
+ s ds
W
W
k
k=N
2
k
N
X 2
= 2E |RN
| +2
N
k=N j=N
k
j
k
j
E X
, X
, uk (
+ u)uj
+ v dudv
W
W
W
W
k
k
k k
k
j
k
j
E X
, X
+ v, uk
+ u uj
+ v dudv
W
W
W
W
k
k
k k
k
j
k
j
E X
+ u, X
, uk
+ u uj
+ v dudv
W
W
W
W
k
k
k k
k
j
k
j
+
E X
+u, X
+v, uk
+u uj
+v dudv
W
W
W
W
k
k
k
k
(k j)
(k j)
RX
v
W
W
k=N j=N k k
(k j)
(k j)
k
j
RX
+u +RX
+uv uk
+u uj
+v dudv
W
W
W
W
k
RX
1080
G. He et al.
k
k
k
(k j)
;
2
W
k
j
uk
+ u uj
+ v dudv |sinc(W t k)||sinc(W t j)|
W
W
N
N
X 2
(k j)
= 2E |RN | + 2
D
;
|sinc(W t k)||sinc(W t j)|
2
W
k=N j=N
Using Holders inequality and Lemma D, we have
N
N
D
k=N j=N
(k j)
;
2
W
|sinc(W t k)| |sinc(W t j)|
p 1/p
N
N
(k j)
D
;
|sinc(W t j)|
2
W
k=N
j=N
1/q
N
|sinc(W t k)|q
k=N
p 1/p
N
N
(k j)
1/q
(p )
D
;
|sinc(W t j)|
2
W
k=N
j=N
p 1/p
(k j)
p
D
;
|sinc(W t j)|
2
W
k=N
j=N
N
p 1/p
(k j)
D
;
|sinc(W t j)|
2
W
k=N
j=N
N
2N
D
j=2N
(4N + 1)1/r
j
;
W 2
r
1/r
2N
j=2N
1/s
|sinc(W t j)|s
1/s
2
2N
RX
(t)
|sinc(t j)|s
2
j=2N
(4N + 1)1/r RX
(t)
1
N
2
1081
1/s
|sinc(t j)|s
j=
401N
400
2/ ln N
7.40.
1/s
|sinc(t j)|s
s = p = ln N.
j=
Hence
X 2
E |RN
|
2
32RX (0)(2 + |t| W)2
ln N
14.80R +
.
2 (1 W/ W)2
N
References
1. Gr
ochenig, K., Reconstruction algorithms in irregular sampling, Math. Comput.,
59(1992), 181-194.
2. Butzer, P. L., Lei, J., Errors in truncated sampling series with measured sampled
values for non-necessarily bandlimited functions, Funct. Approx. Comment. Math.
26(1998), 18-32,.
3. Butzer, P. L., Lei, J., Approximation of signals using measured sampled values and
error analysis, Commun.Appl.Anal., 4(2000), 245-255.
4. Sun, W., Zhou, X., Reconstruction of bandlimited functions from local averages,
Constr. Approx., 18(2002), 205-222.
5. Sun, W., Zhou, X., Reconstruction of bandlimited signals from local averages, IEEE
Trans. Inform. Theory, 48(2002), 2955-2963.
6. Song, Z., Yang, S., Zhou, X., Approximation of signals from local averages, Applied
Mathematics Letters, 19(2006), 1414-1420.
7. Yao, K., Thomas, J. B., On truncation error bounds for sampling representations
of band-limited signals, IEEE Trans. Aerosp. Electron. syst., vol.AEs-2(1966), 640647.
8. Jagerman, D., Bounds for truncation error of the sampling expansion, SIAM J.
Appl. Math., vol.14(1966), 714-723.
9. Brown, J. L., Bounds for truncation error in sampling expansion of band-limited
signals, IEEE Trans. Inform. Theory, vol.IT-15(1969), 440-444.
1082
G. He et al.
10. Piper, H. S. Jr., Bounds for truncation error in sampling expansion of nite energy
band-limited signals, IEEE Trans. Inform. Theory, vol.IT-21(1975), 482-485.
11. Piper, H. S. Jr., Best asymptotic bounds for truncation error in sampling expansion
of band-limited functions, IEEE Trans. Inform. Theory, vol.IT-21(1975), 687-690.
12. Butzer, P. L., Engels, W., Scheben, U., Magnitude of the truncation error in sampling expansion of band-limited signals, IEEE Trans. Acoustics, Speech, and Signal
Processing, vol.ASSP-30(6)(1982), 906-912.
13. Butzer, P. L., Engels, W., On the implementation of the Shannon sampling series
for band-limited signals, IEEE Trans. Inform. Theory, vol.IT-29(2)(1983), 314-318.
14. Bucci, O. M., Massa, G. D., The truncation error in the application of sampling series to electromagnetic problems, IEEE Trans. Antennas and Propagation,
vol.36(7)(1988), 941-949.
15. Machiraju, R., Yagel, R. K., Reconstruction error characterization and control: a
sampling Theory approach, IEEE Trans. Visual. Comput. Graphics, vol.2(4)(1996),
364-378.
16. Belyaev, Y. K., Analytic random processes, Theory Probab. Appl. IV(1959)
437-444.
17. Splettst
osser, W., sampling series approximation of continuous weak sense stationary processes, Information and Control 50(1981), 228-241.
18. Balakrishnan, A. V., A note on the sampling principle for continuous signals, IRE
Trans. Inform. Theory IT-3(1957), 143-146.
19. Lloyd, S. P., A sampling theorem for stationary (wide sense) stochastic processes,
Trans. Amer. Math. Soc. 92(1959), 1-12.
20. Stens, R. L. , Error estimates for sampling sums based on convolution integrals,
Information and Control 45(1980), 37-47.
21. Butzer, P.L., Splettst
osser, W. and Stens R. L., The sampling theorem and linear
prediction in signal analysis, Jber. d. Dt. Math.-Verein., 90(1988), 1-70.
22. Olenko, A. YA., Pogany, T. K., A precise bound for the error of interpolation of
stochastic processes, Theor. Probability and Math Statist. vol.71(2005), 151-163.
23. Song, Z., Zhou, X., He, G., Error estimate on no-bandlimited radom signals by
local averages, LNCS3991(2006), 822-825.
24. Song, Z., Sun, W., Yang, S., Zhu, G., Approximation of Weak Sense Stationary Stochastic Processes from Local Averages, Science in China: Series A Math.
50(4)(2007),457-463.
25. Zayed, A.I., Butzer, P.L., Lagrange interpolation and sampling theorems, in
Nonuniform Sampling, Theory and Practice, Marvasti,F., Ed., Kluwer Academic, 2001, 123-168.
26. Li, Z., Wu, R., A course of studies on stochastic processes, High Education Press,
1987(in chinese).
27. Splettst
osser, W., Stens, R. L., Wilmes, G., on the approximation of the interpolating series of G. Valiron , Funct. Approx. Comment. Math. 11(1981), 39-56.
28. Pinsky, M. A., Introduction to Fourier analysis and wavelets, Wadsworth Group.
Brooks/Cole.(2002) Comput., 59, 181-194.
Abstract. Taking the approximate equations for long waves in shallow water as
example, the quasi-wavelet discrete scheme is proposed for obtaining numerical
solution of the (1+1) dimension nonlinear partial differential equation. In the
method, the quasi-wavelet discrete scheme is adopted to discretize the spatial
derivative discrete and the ordinary differential equation about time is obtained.
Then the fourth order Rung-Katta method is employed to discretize the temporal derivative. Finally the quasi-wavelet solution is compared with the analytical
solution, and the computations are validated.
Keywords: interval quasi_shannon; precise integration method; approximate
equations of long waves in shallow water.
1 Introduction
In recent years, many methods have been developed for the analytical solution to
nonlinear partial differential equation (PDE). For example, important such ones as
homogeneous balance method, variable separable methods and Jacobi elliptic function expansion are used to solve PDE exact solution and solitary wave solution[1-5].
But in general, it is quite difficult to carry on a deep study to the wellposedness of the
solutions. Wavelet function is the energy function with locality characterization, and
it is characterized by utilizing information from the nearest neighboring grid pints to
approximate the differentiation at a point, and thus is much more flexible. The wavelet method is applied to numerical solution of PDE by Morlet J, Arens G, Fourgeau E,
et al. Its applications have become one of the fastest growing research areas. The
This work was supported by the Key Science-Technology Project of Chongqing under Grant
NO.CSTC-2005AC2090, and the Science Foundation of Chongqing under Grant NO.CSTC2006BB2249.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10831090, 2007.
Springer-Verlag Berlin Heidelberg 2007
1084
Daubechies scaling function constructs the grid point method of wavelet to solve PDE
by [6]. Daubechies scaling function converges slowly with respect to mesh refinement
and is not cost-effective for achieving high precision. Hence, there is a strong demand
for a scheme, which can solve the numerical solutions of nonlinear partial differential
equations. The scaling function of Shannons wavelet is represented in an analytical
form. When Shannon scaling is multiplied by Gauss function[7], a function, quasi
scaling function will be obtained. The wavelet of orthogonal function when it is further generalized is called quasi-wavelet. While high-accuracy solution of numerical is
very useful to nonlinear PDEs when it functions as a local method.
The numerical solution of PDE is solved by method of quasi-wavelet in [8]. However, research of application of quasi-wavelet to numerical solutions of nonlinear
PDEs has not been conducted, for example (1+1) dimensional models such as the
approximate equations for long waves in shallow water have not been studied. This
paper uses the quasi-wavelet method to construct scaling function. In the method the
quasi-wavelet discrete scheme is adopted to discretize the spatial derivatives, and the
fourth order Rung-Katta method is adopted to discretize the temporal derivatives. The
numerical solution of example showed that quasi-wavelet method is a success in computation of the nonlinear PDEs solutions, and the method is helpful to improve the
precision of the solutions. In the end, the computation results are validated based on
the numerical solutions of the quasi-wavelet and the analytical solutions.
u t uu x v x + 2 u xx = 0
v ( uv ) 1 v = 0
x
xx
t
2
(1)
(2)
initial-boundary condition
u(a, t ) = u1 (t ),
v(a, t ) = v1 (t ),
Where x [a, b]
2.1
u(b, t ) = u2 (t )
v(b, t ) = v2 (t )
(3)
(4)
t >0
Identically proportion of an x-coordinate of spatial, is the grid spacing. x = (b a) / N where N is the total computational narrow bandwidth [a, b]. The
{xi = a + (i 1)x} i=1, 2, 3N+1 refers to discrete sampling pints centered
1085
ui
u v
1 2ui
=
+ ui i + i
t
2 x 2
x
x
vi
vi
ui
1 2 vi
=
+ ui
+ vi
t
2 x 2
x
x
(5)
(6)
Let
fi =
gi =
i=1, 2, 3, ..N+1
u i vi
1 2ui
+ ui
+
2 x 2
x
x
(7)
vi
ui
1 2 vi
+ ui
+ vi
2 x 2
x
x
(8)
dv i = g
i
dt
(9)
(10)
sin( x / )
exp[ x 2 / 2 2 ]
x/
(11)
where is the grid spacing, is determines the width of the Gauss envelop and can
be varied in association with the grid space. i.e., = r and r 2 / r is the
parameter. The regularized Shannons wavelet is called quasi-wavelet. Shannons
scaling function is recognized as basis function, the function f ( x ) and g ( x ) in the
interval can be expressed as
f ( x) =
k =
( x xk ) f ( xk )
(12)
g(x) = , (x xk )g(xk )
k =
(13)
1086
In discrete singular convolution algorithm, the band-limits f (x ) , g ( x ) and its derivatives with respect to the coordinate at grid point x are approximated by linear sun
of discrete values { f ( x k )} and {g ( x k )} in the interval ,
(n)
(x)
k=w
g (n) ( x)
+w
l = w
( x x k ) g ( x k ) , ( n = 0,1, 2..........)
(14)
(15)
)
( 2
x x
2
0
x0
(1,) ( x) =
x=0
[ ( x + x 3 + x
( 2,) ( x ) =
2
2
2
3 + /
2
) 2 (
1
1
+ 2 )] , x 0
2
x
,x = 0
uin +1 = uin +
t
[ K i ,1 + 2 K i ,2 + 2 K i ,3 + K i ,4 ]
6
(i = 1,2, 3,......N = 1 )
(16)
where
K i ,1 = f i ,1n
v nj =1 = v nj +
L j ,1 = g nj ,1
K i ,2 = f i ,2n
K i ,3 = f i ,3n
K i ,4 = f i ,4n
(i= 1, 2, ...,N+1)
t
[ L j ,1 + 2 L j ,2 + 2 L j ,3 + L j ,4 ]
6
L j ,2 = g nj ,2 L j ,3 = g nj ,3 L j ,4 = g nj ,4 (j=1, 2,...,N+1)
(17)
(18)
(19)
2 m= w
m= w
K i ,1 = f i ,1n =
m=w
K i,2 = f
n
i,2
m=w
(1 )
,
K i ,3 = f
w
m= w
m = w
m=w
n
i ,3
m= w
t
K i + m ,1 ] +
2
(20)
t
t
+
K i + m ,1 ] + [ u in +
K i ,1 ]
2
2
w
m=w
(1 )
,
( m x )[ v in+ m +
t
L i + m ,1 ]
2
1
=
2
m=w
w
t
t
K i + m ,2 ] + (1), ( m x )[ vin+ m +
Li + m ,2 ]
2
2
m= w
(21)
(22)
( 2,) ( m x )[ u mn + i + tu i + m , 2 ] + [ u in + tK i ,3 ]
(1), ( m x )[ u in+ m + tK i + m ,3 ] +
L j ,3 = g nj,3
(1)
,
n
m+i
1 w
t
t
= ( 2,) ( m x )[u mn + i +
K i + m ,2 ] + [u in +
K i ,2 ]
2 m= w
2
2
m =w
(1), ( m x )[ v in+ m + tL i + m ,3 ]
1
2
m= w
( 2,) ( m x )[ v nj + m +
(23)
1
(1), (mx)vnj +m + vnj (1), (mx)vnj +m
(2), (mx)vmn + j + unj m
2 m= w
= w
m= w
L j , 2 = g nj , 2 =
( m x )[ u
(2)
,
L j ,1 = g nj ,1 =
(1), ( m x ) vin+ m
( m x )[ u in+ m +
K i , 4 = f i ,n4
1
=
2
1087
(24)
t
L j + m ,1 ]
2
w
t
t
+ [ u nj +
K j .1 ][ (1), ( m x ) [ v nj + m ,1 +
L j + m ,1 ]
2
2
m = w
w
t
t
+ [ v nj +
L j ,1 ] (1). ( m x )[ u nj + m +
K j + m ,1 ]
2
2
m=w
1 w
t
L j ,2 = g nj ,2 =
( 2,) ( m x )[ v nj + m +
L j + m ,1 ]
2 m=w
2
w
t
t
+ [ u nj +
K j .1 ][ (1), ( m x ) [ v nj + m ,1 +
L j + m ,1 ]
2
2
m = w
w
t
t
+ [ v nj +
L j ,1 ] (1). ( m x )[ u nj + m +
K j + m ,1 ]
2
2
m= w
1 w
t
t
= ( 2,) ( mx )[v nj + m +
L j + m , 2 ] + [u nj +
K j .2 ]
2 m= w
2
2
(25)
(26)
w
t
t
t
L j + m , 2 ] + [v nj +
L j , 2 ] (1.) ( mx )[u nj + m +
K j + m , 2 ] (27)
2
2
2
m= w
1 w
= g nj, 4 = ( 2,) ( mx )[v nj + m + tL j + m,3 ]
2 m= w
( mx ) [v nj + m +
L j ,4
+ [u nj + tK j .3 ] (1,) (mx) [v nj + m + tL j + m ,3 ]
m=w
w
+ [v nj + tL j ,3 ] (1.) (mx)[u nj + m + tK j + m ,3 ]
m=w
(28)
1088
When t=0
the values of { u }
n
i
and vi
can be rewritten as
u 0i = u ( x)
(i=1, 2, 3N+1)
v = v ( x)
(j=1, 2, 3.N+1)
0
j
Where [-w, +w] is the computation bandwidth. The w may be an arbitrary constant to
reduce computation in narrower bandwidth.
, therefore, when the grid spacing is provided, the coefficients need to be computed
only once and can be used during the whole computation. The main steps of computation can be expressed as following:
0
Step 1. using the known initial value both for ui (i=1, 2, 3N+1) and 0j
(j=1,2,3... N+1) or time level values of previous time ui and
n
n
j
i, j=1, 2, 3.
f i ,n1 , f i ,n2 , f i ,n3 , f i ,n4 and g nj,1 , g nj, 2 , g nj,3 , g 4j , 4 are obtained.
Step 3. By subtracting Eq(16)-(18) from second-step, the values are computed
n +1
i
n +1
and vi
i, j=1, 2, 3N +1 .
Step 4. Repeating the above process, from the first-step to the third-step with being
n +1
computational value u i
and vi
4 Comparison Computations
Both quasi-wavelet numerical solutions and the analytical solutions are computed, by
Eq.(1)-(2). Assuming that Eq.(1)-(2) satisfy the initial-boundary condition below
u ( x, 0) =
c
c
(1 + ta n h
x)
2
2
(x, 0) =
c2
c
sec h 2 x
4
2
(29)
u (a, t ) =
c
1
c2
[1 + tanh ( ac + t )]
2
2
2
( a ,t ) =
c2
1
c2
sec h 2 [ ac + t ]
2
2
2
(30)
u (b, t ) =
c
1
c2
[1 + tanh ( cb +
t )]
2
2
2
(b , t ) =
c2
1
c2
[1 + tanh ( cb +
t )]
2
2
2
(31)
u =
c
1
c2
[1 + tanh ( cx +
t )] ,
2
2
2
v=
1089
c2
1
c2
sec h 2 [ cx +
t]
4
2
2
To analyze and compare the computations, the initial values u i and v j of discrete
are obtained from Eq.(29), where
u i0 =
c
c
{1 + tanh
[ a + ( i 1) x ]} ,
2
2
i ,j=1,2,3N+1
v 0j =
c2
c
sec h 2
[ a + ( j 1) x ]
4
2
n
We shall compute the values of previous time level from the above ui and vi
i,
1090
5 Conclusion
In the paper, a new quasi-wavelets method for numerical application is introduced. In
fact, their numerical solution is extremely approximate with analytical solutions and
solving PDEs. The latter has won great success in wide application to various on
PDEs.
References
1. Whutham, G. B.:Variational methods and applications to water waves. Proc Roy London,1967:(220A):6--25.
2. Broer, L. J. F. :Approximate equations for long water waves. Appl Sci Res,1975: (31):
337--396.
3. Kupershmidt, B. A.: Mathematics of dispersive waves. Comm Math Phys.1985: (99):51--73.
4. Wang, M.L.: A nonlinear function transform action and the exact solutions of the approximate equations for long waves in shallow water. Journal of Lan Zhou University. Natural
Sciences 1998 34 2
21--25.
5. Huang, Z.H.: On Cauchy problems for the RLW equation in two space dimensions. Appl
Math and Mech , 2002 (23) 2:169--177.
6. Morlet ,J., Arens, G., Fourgeau, E.,Et al.: Wave propagation and sampling theory and complex waves.Geophysics, 1982, 47(2):222--236.
7. Wei, G. W.: Quasi wavelets and quasi interpolating wavelets. Chen Phys.Lett, 1998.
296(3~4): 215--222.
8. Wan, D. C. ,We,i G. W.: The Study of Quasi-Wavelets Based Numerical Method Applied to
Burger Equations. Appl.Math. Mech, 2000.(21) 1099.
1 Introduction
Along with the computer graphics development, the computer simulation for
various natural plants as one of the research hotspots in computer graphics domain
has the widespread application prospect in video games, virtual reality, botanical
garden design, and ecological environment simulation. Nevertheless, at present,
commercial image and graph processing software based on Euclidean geometry
only can draw some regular geometric shapes, and cant describe the natural plants
with complex structures, subtle details and irregular geometric shapes realistically.
Although we can use complex techniques such as curves or surfaces to approximate
to such natural objects, we must ensure providing adequate memory spaces and
high rendering speeds. On the other hand, fractal geometry takes irregular
geometric shapes as research objects. One of the fractal typical application domains
is natural objects simulation. In plant simulation, there are two common methods:
L-system and iteration function system (IFS). Previous works[1,2,3,4,5] mainly
focus on plant simulation only by L-system or only by IFS, and cant provide
realistic and natural representations for plant constructs and shapes due to the
limitation of both methods. Obviously, combining them may be better. However, how to combine them is worth researching further. In response to such
problem, a novel plant simulation method based on fusion of L-system and IFS is
presented. The simulation results show the feasibility and validity of the presented
method.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10911098, 2007.
Springer-Verlag Berlin Heidelberg 2007
1092
J. Han
x r cos
W = {R 2 : 1 , 2 ,..., n } i =
y r sin
q sin x e
+ , i = 1,2..., n
q cos y f
(1)
= 1, i = 1,2,..., n
(2)
i =1
The above W and P form IFS. Commonly, the random iteration algorithm is used
to draw IFS fractal graphics. Firstly, ( x0 , y0 ) is the initial point. Next, an affine
transform is selected from W according to P , and new coordinate point ( x1 , y1 ) is
computed. Then ( x1 , y1 ) is looked as initial point. Repeat the process, and the orbit of
all points form a shape similar to initial image. We call it the attractor of IFS.
In plant simulation, IFS can better represent the subtle texture of a plant and the
implementation program is simple, which is the main merit of IFS. Nevertheless, IFS
is lack of representation and control for the topological structure of a plant. In other
words, IFS simulates a plant only according to the features of the plants geometric
1093
shapes, and IFS cant represent physiological features of the plant. Therefore
simulated plants are machine-made, have few differences from each other. The key
reason is: for the plant simulated by IFS, both the whole and the parts have strict selfsimilarity. Namely, the length and amount of branches of trunks obey the same strict
self-similarity rules as those of branches or sub-branches, and the self-similarity rules
exist in more little detail sequentially.
Therefore, it is difficult in simulating a natural plant which has plenty texture and
various complex structure and shape only by L-system or only by IFS.
1094
J. Han
Under the plant growth rules shown in Fig.1 (b), the IFS leaf building block with
controllable parameters shown in Fig.1 (a) is called, so a plant with leaves in certain
growth position is created as shown in Fig.1 (d).
In order to simulate textured branches, we define a branch building block shown in
Fig.1(c). The branch building block is created by IFS[7].The IFS algorithm of the
branch is encapsulated as a function defined as trunk ( x, y, r , k1 , k 2 ) , the meaning of
every parameter is similar to that of function leaf () . Fig.1 (e) is a modeling plant
using L-system to combine IFS leaves and IFS textured branches together.
(a)
(b)
(c)
(d)
(e)
Fig. 1. Process of simulating plant by combing L-system with IFS: (a) An IFS leaf. (b) A
modeling branch with L-system. (c) An IFS textured branch. (d) Plant created with modeling
branches and IFS leaves. (e) Plant created with modeling branches, IFS leaves, and IFS
textured branches.
Through above process, we may see that as far as the method based on fusion of Lsystem and IFS, IFS is used to create various graphics building blocks representing
components of plant, and we can freely modify set of production rules of L-system,
namely, building rules for building blocks can be modified. Actually, L-system
determines the development rules and the whole structure of a plant, IFS determines
the modeling and texture of every basic part of a plant. Through combining the merits
of both techniques, we may simulate the topological structure and subtle texture of a
plant freely.
1095
(a)
(b)
(c)
Fig. 2. Process of drawing plant based on the improved L-system algorithm: (a) n = 1 . (b)
n = 2 . (c) n = 3 .
The improved algorithm based on separating steps can control the drawing plant
process flexibly. For example, during the process of simulating plant, according to
actual needs, we can freely control the number of growth points based on the value of
n . We can control and adjust the parameters of width, length, color and growth
direction of certain branches freely. We can also freely control that the next
generation to be drawn is leaf or flower based on n . Therefore, L-system and IFS are
combined into an organic whole, and can realize better plant simulation freely.
1096
J. Han
5 Results
Based on the fusion algorithm of L-system and IFS, many plant simulation
experiments have been done. And during the experiments, for every drawing
parameter involved in L-system and IFS, modest random factor is added in the
drawing process. Fig.3, Fig.4, and Fig.5 are parts of the typical experiment results.
Fig.3 shows the simulation results of four maples. In Fig.3 (a)(c)(d)(e), the
development rulers of L-system are used to combine IFS branch building blocks with
IFS maple leaf building blocks[8] shown in Fig.3(b), and random factors are added in
the process. The simulation results show the four maples have similar natural
structure and subtle texture, but their branches and leaves in different ranks have
modest differences in width, length, color and growth direction.
Similarly, Fig.4 and Fig.5 are also created by the improved methods presented in
this paper. The development rulers of L-system are used to organize IFS branch
building blocks and IFS leaf building blocks into an organic whole.
(a)
(b)
(c)
(d)
(e)
Fig. 3. Plant simulation results 1: (a) Maple 1. (b) Maple leaf. (c) Maple 2. (d) Maple 3. (e)
Maple 4.
6 Conclusion
This paper presents an improved method for plant simulation based on fusion of Lsystem and IFS. In this method, L-system is used to simulate the random development
and topological structure of plant, IFS is used to simulate the self-similarity and subtle
texture existing in components of plant, so that more natural and realistic simulated
plant can be created.
In addition, based on improved method presented in this paper, three dimension Lsystem and lighting effects can be employed to create much more realistic and natural
simulated plants.
1097
(d)
(a)
(b)
(c)
(e)
Fig. 4. Plant simulation results 2: (a) Arbor. (b) A arbor leaf[6]. (c) Bamboo. (d) A bamboo
pole. (e) A bamboo leaf.
(a)
(b)
Acknowledgments
We thank Q.Z Li and anonymous reviewers for their suggestions and comments.
References
1. Jim Hanan.: Virtual plants-integrating architectural and physiological models. In:
Environmental Modeling & Software 12(1)(1997)35-42
2. Prusinkiewicz P.: Modeling of spatial structure and development of plants: a review. In:
Scientia Horticulturae 74(1998)113-149
1098
J. Han
3. Slawomir S. Nikiel.: True-color images and iterated function systems. In: Computer &
Graphics 22(5) (1998)635-640
4. Xiaoqin Hao.: The studies of modeling method of forest scenery for three dimension iterated
function system. In: Chinese Journal of Computers 22(7) (1999)768-773
5. Zhaojiong Chen.: An approach to plant structure modeling based on L-system. In: Chinese
Journal of Computer Aided Design and Computer Graphics 12(8) (2000)571-574
6. Sun wei, Jinchang Chen.: The simple way of using iteration function system to obtain the
fractal graphics. In: Chinese Journal of Engineering Graphics22(3) (2001)109-113
7. Chen qian, Naili Chen.: Several methods for image generation based on fractal theory. In:
Chinese Journal of Zhejiang University (Engineering Science) 35(6) (2001)695-700
8. Hua jie Liu, Fractal Art. Electronic edition. Electronic Video Publishing Company of
Hunan. Hunan China(1997)chapter 5.4
Appendix
The related data and IFS code of the figures in the paper are as follows: where
a = r cos , b = q sin , c = r sin , d = q cos .
Table 1. Affine transform parameters in Fig.1 (c)
a
0.5
0.5
0.5
0.5
1
2
3
4
b
0.5
0.5
0.5
0.5
c
0.0
0.0
0.0
0.0
d
0.0
0.0
0.0
0.0
e
0
50
50
50
f
0
0
50
50
p
0.15
0.35
0.35
0.15
1
2
3
4
a
b
c
0.29 0.4 -0.4
0.33 -0.34 0.39
0.42 0.0
0.0
0.61 0.0
0.0
d
0.3
0.4
0.63
0.61
e
0.28
0.41
0.29
0.19
f
0.44
0.0
0.36
0.23
p
0.25
0.25
0.25
0.25
In Fig.5 (b), the flower is created recursively based on the equations as follows:
X n +1 = bYn + F ( X n )
, F ( X ) = aX + 2(1 a ) X /(1 + X 2 )
Y
=
X
+
F
(
X
)
n
n +1
n +1
(3)
Introduction
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 10991106, 2007.
c Springer-Verlag Berlin Heidelberg 2007
1100
S. Morimoto
hand, diculty and quality of system behavior analysis in OOA with UML is
dependent on workmanship and experience of designers likewise. Therefore, this
paper proposes a system behavior analysis technique utilizing resources which
are generated in the SVA processes. One can model not only use cases but also
system behavior with the technique. Moreover, the technique visualizes a domain
of customers, thus it enables designers and customers to communicate smoothly.
Consequently, the customers can easily and exactly decide requirements to the
developers.
We herein explain the process of SVA and the system behavior analysis.
2.1
1101
Since task statements of customers are described in the workow scenarios using
simple natural language, they can easily conrm the correctness of the contents.
The analyzers form a BEV from each sentence in the workow scenarios.
Rectangle icons and oval icons are used to stand for nouns and verbs, respectively.
A subject and the other icons are connected by lines from a verb. The line to
the subject is drawn as a solid line and lines to the other icons are drawn as
broken lines.
After all the sentences in the workow scenarios have been visualized on the
BEV, the analyzers synthesize them. Same nouns are shared by every sentence
in which they are used. Verbs are not shared even if the same verbs appear in
several sentences.
After the synthesis, the analyzers rearrange elements so that the BEV will
become legible. This arrangement also produces a semantic relation structure on
the conceptual map. During this arrangement to clarify, the analyzers have to
take care to nd out semantic clusters of verb icons. This process is necessary
to analyze roles of subjects in the next step where noun icons will be analyzed.
In the next step, the analyzers abstract subjective noun icons as roles of tasks.
If a subjective noun icon is connected from some clusters of verbs, the subjective
noun has some dierent roles. In such cases, a single subject is decomposed to
multiple roles. Each of them is reconnected to the verb clusters.
After the role analysis, both the analyzers and customers decide a system
boundary on the rearranged BEV. This decision is made by both the analyzers
and the customers cooperatively. The boxed line is used to indicate what part
of the tasks is developed to be a software system. After the boundary is drawn,
the analyzers have to consider what nouns should be moved into the boundary.
For example, they must decide whether or not physical objects are implemented
in software. In such situations, the editable map, i.e., the BEV acts as a communication tool between the analyzer and customer. They can have a visual
support, i.e., the map, to discuss about the scope of the system which is going
to be developed.
Generating a use case diagram is the nal step of SVA. The way how to elicit
actors and use cases is very simple. The role icons connecting to the verbs on the
system boundary line and located outside of the box become actors. The verbs
on the boundary which connect to the actors become use cases.
You can get the further details of the SVA process from the references [3, 2].
2.2
In the system behavior analysis of OOA with UML, interaction or activity diagrams are generally used. Interaction diagrams illustrate how objects interact
via messages. Activity diagrams are typically used for business process modeling, for modeling the logic captured by a single use case or usage scenario, or
for modeling the detailed logic of a business rule [1]. Because activity diagrams
are closely related with scenarios in natural language and are suitable for system
behavior analysis, the objective of our technique is to design activity diagrams
from the results in SVA (i.e., workow scenarios, a BEV, and use case diagrams).
1102
2.3
S. Morimoto
The system behavior analysis technique eectively utilizes the artifacts of SVA.
Designers rst select a target use case from an elicited use case diagram in SVA.
Secondly, the designers extract the source verb icon of the selected use case and
all noun icons which are connected with the verb icon from the BEV. In the
third step the designers and customers cooperatively analyze activities from the
extracted icons and the source sentence of the icons in the workow scenario.
Next the designers draw partitions of an activity diagram based on the actors
which are connected with the selected use case in the use case diagram. Then
the designers set the elicited activities on the partition which is drawn from the
actor of the activitys subject in chronological order. The designers repeat the
above steps to all use cases in the use case diagram. The following is the procedure of the analysis.
1. After having used SVA, select a use case in a use case diagram.
2. Extract the source verb icon of the selected use case and all noun icons which
are linked with the verb icon in the BEV.
3. Elicit activities from the extracted icons and the source sentence of the icons
in the workow scenario.
4. Draw partitions from actors which are linked with the selected use case in the
use case diagram.
5. Put the activities on the corresponding partition in chronological order.
Application
The objective of this paper is not to show the use case analysis of SVA, thus we
show only the outline of the SVA phase.
The workow scenario on the next page Fig. 1 shows the business domain
of the rst medical examination. The parts which are surrounded by square
brackets denote modications in the revision phase of SVA. These parts were
elicited by collaborative discussion of the analyzers and customers. First, all the
workows were modeled into BEVs. Secondly, the BEVs were synthesized into
one diagram. Thirdly, the verb icons were grouped and roles of the subjective
nouns were analyzed in the synthesized BEV. The BEV on the next page Fig. 2
was nally modeled from the workow scenario. The verb icons were classied
into the clusters (A), (B), (C), (D), (E), (F), (G), (H), (I), (J), (K), and (L).
1103
insurance
card
(A)
submint
make
ticket
hand
symptom
inquire
(G)
consultation
(H)
(X)
make
transfer clerk
doctors
bill
decide
(B)
bring
application
(Y)
fill
chart making
clerk
ticket making
clerk
accounting
clerk
card carrier
charge
receptionist
(C)
patient
pay
(D)
call
claimant
calling clerk
(J)
(L)
cabinet
calcurate
medical
treatment
write
bill
enter
room
leave
surgery
examining
clerk
entering clerk
chart
receiver
put
waiting
(E)
examine
over
doctor's
call
chart
hand
bring
(K)
go
(F)
(I)
medical
(Z)
1104
S. Morimoto
The subjective nouns which are linked with two or more verbs were decomposed
into some roles. Consequently, the use case diagram in Fig. 3 was also composed
from the chart system boundary on Fig. 2. Use cases are the verb clusters (G),
(H), (K), and (L) on the boundary. Actors are the roles (Y) and (Z) which are
connected to the verb clusters with the solid line. Two actors and four use cases
are elicited and named adequately. The foregoing operations are the SVA outline.
(Y)
receptionist
(Z)
doctor
Fig. 3. The use case diagram of the online medical record chart system
3.2
We analyze the system behavior from the workow, the BEV, and the use case
diagram of Section 3.1.
First, we select the use case make a chart. This use case was obtained
from the part (G) in the BEV. The verb icon is make on the part (G) of
Fig. 2 and the noun icons which are directly linked to it are insurance card,
application, and medical chart. These are the rst and second processes of
the system behavior analysis mentioned in Section 2.3.
Next, see the source sentence of the icons in the scenario Fig. 1. The sentence
corresponds to 5. The receptionist makes the medical chart from the application and the insurance card. That is, it is claried that the information of
application and insurance card is required in order to make a medical chart.
Therefore, the activities input the information on an application and input
the information on an insurance card are identied. We used the nouns application and insurance card, however the noun medical chart is not yet
used. The business domain of this example is the rst medical examination, thus
the patient visits the hospital surely for the rst time. Because there is no chart
of the patient, the receptionist must make a new chart for the patient. That is,
before the foregoing activities, the activity make a new chart data is required.
The above operation is the third process of the system behavior analysis.
Finally, make a partition from the actor linked to the use case, i.e., receptionist and put the activities on the partition in chronological order. In consequence,
the activity diagram in Fig. 4 is composed.
1105
receptionist
receptionist
receptionist
doctor
ticket data
a medical chart
print out a
consultation ticket
Similarly, we analyze the use case make a consultation ticket. This use
case was obtained from the part (H) in the BEV. The verb icon is make on
the part (H) of Fig. 2 and the noun icons which are directly linked to it are
consultation ticket and medical chart. The source sentence corresponds to
6. The receptionist makes the consultation card from the insurance card. The
information of medical chart is required in order to make a consultation ticket.
Therefore, the activity input the information on a medical chart is claried.
Because there is no consultation ticket of the patient like the above analysis,
the activity make a new consultation ticket data is required. Moreover, if
you pursue the connection of the icon consultation ticket, it will be claried
that the receptionist must hand the patient the actual object, i.e., the ticket.
Accordingly, the receptionist must print out the ticket with the online chart
system; the activity print out a consultation ticket is identied. Since the
third process of the system behavior analysis is a group work, the designers can
easily get customers consent about such activities. The other use cases can be
analyzed in the same procedure likewise. The diagrams are shown in Fig. 5.
Moreover, the technique is adaptable to the business modeling [5]. SVA can
also analyze business use cases. If the boundary for the hospital business is drawn
1106
S. Morimoto
in Fig. 2, the business use case diagram is formed in the same way. Similarly, a
business activity diagram can be elicited from the workow scenario. The subject
in each workow may become a partition of a business activity diagram and each
workow sentence excepted the subject clause may become a business activity.
Concluding Remarks
References
1. Ambler, S. and Jeries, R.: Agile Modeling, Wiley (2002)
2. Chubachi, Y., Kobayashi, T., Matsuzawa, Y., and Ohiwa, H.: Scenario-Based Visual
Analysis for Use Case Modeling, IEICE Transactions on Information and Systems,
Vol. J88-D1, No.4 (2005) 813828 (in Japanese)
3. Chubachi, Y., Matsuzawa, Y., and Ohiwa, H.: Scenario-Based Visual Analysis for
Static and Dynamic Models in OOA, Proceedings of the IASTED International
Conference on Applied Modelling and Simulation (AMS 2002), ACTA Press (2002)
495499
4. Jacobson, I., Booch, G., and Rumbaugh, J.: The Unied Software Development
Process, Addison-Wesley (1999)
5. Jacobson, I., Ericsson, M., and Jacobson, A.: The Object Advantage - Business
Process Reengineering with Object Technology, Addison-Wesley (1996)
6. Kruchten, P.: The Rational Unied Process: An Introduction, Addison-Wesley
(2003)
1 Introduction
With the change of application requirements and wide use of Internet, the across-area
and across-organization complicated applications have developed greatly in various
fields. The distributed technology has become the main method in these applications.
Accompanying with the system expanding day by day, the maintenance and
modification of the system became more frequent. Research shows that nearly half of
costs are spent in the maintenance of the complicated distributed system. Services
have to be paused in the traditional procedure of software maintenance, but some
system such as Bank must provide services continuously in 24 hours, any short-time
pause will make great lost. How to resolve the dilemma? Answer is Dynamic
Updating technology. Software Updating is defined as the dynamic behavior
including software maintenance and update in the life-cycle of software system [6].
Due to maintaining the system with whole system working normally, Dynamic
Updating is significant. The grid computing technology is the latest achievement of
the development of distributed technology, aiming to resolve the resource share and
coordination in WAN distributed environment and avoid the drawbacks such as
inadequate computation ability or unbalance loads[1][7][8]. It is a trend to develop
new complicated system based on grid technology and transplant the current system
into grid environment.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11071114, 2007.
Springer-Verlag Berlin Heidelberg 2007
1108
1109
1110
In order to accurately locate the simulation service of relative version for proxy
service, each simulation service has a resource to hold the version information such as
request interfaces, parameter formats, URL for the software data and so on.
When the service updating happens, the work flow of the proxy service is showed
as figure 3. The Proxy service gets the simulation service according to relative
resource and then deliver the service request to the respect simulation service and
return the result to the service requester in the finally.
1111
(1)
(2)
(3)
1112
(4)
In the above formula, is the final evaluating parameter, CPU is CPU evaluating
1113
References
1. Foster, I., Kesselman, C., Tuecke, S., The Anatomy of the Grid: Enabling Scalable
Virtual Organization, International Journal of Supercomputer Applications, 2001.3, Vol.
15(3), pp200-222
2. Globus Toolkit 4.0. http://www.globus.org/, 2006.11
3. WSRF-The WS-Resource Framework. http://www.globus.org/wsrf/, 2006.5
4. Michael Hicks. Dynamic Software Updating. PhD thesis, Computer and Information
Science, University of Pennsylvania, 2001
1114
1 Introduction
Currently the manufacture of software is suffering from such problems as individual
customized requirements and frequent changes of business requirements. As a result,
it seems that traditional software development mode - which is to develop software
product specifically for certain applications requirements - costs more and has less
efficiency and maintainability. In this software development mode, its hard to meet
the requirements of software development in large scale customization environment.
The purpose of software production for mass customization is to produce and
maintain a family of software products with similar functions, figure out both their
commonalities and variability and manage these features [1]. It represents the trend of
software factorys evolution.
Software product line is an effective way to implement software production for
mass customization. Its a set of software systems with common controllable features.
The core idea of software product line engineering is to develop a reusable
infrastructure that supports the software development of a family of products [2]. A
software product line typically consists of a product line architecture, a set of
components and a set of products [3]. The characteristics of software development
applying software product line principals are to maintain the common software assets
and reuse them during the development process, such as domain model, software
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11151122, 2007.
Springer-Verlag Berlin Heidelberg 2007
1116
Y. Li et al.
architecture, process model, components, etc. Each product derives its architecture
from the product line architecture, instantiates and configures a subset of the product
line components and usually contains some product-specific code. Instantiated
products constitute a family of software products in domain.
Feature modeling is the mainstream of domain analysis for the software product
line. Its main purpose is to identify all commonalities and variability in software
product line. The outputs of feature modeling are all potential products of product line
[4]. FORM [5] is a famous development method based on feature. Difference between
domain products and family products shows the variability of software product line
[2]. Variability point model [6, 7] models the variability of software product line
through four ways. The complex dependency relationships among variability points
are presented in first order expression [8]. From the viewpoint of software
configuration management, the variability management of software product line can
be divided into nine sub modules according to two dimensions [9].
By analyzing the deficiency of current feature modeling and its description
language, this paper proposes an expanded feature modeling of software product line
feature map. It perfects feature dependency description and restriction expression,
supports quick navigation to feature resource artifacts of software product line in
distributed collaborative development environment. Its meta-model is also presented.
2 Feature Map
Feature is the first-order entity in domain. It shows some capabilities or specialties
owned by systems. Its the only determinate abstract in the domain and can be
understood simultaneously by domain experts, users and developers. To a certain
extent, feature is a kind of expression to ontology knowledge of application domain.
2.1 Deficiency of Feature Model
Feature modeling is to identify the commonalities and variability of all products in a
software product line via analysis to domain features and their relationship. Domain
reference architecture can be built according to feature model. The constituent units of
the architecture can be bound with related component entities. However, existing
feature model and its description technique have some deficiency.
Firstly, each domain may have its own feature mutual operation relation due to its
variety. It has indetermination. Although existing feature models sum up and analyze
the usual feature relation, they can not wholly describe all domain related feature
dependency relation. Secondly, existing feature model trends to build feature model
by aiming at domain systems function. This forms the functional features. However,
it seldom considers the non-functional domain features like performance, cost, and
throughput etc. Also it lacks effective description and expression measure. Thirdly,
domain feature analysis runs through all phases of software development lifecycle. It
refers to a lot of resource entities like requirement specification, design model and
component entities etc. Existing feature models only discuss production of software
product from the viewpoint of feature selection. They ignore the problem of feature
instantiation including the selection and locating of domain feature related resource
entities. Fourthly, there may exist more than one component entity that implements
1117
the functions presented by a certain feature for choices. Existing feature models
ignore the variability brought by feature implementation scheme.
Thus it can be seen that it is necessary to expand existing feature models to perfect
the modeling and description ability for feature dependency relationship, nonfunctional feature constraint, feature resource navigation and variability of domain.
2.2 Definition of Feature Map
This paper proposes the concept of feature map. It supports feature dependency
relationship and restriction expression and provides the capability of locating and
navigating resource entities to implement feature selecting according to specified
requirement, locate and assemble resource entities quickly and generate software
product family that can satisfy dependency relationship and restriction conditions.
A feature map can be defined as a 5 elements set. FM = (F, A, C, R, A, C, R),
among them,
- F is the feature set of feature map;
- A is the feature association set of feature map;
- C is the feature constraint expression set of feature map;
- R is the feature resource entity set of feature map;
- A denotes a mapping from F to the set P(A), i.e. A: FP(A). P(A) represents the
set of all the subsets of A. A meets the following conditions:
1118
Y. Li et al.
1119
1120
Y. Li et al.
3 Case Study
Figure 2 shows the feature map of mobile telephone software product line and the
mapping to its meta-model. Mobile telephone software product line is composed of
some functional features like password protection, game, telephone directory and
browser etc. Among them, password protection and browser are optional features.
Meanwhile, multiple games can be the choice, but to some limitation, such as a small
memory capacity, G3 and G4 can only be chosen one arbitrarily. In order to be in
operation, the length of password should be set to 6, the length of list in the telephone
directory should be no more than 250, and the required memory of embedded browser
should be less than 2M. In the process of feature analysis, each function feature has
related requirements specification, design model and implementation component.
Some functional features, for example, G2, even have various implementation
schemes.
1121
Functional features like password protection, game, telephone book and browser
etc are modeling as Feature ontology; the selection of feature is mandatory or
optional is modeling as Mode ontology; max length of password, volume of telephone
book and memory consumed by browser etc. are modeling as Constraint ontology;
hierarchy structure of features and the mutually exclusive relationship between G3
and G4 etc. are modeling as Association ontology; requirements document, design
models and component entities are modeling as ResourceType ontology; all lifecycle
phases of software development are modeling as Phase ontology. The whole
infrastructure of feature map is constructed by the associations among ontology via
object properties, while the superstructure of feature map is constructed by modeling
the reference of resource as location property to navigate and locate the resource
entities.
Fig. 2. Feature Map and Its Meta-model of Mobile Telephone Software Product Line
4 Conclusion
The core idea of software product line engineering is to develop a reusable
infrastructure that supports the development of a family of software products. Its an
efficient way to implement mass customized software production. Feature modeling is
the mainstream of domain analysis of software product line. It identifies
commonalities and variability of the products of a product line in terms of features to
provide an acknowledged abstract to various stakeholders. Uncertainty of variable
features determines the variability of software product line. Existing feature models
and their description can not entirely support the diversity of feature dependencies in
1122
Y. Li et al.
References
1. Charles W. Krueger. Software Mass Customization. BigLever Software, Inc. (2001)
2. Michel Jaring, Jan Bosch. Representing Variability in Software Product Lines: A Case
Study. Proceedings of the 2th International Conference on Software Product Lines
(SPLC02), Springer Verlag LNCS 2379 (2002) 1536
3. J. Bosch. Design & Use of Software Architectures - Adopting and Evolving a ProductLine Approach. Addison-Wesley (2000)
4. David Benavides, Pablo Trinidad, Antonio Ruiz-Cortes. Automated Reasoning on Feature
Models. Proceedings of the 17th International Conference on Advanced Information
Systems Engineering (CAiSE05), Springer Verlag LNCS 3520 (2005) 491503
5. Kang KC, Kim S, Lee J, Kim K, Shin E, Huh M. FORM: A Feature-Oriented Reuse
Method with Domain-Specific Reference Architectures. Annals of Software Engineering
(1998) 143168
6. Jan Bosch, Gert Florijn, Danny Greefhorst. Variability Issues in Software Product Lines.
Proceedings of the 4th International Workshop on Software Product Family Engineering
(PFE02), Springer Verlag LNCS 2290 (2002) 1321
7. Diana L. Webber, Hassan Gomaa. Modeling Variability in Software Product Lines with
The Variant Point Model. Elsevier (2003)
8. Macro Sinnema, Sybren Deelstra, Jos Nijhuis, Jan Bosch. COVAMOF: A Framework for
Modeling Variability in Software Product Families. Proceedings of the 3th International
Conference on Software Product Lines (SPLC04), Springer Verlag LNCS 3154 (2004)
197213
9. Charles W. Krueger. Variation Management for Software Production Lines. Proceedings
of the 2th International Conference on Software Product Lines (SPLC02), Springer Verlag
LNCS 2379 (2002) 3748
10. Kyo C. Kang, Jaejoon Lee, Patrick Donohoe. Feature-Oriented Product Line
Engineering. IEEE Software, Volume 19, Issue 4, July-Aug (2002) 5865
1 Introduction
Software Configuration Management (SCM) is a key discipline for development and
maintenance of large and complex software systems [1], [2]. Many researches and
studies show that SCM is the most basic management activity for establishing and
maintaining the integrity of software products produced throughout the software life
cycle. The activities of SCM include identifying configuration items/units, controlling
changes, maintaining the integrity and the traceability of the configuration item, and
auditing and reporting of configuration management status and result.
The existing configuration management tools support some or the combination of
these activities with the help of functions including change control, version control,
work space management, and build/release control [3]. However, most SCM tools
underestimate the benefits of using the SCM metric capability in monitoring and
measuring of other process areas and have their implementation depend on other
CASE tools such as project management tool or spreadsheet software [4]. We believe
that the SCM tool capability can be extend to provide some valuable services and
information for monitoring and measuring the performance of various process
activities, such as project management, requirement management, or software quality
assurance. For example, to monitor the stability of requirements (SR) during
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11231130, 2007.
Springer-Verlag Berlin Heidelberg 2007
1124
requirement management, some of the primitive metric data from the change control
function can be utilized as follows:
SR = NCR / (
(1)
where NCR represents the total number of change request on a requirement and Ti is
the time interval between the initial check-in and the final release of a requirement.
Current SCM tools rarely provide the mechanism for incorporating the
management and utilization of SCM metrics into other process areas. They usually
define only a few set of primitive SCM metrics and let the thirsty user utilize them on
a need basis. Besides, the current tools have no way of monitoring and measuring the
performance for a newly defined process or out of the defined scope. For example, a
user might be interested in measuring the effectiveness of the training plan prepared
for an organization or a senior manager might want to create a new process role with
a new responsibility and to see how the jobs get done. In this situation, the user is
prone to purchase a tool fit to that purpose.
This paper describes the design and development of SCM tool which can provide
the measurement, analysis, and reporting of the process performance in the broader
process areas. The remainder of this paper is organized as follows. Section 2 gives the
related works by comparing the exiting SCM tool capability based on metric
utilization. Section 3 and 4 describe the design and usage of our SCM tool in
supporting of metric capability. Finally, the conclusion and future works appears in
Section 5.
1125
Upper Mgmt
Trainers
customized (reconfigured)
courseware or manuals
change metrics*
change
requests and
requirement
elements (e.g.
use cases,
object classes)
training docs to
be controlled
Requirements
Manager
Configuration
Management Process
Tool
QA
Manager
Test
Manager,
Tester
config ID per
info set; readiness
checklist
project docs to be
controlled; access perms;
CM guidelines &
processes
Configuration Manager
Project
Leader,
Developer
*change metrics = defect MTTR, product stability
(MTBF), schedule variance
Figure 1 illustrates the scope of CMPT and data flow that comes in and out of a
system. The requirements manager, for instance, inputs the requirement artifacts for
controlling and monitoring of use cases and object model classes. CMPT can deliver
to requirement manager the status reports containing the number of defects, the
number of changes and change requests, the change owner and date, and the status of
change requests.
3.1 Change Control Process
Among the many features of CMPT, the change control provides a base playground
for monitoring and collecting the various process data. The state flow diagram in
Figure 2 represents the invariants, pre-conditions, and post-conditions of change
control process.
The change control flows are divided into two modes, free text module and
executable module. The free text module elements (e.g., Proposal, Charter, Requirement
Specification, Design, Test Plan, Training Plan, and etc.) can have several states:
REQUEST PROPOSED, APPROVED, COMPLETE, and some intermediate states.
Executable modules (e.g., Change Requests, Defects, Code, Test Cases, and Use
1126
CR or FTM
Proposed
Check-in
CR (Add,
Delete,Up
date) from
testing
Incidents
that can
be
ignored
CCB
declares
Incident
as Defect
Defect
Proposed
CCB
approves
Item
CCB does
not
approve
Unapprove
d (archives
RPO)
Defect
Approved
PM re-assigns
to Developer
CR or FTM
Approved
TM
assigns
Tester
Test
Assigned
PM
assigns
Developer
Dev
Assigned
Tester
confirms NOT
ALL tests
pass
Author
Assigned
Developer
checks in
code
modules
Tester
checks in
test cases
Test
Implem
Defect or CR
Proposed for
failed test
case
PM
assigns
Author
Author
checks in
planning
module
Dev
Implem
Developer
checks in
code
modules
FTM
Written
Tester
checks in
test cases
Test Ready
GOTO TEST
OR DEV
ASSIGNED
(System
notifies Tester
or Developer)
Tester
confirms
ALL tests
pass
Configuration
Items Job Flow
all inputs required
either/or
input
Request
Tested
CCB does
not
approve
revision
CCB
approves
revision
Resubmitted
CCB
approves
revision
Complete
1127
profiles to help coordinating the various SCM activities. CMPT also provides the
audit mechanism to enforce the CM guidelines and policies as planned. For the QA
Manager, CMPT provides various QA metrics for each process area under the control
of SCM.
Table 1. Example of Each Users Transaction Permissions
User
Trans.
Get metric
report
Check out
item
Change
request
Approve
change
request
PM
RM
QM
CM
TM
Proj.
Leader/
Developer
Tester
Trainer
General
Users
Equation
(Actual duration-Planned duration)/Planned duration
(Actual effort-Planned effort)/Planned effort
(Actual size-Planned size)/Planned size
Number of change request/Total number of baseline items
Number of changes for each baseline/Time span between check
in and out
Number of changes completed / Number of changes requested
Number of changes in each phase/Total number of changes
1128
Figure 4 and 5 show how user can retrieve or store a configuration item. For
checking out a configuration item (Figure 4), CMPT facilitates an exclusive locking
and shows a lock icon for the items that already have been checked out. For checking
in (Figure 5), a user can check in either free-text documents or executable elements.
In CMPT, both the check-in and the check-out event are combined with the scale
measurement (e.g., time, frequency, number and etc.) to produce the finer grained
SCM metrics, such as number of check-in or time of check-out.
Any project team member can propose a change request for adding new item(s),
and replacing and deleting any existing item(s) with reasons and expected completion
time (Figure 6). All element types of new items are pre-defined by the Configuration
Manager. Once a Change Request (CR) is proposed, the CCB reviews the CR or
defect for approval or disapproval. If CR or defect is approved, the Project Manager
and Test Manager assign the request to developers and testers for implementation.
1129
User can get a metrics report for a selected configuration item with a graph
(Figure 7). The graph view can provide a summary of various process performances.
Users can select a report type from predefined types such as configuration status,
history, tracking, or release report. The scale can be chosen from number of events,
frequency of events, time interval, and average time, and the metrics can be chosen
from check-in, release, check-out, change request, change, and change completion of
configuration items. Figure 7 indicates the frequency of change request for each use
case. In this case, use case no.2 shows the highest frequency of change requests.
1130
an SCM tool which can provide the measurement, analysis and reporting capability
for monitoring other process performance without using expensive CASE tools. The
proposed CMPT tool can:
1. define and customize the access/role control and associated transaction
selection,
2. define and customize the process work flow, and
3. utilize the work flow status information and metrics to provide process
performance information.
Currently, the CMPTs process customization capability only applies to change
control. For future work, the customization scheme should be extended and enhanced
to adopt the various process characteristics and project environments. More studies
should also be focused on the reporting, including graphing, extraction, and
translation of process metric data.
Acknowledgments. This research was supported by the MIC (Ministry of
Information and Communication), Korea, under the ITRC (Information Technology
Research Center) support program supervised by the IITA (Institute of Information
Technology Advancement) (IITA-2006-(C1090-0603-0032)).
References
1. S. Dart: Concepts in Configuration Management Systems, Proc. Third Intl Software
Configuration Management Workshop (1991) 1-18
2. D. Whitgift: Methods and Tools for Software Configuration Management, John Wiley and
Sons (1991)
3. A. Midha: Software Configuration Management for the 21st Century, TR 2(1), Bell Labs
Technical (1997)
4. Alexis Leon: A guide to software configuration management, Artech House (2000)
5. IBM Rational: ClearCase, http://www-306.ibm.com/software/awdtools/changemgmt/
(2006)
6. Peter Baxter and Dominic Tavassoli: Management Dashboards and Requirement
Management, White Paper, Telelogic (2006)
7. Borland: Starteam, http://www.borland.com/us/products/starteam/index.html.
8. Continuus Software/CM: Introduction to Continuus/CM, Continuus Software Corporation
(1999)
9. Merant :PVCS, http://www.merant.com/products/pvcs/
10. Fei Wang, Aihua Ren: A Configuration Management Supporting System Based on
CMMI, Proceedings of the First International Multi-Symposiums on Computer and
Computational Sciences, IEEE CS (2006)
11. R. Xu, Y. Xue, P. Nie, Y. Zhang, D. Li: Research on CMMI-based Software Process
Metrics, Proceedings of the First International Multi-Symposiums on Computer and
Computational Sciences, IEEE CS (2006)
12. F. Chirinos and J. Boegh: Characterizing a data model for software measurement,
Journal of Systems and Software, v. (74), Issue 2 (2005) 207-226
T
1 Introduction
Database security concerns confidentiality, integrity and availability of data stored in
a database [1]. Traditional security mechanisms focus on protection, especially
confidentiality of the data. But in some mission-critical systems, such as credit card
billing, air traffic control, logistics management, inventory tracking and online stock
trading, emphases are put on how to survive under successful attacks [2]. And these
systems need to provide limited service at all time and focus on database integrity and
availability.
Despite of existing protection mechanisms, various kinds of attacks and authorized
users to exceed their legitimate access or abuse the system make above systems more
vulnerable. So intrusion detection (ID) was introduced. There are two main
techniques, including statistical profiling and signature identification, which can
supplement protection of database systems by rejecting the future access of detected
malicious attackers and by providing useful hints on how to strengthen the defense.
However, there are several inherent limitations about ID [3]: (a) Intrusion detection
makes the system attack-aware but not attack-resistant, that is, intrusion detection
itself cannot maintain the integrity and availability of the database in face of attacks.
(b) Achieving accurate detection is usually difficult or expensive. The false alarm
rate is high in many cases. (c) The average detection latency in many cases is too long
to effectively confine the damage. Some malicious behaviors can not be avoided in
DBMS. So effective and efficient recovery approaches must be adopted after the
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11311138, 2007.
Springer-Verlag Berlin Heidelberg 2007
1132
2 Related Work
The traditional even simplest method for recovering a database to a consistent state is
rollback followed by re-execution of the malicious transactions and ones which are
dependent upon them. This method, while effective, necessitates an undue amount of
work on the part of the database administrator, and requires a knowledge of which
transaction was inappropriate one. And, some benign and innocent transactions need
to be re-executed. In general, this is a relatively poor option (not efficient) and
inadequate for the purposes of most database installations.
In order to overcome the limitations of this simple rollback model, researchers
have investigated various other methods for recovering a database to a consistent
state. In general, there are two basic forms of post-intrusion recovery methods [4]:
transaction based and data dependency based. The difference lies in whether the
system recovers modifications to the logs to organize the data modified by
interdependencies and associations.
Transaction based recovery methods [5-7], mostly referred transaction logging
ones, rely on the ability of an ancillary structure to re-execute committed transactions
that have been both committed since the execution of the malicious transactions and
affected by those transactions. First ODAM [8] then ITDB [9] and Phoenix [10] are
survival DBMSs developed by Peng Liu et al. and Tzi-cher Chiueh respectively.
These prototypes are implemented on top of a COTS (Commercial-Off-The-Shelf)
DBMS, e.g. Oracle, PostgreSQL. In these systems, database updates are logged in
terms of SQL-based transactions. ODAM and ITDB identify inter-transaction
dependencies at the repair time by analyzing the SQL log and only undo malicious
transactions and ones affected by them while Phoenix maintains a run-time intertransaction dependency graph with selective transaction undo. However, these
systems rely on the ability of the recovery system to correctly determine the
transactions which need to be redone.
Data dependency based recovery methods [11-14] suggest to undo and redo only
affected operations rather than undoing all operations of affected transactions and
then re-executed them. Panda and Tripathy [12] [13] divide transaction log file into
clusters to identify affected items for further recovery. Nevertheless, they require that
log must be accessed starting from the malicious transaction till the end in order to
perform damage assessment and recovery.
1133
And r, w, a, c relate to the operation of read, write, abort, and commit respectively.
Definition 3. The (usually concurrent) execution of a set of transactions is modeled
by a structure called a history. Formally, let T={T1, T2, , Tn} be a set of transactions.
A complete history H over T is a partial order with ordering relation <H, where:
1. H= ni=1 Ti;
T1
T2
(a)
T1
T1
T2
T2
(b)
(c)
Fig. 1. (a) Two transactions T1, T2 are overlapped; (b) T2 begins after T1 begins and ends before
T1 ends; (c) T2 begins after T1 ends
1134
1135
1136
If a malicious transaction with blind writes, algorithm 2 need not change anything
to satisfy this situation. If there exists a refresh-write described in definition 8, we can
modify step 2.2.2 in algorithm 2 to get data dependency based recovery algorithm
with blind writes which shown in figure 4. In figure 4, algorithm 3 shows that benign
transactions with blind writes can refresh contaminated data values to correct state.
H 2 = rT1 ( x 2 )rT1 ( x 4 )rT1 ( x5 )rT3 ( x5 ) wT1 ( x3 )rT1 ( x 4 ) wT1 ( x 4 )cT1 rT2 ( x3 )rT2 ( x 4 )
rT2 ( x5 ) wT2 ( x 2 ) wT2 ( x1 )cT2 wT3 ( x1 ) wT3 ( x 2 )cT3 rT4 ( x1 ) wT4 ( x 4 )rT4 ( x3 ) wT4 ( x5 )cT4
In history H2, wT3(x1), wT3(x2) are benign blind writes which update contaminated
data x1, x2 to correct state.
4 Performance Analyses
There are two basic measures to evaluate these recovery systems. One is promptness
and the other is the complexity of any ancillary structures required. These
1137
measurements are not adequate since data dependency based systems add overhead to
the individual transactions, while transaction logging methods append their overhead
to the recovery process. In spite of additional data structures used in data dependency
recovery algorithms; it will be more effective and efficient than transaction based
methods. We use following equation [14] to evaluate our recovery approaches.
T=
R * S R + W * SW
* TP
SP
(1)
System-dependent parameters
40 bytes
60 bytes
1024 bytes
20 milliseconds (ms)
According to algorithms shown above and equation (1), we can calculate the
corresponding time consumed in each recovery process shown in table 2.
Table 2. Time consumed in different recovery processes
H1
H2
Traditional undo
and re-execute
method
Transaction
based recovery
method
19.531 ms
17.188 ms
13.672 ms
12.500 ms
Data
dependency
based approach
without blind
writes
7.813 ms
/
Data
dependency
based approach
with blind
writes
/
3.906 ms
In table 2, we can see that data dependency based approaches are more effective
and efficient than traditional undo and transaction based recovery methods.
5 Conclusion
In survival DBMS, fast and accurate recovery from malicious transactions is crucial
for survival under malicious attacks. In this paper, we first propose transaction
logging methods to recover DBMS to a consistent state. Then data dependency based
recovery approaches without/with blind writes are given. Comparing to read logs
needed and whole transaction undone in transaction based methods, data dependency
approaches only undo malicious and affected operations. Accompanied with benign
1138
blind writes, data dependency approaches need not undo operations on the data items
that have been updated by benign blind writes.
Acknowledgements. This work has been supported by the National Natural Science
Foundation of China (60673127), High-Technology Research Project of Jiangsu
Province of China (BG2004005) and the Aerospace Science Foundation of China
(02F52033).
References
1. Elisa Bertino, Ravi Sandhu. Database Security-Concepts, Approaches, and Challenges.
IEEE Transactions on Dependable and Secure Computing, 2005, 2(1): 2-19
2. Paul Ammann, Sushil Jajodia, Catherine D. McCollum, Barbara T. Blaustein. Surviving
Information Warfare Attacks on Databases. In: Proceedings of IEEE Symposium on
Research in Security and Privacy, Oakland, California, 1997, 164-174
3. Peng Liu, Architectures for Intrusion Tolerant Database Systems. 18th Annual Computer
Security Applications Conference. San Diego California .December 09 - 13, 2002, 311-320
4. Jeffrey G. Klapheke. Evaluation of Post-Intrusion Database Recovery Methods. Computer
Science Seminar, Rensselaer at Hartford, SD2-T1-1, April 24, 2004.
5. Paul Ammann, Sushil Jajodia, Peng Liu. Recovery from Malicious Transactions. IEEE
Transactions on Knowledge and Data Engineering, 2002, 14(5): 1167-1185
6. Yi Hu, Brajendra Panda. Identification of Malicious Transactions in Database Systems. In:
Proceedings of the Seventh International Database Engineering and Applications
Symposium, 2003, 329-335
7. Peng Liu, Paul Ammann and Sushil Jajodia. Rewriting Histories: Recovering from
Malicious Transactions. Distributed and Parallel Databases Journal, 2000, 8(1): 7-40
8. Pramote Luenam, Peng Liu. ODAR: An On-the-fly Damage Assessment and Repair
System for Commercial Database Applications. In: Proceedings of 15th annual working
conference on Database and application Security, 2001, 239-252
9. Peng Liu. Jiwu Jing, Pramote Luenam, Ying Wang, Lunquan Li, Supawadee Ingsriswang.
The Design and Implementation of a self-Healing Database System. Journal of Intelligent
Information Systems, 2004, 23(3), 247-269
10. Tzi-cker Chiueh, Dhruv Pilania. Design, Implementation, and Evaluation of a Repairable
Database Management System. In: Proceedings of 21st International Conference on Data
Engineering, 2005, 1024-1035
11. Brajendra Panda, Kazi Asharful Haque. Extended Data Dependency Approach: A Robust
Way of Rebuilding Database. In: Proceedings of the 2002 ACM Symposium on Applied
Computing, ACM Press, New York, 2000, 446-452
12. Brajendra Panda, Sani Tripathy. Data Dependency based Logging for Defensive
Information Warfare. In: Proceedings of the 2000 ACM Symposium on Applied
Computing, ACM Press, New York, 2000, 361-365
13. Sani Tripathy, Brajendra Panda. Post-Intrusion Recovery Using Data Dependency
Approach. In: Proceedings of the 2001 IEEE Workshop on Information Assurance and
Security. United States Military Academy, West Point, NY ,June, 2001, 156-160
14. Brajendra Panda, Rajesh Yalamanchili. Transaction Fusion in the Wake of Information
Warfare. In: Proceedings of the 2001 ACM symposium on Applied computing, Las Vegas,
Nevada, United States, 2001, 242 - 247
15. Kun Bai, Hai Wang, Peng Liu. Towards Database Firewalls. In: Proceedings of IFTP
International Federation for Information, LNCS 3654, 2005, 178-192
1 Introduction
The design of a User Interface (UI), which is fundamental to the convergence of the
different customers' requirements, and the communication required to support the
complicated interaction between human beings and computers, requires very comprehensive and varied knowledge and experience [1]. The design of such a UI requires a
graphics expert, requirement analyzer, system designer, programmer, technology
(description) expert, social behavior expert and other experts, depending on the particular application [2]. However, it is difficult to realistically engage experts in multiple fields in the design of a UI.
Therefore, it is necessary to research automatic designs for a UI which can meet
the professional requirements of various fields. The use of Visual Cohesion (hereafter
referred to as VC) in the design of a UI helps improve its quality by providing the
designer or developer with a visual prototype prior to the embodiment of the system.
Moreover, VC provides the standards needed to measure the appropriateness of the
*
**
This work was supported by the second stage of Brain Korea 21 Project.
This work was financially supported by the Jeonju University.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11391146, 2007.
Springer-Verlag Berlin Heidelberg 2007
1140
layout of the UI and its semantic contents. It is necessary to improve the comprehensibility of business tasks and the usability of the interface by clustering business
events in such a way that they are semantically related one another [3]. This paper
aims to look at the modeling techniques used to improve the VC. The purpose of the
VC in this study is to improve the comprehensibility and usability of a business system by clustering business events in such a way that they are related to one another
[4]. Therefore, this paper proposes 4 types of objects that can improve the VC of a UI
prototype and discusses the techniques used to produce an object oriented design that
performs the clustering of these objects, as well as discussing the method used to
measure the VC.
2 Related Works
GENIUS [5], JANUS [6], TRIDENT [7], GUIPS [8] are some examples of studies
related to the automatic creation of a user interface. Table 1 sums up the characteristics of recent studies into the automatic creation of a user interface.
Table 1. Comparison of studies into the automatic generation of a user interface
TRIDENT
Domain model - data and task analytical model
Method of
design
JANUS
- object model
Method of
- data and function requirement
specification specification
Characteristics - application analysis of the
interaction task and the decision
on the task attributes by the user
interface
- activity chain graph (interaction
of data and function)
- deals with the static features of
the user interface
GUIPS
- object analysis model
founded on UML
- Extraction of user interface from scenario according to the requirement
analysis
- data specification of
transition object
- user-interaction interface
modeling from scenario
- object transition graph
(interaction with interface)
- prototype creation
interface of user interface
1141
1142
clustering stage that enables the user to distinguish the set of task objects by modeling
the block label composed of task units if there are more than 2 input or output business events which are transferred when the event occurs. The following is the rule
related to the clustering of the set of task objects of the business event that is transferred to a task.
<Rule 1> the business event which has the number of instant limited to one business event is UIBEO.
<Rule 2> the output UITO which has more than one record is the StringGrid bloc.
<Rule 3> the node which has more than one continual input business event is
UITO.
<Rule 4> the node which has more than one continuous output business event is
UITO.
The business events are clustered and labeled by set of task objects in order to improve the communication cohesion and VC of the business event in the UI.
3.3 Transaction Object
The design of the transaction object is the stage in which the object that represents the
User Interface tRransaction Object (hereafter referred to as UIRO) is created. In other
words, the UIRO is the clustering stage in which the group of business events composed of input-control-output events is grouped into the set of transaction objects. The
transaction object is created by turning the request (input) and response (output) of the
user into the block through one suite. The following is the rule used for clustering
the set of transaction objects.
<Rule 1> it is composed necessary of input task-button-output task, and the input
task can be omitted if overlapping with the previous transaction.
<Rule 2> it can have more than one input task and output task.
<Rule 3> the input task is the beginning of UIRO, while the output task is the end
of UIRO.
The design of the transaction object, which is the stage in which the users are provided with the set of transaction objects, is the method of clustering the transaction
objects that are grouped into 'task-control-output' tasks. This facilitates the understanding of the users by visualizing the transaction objects of the business events in
the UI. In other words, it makes it easier for the users to understand the set of transactions in the Interface, by clustering the 'input task-control-output' tasks into one object
unit for the sake of visualization.
3.4 Form Object
The design stage of the form object serves to create the object that represents the User
Interface Form Object (hereafter referred to as UIFO). This stage creates the form
object by dividing the business events into the form in which they are presented in the
UI. If the number of input/output business events exceeds 20 (criteria for human engineering) or the output form(or_state) is selected in more than one input and it is
1143
necessary to make the user clearly understand as in the case of Interrupt, it divides the
objects into multiple forms. The following is the rule used for clustering the set of
form objects.
<Rule 1> the input/output objects exceed 20, and in case of different task, are divided into other form object.
<Rule 2> if the response to the demand is alternative, it is divided into different
form object.
<Rule 3> if the result of event is Interrupt, it is divided into new form object.
<Rule 4> if it is the abstract object with same task though it exceeds 20 items, it
cannot be divided into other form object.
<Rule 5> one task object can be divided into form object, and the transaction object gathers to become form object.
The efficient design of the form provides the support needed to facilitate the development of the program and its maintenance/repair, by making it easy to understand
the business process and reducing the complexity of the software.
Control
design
Structured design
Relative
group
Field
Task
Transaction
Business events in the general design model are not subject to clustering, and the
designer arranges the business events (by him or herself). The designer determines
only the control of the business events, depending on his or her skill. The structured
design model of Constantine designs the control pattern of the business events like
general designers, and the designer groups the business events according to their relevance, so that the user can understand their relevance to the work involved.
1144
The object-oriented design model proposed in this paper applies the concept of the
object-oriented design by classifying the business events into objects (business events,
tasks, transactions, forms) in the UI. Fig. 3(a) shows the general design model which
designs only the control pattern of the business events. In other words, it designs only
the control patterns, such as the properties, product codes, product standards, etc. The
structured design model in Fig. 3(b) shows an example in which the control of the
business events is designed and their grouping is performed based on the user information, product information and order information according to the relevance of the
work involved. Fig. 3(c) is an example of the object-oriented design model visualized
by the multi-dimensional grouping of 4 objects to which the object oriented design
method is applied (business events, tasks, transactions, forms). The object-oriented
design model is a method that enables the user to recognize the object group and sequence of tasks which are transferred to the database in the UI, as shown in Fig. 2.
4.2 Criteria for VC
The VC of the UI is a new set of criteria which has been studied in relation to the UI
contents, and is founded on the basis of the cohesion of the interface as defined using
basic software engineering concepts. Constantine proposed an equation to estimate
the VC [10]. This VC is represented by the ratio of the number of pairs related to
visual business events to the number of business events. The summation of the VC in
the form and dialogue box is the summation of the VC in the group of all levels.
V C = 100
however,
N l ( N l 1) / 2
Gl
R i, j
i , j |i j
The number of VCs increases if the grouping among relevant business events is good.
The equation used to calculate the VC is applied on the basis of the outcome of the
design in section 4.1, and the VCs of the designed models are compared and evaluated. The referenced design model used for the evaluation is designed in the form of a
1145
visual prototype of a non-functional screen layout, and the basic visual properties and
business events were designed with the same number (of visual properties and business events) in order to ensure the objective measurement of the result of this experiment. Table 2 shows the outcome of the calculation of the relevance by pattern of this
referenced design.
Table 2. Outcome of the calculation of relevance by referenced design model
Generalized design
Structured design
Object oriented design
The number of instances of the product code and product standard were both assumed to be five.
The VC of the general design model was N=4, N1=2, N2=5, N3=5, N4=16, VC=27
was the lowest VC. The VC of the structured design model was N=7, and N1=2,
N2=5, N3=5, N4=5, N5=3, N6=5, N7=6, VC=74 was the intermediate level of VC. The
VC of the object oriented design model was N=10 and N1=2, N2=5, N3=5, N4=2,
N5=3, N6=3, N7=5, N8=3, N9=3, N10=3, VC=89 was the highest VC. Therefore, the
VC of the referenced design model can be compared as shown in table 3.
Table 3. Evaluation of VC of referenced design model
Name of referenced
design model
VC
Calculated value
General
design
Structured design
Object oriented
design
27
75
89
It was found that the cohesion of the object oriented design model proposed in this
paper was improved by approximately 14%. The VC provides the criteria for reviewing the quality of the visual prototype and graphic design for the UI. Moreover, the
VC provides the criteria for forecasting the user preference, the evaluation of the
easiness and comprehensibility, the degree of response, and the quality of the graphic
layout [10]. The automatic graphic layout of the objects ensures the most efficient
grouping and the highest cohesion according to the modeling rule, regardless of the
skill of the designer.
5 Conclusion
This paper studied the design rules and modeling technique of a UI that supports the
user based on the improved VC. The findings of this study are as follows: First, the
proposed method improves the VC by designing the objects of the UI on the basis of
1146
objects which are functional, consecutive and communicative. Second, it improves the
user preference, easiness, comprehensibility, degree of response, and quality of the
graphic layout on the basis of the improvement of the object based VC. Third, it improves the communicative, consecutive, and procedural cohesion of business events
on the basis of the clustering of the UI objects. Fourth, it constitutes an object oriented
designing method that can improve the comprehensibility of the business process and
the usability of the UI on the basis of the visualization of the object pattern.
References
1. Garcia, E., Sicilia, M.A., Gonzalez, L., Hilera, J.R.:Dialogue-Based Design of Web Usability Questionnaires Using Ontologies. Computer-Aided Design of User Interfaces(2005) 131-144
2. Dix A.:Design of User Interface for Web. Proceedings, User Interface to Data Intensive
System(1999) 2-11
3. Constantine L.L., Biddle R., and Noble J.:Usage-centered Design Engineering: Models for
Integration. IFIP international conference on software engineering(2003) 106-113
4. Leszek A. Maciazek: Requirements Analysis and System Design. Addison Wesley(2001)
244-270
5. H. Balzert: From OOA to GUIs: The Janus System. IEEE Software, Vol. 8, No 9(1996)
43-47
6. F. Bodart, A.-M. Hennebert, J.-M. Leheureux, I. Provot, and J. Vanderdonckt: A Modelbased Approach to Presentation: A Continuum from Task Analysis to Prototype. Proceedings of the Eurographics Workshop on Design, Specification, Verification of Interactive
Systems, Carrara, Italy, Focus on Computer Graphics, Springer-Verlag, Berlin(1994)
77-94
7. M. Elkoutbi, I. Khriss, and R.K. Keller: Generating User Interface Prototypes from Scenarios. Proc. of the 4th IEEE International Symposium on Requirements Engineering(1999) 150-158
8. Nerurkar U.: Web User Interface Design, Forgotten Lessons. IEEE Software, Vol. 18, No.
6(2002) 69-71
9. Chidamber S. and Kemerer C.: A Metrics Suite for Objected-Oriented Design. IEEE
Transaction on Software Engineering, Vol. 20, No. 6(1994) 476-493
10. Constantine, L. L.:Visual Coherence and Usability: A Cohesion Metric for Assessing the
Quality of Dialogue and Screen Designs. Proceedings, Sixth Australian Conference on
Computer-Human Interaction, IEEE Computer Society Press(1996)
Abstract. With the size and complexity of many software systems increasing,
they need to give a greater emphasis to capture and maintain requirement
knowledge within the software development process. This knowledge can be
captured by the requirement ontology. But the requirement analysis systems
must balance expressivity and inferential power with the real demands of requirement ontologies construction, maintenance, performance, and comprehensibility. Description logics (DLs) possess several featuresa terminological
orientation, a formal semantics, and efficient reasoning procedures which offer an effective tradeoff of these factors. In this paper, we use description logics
SHIQ to define the objects and their relations, and identify the subsumptions
capturing the constraints and relationships among the objects. We show how the
subsumptions can be used to answer some questions.
This work was supported in part by the National Natural Science Foundation of China
(60503020), the Natural Science Research Plan for Jiang Su High School (05KJD520151).
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11471154, 2007.
Springer-Verlag Berlin Heidelberg 2007
1148
With the use of description logics, our approach not only can provide a design terminology to be easily shared by the corresponding engineers, but can define precisely
and unambiguously the meaning of the terminology.
The remainder of this paper is organized as follows. In section 2, we firstly briefly
review why it is necessary to represent requirement specification as requirement ontology. Then, we provide a brief introduction to description logics in section 3. In
section 4, we use description logics SHIQ to formally represent requirement specification. In section 5, we show how to use our representation method to answer some
common sense questions. Finally, section 6 gives the conclusions.
As the same to them, we are interested in a formal and rigorous approach to the
representation of knowledge. But we will adopt the description logics to define the
objects and their attributes, and identify the axioms capturing the constraints and
relationships among the objects.
Before providing a brief introduction to description logics (in next section), we
summarize their advantages for knowledge representation as following:
1. Translation to first-order predicate logic usually possible
2. Based on formal semantics: including declarative and compositional semantics;
standard Tarski-style interpretation I = ( I , I )
3. Inference problems decidable
4. Probably the most thoroughly understood set of formalisms in all of knowledge
representation
1149
5. Wide range of logics developed: from very simple (no disjunction, no full negation) to very expressive (comparable to DAML + OIL)
6. Very tight coupling between theory and practice.
3 Description Logics
Description Logics (DLs) are knowledge representation formalisms that are able to
capture virtually almost all class-based representation formalisms used in Artificial
Intelligence, Software Engineering, and Databases. The basic elements of DLs are
concepts (also called classes) and roles, which denote sets of objects and binary relation, respectively. Concept expressions and role expressions (in the following simply
called concepts and roles) are formed by starting from a set of atomic concepts and
atomic roles, i.e., concepts and roles denoted simply by a name, and applying concept
and role constructs [13].
The most expressive DL that we refer to in this paper is called SHIQ [14-16]. In
such logic, concepts and roles are formed according to the following syntax:
C, D ::= A | CD | CD | C | R.C | R.C | nR.C | nR.C .
(1)
R, S :: = P | R | R S .
(2)
where A and P denote respectively atomic concepts and atomic roles; C (or D) and R
(or S) denote respectively arbitrary concepts and roles with transitive role R+ R; n
denotes a positive integer.
Syntax
Semantics
A I I
P I I I
CD
C I DI
CD
C I DI
I \ C I
R.C
{x | y. <x, y> R I y C I }
R.C
{x | y. <x, y> R I y C I }
nR.C
{x | #{ y| <x, y> R I y C I } n }
nR.C
{x | #{ y| <x, y> R I y C I } n }
RS
RI S I
Fig. 1. Formal Semantics of the SHIQ
1150
(3)
AA .
(4)
( nR.C) ( n+1R.C ) .
(5)
(6)
CD ( CD) .
(7)
R.C R. C .
(8)
In next section, we will show how to use SHIQ to describe ontology in software
requirement.
(9)
1151
In addition, a designer introduces a hole as a feature to the arm of a desk spot lamp
so that an electrical cord can run through it, and two threaded bars as another feature.
This can be expressed as following:
Short_arm has_feature.Hole 2 has_feature.Threaded_bar 2
has_feature. Threaded_bar .
(10)
Then we can define the relevant notions of our software requirement using concept
definitions. For example, the two concepts: primitive and composite, can be defined
respectively as:
primitive (has_component.) .
(11)
composite primitive .
(12)
and
The requirements describe the properties of what being designed. Primitive requirements often come from the customer expressing his/her wishes. They are often
ambiguous, incomplete and redundant; they are also changed frequently during the
design process due to the changes of technology and customers objective. Our ontology-oriented requirements approach in SHIQ can overcome them conveniently. For
example, the following defines the requirement the weight of desk spot lamp must be
less than 2.0 pound:
Desk_spot_lamp has_weight.less_than.A1 .
(13)
where the atomic concept A1 denotes 2.0 pound. If the requirement above be
changed to the weight of the desk spot lamp must be within 2.0 0.1 pound, we can
define it easily as:
Desk_spot_lamp has_weight.less_than.A2 has_weight.greater_
than.A3 .
(14)
where A2 and A3 denotes respectively 1.9 pound and 2.1 pound; less_than and
greater_than is the inverse role of less_than and greater_than, respectively.
In addition, the customer may specify that the desk spot lamp should be able to
use for lighting more than half a square meter of room. This can also be described
easily as:
Desk_spot_lamp has_feature.Lighting_feature has_Lighting_area.
less_than.A4 .
(15)
1152
checking consistency of SHIQ-TBox and checking instance of concepts and roles (for
more, please see [12, 14-16]).
For example, the instance
Desk_spot_lamp (x)
means that x belongs to the concept Desk_spot_lamp. From Axiom (9) we can obtain
the following instances:
has_component(x, y1), has_component(x, y2), has_component(x, y3)
where has_component(x, y1) denotes that the desk spot lamp x has a component y1; y1,
y2, and y3 belong respectively to Heavy_base, Small_head and Short_arm.
(16)
where conji (x, yi) is a conjunction of atoms; x, yi are the variables appearing in the
conjunct; x perhaps is the set of x1, , xi . Each atom has one of the forms C(t) and
R(t1, t2), where t, t1, t2 are variables in x and yi or objects of the knowledge base. A
query expression q is interpreted as the set qI of constants c1, , cn, such that, when
substituting each ci for xi, the formula
y1. conj1(x, y1) ym. conjm (x, ym) .
(17)
(18)
(19)
1153
6 Conclusion
In this paper we used description logic SHIQ to formally describe an ontology for
requirements in the engineering design domain. The advantages of our technology
based on SHIQ are the convenient expression of concept hierarchies, the ease of defining new concepts by the combination of already given ones, and the efficient and
decidable reasoning capabilities.
We showed how our requirement ontology addressed some issues on requirement
knowledge. The ontology provided communication of requirements by defining a
well-defined syntax and semantics. It allowed for checking for, completeness, consistency, and satisfiability. It provided a knowledge base for tools that perform document creation.
References
1. Jinxin, L., Mark, S.F., Taner B.: A Requirement Ontology for Engineering Design. In:
Concurrent Engineering: Research and Application, Vol. 4, No.3. (1996) 279-291
2. Lu, R., Jin, Z., Chen, G.: Ontology-Oriented Requirements Analysis. Chinese Journal of
Software, Vol. 11, No. 8. (2000) 1009-1017
3. Lu, R., Jin, Z.: Formal Ontology: Foundation of Domain Knowledge Sharing and Reusing.
Chinese Journal of Computer Science and Technology, Vol. 17, No. 5. (2002) 535-548
4. Jin, Z.: Ontology-Based Requirements Elicitation. Chinese Journal of Computers, Vol. 23,
No. 5. (2000) 486-492
5. Baader, F., Horrocks, I., Sattler, U.: Description Logics as Ontology Languages for the
Semantic Web. In: Proc. of the International Conference on Conceptual Structures (ICCS
2003). LNAI, 2003. To appear
6. Guarino, N.: Formal Ontology: Conceptual Analysis and Knowledge Representation. International Journal of Human-Computer Studies, Vol. 43, No. 5/6. (1995) 625-640
7. Gruber, T.R.: Towards Principles for the Design of Ontologies Used for Knowledge Sharing. Int. Journal of Human-Computer Studies, Vol. 43, No. 5/6. (1995) 907-928
8. Abran, A., Cuadrado-Gallego, J.J., Garca-Barriocanal, E., Mendes, O., Snchez-Alonso,
S., Sicilia, M.A.: Engineering the Ontology for the Swebok: Issues and Techniques. In:
Calero, C., Ruiz, F., Piattini, M. (eds.): Ontologies for Software Engineering and Software
Technology. New York: Springer. (2006) 103-122
9. Sicilia, M.A., Cuadrado-Gallego, J.J., Rodrguez, D.: Ontologies of Software Artifacts and
Activities: Resource Annotation and Application to Learning Technologies. 2005 International Conference on Software Engineering Research and Practice, Taipei (Taiwan).
(2005) 145-150.
10. Calvanese, D., Lenzerini, M., Nardi, D.: Description Logics for Conceptual Data Modeling. In: Logics for Databases and Information Systems. Kluwer-Academic Pulisher, (1998)
229-264
11. Calvanese, D., Lenzerini, M., Nardi, D.: Unifying Class-based Representaion Formalisms.
Journal of Intelligence Research, Vol. 11. (1999) 199-240
12. Calvanese, D., Giacomo, G.D., Lenzerini, M., Nardi, D.: Reasoning in Expressive Description logics. In: Robinson, A., Vornonkov, A. (eds.): Handbook of Automated Reasoning.
Elsevier Science Publishers (North- Holland), Amsterdam. (2001) 1581-1634
1154
13. Calvanese, D., Giacomo, G.D., Lenzerini, M.: Description Logics: Foundations for Classbased Knowledge Representation. Proc. of the 17th IEEE Sym. on Logic in Computer Science (LICS 2002). Copenhagen, Denmark (2002) 359-370
14. Horrocks, I., Sattler, U., Tobies, S.: Practical Reasoning for Expressive Description Logics. Proc. of the 6th International Conference on Logic for Programming and Automated
Reasoning. LNAI 1705. (1999) 161-180
15. Horrocks, I., Sattler, U.: Optimised Reasoning for SHIQ. In: Proc. of the 15th Eur. Conference On Artificial Intelligence (ECAI 2002). (2002) 277-281
16. Horrocks, I., Sattler, U., Tobies, S.: Reasoning with Individuals for the Description Logic
SHIQ. Proc. of the 17th Conference on Automated Deduction (CADE-17). LNCS 1831.
(2000) 482-496
17. Calvanese, D., Giacomo, G.D., Lenzerini, M.: A Framework for Ontology Integration.
Proc. of the First Int. Semantic Web Working Symposium (SWWS 2001). (2001) 303-316
18. Calvanese, D., Giacomo, G.D.: Answering Queries Using Views over Description Logics
Knowledge Base. Proc. of the 16th Nat. Conf. on Artificial Intelligence (AAAI 2000).
(2000) 386-391
Abstract. This paper is about using ontologies to identify the objects from a
problem domain text description. At the center of object models and ontologies
are objects within a given problem domain is similar to the concept provided by
ontologies. This paper addresses ontologies as a basis of a methodology for
object modeling, including available tools, particularly OntoExtract, which can
help the conversion process. This paper describes how the developers can
implement this methodology on the base of an illustrative example.
Keywords: Ontologies, Software Engineering, Object Models, Artificial
Intelligent.
1 Introduction
An ontology, in more generally and well known definition, is a specification of
conceptualization [9]. Ontologies described syntactically on the basis of languages
such as eXtensible Markup Language (XML), XML Schema, Resource Description
Framework (RDF), and RDF Schema (RDFS). The object oriented paradigm is the
framework in software engineering, influencing all effort in information science.
Discovering the right objects seems to be the most difficult task in the whole
development process. Object oriented software development is well supported by
numbers of working methods, techniques, and tools, except for this starting point object identification and building the related system object model. Converting the text
description of system problem domain and respective functional requirement
specifications into an object model is usually left to the intuition and experience of
developers (system analysts). Recently there has been great research interest in
applying ontologies for solving "language ambiguity problem" as either an ontologydriven or ontology-based approach [9]. This is true for object oriented software
engineering, mainly because of the similarity in the principles of the two paradigms.
Moreover, the object systems similar to ontologies, which represent conceptualized
analysis of a given domain, can be easily reused for different applications [10]. An
ontology is a specification of a representational vocabulary for a shared domain of
discourse: definitions of classes, relations, functions, and other objects [1] or, more
generally, a specification of conceptualization [2]. Semantic web uses ontologies as a
tool for easy integration and usage of content by building a semi-structured data
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11551161, 2007.
Springer-Verlag Berlin Heidelberg 2007
1156
W.V. Siricharoen
1157
I-model
1158
W.V. Siricharoen
<isRelated> refers to cross-taxonomic links that may exist within a domain and, if
represented, can make a difference in finding needed information based on context
descriptions. In short, it can identify the possible relations between objects.
2.3 OL-Model: Ontologies Library Model
Data (attributes) and functions (methods, operations) are the two fundamental parts of
any objects. We can continue in this way relying on the decision making abilities of
the developers to the final acceptable object model of the system. However, because
of the requirement for decision making this process can still be characterized as
subjective or even intuitive, which was the main reason to propose these models. To
avoid this situation we can recall the most powerful feature of both object and
ontology orientation - they allow for a high degree of reusability of their artifacts in
different application domains. The idea is very simple - if something is defined
already and checked successfully and has been used in practice, perhaps with some
adjustments it can be used for another developers needs. This idea is implemented
and used broadly in object oriented software engineering through business objects and
related patterns, shown in more detail for example in Batanov and Arch-int, 2003.
This paper proposes here an extension of this idea introducing the notion of
Ontological Business Object Pattern (OBOP). An OBOP is an ontology-based
description of a business object that presumably will be included as a working object
in the object oriented software system. It actually rely on the fact that there are a
great number of ontological descriptions of concepts (objects) in different problem
domains, existing already and available from ontology library systems such as
WebOnto, Ontolingua, DARPA Agent Markup Language (DAML), Simple HTML
Ontology Extensions (SHOE), etc.
The DAML ontology library and SHOEntity library, is more specifically their
catalogs of ontologies, which are available in XML, HTML, and DAML formats.
Here classes are called categories and these categories constitute a simple is-a
hierarchy while the slots are binary relations [8]. What the developer should do at
this phase is to select the suitable ontology for the respective problem domain. Fig. 2.
shows an example of how available ontological description for our particular problem
domain can be considered as OBOP. Representation of ontology specifications is
standardized in a form of object description and this provides a great advantage for
software developers. For example, the ontological description shown in Fig. 2. is
found in the ontology library and has a structure, which can be used by the developer
directly as not only class hierarchy but as a structured content of respective classes.
Therefore, this description can be considered as OBOP. Within this pattern the
concept (object) student possesses exactly the properties (attributes) necessary for
the system under development. We can say the same for the root concept (object,
class) person. Moreover, in the ontology the attributes themselves are treated as
concepts (objects) just like in object orientation, which means that we can follow and
extract the description of all objects that we are interested in within the class
hierarchy.
1159
Fig. 2. Example of ontological class hierarchy used as a pattern of computer science department
ontology version 1.1 [6]
2.
3.
Set of objects in the problem domain PD = {O1, O2, O3,.., Oa} with their
names and relationships, extracted from the T-model by an ontological
engine (OntoExtract).
Set of objects FOE = {O1, O2, O3,.., Ob} with their names and relationships
as a result of applying an ontological engine.
Set of objects BOP = {O1, O2, O3,.., Od}with their names, relationships
(including hierarchical information) and functions as a result of searching
for OBOPs in ontology libraries (DAML and SHOEntity).
Fig. 3. shows in graphical form, although far from precise, the existing situation.
Without a doubt all objects are within the system problem domain but on one hand
their number is still large and they are defined from different perspectives. The
presumption, based on a number of experiments, is that the basic objects, which will
play a substantial role in ensuring the system functionality, will appear in the above
models regardless of the perspective. This practically means that we can apply a
simple integration procedure - intersection of the above sets - to identify those objects
In Fig. 3. the resulting area is O, or
1160
W.V. Siricharoen
O = PD FOE BOP
The final decision should be taken by the developer.
2.5 C-Model: Class Model
In the O area in Fig.3 from I-model consist of the interesting objects which will
appear in C-model. The C-model is the goal of preliminary analysis of object oriented
systems. This is the well-known class hierarchy representation, including some initial
but significant relationships for the system functionality contents of objects data and
behavior (functions, operations). We stress on the word initial here to emphasize the
fact that the analysis is far from over yet. The developer should continue applying the
conventional analysis models, methods and techniques on the C-model, which can
lead to substantial changes, including adding new objects, deleting some objects,
adding or removing some elements of the included objects, etc. The C-model can be
represented graphically using different tools such as Rational Rose (class diagrams),
textually using either some natural language or pseudo programming language, and
finally using some highly structured tag-based language.
3 Conclusions
The ultimate goal of the developer's efforts is actually the objects identification which
is C-model. This is because the objects included the C-model should contain the
possible objects necessary for the next phases of design and implementation of the
software system. It is clear now the already mentioned problem with "language
ambiguity" - different interpretations of the T-model, without any formal support of
the choice of participating objects, would lead to creating C-models, which are quite
probably inconsistent, incomplete or inefficient for the further steps of design and
implementation. We believe that using ontology as a tool of conceptualization
working on the T-model can make (if not fully formal at least) semi-formal the
1161
process of creating the C-model and in this way help developers in this complex and
imprecise task. This is the major motivation of the work described briefly in this
paper.
The author believe that merging ontologies with existing methods, techniques,
and tools used during the analysis phase of complex object oriented software systems
can contribute significantly to reaching better decisions, with a positive effect on all
the subsequent phases of the development process. This paper describes a
methodology for supporting the analysis phase of object oriented software
engineering using ontologies for identification of system objects. Five submodels are
introduced and briefly described in the paper as a part of this methodology. The
author also believe that these models and the process of their transformation can help
developers of complex object oriented software systems to: (a) transform user
requirements (represented as text description) into an object model of the system
under development based on the use of ontologies; (b) improve the effectiveness and
efficiency of the existing methodology for high-level system analysis in object
oriented software engineering.
References
1. Gruber, T.R.: Towards Principles for the Design of Ontologies Use for Knowledge
Sharing, In Proceedings of IJHCS-1994, Volume 5 No.6 (1994) 907-928
2. Cullot, N., Parent, C., Spaccapietra, S., and Vangenot, C.: Ontologies : A contribution to
the DL/DB Debate. Available online: downloaded on January (2005)
3. Engles, R.: Del 6: CORPORUM OntoExtract ontology extraction tool, On-ToKnowledge: Content-driven knowledge management tools through evolving ontologies. In
IST project IST-1999-1032, On-To-Knowledge (2001)
4. Engles, R.H.P., Bremdal, B. A., and Jones, R.: CORPORUM: a workbench for the
semantic web, In EXML/PKDD workshop, CognIT a.s., (2001)
5. Klein, M.: XML, RDF and relatives, In IEEE Intelligent Systems March/April (2001)
26-28
6. Heflin, J.:SHOE Ontologies, Available online: http://www.cs.umd.edu/projects/plus/
SHOE/onts/cs1.1.html, downloaded on January (2007)
7. Gil, Y., and Ratnakar, V.: A comparison of (semantic) markup languages, In Proceedings
of the 15th International FLAIRS Conference, Special Track on Semantic Web, Pensacola,
FL (2002)
8. Noy, N., Sintek, F. M., Decker, S., et al.: Creating semantic web contents with Protg2000, In IEEE Intelligent Systems, March/April (2001) 60-61
9. Deridder, D., and Wouters, B.: The Use of Ontologies as a Backbone for Software
Engineering Tools, Programming Technology Lab, Vrije Universiteit Brussel, Brussels,
Belgium (1999)
10. Swartout, W.: Ontologies, In IEEE Intelligent Systems, January/February (1999) 18-25
Introduction
This paper presents the empirical software engineering (SE) research from a
epistemological and ontological point of view, where relevant concepts could be
dened as follows:
Epistemology is the branch of philosophy that studies the origin, nature, and
limits of human knowledge [28]. From an epistemological point of view, the
problem is how knowledge is acquired in the SE domain. Holloway [15] has
described how knowledge can be acquired by the following epistemological
approaches:
Authority-based epistemology states that truth is given to us by an authority, in the case of SE, an human expert [15].
Reason claims that what is true is that which can be proven using deductive logic. Reason dictates conditional absolute truth; if the premises
on which a valid deductive argument are known to be true, then the
conclusion of the argument must also be true [15].
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11621169, 2007.
c Springer-Verlag Berlin Heidelberg 2007
1163
The use of empirical methods, closer to the scientic research method, consists
of observing the world, proposing a model or theory of behaviour, measuring and
1164
J. Cuadrado-Gallego et al.
Important issues in epistemology include the nature of knowledge, its presuppositions and foundations, its extent and validity. This describes what things are
known and how that knowledge is acquired. Platos Theaetetus already dened
knowledge as justied true belief. The problem is how to dene what we know
is true and to what extent that is true. Modern philosophers such as Gettier
[12] state that belief does not need to be fully justied to be true. Furthermore,
Popper states that a law is a hypothesis that has not yet been falsied. For him,
a scientic idea can never be proven true, because because no matter how many
observations seem to agree with it, it may still be wrong. On the other hand, a
single contrary experiment can prove a theory forever false. Theorists have had
consensus dening the meaning of laws, theories, hypotheses and conjectures:
Laws are generalizations on how things happens. From observations we can
generalize about what it is expected to happen but do not need to have an
explanation of why things happen.
Theories are explanations of laws, i.e., why things happen.
Hypothesis is tentative explanation that accounts for a set of facts that needs
to be conrmed by observation.
Conjectures are statements, opinions, or conclusion based on inconclusive or
incomplete evidence.
3.1
1165
Not all empirical research in SE is been carried out properly and as Lehman
states: our laws are certainly weaker than those formulated in biological
sciences....
In order for Empirical research to improve the epistemological value of SE, hypotheses need to be stated properly. In an initial attempt, Kitchenham et al [18]
discuss a set of SE empirical guidelines highlighting the fact that SE empirical
research is still pretty poor. In relation to hypotheses, they comment that many
hypotheses are shallow hypotheses because they do not reect an explanatory
theory, and as a result, those experiments do not increase SE knowledge, i.e,
those do not provide value from an epistemological point of view. Also, Fenton
et al [9] state 5 questions should be asked for empirical research studies:
Problems with empirical research can include the experimental design itself,
samples and scope (toy vs. real, just as software-development-in-the-small diers
from software-development-in-the-large, research-in-the-small may dier form
research-in-the-large [9], the use of appropriate measures. An example of the
postulates of Kitchenham et al [17] is the necessity to apply the representational
theory of measurement to software measurements. Fenton and Peeger [10] provide guidelines to dene and apply metrics to measure the process or product
characteristics. Also, the validity of the metrics from an empirical and theorical
point of view has been discussed in the literature. The representation condition [10] asserts that a measurement mapping M must map entities into numbers
and empirical relations into numerical relations in such a way that the empirical
1166
J. Cuadrado-Gallego et al.
relations preserve and are preserved by the numerical relations. For example, if
A is taller than B if and only if M (A) > M(B) [10]. It is a well-known fact that
there are many dened SE metrics that do not follow these principles. Examples
include the McCalls complexity metric, which has no unit.
A correct way to establish epistemological foundations of software measurement is that a set of metrics must make clear what aspects of quality they are
trying to measure and who they are directed at because there are dierent points
of view about what quality means (developers, managers, users). In the SE domain, metrics should be based on a range of properly dened quality model from
xed hierarchical models (Boehm, McCalls FCM) to more exible approaches
such as the Goal-Question-Metric (GQM) [4].
Finally, the empirical evaluation is needed to help evaluate, predict, understand, control and improve the software development process or product [3].
Furthermore, Fenton and Peeger [10] argue that conducting empirical evaluations is the only way to improve software processes and products.
3.3
Epistemology can help us dene assertions and how those assertions in SE can
be veried. Also the concepts of ontologies in Software Engineering are aimed at
dening factors and relationships that help to clarify what needs to be reported in
empirical studies.Epistemology and ontology foundations can help in conducting
research and advancing the SE domain without antinomies that we have at the
moment. For example, Lehman and Ramil [20] discuss why there is a need to
develop a theory of software evolution, its practical impact, underlying strategies
and outlines a strategy for the development of the theory. So far, Lehman is one
of the few authors that have dened their work as hypothesis and empirically
evaluate them to create laws.
There are also dichotomies in SE, e.g., in Formal Methods domain, Floyd [11]
suggests a discussion from a philosophical point of view that can be extrapolated
to other SE domains. Formal methods have focused quite a lot in the mathematical aspect. Floyd argues that a change from a product oriented perspective
(which regards software as a product) to a process oriented perspective, (which
views software in connection with human learning) is needed. In SE, the same
dichotomy exits in the same context and others. For example, metrics and quality are usually related either to the products or processes but not much research
has be carried out linking both aspects. Other examples where a long term view
of empirical research has contradicted previous research include:
Regarding to estimation Kitchenham states Function Points are not better
than Lines of Code (LOC). Also, Dolado [5] has shown that some modern
data mining estimation methods are not better than classical regression.
Shneiderman et al experiment [24] on the same analysed whether an algorithm is easier to comprehend if presented as a ow chart or as a pseudo
code. Authors concluded that there is no dierence between both. Years
1167
later, Scalan [23] highlights some experimental aws of the original experiment (not taking time into account, questions that could only be answered
from the pseudocode and too simple program). Scalan proved that owcharts
outperform pseudocode with a proper experimental design.
Etc.
Finally, perhaps the most interesting point for the future of SE from the
Popper theses regarding epistemology is that every solution of a problem raises
new unsolved problems. Current research in empirical SE is the adoption of
evidence-based approach following the success of the evidence-based paradigm
in medicine during late 80s and early 90s. By analogy with evidence-based
medicine, Kitchenham et al [19] dene that the Evidence-based Software Engineering (EBSE) should be to provide the means by which current best evidence from research can be integrated with practical experiment and human values in the decision making process regarding the development and maintenance
of software.
In SE, the use of ontologies has been used as a resource to integrate the information, to communicate what people have achieved, to adapt the goals of the
organization and to support the eciency of the processes. Ontologies can also
be used by applications require a higher level of formality of denition. For example, the cataloguing of learning resources or the mapping of vocabularies from
dierent information sources require precise denitions, or at least signicant
characterizations that help in deciding which terms to use in practical situations. Altho et al [2] describe an architecture oriented to reuse the experience
in SE that use ontologies as the underlying formalism.
From an ontological point of view, empirical research has dierent considerations. On the one hand, the use empirical research with the objective of
improving the epistemological foundations in SE could help in dening more
precise denitions, which in turn will provide more precise and useful ontologies.
The IEEE Standard Glossary of Software Engineering Terminology [16] is a
well-known attempt to provide precise characterizations of the main terms in
the eld. It uses natural language prose which is useful for an ecient communication, but it does not provide a clear demarcation for each of the concepts.
On the other hand, current works creating ontologies based on standards will
help in dening entities, parameters and the relationships between them. This is
turn will help to dene the experiments stating which variables could be considered as dependant or independent variables in the design of an experiment and
how those are related. An ISO standard, the Guide to the Software Engineering
Body of Knowledge (SWEBOK) provides an agreement on the content of what
compose the SE discipline. The SWEBOK project opened new possibilities to
ontology engineering in the eld of SE, since it represents a shared consensus on
the contents of the discipline and provide pointers to relevant literature on each
of its concepts, both are important elements in ontology engineering [14,25].
1168
J. Cuadrado-Gallego et al.
Conclusions
Acknowledgement
This work has been supported by the project MCYT TIN 2004-06689-C03.
References
1. Aaby, A.A.: The Philosophical Foundations of Software Engineering, Draft available at: http://cs.wwc.edu/aabyan/Articles/SE/.
2. Altho, K.-D., Birk, A., Hartkopf, S., Muller, W., Nick, M., Surmann, D. and
Tautz, C.: Systematic Population, Utilization, and Maintenance of a Repository
for Comprehensive Reuse. In Learning Software Organizations - Methodology and
Applications, Springer Verlag, LNCS 1756, (2000) 2550
3. Basili, V., Selby, R.W. and Hutchens, D.H., Experimentation in Software Engineering, IEEE Trans. on Soft Eng 12 7 (1986) 733743
4. Basili, V. R., Caldiera, G. and Rombach, H. D.: The Goal Question Metric Paradigm, in Encyclopedia of Software Engineering, John Wiley & Sons, Inc., (1994)
528532
5. Dolado, J.J. and Fernandez, L.: Genetic Programming, Neural Networks and Linear
Regression in Software Project Estimation, in International Conference on Software Process Improvement, Research, Education and Training (INSPIRE98) (1998)
157171
6. Endres, A., Rombach, H.D.: A Handbook of Software and Systems Engineering:
Empirical Observations, Laws and Theories. Pearson Addison Wesley, (2003)
7. Briand, L., Bunse, C., Daly, J., Dierding, C.: An Experimental Comparison of the
Maintainability of Object-Oriented and Structured Design Documents, Empirical
Software Engineering 2(3), (1997) 291-312
8. Chidamber, S.R. and Kemerer, C.F.: A metric suite for object oriented design,
IEEE Trans. on Soft Eng, 20(6) (1994) 476-493
9. Fenton, N.E., Peeger, S.L. and Glass, R.L.: Science and Substance: A challenge
to Software Engineers. IEEE Software 11(4)(1994) 8695
10. Fenton, N.E. and Peeger, S.L.: Software Metrics: A Rigorous and Practical Approach, 2nd Edition, PWS (1997)
1169
11. Floyd, C.: Theory and Practice of Software Development, Stages in a Dialoge.
LNCS Vol. 915, 6th International Joint Conference CAAP/FASE on Theory and
Practice of Software Development, (1995) 2541
12. Gettier, E.: Is Justied True Belief Knowledge?, Analysis 23. Available at:
http://www.ditext.com/gettier/gettier.html
13. Glass, R.L.: The Software-Research Crisis. IEEE Software 11(6) (1994) 4247
14. Gruber, T.: Towards principles for the design of ontologies used for knowledge
sharing. Intl Journal of Human-Computer Studies 43(5/6) (1995) 907928
15. Holloway, C.M., Epistemology, Software Engineering, and Formal Methods Abstract of Presentation The Role of Computers in LaRC R&D, June 15-16 (1994).
Available at: http://shemesh.larc.nasa.gov/people/cmh/epsefm-tcabst.html
16. IEEE, IEEE Standard Glossary of Software Engineering Terminology, IEEE Std
610.12-1990, (1990)
17. Kitchenham, B., Peeger L., Fenton, N.: Towards a Framework for Software Measurement Validation. IEEE Trans on Soft Eng 21 (12) (1995) 929944
18. Kitchenham, B.A., Peeger, S.L., Pickard, L.M., Jones, P.W., Hoaglin, D.C., El
Emam, K., Rosenberg, J.: Preliminary Guidelines for Empirical Research in Software Engineering. IEEE Trans. on Soft Eng 28(8) (2002) 721-734,
19. Kitchenham, B.A., Dyba, T., Jorgensen, M.: Evidence-Based Software Engineering.
26th IEEE International Conference on Software Engineering (ICSE04) (2004)
273281
20. Lehman, M., Ramil, J.F.: Towards a Theory of Software Evolution and its Practical
Impact, Proceedings Intl. Symposium on Principles of Software Evolution, ISPSE
2000, 1-2 Nov, Kanazawa, Japan (2000) 211
21. Lenat, D.B.: Cyc: A Large-Scale Investment in Knowledge Infrastructure. Communications of the ACM 38(11) (1995) 3338
22. Popper, K.R.: Conjectures and Refutations, Routledge and Kegan Paul, (1963)
23. Scanlan, D.A.: Structured Flowcharts Outperform Pseudocode: An Experimental
Comparison. IEEE Software 6(5) (1989) 2836
24. Shneiderman, B.B., Mayer, R., McKay, D., Heller, P.: Experimental Investigations
of the Utility of Derailed Flow charts in Programming. Communications of the
ACM 20(6) (1977) 37338
25. Sicilia, M.A., Garcia, E., Aedo, I., Diaz, P.: A literature-based approach to annotation and browsing of Web resources. Information Research 8(2), (2003) 110
26. Tautz, C. and von Wangenheim, C.G.: REFSENO: A Representation Formalism
for Software Engineering Ontologies, Fraunhofer IESE IESE-015.98 (1998)
27. Tichy, W.F., Lucowiicz, L.,Prechelt, L., Heinz, E.A.: Experimental evaluation in
computer science: a quantitative study, Journal of Systems and Software 28(1)
(1995) 918
28. Wikipedia: The Free Encyclopaedia. Available: http://en.wikipedia.org/wiki/
Epistemology
29. Zelkowitz M.V., Wallace D.: Experimental Validation in Software Engineering.
Information and Software Technology 39(11) (1997) 735743
1 Introduction
A Korean verb wordnet named KoreLex was constructed based on the word-sense
mapping of English WordNet (Princeton, version 2.0, hereafter WN) to Korean 1
verbs. During semi-automatic translation, we noticed the following problems; (1) the
English verbs of accusative(acc)/inaccusative(inacc) alternation were mapped to two
or more morpho-syntactically different Korean lexical entities; (2) two English verb
senses were matched to a Korean middle verb(MV), having both acc/inacc features
but considered as having a unique sense in most Korean dictionaries. To cope with
these problems, the verb sense distinction in KorLex(KL) should be processed
primarily on the basis of coherent linguistic criteria. For this purpose, we explore
morpho-syntactic features that are strikingly marked at the lexical level in Korean,
and show how to apply them to KLs hierarchical structure.
The paper is structured as follows: Section 2 consists of an overview of related
work in English and in Korean. In Section 3, we look at the translation results of
2,322 verb synonym sets (synsets) and analyze the types of mismatches. Section 4
proposes to allocate the distinguished verb senses according to their morpho-syntactic
properties in the Korean verb hierarchy.
1
Korean is an agglutinative language and the word order, as determined by case markers, is
partially free. A verbs noun arguments, including the nominative and the accusative, can be
omitted according to the context, and the verb is always located in the final position.
Aspectual, modal markers as well as tense markers are postpositional morphemes
agglutinated to the verb radical.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11701177, 2007.
Springer-Verlag Berlin Heidelberg 2007
1171
2 Related Work
Effect of the syntactic features on the meaning of verbs has been the subject of
theoretical debate in linguistics and it is still a controversial issue in building a lexical
knowledge base or ontology. However, no concrete choice methodology, nor any
theoretical settlement for the syntactic-semantic interface, for wordnet purposes, has
been suggested. Languages differ in what syntactic features of verbs are encoded
morphologically, and thus lexical formation and its morphological rules for certain
syntactic phenomena should be considered as having a semantic effect, especially in
agglutinative languages including Korean.
2.1 Searching for Syntactic and Semantic Verb Sense Interface
According to [3] and [5], the semantic information of a verb must include both its
central meaning and the thematic grid it specifies, both of which determine the
syntactic construction of the verb. Even though the more specific syntactic features
and semantic role of English verbs are explored in the FrameNet and in VerbNet,
it is very difficult to apply such information WN-like hierarchical semantic
network.
Previous studies on WNs verb sense distinction have attempted to complete WN
by integrating the syntactic properties into the verbs in order to extend the lexical
information. Consequently, questions regarding the means by which syntactic
information in a verb lexicon are arranged, and by which verb senses are
distinguished, are important issues. In this respect, grouping about 3,000 English
verbs according to diathesis alternation patterns, [9] is a pioneering work which led
also to a set of studies on verb polysemy.
Among a number of extensive studies on Levins work, [7] and [12] identifies
missing verb senses in transitive alternation and testing accuracy by mapping Levins
classification to WN. Although current researchers in the field of lexical semantics
have concluded that certain syntactic behavior traits of verbs are central to their
meaning, it has not been clearly established that the diathesis alternation results in a
change of meaning. Regarding this subject, [10] argues that case-alternated verbs
should be considered logically as polysemous and that therefore Levins verb class
can be used for verb sense disambiguation.
2.2 Case Alternation in Korean
Case alternation in Korean is characterized by (a) the position change of a noun
argument accompanying a change of its semantic role, (b) the reduction/ extension of
number of the noun argument, and (c) alternation of the case marker. It is generally
accepted that the case in Korean is determined by the case marker and according to
[4], case does not have the same grammatical properties as in English. [7] claims that
since case alternation has to be described additionally according to the semantic
1172
property of a noun argument at the phrasal level, it is difficult to consider that the
meaning of a verb changes according to its case alternation. In this respect, the MV in
Korean might offer a theoretical basis for verb sense distinction in a wordnet; the verb
allows both acc and inacc frames on a verb radical and the acc noun argument in the
transitive frame can be alternatively, be the nominative noun in the intransitive frame.
Two syntactic realizations of the MV baljok-hada (launch) allow two different
senses, as in following example.
(1)
In the acc frame, the MV has a causative synonymous form, and in the inacc
frame, it is passive. At this point, it is useful to explore the sense distinction of MVs
to be sub-categorized both for the lexicographical purpose and for a WN-like
linguistic NLP application resource.
1173
(1,344 verb senses) including only those appearing as entries in the Standard Korean
Dictionary3. The following Figure illustrates the mapping result.
1 E nglish verb synset
w ith alternating frames
(I)
1 Korean verb
(II)
(III)
2 m orphologically
different K orean verbs
(IV)
As shown in Fig.1, we find four types of mapping result. The two left boxes
indicate the syntactic status of the English verb synset; the upper box indicates the
verbs with acc and inacc frames. The lower box indicates the verbs having no
alternating frames.
Type (I) is the most common in our data, numbering up to 1,028 Korean verb
senses among which 129 verb senses were found to be erroneous. Wrong connections
and missing word senses were post-processed manually. After correction, since an
English verb has two frames, the matching Korean verb set contains two morpholexically different verbs. Thus the Korean verb sets found in Type (I) are subject to
the sense distinction.
According to Type (II), English synsets are mapped to two different verb senses
that are either transitive-intransitive (for 65 English synsets), or transitive-passive
pairs (for 34 English synsets). To check the translation accuracy for Type (II), we
examined whether the gloss of an English synset contained more than two senses. It
appears that in most cases the sentence frames distinguish the acc/inacc senses more
accurately rather than the gloss. The Korean verb sets in this type ultimately need to
be separated into an independent synsets.
According to Type (III), English transitivity-alternated verbs are mapped to a
Korean MV also having two alternating frames according to transitivity alternation.
However, only 8 Korean MVs were matched. Regarding Type (III), it is necessary
that the refinement of translation results goes through multiple post-processing.
Finally, according to Type (IV), 50 Korean MVs are matched to either English acc or
inacc form, which process reflects the necessity of verb sense distinction of Korean
MVs. In the following two subsections, 3.2 and 3.3, we discuss the necessity of
modifying verb sense distinction in KL focusing on Type (II) and Type (III).
3.2 Sense Distinction: Transitive/Passive Form
According to Type (II), one English verb synset having alternating frames is mapped
to either a transitive/intransitive verb pair (II-a) or a transitive/passive verb pair (II-b).
3
We used the Standard Korean Dictionary, which contains 58,815 Korean verb entries.
English-Korean bilingual dictionary we used contains 14,454 verb entries.
1174
1175
change 0
change_integrity 0 ; eoiyangibagguida 0
change_integrity 0
eoiyaneul-bagguda 0
cook 0; ikda 0
ikhida 0
bake 0; guweojida 0
cook 0
gubda 0
bake 0
Mapping result
Modification in KorLex
In the hierarchy of {bake 0}, hypernyms are constituted of verb senses of inacc
frame. Thus we will use this structure to match the passive verb gu-weoji-da (bakepassive-final), and the Korean counterparts for the hypernyms of {bake 0} will be all
of passive value. Now, we can separately build the transitive and the passive forms of
gub-da(bake-final) as shown in Figure 3. The structure on the left is the hierarchy of
the passive form of the verb guweojida and its hypernyms of passive value. The
structure on the right represents the modified hierarchy of the transitive verb form and
its hypernyms of transitive value. Each counterpart of {bake 0} now has a different
semantic relation in KL. As a result, {bake 0} is mapped accurately to Korean
synonym guweojida and {cook 0} is mapped to ikda. The hierarchy on the right
also shows the additional nodes by which gubda is represented accusatively.
4.2 Middle Verb Sense Distinction and Its Place in KorLex
KL requires three different processes of MV sense distinction:
(1) separate the two senses of a MV and add them to appropriate existing KL
synset
(2) separate the two senses and create a node for a new sense in the KL hirerarchy
(3) separate the two senses and create both a node and a new hierarchy in KL
1176
Process (1) is applied to verbs for which we can find an appropriate synset for the
two distinguished KL senses. For example, the sense of the MV gwayeolhada
(overheat) was separated into gwayeolhada 0 (be overheated) / gwayeolhada1
(overheat) and added as a synonym to the existing synset node in KL, as shown in
Figure 4.
c h a n ge 1 , a lte r 1 ,
m o dify 1 1
c h a ng e 0
c ha ng e s ta te 0
tu rn 4
h e a t 1 , he a t
up 0
overheat 1
g w a y e olha d a
heat 0, hot up
2 , h e a t up 1
o v e r he a t 0
gw a y e o lh a d a
by e on h a d a 0 ,
b y e o n w ha h a d a 0
b y e o nw h a s ik id a 0
s a n gta e g a
b y e o n w ha h a d a 0
de ud a 0
tte o g e o bg e h a d a 0
tte o ge o w a jid a 0
g w a y e o lha d a 1
g w a y e o lh a da 0
M a p p in g r e s u lt
M od ific a tion in K o rL e x
byeonhada 0
byeonwhahada 0
keugiga
bakkwida
buleonada
byeonwhasikida 0
jeunggasikida 0
baigahada 1
baigasikida 0
byeonhada 0
byeonwhahada 0
keugiga
bakkwida 0
buleonada 0
baigahada 0
baegadoeda 0
Mapping result
Modification in KorLex
move 3
umjikida
shake 1, agitate 5
heundeullida
tremble 1
tteollida
umjikida
heundeulda
tteolda
quiver 1, quake 1,
palpitate 2
beoleonggeolida
umjikida 0
heundeullida 3
tteolida 2
beoleonggeolida 0
Mapping result
umjikida 2
heundeulda 6
tteolda 5
beoleonggeolida 1
Modification in KorLex
In the mapping result, baigahada (multiply) was mapped to the English synset
{multiply 0, manifold 1}, also subject to sense distinction. We distinguished
baigahada (multiply) according to baigahada 0 (be multiplied) and baigahada 1
(multiply). baigahada 0 was linked to {multiply 0, manifold 1}, and the new sense
baigahada 1 was created as a troponym of buleonada 2 as shown in Figure 5.
Process (3) is the same process but with the addition to KL of a new Korean verb
sense. Fig 6 shows process (3) applied to beoleonggeolida (shake vigorously). In
consideration of the hypernyms, its sense has to be of inacc value. Therefore, after the
sense distinction of beoleonggeolida according to beoleonggeolida 0 (be shaken
vigorously) and beoleonggeolida 1 (shake vigorously), the latter requires a new set
of hypernymys, which is also added to KL.
5 Conclusion
Semi-automatic construction of KL using WN as pivot requires elaborate linguistic
criteria determining the grain size of sense and semantic relation. KL verb is
constructed based on English WN, but its semantic relations and sense distinctions are
modified. In this study, focusing on the relatedness of morpho-syntactic features and
the verb meanings, we showed that the sense distinction can be manageable by
1177
Acknowledgment
This work was supported by the Korea Science and Engineering Foundation (KOSEF)
through the National Research Lab. Program funded by the Ministry of Science and
Technology (No. M10400000332-06J0000-33210).
References
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
1 Introduction
Text alignment is an important task in Natural Language Processing (NLP). It can be
used to support many other NLP tasks. For example, it can be utilized to construct
statistical translation models [1], and to acquire translation examples for
example-based machine translation [2]. It can be helpful in bilingual lexicography [3].
The approaches to text alignment can be classified into two types: statistical-based
and lexical-based. The statistical-based approaches rely on non-lexical information
(such as sentence length, co-occurrence frequency, etc.) to achieve an alignment task
[4]. The method proposed in [5] is based on the assumption that in order for the
sentences in a translation to correspond, the words in them must also correspond. Their
method made use of lexical anchor points to lead an alignment at the sentence level.
It has been shown that different language pairs are in favor of different information
in alignment. For example, [6] found that the sentence-length correlation between
English and Chinese is not as good as between English and French. Also, there is less
cognate information between Chinese-English pair than that in English-French pair,
while the alignment of Chinese-Japanese pair can make use of information of Hanzi
commonly appearing in both languages [7]. Currently, most methods rely on either or
both of above two ideas [8]. The approaches combining both length and lexical
information, such as [9], seem to represent the state of the art.
Chinese has a long history. It had been changed from Ancient Chinese to Modern
Chinese gradually. A lot of Ancient Chinese texts are waiting to be translated into
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 1178 1185, 2007.
Springer-Verlag Berlin Heidelberg 2007
1179
Mode
1:2
2:1
2:2
Ancient Chinese
Modern Chinese
1180
Some examples about various alignment modes are given in table 1. There is 1-2, 2-1
and 2-2 alignment respectively. The statistics of our data aligned manually show these
kinds of alignment are more 10%, while less than 1.5% of the alignments contain 3 or
more sentences in one language.
Both Ancient Chinese and Modern Chinese are composed of Hanzi Character, for
example, is the same character in both ancient and modern Chinese. The
alignment of Ancient-Modern Chinese pairs can make use of information of Hanzi
information commonly appearing in both texts.
(1)
Where L (i, u; j , v) depends on length ratio of the paired two strings sij and t uv ,
different length ratios cause different L (i, u; j , v) ; M (i, u; j , v ) depends on the
alignment mode in the pair, that is, depending on how many sentences involved in this
pair at both sides, different n-m modes cause different M (i, u; j , v ) . H (i, u; j , v ) is
the contribution from Hanzi characters common in both strings.
We first describe how to use length-based information, and then Hanzi-based
information. We give a deliberate measure on multiple alignments which are prone to
mismatch.
3.1 Length and Mode
To utilize the length information in Ancient-Modern Chinese alignment, we make an
investigation on length correlation between these two languages. We also check if the
normal hypothesis of the length ratio is appropriate for this language pair. Following
Gale and Church (1991), we use alignment data at paragraph-level to do the correlation
and normal test. 205 paragraphs in our Ancient-Modern corpus are randomly chosen
for these tests.
1181
The correlation test is to examine if the lengths of Ancient Chinese texts are related
to their Modern translations. That is, if longer texts in Ancient Chinese tend to be
translated into longer texts in Modern Chinese. Figure 1 shows that the lengths (in
characters) of Ancient and Modern Chinese paragraphs are highly correlated.
Fig. 1. Paragraph lengths are highly correlated in Ancient-Modern Chinese bi-texts. The
horizontal axis shows the length of Ancient Chinese paragraphs, while vertical scale shows the
lengths of the corresponding Modern Chinese paragraphs.
Fig. 2. The length-rate data of Ancient-Modern Chinese bi-texts is approximately normal, The
horizontal axis shows the length-ratio, while the vertical axis shows the frequency of each ratio.
In [4], they based their distance measure on an assumption that each character in one
language gives rise to a random number of characters in other language. They assume
those random variables are independent and identically distributed with a normal
distribution. They check the English-French pair for this assumption, and estimate
parameters for the normal distribution. This assumption is not clear to Ancient-Modern
Chinese pair. For making use of the same kind of length-based information in
1182
(2)
To compute the cost for different alignment mode, we aligned 407 Ancient-Modern
Chinese sentence pairs manually. Then we estimate the probabilities of different
alignment modes using frequencies of these modes occurring in data. The result is
listed in Table 2.
Supposed that j i = n means the string sij including n Ancient Chinese
sentences, specially, we use n = 1 to denote that there is no sentence in sij .
Similarly, when v u = m means the string t uv including m Modern Chinese
sentences and m = 1 means that there is no sentence in t uv , the cost for mode
n m can be computed by equation (3).
(3)
Mode(n-m)
0-1, 1-0
1-1
1-2
2-1
2-2
Others
Total
Frequency f(n-m)
1
350
21
18
11
6
407
Probability Pr(n-m)
0.002
0.861
0.052
0.044
0.027
0.014
1
0
h (i,0; u ,0)
1
H (i , u ; j , v )
h1 (i,0; u ,0) + h2 (i , j; u ,0)
h1 (i,0; u ,0) + h3 (i,0; u , v )
j <i|v >u
0 1or1 0
j = i&v = u
11
j = i +1& v = u 2 1
j = i & v = u +1 1 2
(4)
1183
(5)
(6)
H
+
+
+
+
-
L
+
+
+
+
M
+
+
+
+
Accuracy(%)
80.33
56.01
92.43
79.59
52.09
52.50
78.70
We can find Hanzi information(H) is the most helpful one for alignment, when only
one information source is used, H achieves the best accuracy.
1184
It is interesting that we can get the best result by combining only H with M instead of
combining all three information sources in other language pairs such as
Chinese-Japanese [7]. We think the reason is our H measure combines enough length
constraint information, while length information itself is not so helpful in
Ancient-Modern Chinese alignment.
We can find from Table 3 than length information give the worst performance. when
only the length information is considered, the alignment result inclines to match the
length rate with 1.6. When length rates locate in symmetrical position of a normal
distribution, for example 1.4 and 1.8, they have the same probability. In this case,
length information is not helpful in distinguish the situation in Figure 3, where 1-1 and
2-1 alignment have same probability.
0.4
1.4
1.0
Fig. 3. one length rate is 1.4 (1-1), the other is 1.8(2-1), they have the same probability
When only the alignment mode information is considered, the alignment result more
inclined to match the 1-1 mode.
But when there are more sentences in Modern Chinese, things will be changed, for
example, when there is one Ancient Chinese sentence and two Modern Chinese
sentences left. Two alignment sets can be possible, one is (1:2), another s (1:1 and 0:1).
the costs of these two sets are listed in Table 4. As we can see, the cost of (1-1,0-1)
mode is larger than others, so 1-2 mode is used.
Table 4. Two kinds of alignment: 1-1,0-1(or 0-1, 1-1) and 1-2 mode
Mode
1-1,0-1
1-2
Probability Pr(n-m)
0.861, 0.002
0.052
cost
276
128
5 Conclusions
This paper describes an Ancient-Modern Chinese alignment at the level of sentence by
combining both length information and Hanzi character information. We give a detail
description on some characteristics in Ancient-Modern Chinese bi-texts. We check the
correlation between the lengths of Ancient Chinese text and Modern Chinese text, and
1185
find that length ratio data fits normal hypothesis approximately. We pay a special
attention on n-m alignment where n or m is greater than 1, and use a similarity measure
based on Hanzi information to get better accuracy than normal one. Experiments show
our proposal is very helpful.
We will extend our program to manage clause alignment in our future works. By
analyzing the sentence alignment, we find that there are less alignment modes in clause
alignment than that in sentence alignment. Therefore, we can expect to achieve higher
accuracy for Ancient-Modern Chinese clause alignment.
References
[1] Peter F. Brown, Jennifer C. Lai, Robert L. Mercer: Aligning Sentences in Parallel Corpora.
Proceedings of 29th Annual Conference of the Association for Computational Linguistics
(1991) 169-176.
[2] Hiroyuki Kaji, Yuuko Kida, Yasutusgu, Morimoto: Learning Translation Templates from
Bilingual Text. In Proceedings of the fifteenth International Conference on Computational
Linguistics, Nantes, France (1992) 672-678.
[3] Jrg Tiedemann: Recycling Translations - Extraction of Lexical Data from Parallel
Corpora and their Application in Natural Language Processing, Doctoral Thesis. Studia
Linguistica Upsaliensia 1, ISSN 1652-1366, ISBN 91-554-5815-7.
[4] William A. Gale, Kenneth W. Church: A Program for Aligning Sentences in Bilingual
Corpora. In Proceedings of 29th Annual Conference of the Association for Computational
Linguistics (1991) 177-184.
[5] Martin Kay, Martin Roscheisen: Text-Translation Alignment. Computational Linguistics.
Vol. 19, No. 1 (1993) 121-142.
[6] Wu Dekai: Aligning a Parallel English-Chinese Corpus Statistically with Lexical Criteria.
In Proceedings of the 32st Annual Meeting of the Association for Computational
Linguistics, (1994) 80-87.
[7] Wang Xiaojie, Ren Fuji: Chinese-Japanese Clause Alignment. Computational Linguistics
and Intelligent Text Processing, 6th International Conference (2005) 400-412
[8] Jean Veronis: From the Rosetta stone to the information societyA survey of parallel text
processing. In Parallel Text Processing. J. Veronis (eds.) (2000) 25-47 Kluwer Academic
Publishers. Printed in Netherland.
[9] I. Dan Melamed: Pattern recognition for mapping bitext correspondence. In Parallel Text
Processing, J. Veronis (eds.), Kluwer Academic Publishers. Printed in Netherland.
(2000)25-47
[10] Changxu Sun: Introduce to Ancient-Chinese lexicon, Shanghai dictionary Press (2005)(in
Chinese)
1 Introduction
Traditional attention to document categorization lies in mapping a document to given
topics such as sport, finance and politics [4]. Whereas, recent years have seen a growing interest in non-topical analysis, in which characterizations are sought of the opinions and feelings depicted in documents, rather than just their themes. The problem
classifying a document as thumb up (positive) or thumb down (negative) is called
sentiment classification. Labeling documents by such semantic orientations would
provide succinct summaries and would be great useful in many intelligent information
systems. Its immediate applications include mining webs and blocking junk mails.
Sentiment classification has become a hot direction for its broad applications,
which has been attempted in different domains such as movie reviews, product reviews, and customer feedback reviews [1][2][6][8]. Some researchers have taken
positive or negative word/phrase counting methods into account and determining if a
word/phrase is positive or negative [9]. Other methods classify whole documents into
positive and negative by employing machine-learning algorithms. Several learning
algorithms are compared in [2] where it found that Support Vector Machines (SVMs)
generally give better results. Their work shows that, generally, these algorithms are
not able to achieve accuracies on sentiment classification comparable to those reported for standard topic-based categorization. The reason exists in many challenging
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11861193, 2007.
Springer-Verlag Berlin Heidelberg 2007
1187
aspects in this task. Intuitively, feelings in natural language are very often expressed
in subtle and complex ways, which usually needs knowledge to deal with.
This paper presents a language modeling approach to analyze documents as positive or negative, which emphasizes on suitably estimating the thumb up and thumb
down language models from training sets, and evaluating a test document represented with a language model via its distance from the two sentiment models. We also
try SVMs, a powerful discriminative model, for this sentiment analysis.
The rest of the paper is organized as follows. Our method is formalized in Section 2.
Section 3 follows with a description of preliminary experiments, and section 4 gives
the conclusion. Note that this paper discusses an ongoing work and provides the
framework of our idea and initial results, rather than a complete solution.
(d ; P , N ) = Dis(d , P ) Dis(d , N ) :
(1)
Where Dis(p,q) is the distance between two distributions p and q. This formula expresses the classifying idea that if Dis ( d , P ) is smaller than Dis( d , N ) , it means the
test document d is closer to thumb up. Otherwise, if Dis ( d , P ) is greater than
Dis ( d , N ) , thumb down. Note that if (d ; P , N ) equals to zero, the test document
is regarded as neutral, but this case has not been discussed in our work. Next subsection, we exploit the Kullback-Leibler Divergence as the distance measure.
2.1 Using Kullback-Leibler Divergence for Sentiment Classification
Given two probability mass functions p( x) and q( x) , D( p || q) , the Kullback-Leibler
divergence (or relative entropy) between p and q is defined as
p( x) .
D( p || q) = p( x) log
x
q( x)
(2)
1188
Y. Hu et al.
Pr( n gram | d )
D(d || P ) = Pr( n gram | d ) log
.
n gram
Pr(n gram | P )
Pr( n gram | d )
(3)
Where is the estimated model for the real and Pr(n gram | ) is the probability of
n-gram given the estimated model .
Once we have a language models to represent test document and a score based on
its distance to the two sentiment language models, we classify the test document as
thumb up or thumb down. Finally, substituting equation (3) into equation (1) we
have a new sentiment classifying function:
(d ;P ,N ) = D(d || P ) D(d || N )
=
gram
|
d
Pr(n gram | )
n gram
P
(4)
In this study, we only employ word-based unigrams and bigrams as model parameters. Because of the data sparseness problem, higher order n-grams (n >= 3) have not
been discussed, even if the higher order n-grams might approximate the true language
model in theory. But it is possible to use n-grams of higher orders in the same framework. In general, the computation of the above formula involves a sum over all the ngrams that have a non-zero probability according to Pr(n gram | ) . However, when
is based on certain general smoothing technique, the computation would assign a nonzero probability to unseen n-gram according to P r( n g ra m | sm o o th ) . We also observe
the smoothing effect in language modeling of sentiment.
2.2 Estimation for Model Parameters
Usually, the real language models ( P and N ) are unknown. They are estimated by
training from two available collections labeled with positive and negative to obtain P and N , respectively. d has the similar meaning.
For investigating the ability of language modeling approach, we use two methods
to estimate the unigrams and bigrams distribution: <1> the Maximum Likelihood
Estimate (MLE); <2> the smoothing estimation for these three language models.
MLE for Unigrams and Bigrams
MLE is used widely for model estimate, so we directly give the formula (5) and
simply analyze it as follows.
#( wi in " s ")
s {d,P,N}
for unigram
PrML ( wi | " s ") = #( in " s ")
.
1189
(5)
What we have to explain in (5) is the s, which can represent a test document (d), the
thumb up collection (P) or the thumb down collection (N). The #(n gram) denotes the n-gram occurring times in corresponding collection (d, P or N), and *
denotes any word. The meanings of these characters are fixed in the rest of this paper.
The maximum likelihood estimate is an unreasonable one when the amount of
training data is small compared to the model size. It is clearly inaccurate to assign
zero probability to unseen n-grams. The smoothing describes techniques for adjusting
the maximum likelihood estimate to hopefully produce more accurate models.
Dirichlet Prior Smoothing for Unigram
Dirichlet Prior smoothing [10][12] is a linearly interpolated method to the problem of
zero probabilities and suitable for unigrams smoothing. Its purpose is to address the
estimation bias due to the fact that a document collection is a relatively small amount
of data with which to estimate a unigram model. More specifically, it is to discount
the MLE appropriately and assign non-zero probabilities to n-grams not observed in
collection. In terms of unigram model, the smoothing estimation is
Pr ( w |" s ") if word w is seen .
PrDP ( w | " s ") =
s PrML ( w | C ) otherwise
(6)
Where Pr ( w | " s ") is the smoothed probability of w seen in the collection represented
with s. PrML ( w | C ) is the whole corpus ( C ) language model based on MLE, and s
is a coefficient controlling the probability mass assigned to unseen words, so that all
probabilities sum to one. In general, s may depend on s. In this study, we exploit
the following smoothing formalization,
Pr ( w | " s ") =
(7)
and
(8)
.
+ | C |
Although Dirichlet Prior smoothing is valid in many NLP tasks, in the sentiment
classification of movie review corpus, it only give slight improvement to simple MLE
(see the experiment section).
s =
1190
Y. Hu et al.
in the combined model only when few or no counts are present in the higher-order
distribution. Following Kneser-Ney smoothing, Stanley F. Chen and Joshua Goodman
[10] mathematically motivate Kneser and Neys algorithm by selecting the lowerorder distribution such that the marginal of the higher-order smoothed distribution
match the marginal of the training data. Then the Kneser-Ney smoothing performs
best compared with other smoothing techniques when given different conditions [10].
To a bigram model, Chen et al select a smoothed distribution PrKN that satisfies the
following constraint on unigram marginals for all wi:
Pr
KN
( wi 1wi ) =
wi 1
#( wi ) .
w #( wi )
(9)
The left-hand side of this equation is the unigram marginal for wi of the smoothed
bigram distribution PrKN , and the right-hand side is the MLE of wi found in the training data. Therefore, to our smoothing, we assume that the bigram model has the form
given in Equation (10),
PrKN ( wi | wi 1 , " s ") =
max{#( wi 1wi ) D, 0}
D
+
N1+ ( wi 1 i) PrKN ( wi ), to " s " . (10)
#(
w
w
)
#(
w
w
)
w i 1 i
w i 1 i
i
D=
n1
n1 + 2n2
by
PrKN ( wi ) =
N1+ (i wi ) .
N1+ (i wi 1 i)
(11)
For all the meanings of character such as D, N1+, n1 and n2, readers can refer to
Kneser and Chens papers[5][10].
1191
sentiment classification. The second was to compare the performance between our
method and SVMs. In order to see fair play, all the following experiments selected the
features based on word unigrams and bigrams occurring more than 2 times in the
2,000 reviews. The value of a feature is its appearing number.
With respect to the two experiments, we split the 2000 movie reviews into 1200
training samples (600 positive and 600 negative) and 800 test samples (400 positive
and 400 negative), and they were both evaluated in average accuracy based on 3-fold
cross validation.
SVMs Experiment
We extracted two kinds of input feature sets for SVMs, i.e., unigrams and bigrams.
The following experiments compared the performance of SVMs using linear, polynomial, RBF and sigmoid kernels, four conventional learning methods commonly
used for text categorization. We used Joachims SVMlight package [11] for training and
testing, and other parameters to different kernel functions set to their default values in
this package. This experiment aimed at seeing which one is more suitable for the
sentiment detection problem. Table 1 outlines the different results of SVMs on the
IDMB corpus when different kernel functions are used.
Table 1. Comparison of four kernel functions on the IDMB training and test sets. Linear kernel
achieved highest performance on both unigram and bigram features for categorization.
Features
unigrams
bigrams
# of features
13693
18602
Linear
78.21
73.42
Polynomial
59.59
51.46
Sigmoid
49.25
62.00
The best results on the two feature sets come from the SVM using linear kernel.
Our language model based method is compared with the SVM using linear kernel.
Language Modeling Approach Experiment
We evaluated the language modeling approach described in section 2 on IMDB collections. As mentioned above, we used unigrams and bigrams models for evaluation.
Table 2 is the experiment result.
Table 2. Comparison between language modelling approach and SVMs
Features
unigrams
bigrams
# of features
13693
18602
LM-MLE
Uni-MLE
Bi-MLE
82.02
61.62
LM-Smoothing
Uni-DP
Bi-KN
84.13
73.80
SVMlight
(linear kernel)
78.21
73.42
Uni-DP (the smoothed unigram model) performed the best globally on unigrams features set in Table 2, which achieved an average significant improvement of +7.57%
compared to the best SVM result. What surprised us is that the simple Uni-MLE
could also perform better than SVM-Uni did. On the other hand, the experiment on
1192
Y. Hu et al.
bigram features showed that the best result of language modeling approach (Bi-KN)
was close to the result of SVM and the performance of Bi-MLE was poor.
With respect to the effect of smoothing technique: <1> Dirichlet Prior smoothed
unigram model with parameter u set to 450 (In our experiment, the best result appeared when we set u = 450). Uni-DP performed well for the sentiment classification
task but it only slightly improved the performance of Uni-MLE (+2.57%). Although
the model based on MLE was inherently poorly estimated, it was not clear that the
simple model must be smoothed since the improvement was limited. This phenomenon let us consider that it might be better to find a way of paying more attention to
some sensitive concepts to achieve better performance for sentiment classification.
<2> Kneser-Ney method smoothed bigram model based on an absolute discount idea,
and it did great contribution to estimate a better bigram model leading to a significantly better result than MLE (+19.77%). It obtained the comparable performance to
SVM. The reason might be depicted as: in theory, the higher order n-gram model
readily approximates the true language model, but for data sparseness, a powerful
smoothing mechanism could provide apparent contribution.
4 Conclusion
In this paper, we have presented a new method based on language model for sentiment classification. With respect to this generative sentiment classifier, we represent
the thumb up and thumb down semantic orientation with their corresponding
language models estimated from positive and negative collections. When classifying a
test document, the distances of its language model from these two sentiment models
are compared to determine its sentiment class.
Compared with SVMs, we might conclude as follows in terms of our experimental
results: to sentiment classification, when training data is limited, the smoothed low
order model, i.e., the unigram model can globally do the best. On the other hand,
smoothing technique does great contribution to higher order model that can also
achieve comparable performance to SVMs.
The experiments showed the potential power of language modeling approach in
this task. We demonstrate that our generative sentiment classifier is applicable by
learning the positive and negative semantic orientation efficiently in the supervised
manner. This seems to indicate the promising future of language modeling approach
for the sentiment detection problem. On the other hand, we stress that the approaches
we use are not specific to movie reviews, and it should be easily applicable to other
domains when given training data.
The difficulty of sentiment classification is apparent: negative reviews may contain
many apparently positive n-grams even while maintaining a strongly negative tone,
and the opposite is also common. All classifiers will face this difficulty. To the language modeling approach, our future work will focus on finding a good way to estimate better language models, especially the higher order n-gram models by introducing semantic link between n-grams.
Acknowledgement. This work is supported by NSFC Major Research Program
60496326: Basic Theory and Core Techniques of Non Canonical Knowledge.
1193
References
1. Bo Pang and Lillian Lee: A Sentimental Education: Sentiment Analysis Using Subjectivity
Summarization Based on Minimum Cuts. In: Proc. of the 42nd ACL. (2004) 271-278
2. Bo Pang, Lillian Lee and Shivakumar Vaithyanathan: Thumbs up? Sentiment Classification using Machine Learning Techniques. In: Proc. Conf. on EMNLP. (2002)
3. Cover, T. M. and Thomas, J. A.: Elements of Information Theory. Wiley. (1991)
4. Hearst, M.A.: Direction-based text interpretation as an information access refinement. In
P. Jacobs (Ed.), Text-Based Intelligent Systems: Current Research and Practice in Information Extraction and Retrieval. Mahwah, NJ: Lawrence Erlbaum Associates. (1992)
5. Kneser,R. & Ney,H: Improved backing-off for m-gram language modeling. In: Proc. of the
IEEE Internaltional Conference on Acoustics, Speech and Signal Processing, Detroit,
MI,volume 1. May, (1995) 181-184
6. Michael Gamon: Sentiment classification on customer feedback data: noisy data, large feature vectors, and the role of linguistic analysis. In: Proc. the 20th International Conference
on Computational Linguistics. (2004)
7. Peter D. Turney: Thumbs up or thumbs down? Semantic orientation applied to unsupervised classification of reviews. In: Proc. of the ACL. (2002)
8. Peter D. Turney and Michael L. Littman: Measuring praise and criticism: Inference of semantic orientation from association. ACM Transactions on Information Systems (TOIS).
21(4), (2003), 315-346
9. Peter D. Turney and Michael L. Littman: Unsupervised learning of semantic orientation
from a hundred-billion-word corpus. Technical Report EGB-1094, National Research
Council Canada. (2002)
10. S. F. Chen and J. T. Goodman: An Empirical Study of Smoothing Techniques for Language Modeling. Technical Report: TR-10-98, Harvard University. (1998)
11. Thorsten Joachims: Making large-scale SVM learning practical. In Bernhard Scholkopf
and Alexander Smola, editors, Advances in Kernel Methods - Support Vector Learning,
MIT Press. (1999) 4456
12. Zhai, C. and Lafferty, J.: A study of smoothing methods for language models applied to ad
hoc information retrieval. In Proc. of SIGIR2001. (2001)
Issues
The rst main theoretical and computational issue we encounter in the analysis
of the LVC is the status of the light verb and argument composition. One of
the main properties the light verb ha do carries is that it does not aect the
argument structure of the VN (verbal noun) it combines with.1
(1) a.
b.
John-i
Mary-eykey cenhwa(-lul hayessta)
John-NOM Mary-DAT phone-ACC did
John phoned Mary.
John-i
Mary-lul myengtan-ey chwuka(-lul hayessta)
John-NOM Mary-ACC list-LOC
addition-ACC did
John added Mary to the list.
The abbreviations for the glosses and attributes used in this paper are acc (accusative), arg (argument), c-cont (constructional content), dat (dative), decl (declarative), lbl (label), loc (locative), ltop (local top),
nom (nominative), pl (plural), pre (predicate), pst (past), ind (index),
rels (relations), top (topic), etc.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 11941201, 2007.
c Springer-Verlag Berlin Heidelberg 2007
1195
in terms of external syntax, they act like nouns. For example, as observed in (1),
VNs select their own arguments and assign verbal cases such as ACC, regardless
of the light verbs presence. Adverbial modication also supports the verbal
properties of VNs: the VN can be modied by an adverb but not by an adjectival
element.
(2)
catongcha-ul mikwuk-ey
elyepkey/*elyewun swuchwul(-ul hayessta)
car-ACC
America-LOC hard/dicult
export-ACC did
(They) exported cars to America with diculty.
Another main issue in the LVC comes from syntactic variations. It is wellobserved that the VN in the true LVC has frozen eects: it does not undergo
relativization, scrambling, clefting, and topicalization. The VN further cannot
be wh-questioned or pronominlizaed:
(3) a.
b.
c.
d.
e.
f.
John-i
Bill-eykey tocaki-lul senmwul-ul hayssta
John-NOM Bill-DAT china-ACC present-ACC did
John gave a china to Bill as a present.
*John-i Bill-eykey tocaki-lul han senmwul (relativization)
*John-i senmwul-ul Bill-eykey tocaki-lul hayssta. (scrambling)
*John-i Bill-eykey han kes-un senmwul-i-ta (clefting)
*John-i Bill-eykey ku kes-ul hayssni? (pronominalization)
*John-i Bill-eykey mwues-ul hayssni? (wh-question)
Intriguing facts emerge when the VN does not appear with the accusative object. In such cases, the frozen eects disappear: all these syntactic processes
are possible.
(4) a.
b.
c.
d.
e.
f.
John-i
Bill-eykey senmwul-ul hayssta
John-NOM Bill-DAT present-ACC did
John gave a present to Bill.
John-i Bill-eykey han senmwul (relativization)
John-i senmwul-ul Bill-eykey hayssta. (scrambling)
John-i Bill-eykey han kes-un senmwul-i-ta (clefting)
John-i Bill-eykey ku kes-ul hayssni? (pronominalization)
John-i Bill-eykey mwues-ul hayssni? (question)
There have been various attempts to account for these aforementioned properties of LVC constructions. In what follows, we lay out a constraint-based analysis adopting the mechanism of multiple inheritance hierarchies that enables us
to capture the mixed properties as well as other related ones in a much more
streamlined manner.
2
2.1
Our grammar KPSG (Korean Phrase Structure Grammar), based on the framework of HPSG (head-driven phrase structure grammar), aims at building a
1196
lex-sign
ffYYYYYYYY
ffffff
verbal
nominal
ffS S S
Y Y Y Y
ffffff
S S
v-stem
n-lxm
S S
eeYYYYYYYY
eeeeeYYYYYYYY
eeeeee
Seee
v-tns-stem
v-free
vn
cn
ffYYYYYYYY
ffffff
v-ind
v-dep
v-ger
The key point of capturing the mixed properties of VNs lies in the crossclassication and multiple inheritance mechanism.3 As noticed in the hierarchy, the type vn is declared to be the subtype of both verbal and n-lxm, implying
that it will inherit all the constraints of these supertypes. The type verbal is declared to have the value [V +] with a non-empty ARG-ST value, whereas n-lxm
has the value [POS noun]. The inheritance mechanism will then ensure that the
type vn has at least the information in (6)a. This lexical information will then be
enriched as in (6)b when each lexical intance inherits all the relevant constraints
from its supertypes.4
(6)
POS noun
vn
SYN
HEAD
V
+
POS noun
N+
SYN | HEADN +
a.
b. ARG-ST NPi , NPj
V+
INDEX s1
ARG-ST [ ],...
PRED
study-rel
SEM ...
SEM
ARG0 s1
RELS
ARG1
i
vn
PHON kongpwu study
ARG2 j
The dot line here means the existence of other types between the two types. The
type glosses mean v-ind(ependent), v-dep(endent), v-ger(undive).
The type v-ger is gerundive verbs like ilk-ess-um read-PST-NMLZ which also display mixed properties. See [1].
The semantics we represent here is a simplied version of a at semantic formalism
MRS (minimal recursion semantics). See [2] and [3] for details.
1197
As observed here, the system clearly represents why VNs are in part nominal
([N +]) and are in part verbal ([V +]) though in terms of POS, they are more
like nouns. In addition, by referring to a proper feature value, the grammar can
be exible enough to capture other related properties. For example, the KPSG
allows an adverb to modify a [V +] element. This would then predict the adverb
modication in the LVC we discussed in (2). In addition, since the type vn as
a subtype of n-stem bears [N +] and [POS noun], we naturally predict that
the VNs will act like other nominal elements: the VNs can have case markings
attached to them, have the GEN grammatical case, and can serve as the head
of a relative clause construction like the other [POS noun] elements.
2.2
The argument composition properties between the VN and the following light
verb lead us to take the light verb as a kind of auxiliary verb as given in (7):5
(7)
PHON ha-ta do
SYN | HEAD | POS verb
ARG-ST [INDEX i], LEX +
XARG i
According to this lexical information, just like an auxiliary verb, the light verb
is syntactically transitive, selecting a subject argument and a VN expression
(lexical or phrasal). The VN forms a well-formed phrase with the light verb in
accordance with the following grammar rule:6
(8)
Head-Lex Rule:
hd-lex-ex
COMPS
LEX +
COMPS
AUX +
, H
COMPS
1
The Head-Lex Rule species that the auxiliary head combines with a [LEX +]
complement7 , and that to the resulting combination the COMPS value of this
lexical complement is passed up. This kind of argument composition is dierent
from the previous analyses ([5], [6]). mainly in that the composition happens in
syntax rather than in the lexicon. Since the external argument of the light verb
is identical with the rst argument, it in turn means the subject of the LVC is
determined by the VN.
To check the feasibility of our grammar equipped with the Head-Lex Rule and
other X grammar rules, we implemented this grammar in the LKB (Linguistic
5
The semantic attribute XARG identies the semantic index of a phrases external
argument, usually the subject of a verb phrase.
This rule generates complex predicate constructions like auxiliary constructions in
Korean. See [4].
The feature LEX is assigned to non-phrasal expressions such as words and complex
predicates.
1198
Knowledge Building System) (cf. [7]). The LKB system is a grammar and lexicon
development environment for use with constraint-based linguistic formalisms
such as HPSG.8 The following is the parsed tree and semantic representation of
sentences like (3a).
The tree structure in the small box indicates that the light verb hayssta did
here combines with its VN complement senmwul present, forming a well-formed
hd-lex-ex. This resulting combination also inherits the COMPS value of the VN
in accordance with the Head-Lex Rule in (8). This will then combines with
the argument tocaki china whose resulting VP again combines with the dative
argument Bill-eykey.
The bigger box represents the semantics of the sentence in the MRS (Minimal Recursion Semantics), developed by [3]. The MRS is a framework of computational semantics designed to enable semantic composition using only the
unication of type feature structures. (See [3] and [2]) We can observe that the
parsed MRS provides enriched information of the sentence. The value of LTOP
is the local top handle, the handle of the relation with the widest scope within
the sentence. The INDEX value here is identied with the ARG0 value of the
prpstn m rel (propositional message). The attribute RELS is basically a bag of
elementary predications (EP) each of whose value is a relation.9 Each of the
types relation has at least three features LBL, PRED (represented here as a
8
9
1199
type), and ARG0. We can notice that the MRS correctly represents the propositional meaning such that John did the action of giving a china as a present
to Bill.
2.3
VNs can also be used as common nouns when they take no ACC arguments. For
example, the VN-like nouns in (9) are dierent from the argument-taking VNs
even though they combine with the light verb.10
(9) a.
John-i
kongpwu-ul hayessta
John-NOM study-ACC did
John studied.
John-i
Bill-eykey senmwul-ul hayssta
John-NOM Bill-DAT present-ACC did
John did an introduction to Bill.
b.
Unlike the true VNs with the feature [N +, V +], these VNs are common nouns
with the feature [N +, V ]. As noted in (4), they also can be modied by
an adjectival element and they do not have frozen eects as VNs. In addition,
even though they do not select an ACC argument, they still keep the dative
argument Bill-eykey. To capture these relationships, our grammar posits the
following lexical rule:
(10)
vn-tr
ARG-ST 1 , [
]
cn-vn
HEAD | V
ARG-ST 1
This lexical rule turns any transitive VNs selecting two or more arguments into
CNs (cn-vn) with no change in the meaning. However, the output has no verbal
properties any more as indicated from the [V ] value. The following illustrates
an example of this lexical process:
(11)
POS noun
SYN HEAD V +
N
+
vn-tr
PHON senmwul
POS noun
SYN HEAD V
N
+
cn-vn
PHON senmwul
As noted, the cn-vn is losing the [V +] property and becomes a canonical common
noun. One thing to note here is that even though the output is a common noun,
it still has the identical LEX and semantic value. This output will then allow us
to generate a structure like the following:
10
All the VNs are selecting a subject and an argument which are realized as NOM
and ACC.
1200
As given in the parsed tree, the light verb hayessta combines with senmwul-ul
present, forming a hd-lex-ex since the former has the LEX feature. The resulting
expression also inherits the COMPS value of senmwul-ul, the DAT argument
Bill-eykey. This is a complement sentence with no argument missing in which
senmwul-ul is a canonical NP that can undergo various syntactic processes as
given in (4). We also can observe that the grammar correctly provides a correct
MRS meaning representation.
In testing the performance and feasibility of the grammar, we rst built up our
test sets from (1) the SERI Test Suites 97, (2) the Sejong Project Basic Corpus,
and (3) self-constructed examples adopted from the literature. The SERI Test
Suites ([8], designed to evaluate the performance of Korean syntactic parsers,
consists of total 472 sentences (292 test sentences representing the core phenomena of the language and 180 sentences representing dierent types of predicate).
Meanwhile, the Sejong Corpus have about 2,061,977 word instances with 179,
082 sentences. Of these, we found total 95,570 instances of the combination of a
noun (tagged as NNG) with the light verb ha-ta.11 Some of the nouns with the
higher frequency are given here:
5111
1730
11
3021
897
The Sejong Corpus thus does not distinguish general nouns from verbal nouns.
834
543
/NNG+
/NNG+
1201
/XSV use
/XSV begin
Based on the frequency list, we rst extracted the most frequently used 100 VNs,
and from these VNs we selected 100 simple sentences (one from each VN type)
that could show us at least the basic patterns of the LVC.
The following shows the results of parsing our test suits:
Corpus Types
SERI Test Suite
Self-designed Test Suite
Ss from the Sejong Corpus
Total LVC Ss
As the table shows, our system correctly parsed about 93 percent of the total 472
Seri Test Suite sentences which include those sentences that theoretical literature
have often discussed. The system also parsed about 94% of the self-designed test
sentences most of which are also collected from the major literature on the LVC.
As for the Sejong corpus, the system parsed about 87% of the simple sentences
from the Sejong corpus. Though there is need for extending this current grammar
to the wider range of authentic corpus data that display more complex properties
of the langauge, the parsing results indicate that the current grammatical system
is feasible enough to capture the mixed properties and gives us the possibility of
deep processing for such phenomena.
References
1. Kim, J.B., Yang, J.: Projections from morphology to syntax in the korean resource
grammar: implementing typed feature structures. In: Lecture Notes in Computer
Science. Volume 2945. Springer-Verlag (2004) 13-24
2. Bender, E.M., Flickinger, D.P., Oepen, S.: The grammar matrix: An open-source
starter-kit for the rapid development of cross-linguistically consistent broadcoverage
precision grammars. In Carroll, J., Oostdijk, N., Sutclie, R., eds.: Proceedings of
the Workshop on Grammar Engineering and Evaluation at the 19th International
Conference on Computational Linguistics, Taipei, Taiwan (2002) 8-14
3. Copestake, A., Flickenger, D., Sag, I., Pollard, C.: Minimal recursion semantics: An
introduction. Manuscript (2003)
4. Kim, J.B.: Korean Phrase Structure Grammar. Hankwuk Publishing, Seoul (2004)
In Korean.
5. Bratt, E.: Argument composition and the lexicon: Lexical and periphrastic
causatives in Korean. PhD thesis, Stanford University (1996)
6. Kim, J.B.: The Grammar of Negation: A Constraint-Based Perspective. CSLI Publications, Stanford (2002)
7. Copestake, A.: Implementing Typed Feature Structure Grammars. CSLI Publications, Stanford (2002)
8. Sung, W.K., Jang, M.G.: Seri test suites 95. In: Proceedings of the Conference on
Hanguel and Korean Language Information Processing. (1997)
1 Introduction
Information retrieval (IR) techniques used to find information fast and exactly from
tremendous documents have been rapidly developed with the growth and commercial
application of the Internet. However, we can often find that high ranked documents
retrieved from a general web search engine may be far from a user intension.
Therefore, effective retrieval and rank techniques are needed to provide more relevant
documents to users or question answering (QA) systems are demanded for users
convenience.
The TREC 2005 QA track contained three tasks: the main question answering task,
the document ranking task, and the relationship task. The goal of the document
ranking task was to create pools of documents containing answers to questions. The
task was to submit, for a subset of 50 of the questions in the main task, a ranked list of
up to 1000 documents for each question [1].
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 1202 1209, 2007.
Springer-Verlag Berlin Heidelberg 2007
1203
1204
Concepts
Nationality, Time, Sex, Person,
Book_Title, Author Noun, Author Verb,
Relationship, Base Person, Relationship Info,
Prize, Prize Noun, Prize Verb, Ceremony/Place,
Position, Event, Organization, Election Noun,
Tag
%Adverb
%Time
@Who
@Person
@Author_N
@Author_V
@Genre
@Relationship
#Base_Person
#Book_Title
Concept Dictionary
choi-cho(first), ma-ji-mak(last),
nu-gu(who)
sa-ram, in-mul, bun(person),
jeo-ja, jak-ga, geul-sseun-i(author), ...
jeo-sul-ha, jeo-jak-ha, sseu(write),
chaig(book), so-seol(novel), su-pil(essay),
a-deul(son), bu-in(wife), a-beo-ji, (father),
Table 2 is a sample of concept tags and concept dictionary. Tag for each concept
consists of Property + Concept. Properties are divided into three properties such as
%, @, #. We are currently constructing the concept dictionary which includes
2,039 vocabularies.
Concepts with % property are placed relatively free in sentence, and so they are
inappropriate to handle by rules. Some % property concepts such as %Adverb may
be extracted from concept dictionary, and others such as %Time from rules. These
concepts are used importantly in document ranking though they are not used in
concept rule matching.
1205
Concepts with @ property are extracted from concept dictionary. That is, we tag
a word or phrase to @ property concept if it is found in concept dictionary.
Concepts with # property are ones to be extracted only from concept rules. Proper
nouns such as title of the book and person name belong to # property concepts. #
property concepts are extracted from question after a concept rule is selected using
@ property concepts.
We defined a concept rule manually for each answer type to extract concepts from
a users questions. Such a concept rule is represented as concepts and grammatical
morphemes in order to consider semantic and syntactic structure of the users
questions. Fig. 1 shows the BNF notation of the concept rule and characteristics of
Korean considered in our discussion. The concept rule consists of a list of <word
information> which consists of concepts and grammatical morphemes according to
the answer type.
<Concept Rule> ::= <Word List>
<Word List> ::= <Word Information> | <Word List><Word Information>
<Word Information> ::= ( <Concept> ) | ( <Concept> <Grammatical Morpheme> )
<Concept> ::= @Who|@Person|@Author_N|@Author_V|@Genre|
@Relationship|#Base_Person|#Book_Title|...
<Grammatical Morpheme> ::= jc|jx|jm|etm|co|ef|oj|co+etm
jc : case particle
co : copula
jx : auxiliary particle
etm : adnominal transition ending
jm : adnominal case particle
ef : sentence ending
oj : objective case particle
Fig. 1. BNF notation for the concept rule
The following examples are a concept rule for author that is represented as an
extended BNF and process of concept-based question analysis for (Question 2).
1206
Although we cannot determine the subtype of the answer, we can extract concepts
by using common concept rules from a users question which has not the concept rule
to be applied.
3 Document Ranking
We generate queries that reflect various syntactic structures to represent the answer
and utilize them for an efficient document ranking. We can retrieve a document that
includes generated queries as a relevant document and improve the precision of
document retrieval. Other approaches that do not analyze the users question
semantically can hardly obtain queries whose syntactic structure is different from the
users question, but our approach can generate queries using the answer type and
concepts as results of concept-based question analysis.
We designed query generation concept rules in order to generate queries, and it is
made of concepts and grammatical morphemes. The query generation concept rules
have concepts and syntactic structures used to represent an answer. We can generate
1207
queries using the query generation concept rules, concepts, concept dictionary, and
synonym dictionary. Query generation concept rules for an author are examples of
query generation concept rules.
We can generate queries using query generation concept rules and results of the
concept-based question analysis of (Question 2) as below.
< Examples of the query generation >
Query generation concept rule 3 : (Book_Title jm) (Author_N)
Generated queries : No-in-gua ba-da-ui jeo-ja|jak-ga||geul-sseun-i
(writer|author of The old man and the sea)
Query generation concept rule 4 : (Book_Title co+etm) (Genre oj) (Author_V)
Generated queries :
No-in-gua ba-da-ra-neun so-seol-eul jeo-sul-ha|jeo-jak-ha||sseu
(write|wrote||to compose the novel, The old man and the sea)
Our approach can generate queries which have the same meaning as the original
question, but have different structures such as above example. Generated queries
reflect the syntactic structures of almost all phrases which have answers for that
question. We retrieve a document that includes generated queries as a relevant
document because they consist of concepts and syntactic structures used to represent
an answer.
Formula (1) is a transformation of the cosine coefficient to determine querydocument similarity when our approach is combined with the vector model [10]. We
calculate the query-document similarity by using formula (1) to retrieve a document
which includes generated queries as a relevant document.
if
G G
G G
di qge 0 then sim(di , qu ) = di qge
G G
d q
| d i || qu |
(1)
else sim ( d i , qu ) = G i Gu
1208
4 Experimental Results
We randomly selected 100 questions as a test set from natural language questions
whose answer type is a person. They were questions which were used actually for IR
in the Web. We measured the precision at N documents. In our experiments, we used
Google and Yahoo as the IR systems and used only top 30 results of such systems for
the precision at N documents.
Table 3 shows the accuracy of concept-based question analysis. Accuracy of
concept extraction is (the number of concepts which are extracted correctly)/(the total
number of concepts). Table 4 shows the precision at N documents of the document
ranking result.
Table 3. Accuracy of concept-based question analysis
1.000
0.903
1.000
0.918
0.845
Yahoo+
Our approach
At 3 docs
0.584
0.803(+0.219)
0.580
0.804(+0.224)
At 5 docs
0.585
0.770(+0.185)
0.557
0.743(+0.186)
At 10 docs
0.548
0.646(+0.098)
0.511
0.604(+0.093)
0.541(+0.063)
At 15 docs
0.523
0.591(+0.068)
0.478
0.506(+0.048)
At 20 docs
0.489
0.541(+0.052)
0.458
Precision at N documents: The percentage of documents retrieved in the top N
that is relevant. If the number of documents retrieved is fewer than N, then all
missing documents are assumed to be non-relevant.
In case that our approach is applied to Google and Yahoo, the test of precision at N
documents was improved by +0.2215(N=3), +0.1850(N=5) and +0.0955 (N=10). If
our approach is applied to more documents, the precision at N documents can be
improved more than that of table 4. In addition, we found that it is possible to make
document ranking more efficient by analyzing questions based on concepts which are
comparatively short but fully expressing a users intentions.
1209
References
1. Ellen M. Voorhees and Hoa Trang Dang: Overview of the TREC 2005 Question
Answering Track. TREC 2005, (2005)
2. A.T. Arampatzis, T. Tsoris, C.H.A. Koster and Th.P. van der Weide: Phrase-based
Information Retrieval. Journal of Information Processing & Management, 34(6), (1998)
693707
3. Boris V. Dobrow, N.V. Loukachevitch and T.N. Yudina: Conceptual Indexing Using
thematic Representation of Texts. TREC-6, (1997)
4. Jose Perez-Carballo and Tomek Strzalkowski: Natural language information retrieval:
progress report. Journal of Information Processing & Management, 36(1), (2000) 155178
5. C. Zhai: Fast Statistical Parsing of Noun Phrases for Document Indexing. In Proceedings
of the Fifth Conference of Applied Natural Language Processing, (1997)
6. S. H. Myaeng: Current Status and New Directions of Information Retrieval Technique.
Communications of the Korea Information Science Society, 24(4), (2004) 614
7. A. Ittycheriah, M. Franz, W. Zhu, A. Ratnaparkhi: IBMs Statistical Question Answering
System. In 9th Text Retrieval Conference, (2000) 229334
8. S. Haragagiu, M. Pasca, S. Maiorano: Experiments with open-domain with open-domain
textual question answering. In COLLING-2000, (2000) 292298
9. M. Pasca, S. Harabagui: High Performance Question / Answer. In 24th Annual
International ACM SIGIR Conference on Research and Development in Information
Retrieval, (2001) 366374
10. G. Salton: Automatic Text Processing, Addison-Wesley, (1989)
1 Introduction
Syntactic processing, one of the complex task on natural language processing (NLP),
has always been considered to be paramount to a wide range of applications, such as
machine translation, information retrieval, speech recognition and the like.
Historically, most computational systems for syntactic parsing, employ hand-written
grammars, consisting of a laboriously crafted set of grammar rules to apply syntactic
structure to a sentence. But in recent years, a lot of research efforts are trying to
automatically induce workable grammars from annotated corpora. The process in
which a system produces a grammar given a set of corpora is known as grammatical
inference or grammar induction [4]. In general, the natural language (NL) corpora
may contain both positive and negative examples from the language under study,
which is described most often by context-free grammar (CFG). There are very strong
negative results for the learnability of CFG. Effective algorithms exist only for regular
languages, thus construction of algorithms that learn context-free grammar is critical
and still open problem of grammar induction. Many researchers have attacked the
problem of grammar induction by using evolutionary methods to evolve (stochastic)
CFG or equivalent pushdown automata [8], but mostly for artificial languages like
brackets, and palindromes. For surveys of the non-evolutionary approaches for CFG
induction see [6].
In this paper we examine NL grammar induction using Grammar-based Classifier
System (GCS) [7] - a new model of Learning Classifier System (LCS). In spite of
intensive research into classifier systems in recent years [5] there is still slight number
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 12101213, 2007.
Springer-Verlag Berlin Heidelberg 2007
1211
of attempts at evolving grammars using LCS. Bianchi in his work [2] revealed, on the
basis of experiments with bracket grammars, palindromes and toy-grammar, higher
efficiency of LCS in comparison with evolutionary approach. Cyre [3] inducted a
grammar for subset of natural language using LCS but comparison to his results is
hard since usage of corpora protected by trademarks. GCS tries to fill the gap
also bringing grammar induction issues up. As was shown in [7], GCS achieves better
results than Bianchis system with reference to artificial grammars. This paper
describes GCS approach to the problem of inferring non-stochastic CFG from
NL corpora.
1212
O. Unold
3 The Experiments
Bianchi in [2] was not trying to use his system to induct a grammar for huge NL
corpora. However such an experiment was performed using pure genetic algorithm
and CFG by Aycinena at all [1]. Their system used grammar in CNF and a CYK
parser, and as a corpora extensive part of various children books and the Brown
linguistic data. The corpora were part-of-speech tagged using a Brill tagger. All
English words were then removed leaving only the tags themselves, and number of
tags was reduced to 7 categories: nouns, pronouns; verbs, helping verbs; adjectives,
numeral, possessives; adverbs; prepositions, particles; conjunctions, determiners;
other (foreign words, symbols, and interjections).
The corpuses were divided into two parts, every third sentence was used for testing
evolved grammar, and the remaining part of the corpora for inducing the grammars.
The incorrect sentences were generated randomly from uniform distribution of length
from 2 to 15 tags. Some comparison set of experiments with GCS was performed on
the above NL corpora. Ten independent experiments were performed, evolution on
each training corpus ran for 1,000 generations. The main results of the NL grammar
induction with GCS are summarized in the table 1. In case of 5 corpuses the GCS
model induced a grammar of higher quality fitness, for the brown this value is only
slightly lower, and in the remaining 3 cases the estimators value is lower, but not
exceeding 5%. The values of the positive estimator are in 8 cases significantly higher
for the GCS model (the differences oscillate in the range of 4.2% and 16.2%), and for
the brown corpus the AKM approach got a result which is better by 0.5%.
Undoubtedly, the worst for the GCS model comes up the comparison of the negative
values for each corpus the model got decidedly higher values of this estimator, and
the differences oscillate in the range 1% for wizard to 17.3% for tom corpus. It
indicates that during the grammar induction the GCS model created in a few cases
(for 5 bodies the differences do not exceed 7%) productions which are too universal
in comparison to the AKM approach, which also parse a part of negative sentences.
The last parameter which can be compared is the number of evolutionary steps
(evals), in which both approaches found their best solutions. In as many as 6 cases the
GCS model did not exceed 50 steps, in the next case did not exceed 100 steps, and
two longest inductions took only slightly above 500 steps (somewhat over an hour).
The AKM approach took, in the best case, 15,500 steps, and for as many as 5 corpora
200,000 steps, and, according to the authors, 60 hours of calculation! The GCS
model proved to be incomparably more effective, being able to find, in the majority of
cases, the grammars with higher values of fitness and positive estimators. The evolved
grammar learned for the corpus children indicates some interesting linguistic features.
There are quite obvious groups like adjective noun, as well as rule noun verb. The
model found in the corpus also often appearing in English bigrams, so as noun
adverb, noun conjunction, verb adverb, or verb conjunction. The sentence can start
from the article why adding the article for the beginning of sentence is also keeping
its correctness. The straight majority of context-free production rules are beginning
from the starting symbol what is suggesting the big generality of these rules. On one
hand it will knock for economical writing entire grammar on the other however such a
versatility is enabling parsing also of sentences not belonging to the language.
1213
Table 1. Comparison of NL grammar induction using genetic approach (AKM) with GCS. The
corpora include a selection of childrens books (denoted children, 986 learning correct
sentences, and 986 learning incorrect sentences), The Wizard of Oz (wizard, 1540/1540), Alice
in Wonderland (alice, 1012/1012), Tom Sawyer (tom, 3601/3601), and five Brown corpora:
brown_a (2789/2789), brown_b (1780/1780), brown_c (1099/1099), brown_d (1062/1062), and
brown_e (2511/2511). For each learning corpus, the table shows the target language, and four
sets of results. The first is the best fitness gained by GCS within 10 experiments and compared
approach. The fitness describes the percentage of sentences (correct and incorrect) recognized
correctly. Next results of the GCS model refer to the experiment in which best fitness was
obtained. The second result, positive, shows the percentage of correct examples from the train
set classified correctly. The third sort of results, negative, is the percentage of negative
examples classified incorrectly, and the last one indicates the number of generations needed to
reach the best fitness (evals).
Corpus
children
wizard
alice
tom
brown_a
brown_b
brown_c
brown_d
brown_e
fitness
GCS AKM
93,2
93,1
94,6
90,2
89,5
92,1
86,3
92,1
93,8
94,0
94,6
94,0
92,5
87,9
91,6
91,3
89,5
94
positive
GCS AKM
98,8
91,8
99,3
89,5
96,8
92,5
98,4
92,7
98,3
94,1
99,3
94,7
96,7
80,5
97,1
88,2
93,4
93,9
negative
GCS AKM
12,5
5,7
10,2
9,2
17,9
8,4
25,9
8,6
11,6
6,1
10,2
6,7
11,7
4,7
13,8
5,6
14,5
5,9
GCS
9
32
81
3
45
506
592
18
38
evals
AKM
200,000
200,000
200,000
200,000
48,500
200,000
15,500
45,000
122,000
References
1. Aycinena, M., Kochenderfer, M.J., Mulford D.C.: An evolutionary approach to natural
language grammar induction. Final project for CS224N: Natural Language Processing.
Stanford University (2003)
2. Bianchi, D.: Learning Grammatical Rules from Examples Using a Credit Assignement
Algorithm. In: Proc. of The First Online Workshop on Soft Computing (WSC1), Nagoya
(1996) 113-118
3. Cyre, W.R.: Learning Grammars with a Modified Classifier System. In: Proc. 2002 World
Congress on Computational Intelligence, Honolulu Hawaii (2002) 1366-1371
4. Gold, E.: Language identification in the limit. Information Control 10 (1967) 447-474
5. Lanzi, P.L., Riolo, R.L.: A Roadmap to the Last Decade of Learning Classifier System
Research. LNAI 1813, Springer Verlag (2000) 33-62
6. Lee, L.: Learning of Context-Free Languages: A Survey of the Literature. Report TR-12-96.
Harvard University, Cambridge, Massachusetts (1996)
7. Unold, O.: Playing a toy-grammar with GCS. In Mira J., lvarez J.R. (eds.) IWINAC 2005,
LNCS 3562 (2005) 300-309
8. Unold, O.: Context-free grammar induction with grammar-based classifier system. Archives
of Control Science, vol. 15 (LI) 4 (2005) 681-690
Abstract. The dependence analysis is usually the key for improving the
performance of text retrieval. Compared with the statistical value of a
conceptual relationship, the recognition of relation type between concepts is
more meaningful. In this paper, we explored a bootstrapping method for
automatically extracting semantic patterns from a large-scale corpus to identify
the geographical is part of relationship between Chinese location concepts.
The experiments showed that the pattern set generated by our method achieves
higher coverage and precision than DIPRE does.
Keywords: Conceptual Relationship; Extraction Pattern; Text Retrieval.
1 Introduction
The independence assumption has been widely used in current retrieval models.
Although the assumption makes the models easily to build up, the independence
between words in language is obviously trustless in fact. Naturally, a promising idea
based on accurate conceptual relationship for information retrieval has been tried in
[4]. Apparently, the deep understanding of content is closer to human cognition. Note
that in terms of information retrieval based on concepts, it needs recognizing all valid
relation types between concepts to build up a complete conceptual graph of content,
and then providing response to the users requirement.
Seen from the previous efforts, unsupervised bootstrapping had been used in many
fields of information extraction. With respect to recognizing concept types (weapon
names, terrorism organizations etc.), the efforts in [3][5] are significant efforts. On the
other hand, extracting conceptual pairs with certain relationships from English corpus
are also tested [1][2]. This paper also proposes a method for constructing relationship
under bootstrapping learning by taking the geographical is part of as example.
2 Our Contributions
Our method is implemented based on the idea of DIPRE [2] by proposing a new SPG
(Semantic Pattern Getter) system. The contributions of our work lie in:
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 12141217, 2007.
Springer-Verlag Berlin Heidelberg 2007
1215
1515
549
(Company Corresponding Address: No.549, Guo Shun Rd., Shanghai City, China.)
The bi-sequence alignment algorithm extracts a pattern denoting the is part of
relationship between two location concepts: (
<ANY_STRING>
, NULL,
<ANY_STRING> <ANY_STRING>
, -1, <Confidence>). In order to make
the pattern not to be overly generalized, we define the following validation rules to
choose new candidate patterns with higher qualities.
Ppositive
Conf RlogF ( P) =
[log2 ( Pnew + 1)]
P
+
P
positive negative
(1)
1216
Y. Hu et al.
Where, P denotes the evaluated pattern and Ppositive denotes the number of correct
pairs in all the extracted pairs in current iteration; Pnegative denotes the number of
wrong pairs; Pnew is the number of newly extracted pairs. This pattern confidence
expresses the precision ingredient ( Ppositive ( Ppositive + Pnegative ) ) and the recall ingredient
( [log 2 ( Pnew + 1)] ) of the pattern P. and is the percentage of correct pairs in new ones.
When Pnew and are larger, the pattern confidence is higher too. If Pnew or is equal
to 0, the pattern confidence goes back to its initial definition in [7].
3 Experiments
In this section we give the experiment results of SPG and compare them with the
results of DIPRE. We use the sub-collections ranging from #29 to #39 of the
CWT100g (Chinese Web Test collection with 100GB web pages) corpus for training
and use the sub-collections ranging from #60 to #63 for testing. This paper uses the
following pairs as initial seeds in terms of is part of conceptual relationship.
Table 1. Initial Chinese Seed List
(Chang Chun)
(Hei Longjiang)
(Hai Dian)
(Xi An)
(Jing An)
(Ji Lin)
(China)
(Bei Jing)
(Shan Xi)
(Shang Hai)
SPG
Iterations
Tuples
DIPRE
Patterns
Tuples
Patterns
28
21
57
51
31
33
171
169
20
25
In the first run, both the two systems use the same five seeds as initial input and the
last two runs use the seeds extracted from the previous iteration. Column 3 and 4
show the number of valid patterns. Seen from the experiment results, SPG can extract
more conceptual pairs than DIPRE does from the same sub-collections.
Then we need to consider the ability of SPG in constructing the conceptual
relationship between concepts. We use all the patterns obtained into the test collection,
respectively. Because the test collection is fixed, the system extracting MORE correct
pairs has the higher recall. Their precisions are easily evaluated manually.
1217
SPG has the better coverage than DIPRE because SPG can get more conceptual
pairs. On the other hand, the precisions also shows that SPG does better than DIPRE:
the precision of SPG in three iterations keeps about 90% with slightly fall, while the
DIPREs precision drops very quickly, and arrives at 50% in its third iteration. After
the experiment on testing corpus, SPG system totally obtain 1,504 pairs at last, and
1,358 of them are correct (precision = 90.29%); DIPRE obtains 588 pairs, and 384 of
them are correct (precision = 60.20%). The SPG patterns have higher performance.
4 Conclusion
In this paper, we propose a system named SPG for determining whether two concepts
satisfy the is part of relation in given context. We introduce a bi-sequence
alignment algorithm in bio-informatics to capture clearer and more understandable
patterns. And we also define a new confidence evaluating method for patterns. After
training the SPG system, the experiment results show that our system performs better
than DIPRE in terms of coverage and precision.
As mentioned above, our study aims at serving the retrieval model based on
concepts. Therefore the pattern set ought to give the support to determine the
relationship between two concepts in contexts. The pattern set should be useful in
many web pages and the precision should be guaranteed. For a long-term goal,
recognizing the accurate relationships definitely bring IR huge benefits, but to the
performance of current system, it is still a hard job. The key points of our future work
lies in developing an advanced SPG system and extending the method proposed in
this paper to the recognition of other relationships.
Acknowledgments. This work is supported by NSFC Major Research Program
60496326: Basic Theory and Core Techniques of Non Canonical Knowledge.
References
1. Agichtein, E., and Gravano, S.: Snowball: Extracting relations from large plain-text
collections. In Proc. of the 5th ACM International Conference on Digital Libraries (2000)
2. Brin, S.: Extracting patterns and relations from the World Wide Web. In Proc. of the 1998
International Workshop on the Web and Databases (1998)
3. Etzioni O., Cafarella M., Downey D. and Popescu A.M. et al: Methods for DomainIndependent Information Extraction from the Web: An Experimental Comparison. In Proc.
of the AAAI Conference (2004)
4. Genest, D. and Chenin, M. A Content-Search Information Retrieval Process Based on
Conceptual Graphs. Knowledge and Information Systems Journal. (2005) Vol. 8, 292-309
5. Lin W., Yangarber R., Grishman R.: Bootstrapped Learning of Semantic Classes from
Positive and Negative Examples. In Proc. of the ICML-2003 Workshop on the Continuum
from Labeled to Unlabeled Data, Washington DC (2003)
6. Michael S., B. Morgenstern, and J. Stoye. Divide-and-conquer multiple alignment with
segment-based constraints. Bioinformatics. (2003) 19(2): 189-195
7. Thelen M. and Riloff E.: A Bootstrapping Method for Learning Semantic Lexicon using
Extraction Pattern Contexts. In Proc. of the 2002 Conference on Empirical Methods in
Natural Language Processing (2002)
1 Introduction
Among feature selection methods in web-document clustering, X2, Mutual
Information(MI), and Information Gain(IG) are widely used.[1][2] However, we
cannot rely on such methods to provide consistently good performance, because web
documents have either a small number of terms or many kinds of terms and high term
frequencies. A small number of terms can be maintained in a document by increasing
the weights of feature values, but for documents containing many kinds of terms and
high term frequencies, the document vector space has to be reduced using filtering
methods. Filtering methods are general preprocessing algorithms that do not rely on
any knowledge of the algorithm.[3][4][5] Therefore, we propose new feature filtering
methods that can be applied independently to clustering application programs.
In the present study, first we extracted features and feature values using MI and
IG. And with those features and values, we extracted the documents representative
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 12181221, 2007.
Springer-Verlag Berlin Heidelberg 2007
1219
2 Preliminaries
We used three corpora, the Natural Science directory services at www.empas.com,
www.yahoo.co.kr, and www.naver.com, three famous Korean portal sites, as
experimental datasets for feature selection and clustering. Those documents are well
classified manually by an indexer, and so we could easily evaluate the clustering
performance by comparing the pre-allocated directory with the clustering results.
Accordingly, we selected 9 subdirectories within the directory services. The total
number of document sets was 1,036, 964 and 1,093 respectively, and the term vector
space was a matrix consisting of tf or tf*idf. After bisecting each document set, we
used one half for feature selection and clustered the other half by applying the
selected features. For clustering and analysis of clustering performance, we used a
clustering toolkit, Cluto2.1, developed by the University of Minnesota.[3] We
compared the results of clustering using entropy- and purity- averaged measures.
For feature selection, first we calculated the feature values using the MI and IG,
and with the features and feature values, allocated each term to only the one category
c that had the maximum score for each expression MImax = max{MI(t,ci)}, and
(IGh)max = max{IG(t,ci)},{ if avg(IG(t,ci) ) >, (: threshold)}, and applied those
values in a document matrix. Second, with the feature values FVc(t), we obtained
representative clusters for a feature and representative clusters for a document. The
representative cluster number C (t ) = k { FV (t )} for a term t is the cluster number
f
max
i =1
with the maximum value among all of the clusters(i is the cluster number). And third,
k
we obtained the representative cluster number C ( d ) =
{ Count ( C ( t : t ))}
f
max
i =1
for each document using Cf(t), where Counti(Ci (t1:tn)) is the number of terms t1tn
that have Cf(t) in the i-th cluster for a document.
1220
feature value FVi(t)max greater than the threshold (=0) in cluster 1 and cluster 3,
count(Ci(t)) is 2, and if the threshold is 3, term t is selected. Third, with MCRCD,
we calculated the FVi(t)max and Ci(t) for a term t in the i-th cluster, as with MCRCF.
We could obtain a representative cluster number for a document Cf(d) as in section 2.
To apply the MCRCD method, we require the sum of feature values for term t in all
of the clusters, the weight W (2 or 3 or 4) and thresholds (50% or 40% or 30%)
constants. We include the following 5 steps in the filtering process.
Step 1: Calculate the feature value FV(t) of term t and FVi(t)max in the i-th cluster.
Step 2: Obtain Ci(t) and Ci(d) using FVi(t)max in the i-th cluster.
Step 3: Find features Fi that have a feature value FV(Cf(d)) greater than
(1/W)*FVi(Ci(d)) and , as in expression 2, where W is the weight
constant. Repeat Step3 for all of the terms from a document.
Step 4: Using those features Fi obtained from Step3, as in expression 3, if the count
of occurrences Ci(Fi) of feature Fi in all of the clusters is greater than the
threshold , those features are removed. Repeat Step2 to Step3 for all of the
documents.
Step 5: Apply those features and feature values to a document matrix, and cluster.
k
count
( C i ( t )) < Threshold (T )
i =1
(1)
1
) * FVi (Ci (d )) < FV (C f (d )) , and FV() >
W i =1
(2)
(3)
Fig. 1. Entropies and Purities averaged using TF, MI, IG, and Filtering Methods MFSM with
MI and IG, MCRCF, and MCRCD. The clustering number is 30.
4 Experimental Evaluations
In these experiments, we clustered the document matrix by applying the MFSM with
the MI and IG values. As shown in Fig 1, the entropies and purities of Empas(1) were
the results of clustering the document set Empas(1) by applying features selected by
1221
Empas(2). In the case of the Empas and Yahoo document sets, the clustering results
for the MFSM with the MI and IG values (MFSM-MI, MFSM-IG) were better than
for TF, MI and IG. But in the case of the Naver document sets, the clustering results
for MI and IG were very poor. Because the results by TF had poor entropies and
purities (0.327, 0.731), we could not obtain good features using the MFSM with MI
and IG values. And when we used the MCRCF and MCRCD methods, for not only
the Empas and Yahoo document sets but also for the Naver document sets, the
clustering results were better than when using the MFSM with MI and IG values, in
all of the entropies and purities. The entropies and purities of the clustering results
using MCRCF and MCRCD were improved notably.
5 Conclusion
This paper presents the results of a comparative study on features filtering for feature
selection web-document clustering. We applied, as feature selection methods, MI and
IG, and then the MFSM. There were better results for some document sets than those
obtained using term frequency (TF). But because the results by TF yielded poor
entropies and purities, we could not obtain good features using MI and IG, or the
MFSM either. Therefore, we were obliged to find new methods for selecting good
features and achieving good performance. When we applied MCRCF and MCRCD,
we were able to obtain a much better performance than that achieved using the
MFSM with MI and IG. Most notably in the case of the Yahoo document sets, there
was an extraordinarily good performance for all data sets using MCRCF and
MCRCD. Therefore, we can confirm that these feature-filtering methods offer
enhanced clustering performance as well as an effective means of selective filtering.
Acknowledgments. This work was supported by the Korea Research Foundation
Grant funded by the Korean Government (MOEHRD) (The Regional Research
Universities Program/Research Center for Logistics Information Technology).
References
1. Yiming Yang and Jan O. Pederson : A comparative study on feature selection in text
categorization, Proceedings of ICML-97, 14th International Conference on Machine
Learning. (1997).
2. Gang Wang, Frederick H. Lochovsky : Feature selection with conditional mutual
information maximin in text categorization. Proceedings of the thirteenth ACM
international conference. (2004), 342-349.
3. Ying Zhao and George Karypis : Criterion Functions for Document Clustering: Experiments
and Analysis. Technical Report TR #01--40, Department of Computer Science (2002)
4. Sanmay Das : Filters, Wrappers and a Boosting-Based Hybrid for Feature Selection, The
Proceedings of the Eighteenth International Conference on Machine, (2001) 74 81
5. Huang Yuan, Shian-Shyong Tseng, Wu Gangshan, Zhang Fuyan : A two-phase feature
selection method using both filter and wrapper, IEEE SMC '99 Conference Proceedings.
1999 IEEE International Conference (1999) vol.2 132-136,
6. Baranidharan Raman, Thomas R. Ioerger : Instance Based Filter for Feature Selection,
journal of Machine Learning Rearch 1, (2002) 1-23,.
1 Introduction
Morphological analyzer is the basic module for most natural language processing
systems such as natural language understanding, information retrieval, and machine
translation. Morphological analyzer analyzes all possible combination of morphemes
for a given word and generates one or more analysis results for that word. In general
about 30% of Korean words have two or more analysis results. Resolving these
ambiguities is thus vital to build reliable natural language processing system. Part-ofspeech tagging is the module to resolve such morphological ambiguities.
Conventional part-of-speech tagging approaches are classified into statistical
approach[1], rule-based approach[2], and hybrid approach [3].
Hidden Markov Model (HMM) has been the mainstay of the statistical model for
part-of-speech tagging. It selects a sequence of part-of-speech tags with the highest
probability from words or morphemes around an ambiguous word. Rule-based
approach resolves ambiguities by predefined rules. Its major advantage is high
accuracy but unlike statistical approach it has narrow coverage. Therefore pure rulebased approach is scarcely used in resolving morphological ambiguities. Hybrid
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 12221225, 2007.
Springer-Verlag Berlin Heidelberg 2007
1223
approach uses both rules and statistical information with a view to achieving high
accuracy and broad coverage. Most Korean part-of-speech tagging systems adopt this
approach.
This paper presents a part-of-speech tagging system for Korean. The system uses
resolution rules for individual ambiguous words to get high accuracy. Each rule has
syntax and semantic information for an ambiguous word and words around it. Our
system applies common rules to test set followed by resolution rules and statistical
tagging.
Common-rules are ones for idioms and phrases of common use such as ~
(can)(halq swu issta), ~
(cannot)(halq swu epsta), ~
(must)(haci anh.ul swu epsta). In the first stage common-rules are applied to
resolve ambiguities of words. For example the tags of (swu) in above expressions
are determined as an incomplete noun.
@ /nc
/!e_ @
/e_+/jx @
/e_ @
all
[]/nc @
@ []/nc
default
meaning
e_
etm
ending
adnominal ending
/px+/etm
/mm
/mm
/pa+/ep+/ef
/pa+/ep+/ef
pa
pv
mm
ep
ec
/px+/ep+/ef
/np+/jx
/nc
/nc
/pv+/ec
np
nc
ef
jx
@
adjective
verb
indeclinable adj.
prefinal ending
conjunctive
ending
pronoun
common noun
final ending
auxiliary particle
ambiguous word
/pa+/etm
/pa+/etm
1224
(yitnuen)
next tag
sequences
nb+co+ef
nb+co+ef+jx
nb+co+ep+ef
nb+jc
nb+jx
nc
frequency
20
4
2
17
11
33
3 Experiment
For evaluation, ETRI corpus and Sejong corpus were used for the experiment with
sentences. Table 2 shows the information of the test corpus. The rate of ambiguity in
the table means the average number of morphological analysis results of ambiguous
words. First, we apply common rules to an ambiguous word. Rules for individual
ambiguous words are applied subsequently when the ambiguity is not resolved. First
matching rule is applied to an ambiguous word when the conditions of two or more
rules are satisfied. Statistical information is applied finally when the ambiguity is not
resolved. Table 3 shows the result of tagging with the rules only, tagging with only
statistical information, and tagging with both.
In Table 3, the average rate of correctness with rules only is 88.68 and resolution
accuracy by rules is almost 100%; the average rate of correctness with statistical
information is 93.82%. These results are comparable to the best performance of
conventional Korean statistical part-of-speech system.
Table 2. The information of corpus for evaluation
ETRI corpus
Sejong corpus
The number of
ambiguous words
4836
1761
The rate of
ambiguity
2.66
2.74
Total
17628
6597
2.70
Corpus
Table 3 also shows that the average rate of correctness of our system that uses both
rules and statistical information is higher than those of systems that use only rules or
only statistical information. Furthermore, the accuracy of our system is 96.86% which
1225
is higher than any other conventional hybrid tagging systems whose accuracies varies
from 93% to 96%. Our system does not resolve the ambiguities correctly when two or
more consecutive words are all ambiguous.
Table 3. The correctness of each tagging
Corpus
Tagging
with rules
ETRI corpus
Sejong corpus
Total
89.67%
87.69%
88.68%
Tagging with
statistical
information
95.14%
92.50%
93.82%
4 Conclusion
In this paper, we described a hybrid Korean part-of-speech tagging system using rules
and statistical information. About 50% of ambiguities are resolved by those rules, and
their accuracy is almost 100%. Statistical tagging based on HMM is applied to words
which are not resolved by rules. The correctness of our system was 95.98%, while
that of statistical tagging only was 93.82%. The system failed to resolve correctly the
ambiguities for consecutive ambiguous words.
Acknowledgments. This research was supported by the Ministry of Information and
Communication, Korea under the ITRC, IITA-2006-(C1090-0603-0046).
References
1. Merialdo, B.: Tagging English Text with a Probabilistic Model. Computational Linguistics
20(2) (1994) 155171
2. Brill, E.: Transformation-Based Error-Driven Learning and Natural Language Processing: A
Case Study in Part-of-Speech Tagging. Computational Linguistics 21(4) (1995) 543564
3. Tapanainen, P., Voutilainen A.: Tagging accurately Don't guess if you know. In:
Proceedings of the 7th Conference of the European Chapter of the Association for
Computational Linguistics. (1994) 149156
Abstract. Studies on the eect of text width on readability have encouraged the use of xed text-width web/electronic text design. The
drawback of this type of design is the loss of users interactivity with
regard to text modication. In this paper, we investigate the web design
of the worlds top 100 websites and present an alternative interactive
user interface for text display.
Keywords: Readability, Web design, line length, text presentation.
Introduction
A great number of texts are read nowadays on computer screens. With the
increase in the amount of web-based texts, it is becoming increasingly important
to develop a convenient user interface that can enhance the eciency and reduce
the fatigue when reading via the web [1]. Readability, among others, is one of the
most important factors that aect eciency and work fatigue, and it is closely
related to the text width or line length of the text.
The research on readability found that the largest acceptable text width for
printed materials is around 90mm, with some varying results. With regard to the
computer screen environment, the average text width preferred by the subjects
on the computer screen was found to be around 100mm [2,3]. An experiment
measuring the number of characters showed similar results of 55 characters per
line (cpl) [2] and 55-70 cpl [3]. Based on these studies, web designs with a specic
xed text width were recommended [3,4]. Inuenced by these kinds of studies,
a myriad of web pages are now designed to meet conditions for maximum readability, and the majority of them have xed text width format.
While general consensus was found with regard to the best readability and
line length in the above experiments, there have always been some inconsistent
results. First, the similar readability was found irrespective of the line length
as far as the line length does not exceed a certain limit [2]. Second, the optimum line length that corresponds to optimum readability diered depending on
researchers and experiments [2,3].
In this study, we propose an alternative user interface that restores the interactive text-width-selecting feature without going back to the rst generation
web document style.
Y. Shi et al. (Eds.): ICCS 2007, Part II, LNCS 4488, pp. 12261229, 2007.
c Springer-Verlag Berlin Heidelberg 2007
1227
The following web design history is a classication of the layout, or the controllability of the text width in web pages. These are based on the period where
each characteristic feature was used eectively, and not at the point where the
feature was rst introduced.1
First Generation. The rst generation web design was characterized by its
simplistic layout. The text width was adjustable freely by dragging the borders
of windows with the mouse or by clicking the restore/maximize button.
Second Generation. With the adaptation of table tags, partial restrictions
were imposed on users adjustability of text width.
Third Generation. The frame was introduced: the menu and the main content
were separated. Adjusting the width of the menu and the main contents was
possible and users had the ability to hide menus by minimizing their width.
Fourth Generation. With the practical use of Cascading Style Sheets (CSS),
web pages became more exible from a designers point of view and more rigid
from a users point of view. Frames disappeared and it no longer became possible
for users to remove or hide menus.
In the rst generation, the adjustability of the text width provided web pages
with the most interactive and free text format as far as text width modication was concerned. This feature was so typical that even today almost all
word processors call dynamic text width layout web page layout. However,
inuenced by the studies on readability and line length and by other design requirements, most web pages today have xed text width and it is impossible for
users to adjust the text width.
To quantify these trends, we investigated the worlds top 100 websites as
chosen by Alexa. The results showed that only 11 web pages have a dynamic
text width format and about 90% of worlds top 100 websites use xed text width
web pages.2 Considering the still permitted personalizable options such as font
style, font size, color and global window size of web pages, it is quite surprising
that the most popular web designs do not allow the slightest exibility with
respect to the text width. This rigidity of web page design has resulted in losing
one of the most fundamental web pages features and reducing users active
interaction ability with the computer.
Proposed Interface
For 11 websites where dynamic text width modication is allowed, resizing global
windows (web browsers outer windows) width is required to get the desired
1
CSS was rst proposed in November 1995, which was virtually in the same period
as the previous two (Table was rst proposed in March 1995 and Frame September
1995).
The 11 websites are: *rkut.com *ikipedia.org *mazon *otolog.com *mdb.com *apidshare.de *andex.ru *c2.com *ourceforge.net *ama.ru *igg.com (The rst letter is
marked out for each item.).
1228
H. Ji and H. Choo
Fig. 1. The text width can be adjusted easily with a single mouse click
text width. This results in two diculties. First, in narrowing global windows
width, users lose access to the far right menus/tabs, unless the menus/tabs are
detached from the web browser. Second, after narrowing text width, restoration
is necessary to view other web pages. Since web page reading involves frequent
changes from one website to another, this alternation is by no means convenient.
Further, some websites have no limit on line length, which obliges users to resize
their browser windows for better reading.
It is still important to allow users to personalize web text width. The results
of line-length related studies show that the optimal line length is not identical for
every user and considerable dierences exist depending on the particular study
group [3,5]. Thus, providing users with interactive text-width modication functionality is important in order to provide users with more personalized control
over the text format. In particular, in conducting specic textual study like analyzing multitext, such an interface would be of benet. Multitext analysis study
requires both normal reading and comparing two or more adjacent lines, and two
types of text-width are necessary for the fulllment of the task (unlike normal
reading, it is preferable to have a greater line length for line-by-line comparison).
We propose a user interface that ensures users interactive control in adjusting
text format and provides a novel scrolling functionality for reading documents.
1229
Special buttons were placed top right of the documents so that users can adjust
their contents width by a simple single click with the mouse (Fig. 1). The
button was designed without the use of mouse dragging since the latter requires
non-trivial concentration and attention. We propose (1) two dierent text-width
formats independent of global windows size and (2) a dynamic format, whose
width is dependent on global window size.
The texts in Fig. 1 are parallel verses of the Bible, which were constructed
automatically using the program multitext organizing model that we developed
in parallel with this study. In these multitext documents, the verses having the
same verse number are grouped together and the arrow buttons in Fig. 1 allow
users to bring the head of these groups on top of the window, ensuring the
constant positioning of the aligned elements.
Hornbk and Frkjr reported that users prefer a sheye interface, where
unimportant texts are reduced in size, or presented as unreadable, to a linear
interface, where no such distortions are implemented [6]. One drawback of such
a reduced size form is the amount of unimportant text cannot be known. Our
proposed scrolling method can be useful in such a case, since it is possible both to
keep full readable length of unimportant text, and to skip quickly over a portion
of text. An extra functionality was implemented that enables users to select or
remove certain portion of texts or left-side menu (the third and the fourth gure
in Fig. 1). These features were developed using JavaScript and CSS and can be
readily implemented in existing web documents.
Acknowledgments. This research was supported by the Ministry of Information and Communication, Korea under the ITRC, IITA-2006-(C1090-0603-0046).
References
1. Corry, M.D., Frick, T.W., Hansen, L.: User-centered design and usability testing
of a web site: An illustrative case study. Educational Technology Research and
Development 45(4) (1997) 6576
2. Dyson, M.C., Haselgrove, M.: The inuence of reading speed and line length on
the eectiveness of reading from screen. International Journal of Human-Computer
Studies 54(4) (2001) 585612
3. Ling, J., van Schaik, P.: The inuence of font type and line length on visual search
and information retrieval in web pages. International Journal of Human-Computer
Studies 64(5) (2006) 395404
4. Davidov, A.: Computer screens are not like paper: typography on the web. In
Sassoon, R., ed.: Computers and Typography. Volume 2. Intellect Books, Bristol,
UK. (2002) 2140
5. Mills, C.B., Weldon, L.J.: Reading text from computer screens. ACM Comput.
Surv. 19(4) (1987) 329357
6. Hornbk, K., Frkjr, E.: Reading patterns and usability in visualizations of electronic documents. ACM Trans. Comput.-Hum. Interact. 10(2) (2003) 119149
Author Index
Ab
anades, Miguel A. II-227
Abbate, Giannandrea I-842
Abdullaev, Sarvar R. IV-729
Abdullah, M. I-446
Acevedo, Liesner I-152
Adam, J.A. I-70
Adriaans, Pieter III-191, III-216
Adrianto, Indra I-1130
Agarwal, Pankaj K. I-988
Ahn, Chan-Min II-515
Ahn, Jung-Ho IV-546
Ahn, Sangho IV-360
Ahn, Sukyoung I-660
Ahn, Woo Hyun IV-941
Ahn, Young-Min II-1202, II-1222
Ai, Hongqi II-327
Al-Sammane, Ghiath II-263
Alexandrov, Vassil I-747, II-744,
II-768, II-792
Alfonsi, Giancarlo I-9
Alidaee, Bahram IV-194
Aliprantis, D. I-1074
Allen, Gabrielle I-1034
Alper, Pinar II-712
Altintas, Ilkay III-182
Alvarez,
Eduardo J. II-138
An, Dongun III-18
An, Sunshin IV-869
Anthes, Christoph II-752, II-776
Araz, Ozlem Uzun IV-973
Archip, Neculai I-980
Arin, B. II-335
Aristov, V.V. I-850
Arslanbekov, Robert I-850, I-858
Arteconi, Leonardo I-358
Aslan, Burak Galip III-607
Assous, Franck IV-235
Atanassov, E. I-739
Avolio, Maria Vittoria I-866
Awan, Asad I-1205
Babik, Marian III-265
Babuska, I. I-972
Baca
o, Fernando II-542
1232
Author Index
Cepulkauskas,
Algimantas II-259
Cetnarowicz, Krzysztof II-920
Cha, Jeong-won IV-721
Cha, JeongHee II-1
Cha, Seung-Jun II-562
Chai, Lei IV-98
Chai, Tianfeng I-1018
Author Index
Cheng, Xiaobei III-90
Chi, Hongmei I-723
Cho, Eunseon IV-713
Cho, Haengrae IV-753
Cho, Hsung-Jung IV-275
Cho, Jin-Woong IV-482
Cho, Ki Hyung III-813
Cho, Sang-Young IV-949
Cho, Yongyun III-236
Cho, Yookun IV-905
Choe, Yoonsik IV-668
Choi, Bum-Gon IV-554
Choi, Byung-Uk IV-737
Choi, Han-Lim I-1138
Choi, Hyoung-Kee IV-360
Choi, HyungIl II-1
Choi, Jaeyoung III-236
Choi, Jongsun III-236
Choi, Kee-Hyun II-952
Choi, Myounghoi III-508
Choo, Hyunseung I-668, II-1226,
III-432, III-465, IV-303, IV-336,
IV-530, IV-534, IV-538, IV-550
Chopard, Bastien I-922
Chou, Chung-I IV-1163
Choudhary, Alok III-734
Chourasia, Amit I-46
Chrisochoides, Nikos I-980
Christiand II-760
Chtepen, Maria I-454
Chu, Chao-Hsien III-762
Chu, You-ling IV-1163
Chu, Yuan-Sun II-673
Chuan, Zheng Bo II-25
Chung, Hee-Joon II-347
Chung, Hyunsook II-696
Chung, Min Young IV-303, IV-534,
IV-550, IV-554
Chung, Seungjong III-18
Chung, Tai-Myoung III-1024
Chung, Yoojin IV-949
Cianni, Nathalia M. III-253
Ciarlet Jr., Patrick IV-235
Cisternino, Antonio II-585
Claeys, Filip H.A. I-454
Clark, James S. I-988
Clatz, Olivier I-980
Clegg, June IV-18
Clercx, H.J.H. I-898
Cline, Alan II-1123
1233
1234
Author Index
Fang, F. II-415
Fang, Fukang IV-59
Fang, Hongqing IV-1186
Fang, Hua III-859
Fang, Li Na II-736
Fang, Lide II-1067
Fang, Liu III-1048
Fang, Yu III-653
Fang, Zhijun II-1037
Fang-an, Deng III-453
Farhat, C. I-1171
Farias, Antonio II-799
Fathy, M. IV-606
Fedorov, Andriy I-980
Fei, Xubo III-244
Fei, Yu IV-741
Feixas, Miquel II-105
Feng, Huamin I-374, II-1012, III-1,
III-493
Feng, Lihua III-1056
Feng, Y. I-972
Feng, Yuhong I-398
Ferrari, Edward I-1098
Fidanova, Stefka IV-1084
Field, Tony I-111
Figueiredo, Renato I-964
Fischer, Rudolf I-144
Fleissner, Sebastian I-213
Flikkema, Paul G. I-988
Fl
orez, Jorge II-166
Fortes, Jos A.B. I-964
Frausto-Sols, Juan II-370, IV-981
Freire, Ricardo Oliveira II-312
Frigerio, Francesco II-272
Frolova, A.A. I-850
Fu, Chong I-575
Fu, Hao III-1048
Fu, Qian I-160
Fu, Shujun I-490
Fu, Tingting IV-969
Fu, Xiaolong III-579
Fu, Yingfang IV-409
Fu, Zetian III-547
Fuentes, D. I-972
Fujimoto, R.M. I-1050
Fukushima, Masao III-937
F
urlinger, Karl II-815
Furukawa, Tomonari I-1180
Fyta, Maria I-786
Author Index
Gallego, Samy I-939
G
alvez, Akemi II-211
Gang, Fang Xin II-25
Gang, Yung-Jin IV-721
Gao, Fang IV-1021
Gao, Liang III-212
Gao, Lijun II-478
Gao, Rong I-1083
Gao, Yajie III-547
Garcia, Victor M. I-152
Gardner, Henry J. I-583
Garre, M. II-1162
Garsva, Gintautas II-439
Gautier, Thierry II-593
Gava, Frederic I-611
Gawro
nski, P. IV-43
Geiser, J
urgen I-890
Gelfand, Alan I-988
Georgieva, Rayna I-731
Gerndt, Michael II-815, II-847
Gerritsen, Charlotte II-888
Ghanem, Moustafa III-204
Ghattas, Omar I-1010
Gi, YongJae II-114
Gibson, Paul II-386
Gilbert, Anna C. I-1230
Goble, Carole II-712, III-182
Goda, Shinichi IV-142
Goderis, Antoon III-182
Goey, L.P.H. de I-947
Golby, Alexandra I-980
Goldberg-Zimring, Daniel I-980
Golubchik, Leana I-995
Gombos, Daniel I-1138
G
omez-Tato, A. III-637
Gong, Jian IV-809
Gong, Jianhua III-516, III-563
Gonz
alez-Casta
no, Francisco J. III-637,
IV-466
Gonzalez, Marta I-1090
Gore, Ross I-1238
Goto, Yuichi I-406
Gould, Michael II-138
Govindan, Ramesh I-995
Grama, Ananth I-1205
Gregor, Douglas I-620
Gregorio, Salvatore Di I-866
Gu, Guochang III-50, III-90, III-137,
III-157, III-178
Gu, Hua-Mao III-591
1235
1236
Author Index
Author Index
Iskandarani,
sler, Veysi
I
Inan,
Asu
Ito, Kiichi
Mohamed
II-49
I-1, I-38
IV-74
I-1002
1237
1238
Author Index
Author Index
Kong, Youngil IV-685
Koo, Bon-Wook IV-562
Koo, Jahwan IV-538
Korkhov, Vladimir III-191
Kot, Andriy I-980
Kotulski, Leszek II-880
Kou, Gang III-852, III-874
Koumoutsakos, Petros III-1122
Kozlak, Jaroslaw II-872, II-944
Krile, Srecko I-628
Krishna, Murali I-603
Kr
omer, Pavel II-936
Kryza, Bartosz I-414
Krzhizhanovskaya, Valeria V. I-755
Kuang, Minyi IV-82
Kuijk, H.A.J.A. van I-947
Kulakowski, K. IV-43
Kulikov, Gennady Yu. I-136
Kulvietiene, Regina II-259
Kulvietis, Genadijus II-259
Kumar, Arun I-603
Kumar, Vipin I-1222
Kurc, Tahsin I-1213
Kusano, Kanya I-914
K
uster, Uwe I-128
Kuszmaul, Bradley C. I-1163
Kuzumilovic, Djuro I-628
Kwak, Ho Young IV-449
Kwak, Sooyeong IV-417
Kwoh, Chee Keong II-378
Kwon, B. I-972
Kwon, Hyuk-Chul II-1170, II-1218
Kwon, Key Ho III-523, IV-425
Kwon, Ohhoon IV-913
Kwon, Ohkyoung II-577
Kyriakopoulos, Fragiskos II-625
Laat, Cees de III-191
Laclavik, Michal III-265
Lagan`
a, Antonio I-358
Lai, C.-H. I-294
Lai, Hong-Jian III-377
Lai, K.K. III-917
Lai, Kin Keung I-554, II-423, II-455,
II-486, II-494, III-925, IV-106
Landertshamer, Roland II-752, II-776
Lang, Bruno I-716
Lantz, Brett I-1090
Larson, J. Walter I-931
Laserra, Ettore II-997
1239
1240
Author Index
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Li,
Shucai III-145
Tao IV-166
Weimin III-629
Wenhang III-516
X.-M. II-397
Xiao-Min III-381, III-384
Xikui III-1210
Xin II-251, III-587
Xing IV-701, IV-853
Xingsen III-781, III-906
Xinhui IV-174
Xinmiao IV-174
Xinye III-531
Xiong IV-121
Xiuzhen II-1021
Xue-Yao III-125, III-174
Xuening II-1186
Xueyu II-978
Xuezhen I-430
Yan III-603
Yanhui I-196
Yi III-485
Yih-Lang IV-259
Yiming IV-227, IV-259
Ying II-1115
Yixue II-363
Yiyuan II-1115
Yong III-50, III-157, IV-251
Yuan I-1066
Yuanxiang IV-997, IV-1037,
IV-1124,IV-1171, IV-1175, IV-1179
Li, Yueping III-401
Li, Yun II-327
Li, Yunwei IV-598
Li, Zhiguo I-1114
Li, Zhiyong IV-1183
Li, Zi-mao IV-1045, IV-1147
Liang, L. III-988
Liang, Liang IV-202
Liang, Xiaodong III-334
Liang, Yi I-318
Liang, Yong IV-1099
Lim, Eun-Cheon III-821
Lim, Gyu-Ho IV-721
Lim, Jongin III-1040
Lim, Kyung-Sup II-1194
Lim, S.C. I-374, II-1012, III-1
Lim, Sukhyun I-505
Lim, Sung-Soo IV-889, IV-897
Lin, Jun III-579
Author Index
Lin, Yachen II-470
Lin, Zefu III-945
Lin, Zhun II-1178
Lin-lin, Ci III-539
Li
na
n-Garca, Ernesto II-370
Ling, Yun III-591
Linton, Steve II-617
Liu, Caiming II-355, IV-166
Liu, Dayou I-160
Liu, Dingsheng II-523
Liu, Dong IV-961
Liu, Dongtao IV-701
Liu, E.L. III-1151
Liu, Fang IV-1053
Liu, Feiyu III-1188
Liu, Fengli III-762
Liu, Fengshan II-33
Liu, Gan I-426, IV-965
Liu, Guizhen III-313, III-320, III-362,
III-440, III-457
Liu, Guobao II-97
Liu, Guoqiang III-1062
Liu, Haibo III-90, III-178
Liu, Hailing III-1205
Liu, Han-long III-1172
Liu, Hong III-329
Liu, Hong-Cheu I-270
Liu, Hongwei IV-1021
Liu, Jia I-168, III-677
Liu, Jiangguo (James) I-882
Liu, Jiaoyao IV-877
Liu, Jin-lan III-1008
Liu, Li II-17
Liu, Liangxu III-629
Liu, Lin III-980
Liu, Lingxia III-133
Liu, Ming III-1105
Liu, Peng II-523, II-896, IV-969
Liu, Qingtang III-587
Liu, Qizhen III-575
Liu, Quanhui III-347
Liu, Sheng IV-1068
Liu, Tianzhen III-162
Liu, Weijiang IV-793
Liu, Xiaojie II-355, IV-166
Liu, Xiaoqun IV-841
Liu, Xin II-657
Liu, Xinyu I-1238
Liu, Xinyue III-661
Liu, Xiuping II-33
1241
1242
Author Index
Martnez-Alvarez,
R.P. III-637
Martino, Rafael N. De III-253
Martinovic, Jan II-936
Mascagni, Michael I-723
Matsuzaki, Kiminori II-601, II-609
Mattos, Amanda S. de III-253
Matza, Je III-852
Maza, Marc Moreno II-251, II-268
McCalley, James I-1066
McGregor, Robert I-906
McMullan, Paul I-538
Mechitov, Alexander II-462
Meeker, William I-1066
Mehats, Florian I-939
Mei, Hailiang III-424
Meire, Silvana G. II-138
Melchionna, Simone I-786
Meliopoulos, S. I-1074
Melnik, Roderick V.N. I-834
Memarsadeghi, Nargess II-503
Memik, Gokhan III-734
Meng, Fanjun II-478
Meng, Huimin III-66
Meng, Jixiang III-334
Meng, Wei III-299
Meng, Xiangyan IV-598
Merkevicius, Egidijus II-439
Metaxas, Dimitris I-1114
Miao, Jia-Jia III-121
Miao, Qiankun I-700
Michopoulos, John G. I-1180
Mikucioniene, Jurate II-259
Min, Jun-Ki I-245
Min, Sung-Gi IV-441
Ming, Ai IV-522
Minster, Bernard I-46
Author Index
Oberg, Carl I-995
Oden, J.T. I-972
Oh, Hyukjun IV-933
Oh, Jehwan IV-594
Oh, Sangchul IV-713
Oh, Sung-Kwun IV-1076, IV-1108
Ohsawa, Yukio IV-74, IV-142
Oijen, J.A. van I-947
Oladunni, Olutayo O. I-176
Oliveira, Suely I-221
Olsen, Kim I-46
Olson, David L. II-462
Ong, Everest T. I-931
Ong, Hong II-784
Oosterlee, C.W. II-415
Ord, Alison I-62
Othman, M. I-326, I-446
Ou, Zhuoling III-162
Ould-Khaoua, M. IV-606
Ouyang, Song III-289
. kylmaz, Berkin III-734
Ozs
Pacici, Leonardo I-358
Paik, Juryon III-709
Palkow, Mark IV-761
Pan, Wei II-268
Pan, Yaozhong III-1069
Pang, Jiming II-97
Pang, Yonggang III-117, III-141
Papancheva, Rumyana I-747
Parashar, Manish I-1213
Parhami, Behrooz IV-67
Park, Ae-Soon IV-745
Park, Byungkyu II-339
Park, Chiwoo I-1197
Park, Dong-Hyun IV-344
Park, Gyung-Leen IV-449, IV-586,
IV-660, IV-925
Park, Hee-Geun II-1222
Park, Heum II-1218
Park, Hyungil I-382
Park, Ilkwon IV-546
Park, Jaesung IV-629
Park, Jeonghoon IV-336
Park, Ji-Hwan III-523, IV-425
Park, JongAn III-829, IV-717
Park, Keon-Jun IV-1108
Park, ManKyu IV-368
Park, Moonju IV-881
Park, Mu-Hun IV-721
1243
1244
Author Index
Schost, Eric
II-251
Schwan, K. I-1050
Scott, Stephen L. II-784
Seinfeld, John H. I-1018
Sekiguchi, Masayoshi II-178
Senel, M. I-1074
Senthilkumar, Ganapathy I-603
Seo, Dong Min III-813
Seo, Kwang-deok IV-621
Seo, SangHyun II-114, II-162
Seo, Young-Hoon II-1202, II-1222
Seshasayee, B. I-1050
Sha, Jing III-220
Shakhov, Vladimir V. IV-530
Shan, Jiulong I-700
Shan, Liu III-953
Shan-shan, Li IV-393
Shang, Weiping III-305
Shanzhi, Chen IV-522
Author Index
Shao, Feng I-253
Shao, Huagang IV-644
Shao, Xinyu III-212
Shao, Ye-Hong III-377
Shao-liang, Peng IV-393
Sharif, Hamid III-859
Sharma, Abhishek I-995
Sharma, Raghunath I-603
Shen, Huizhang IV-51
Shen, Jing III-90, III-178
Shen, Linshan III-1077
Shen, Xianjun IV-1171, IV-1175,
IV-1179
Shen, Yue III-109, III-555
Shen, Zuyi IV-1186
Shi, Baochang I-802, I-810, I-818
Shi, Bing III-615
Shi, Dongcai II-1115
Shi, Haihe III-469
Shi, Huai-dong II-896
Shi, Jin-Qin III-591
Shi, Xiquan II-33
Shi, Xuanhua I-434
Shi, Yaolin III-1205
Shi, Yong II-401, II-409, II-490, II-499,
III-685, III-693, III-852, III-874,
III-906, III-1062
Shi, Zhongke I-17
Shi-hua, Ma I-546
Shim, Choon-Bo III-821
Shima, Shinichiro I-914
Shin, Byeong-Seok I-505
Shin, Dong-Ryeol II-952
Shin, In-Hye IV-449, IV-586, IV-925
Shin, Jae-Dong IV-693
Shin, Jitae I-652
Shin, Kwonseung IV-534
Shin, Kyoungho III-236
Shin, Seung-Eun II-1202, II-1222
Shin, Teail IV-514
Shin, Young-suk II-81
Shindin, Sergey K. I-136
Shirayama, Susumu II-649
Shiva, Mohsen IV-490
Shouyang, Wang III-917
Shuai, Dianxun IV-1068
Shuang, Kai IV-785
Shukla, Pradyumn Kumar I-310,
IV-1013
Shulin, Zhang III-992
1245
1246
Author Index
Suvakov,
Milovan II-641
Swain, E. I-1074
Swaminathan, J. II-288
Szab
o, G
abor I-1090
Szczepaniak, Piotr II-219
Szczerba, Dominik I-906
Szekely, G
abor I-906
Tabik, Siham I-54
Tackley, Paul III-1122
Tadic, Bosiljka II-633, II-641
Tadokoro, Yuuki II-178
Tahar, So`ene II-263
Tak, Sungwoo IV-570
Takahashi, Isao I-406
Takato, Setsuo II-178
Takeda, Kenji III-273
Tan, Guoxin III-587
Tan, Hui I-418
Tan, Jieqing II-41
Tan, Yu-An III-567
Tan, Zhongfu III-984
Tang, Fangcheng IV-170
Tang, J.M. I-874
Tang, Jiong I-1197
Tang, Liqun III-1210
Tang, Sheng Qun II-681, II-736
Tang, Xijin IV-35, IV-150
Tang, Yongning IV-857
Tao, Chen III-953
Ulker,
Erkan II-49
Unold, Olgierd II-1210
Urbina, R.T. II-194
Uribe, Roberto I-229
Urmetzer, Florian II-792
Vaidya, Binod IV-717
Valuev, I. III-199
Vanrolleghem, Peter A. I-454
Vasenkov, Alex I-858
Vasyunin, Dmitry III-191
Veh, Josep II-166
Author Index
Veloso, Rene Rodrigues III-281
Venkatasubramanian, Venkat I-963
Venuvanalingam, P. II-288
Vermolen, F.J. I-70
Vas, Jes
us M. I-54
Vidal, Antonio M. I-152
Viswanathan, M. III-701
Vivacqua, Adriana S. III-253
Vodacek, Anthony I-1042
Volkert, Jens II-752, II-776
Vuik, C. I-874
Vumar, Elkin III-370
Waanders, Bart van Bloemen I-1010
Wagner, Frederic II-593
W
ahlisch, Matthias IV-761
Walenty
nski, Ryszard II-219
Wan, Wei II-538, II-569
Wang, Aibao IV-825
Wang, Bin III-381, III-384
Wang, Chao I-192
Wang, Chuanxu IV-186
Wang, Daojun III-516
Wang, Dejun II-1107
Wang, Haibo IV-194
Wang, Hanpin III-257
Wang, Honggang III-859
Wang, Hong Moon IV-578
Wang, Huanchen IV-51
Wang, Huiqiang III-117, III-141,
III-1077
Wang, J.H. III-1164, III-1228
Wang, Jiabing I-497
Wang, Jian III-1077
Wang, Jian-Ming III-1114
Wang, Jiang-qing IV-1045, IV-1147
Wang, Jianmin I-192
Wang, Jianqin II-569
Wang, Jihui III-448
Wang, Jilong IV-765
Wang, Jing III-685
Wang, Jinping I-102
Wang, Jue III-964
Wang, Jun I-462, I-466, II-974
Wang, Junlin III-1214
Wang, Liqiang III-244
Wang, Meng-dong III-1008
Wang, Naidong III-1146
Wang, Ping III-389
Wang, Pu I-1090
1247
1248
Author Index
Author Index
Yang, Chuangxin I-497
Yang, Chunxia IV-114
Yang, Deyun II-1021, II-1029, II-1075
Yang, Fang I-221
Yang, Fangchun IV-785
Yang, Hongxiang II-1029
Yang, Jack Xiao-Dong I-834
Yang, Jianmei IV-82
Yang, Jihong Ou I-160
Yang, Jincai IV-1175
Yang, Jong S. III-432
Yang, Jun I-988, II-57
Yang, Kyoung Mi III-559
Yang, Lancang III-615
Yang, Seokyong IV-636
Yang, Shouyuan II-1037
Yang, Shuqiang III-717
Yang, Weijun III-563
Yang, Wu III-611
Yang, Xiao-Yuan III-677
Yang, Xuejun I-474, IV-921
Yang, Y.K. III-701
Yang, Young-Kyu IV-660
Yang, Zhenfeng III-212
Yang, Zhongzhen III-1000
Yang, Zong-kai III-587, IV-873
Yao, Kai III-419, III-461
Yao, Lin III-461
Yao, Nianmin III-50, III-66, III-157
Yao, Wenbin III-50, III-157
Yao, Yangping III-1146
Yazici, Ali II-186
Ye, Bin I-278
Ye, Dong III-353
Ye, Liang III-539
Ye, Mingjiang IV-833
Ye, Mujing I-1066
Yen, Jerome I-554
Yeo, Sang-Soo IV-693
Yeo, So-Young IV-344
Yeom, Heon Y. II-577, III-26, IV-705
Yi, Chang III-1069
Yi, Huizhan IV-921
Yi-jun, Chen IV-741
Yi, Sangho IV-905
Yim, Jaegeol IV-652
Yim, Soon-Bin IV-457
Yin, Jianwei II-1115
Yin, Peipei I-192
Yin, Qingbo III-10, III-149
1249
1250
Author Index
Zhang, Xi I-1213
Zhang, Xia III-362
Zhang, XianChao III-293, III-661
Zhang, Xiangfeng III-74
Zhang, Xiaoguang IV-1091
Zhang, Xiaoping III-645
Zhang, Xiaoshuan III-547
Zhang, Xuan IV-701, IV-853
Zhang, Xueqin III-615
Zhang, Xun III-933, III-964, III-1032
Zhang, Y. I-972
Zhang, Y.M. III-1223
Zhang, Yafei I-196
Zhang, Yan I-632
Zhang, Ying I-474
Zhang, Yingchao IV-114
Zhang, Yingzhou II-1147
Zhang, Zhan III-693
Zhang, Zhen-chuan I-575
Zhang, Zhiwang II-490
Zhangcan, Huang IV-1005
Zhao, Chun-feng III-1197
Zhao, Guosheng III-1077
Zhao, Hui IV-166
Zhao, Jidi IV-51
Zhao, Jie III-984
Zhao, Jijun II-280
Zhao, Jinlou III-911
Zhao, Kun III-882
Zhao, Liang III-583
Zhao, Ming I-964
Zhao, Ming-hua III-1101
Zhao, Qi IV-877
Zhao, Qian III-972
Zhao, Qiang IV-1021
Zhao, Qingguo IV-853
Zhao, Ruiming III-599
Zhao, Wen III-257
Zhao, Wentao III-42
Zhao, Xiuli III-66
Zhao, Yan II-689
Zhao, Yaolong II-550
Zhao, Yongxiang IV-1155
Zhao, Zhiming III-191, III-216
Zhao, Zun-lian III-1012
Zheng, Bojin IV-1029, IV-1037,
IV-1171, IV-1179
Zheng, Di I-462, I-466, II-974
Zheng, Jiping II-1131
Zheng, Lei II-538, II-569
Author Index
Zheng, Rao IV-138
Zheng, Ruijuan III-117
Zheng, SiYuan II-363
Zheng, Yao I-318, I-482
Zheng, Yujun III-469
Zhengfang, Li IV-283
Zhiheng, Zhou IV-283
Zhong, Shaobo II-569
Zhong-fu, Zhang III-453
Zhou, Bo I-196
Zhou, Deyu II-378
Zhou, Jieping III-516
Zhou, Ligang II-494
Zhou, Lin III-685
Zhou, Peiling IV-114
Zhou, Wen II-689
Zhou, Xiaojie II-33
Zhou, Xin I-826
Zhou, Zongfang III-1062
1251