Lecture Notes in Electrical Engineering
Lecture Notes in Electrical Engineering
Volume 68
.
Sio-Iong Ao Burghard Rieger
l l
Mahyar A. Amouzegar
Sio-Iong Ao
Burghard B. Rieger
Mahyar A. Amouzegar
v
.
Contents
vii
viii Contents
4 Simulated Experimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1 Robot Grouping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Robot Collaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
4 Discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
5 Concluding Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
42 DFA, a Biomedical Checking Tool for the Heart Control System . . 547
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
2.1 Finger Blood-Pressure Pulse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
2.2 DFA Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
2.3 Volunteers and Ethics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
3.1 Extra-Systole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
3.2 Alternans with Low Exponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Contents xxi
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Chapter 1
Multimodal Human Spacecraft Interaction
in Remote Environments
A New Concept for Free Flyer Control
1 Introduction
On-Orbit Servicing (OOS) has been an active research area in recent times. Two
approaches have been studied: teleoperation by humans and autonomous systems.
Autonomous systems use machine pattern recognition, object tracking, and
E. Stoll (*)
Space Systems Laboratory, Massachusetts Institute of Technology, 77 Massachusetts Avenue,
Cambridge, MA 02139-4307, USA
e-mail: [email protected]
acquisition algorithms, as for example DART [1] or Orbital Express [2]. The
research is still in early stages and the algorithms have to be realized in complex
systems.
In contrast, the human eye-brain combination is already very evolved and
trainable. Procedures can be executed by the trained user from the ground. Unfore-
seen incidents can be solved with greater flexibility and robustness. Arbitrary
spacecraft could be approached, i.e. spacecraft which were not explicitly designed
for rendezvous and docking maneuvers. Analogously, inspections and fly-arounds
can be controlled by the human operator. Based on the acquired information the
human operator on ground can decide how to proceed and which servicing mea-
sures to take. Another element in the decision queue is the path planning approach
for the target satellite to the capture object.
Multimodal telepresence, which combines autonomous operations with human
oversight of the mission (with the ability to control the satellites), provides the
benefits of autonomous free-flyers with the evolved human experience. In case
autonomous operations cause the work area to exhibit an unknown and unforeseen
state (e.g. when robotically exchanging or upgrading instruments) the human
operator on ground can support the operations by either finishing the procedure or
returning the system into a state which can be processed by autonomous procedures.
The advantage of multimodal telepresence in this connection is the fact that the
operator will not only see the remote site, but also feel it due to haptic displays. A
haptic interface presents feedback to the human operator via the sense of touch by
applying forces, vibrations or motion.
The applicability of the telepresence approach, with a human operator located in
a ground station, controlling a spacecraft, is mostly limited to the Earth orbit. This is
because the round trip delay increases with increasing distance from operator to the
teleoperator. A decrease of the telepresence feeling is the consequence, which has a
large impact on the task performance. Therefore, as the distance increases, the role
of the autonomy must increase to maintain effective operations.
For an overall and significant evaluation of the benefits of multimodal telepre-
sence a representative test environment is being developed at the MIT Space
Systems Laboratory using the SPHERES satellites on ground and aboard the
International Space Station (ISS).
The SPHERES laboratory for Distributed Satellite Systems [3] consists of a set of
tools and hardware developed for use aboard the ISS and in ground based tests.
Three micro-satellites, a custom metrology system (based on ultrasound time-of-
flight measurements), communications hardware, consumables (tanks and bat-
teries), and an astronaut interface are aboard the ISS. Figure 1 shows the three
SPHERES satellites being operated aboard the ISS during the summer of 2008.
1 Multimodal Human Spacecraft Interaction in Remote Environments 3
Fig. 1 SPHERES operations aboard the International Space Station (Picture: NASA)
The satellites operate autonomously, after the crew starts the test, within the US
Destiny Laboratory.
The ground-based setup consists of an analog set of hardware: three micro-
satellites, a metrology system with the same geometry as that on the ISS, a research
oriented GUI, and replenishable consumables. A “guest scientist program” [4]
provides documentation and programming interfaces which allow multiple
researchers to use the facility.
The SPHERES satellites were designed to provide the best traceability to future
formation flight missions by implementing all the features of a standard thruster-
based satellite bus. The satellites have fully functional propulsion, guidance, com-
munications, and power sub-systems. These enable the satellites to: maneuver in
6-DoF, communicate with each other and with the laptop control station, and
identify their position with respect to each other and to the experiment reference
frame. The computer architecture allows scientists to re-program the satellite with
new algorithms. The laptop control station (an ISS supplied standard laptop) is used
to collect and store data and to upload new algorithms. It uses the ISS network for
all ground data communications (downlink and uplink). Figure 2 shows a picture of
an assembled SPHERES satellite and identifies its main features. Physical proper-
ties of the satellites are listed in Table 1.
4 E. Stoll et al.
Thrusters Battery
SPHERES has been in operation aboard the ISS since May 2006. To date, 21 test
sessions have taken place. The test sessions have included research on Formation
Flight, Docking and Rendezvous, Fluid Slosh, Fault Detection, Isolation, and
Recover (FDIR), and general distributed satellite systems autonomy.
abort commands and collision avoidance techniques for part of this ongoing
research aboard the International Space Station.
The SPHERES Goggles is a hardware upgrade to the SPHERES satellites that adds
cameras, lights, additional processing power and a high speed wireless commu-
nications system. Even though it was designed for autonomous operations, it can be
used to support the operator with a visual feedback. The main objective of the
SPHERES Goggles is to provide a flight-traceable platform for the development,
testing and maturation of computer vision-based navigation algorithms for space-
craft proximity operations. Although this hardware was not intended to be launched
to orbit, it was designed to be easily extensible to versions that can operate both
inside and ultimately outside the ISS or any other spacecraft.
The Goggles, which are shown in Fig. 3, were designed to be able to image
objects that are within few meters range and to possess the computational capability
to process the captured images. They further provide a flexible software develop-
ment environment and the ability to reconfigure the optics hardware.
The SPHERES Goggles were used in several parts of the telepresence environ-
ment setup at the MIT SSL ground facilities to support the human operator with a
realistic video feedback which is representative for a camera system used on orbit.
Apart from virtual reality animations of the remote environment it serves as the
only source of visual data in the experiments.
Camera Camera
3 Multimodal Telepresence
Unlike robotic manipulators, where haptic feedback plays an important role for
control as e.g. ETS-VII [5] or Rokviss [6], free flyers are commonly only steered
using visual feedback. That means that even though free flying experiments can be
steered with hand controllers, as for example Scamp [7] or the Mini AERCam [8],
usually no haptic information is fed back to the human operator.
The implementation of haptic feedback into the control of free flyers enriches the
telepresence feeling of the operator and helps the operator on ground to navigate. It
paves the way for new concepts of telepresent spacecraft control. Collision avoid-
ance maneuvers for example can be made perceptible for the human operator, by
placing virtual walls around other spacecraft. Equipping these virtual walls with
sufficient high stiffness means that the operator is not able to penetrate them by
means of the haptic device, since it exerts to the operator a high resistance force.
Areas of fuel optimal paths can be displayed to the operator by implementing an
ambient damping force, featuring a magnitude which is proportional to the devia-
tion of the actual path from the fuel optimal trajectory and area, respectively.
Docking maneuvers can be supported by virtual boundaries as a haptic guiding
cone and damping forces which are increasing with decreasing distance to the
target.
Summarizing the benefits it can be seen that the application of telepresence
control will extend the amount of serviceable spacecraft failures by involving a well
trained human operator. In this connection it is proposed that the task performance
of the operator can be enhanced by feeding back high-fidelity information from the
remote work environment. Here the haptic feedback plays an important role in
human perception and will be tested in a representative test environment.
The key element of the test environment is the Novint Falcon [9], which is a 3-DoF
force feedback joystick. All degrees of freedom are of translational nature and servo
motors are used to feed forces in 3-DoF back to the user. This system has high
utility for space applications since it allows the human operator to control the space
1 Multimodal Human Spacecraft Interaction in Remote Environments 7
commands SPHERES
thruster goggles
model
UDP connection
Novint Falcon
HaptikLibrary
force/
torques SPHERES on
satellite air table
forces dynamics /
estimator metrology
data distance
estimated states
information
Position &
virtual reality
attitude
remote
actual determination
environment Ultrasound
states system
Matlab / Simulink
environment C environment
beacons
approximation of reality. In the presence of time delay the predictions should give
the user a feeling for the behaviour of the system (cp. ETS-VII) and enhance the
task performance. This is an important point if a human operator on ground will
steer an application in space. That way the interactions between the autonomous
space operations and a telepresence controlled free flyer can be tested.
4 Experimental Setup
If OOS missions are executed in low Earth orbit (LEO) only limited time windows
are available for telecommands. The common approach for increasing those acqui-
sition times is the usage of geostationary relay satellites. While those satellites do
not have a profound impact on autonomous missions, they will influence the task
performance of an operator on ground directly interacting with a satellite. Thus, this
human spacecraft interaction was tested using a representative test scenario at SSL,
which involved a geostationary relay satellite.
Due to the orbit height of geostationary satellites, the relay of the signal increases
the round trip delay between operator action and feedback to the operator to up to
7 s as in the case of ETS-VII. The delay between telecommand and telemetry is
usually not very intuitively manageable for the human operator and thus a special
area of interest if human spacecraft interaction is considered.
The effect on the human has already been shown for OOS missions in which the
operator on ground steers robotic manipulators via geostationary relay satellites
[11]. It has not been tested, yet, for multimodal human free flyer interaction.
Accordingly, for initial tests a geostationary satellite was introduced in the com-
manding chain. The UDP connection (cp. Fig. 4) was utilized to send the commands
of the Novint Falcon at SSL via a terrestrial internet connection to a ground station
at the Institute of Astronautics of Technische Universitaet Muenchen in Germany.
The telecommands were forwarded via the geostationary relay satellite ARTEMIS
(Advanced Relay Technology Mission) of the European Space Agency (ESA) to a
ground station of ESA in Redu, Belgium. The signal was mirrored in Redu and
retransmitted analogously back to MIT, where again the UDP connection was used
to feed the telecommand into the hardware on the air table and change the posi-
tion of SPHERES in the test environment. That way the SPHERES satellites were
controlled by the Novint Falcon via a geostationary satellite. The round trip delay
characteristics were logged and subsequently implemented into the scenario as a
SIMULINK block. That way the test scenarios could be evaluated in the absence of
a satellite link but with round trip delays representative for commanding a space-
craft in orbit.
1 Multimodal Human Spacecraft Interaction in Remote Environments 9
To show the benefit of multimodal feedback to the operator, two scenarios were
developed and tested. Both are based on a servicing operation, in which three
satellites are involved. The target satellite is the satellite to be serviced. Therefore,
the servicer satellite has to execute proximity operations, approach the target, and
eventually dock with it. The inspector satellite is supporting the operator on ground
with additional data of the remote environment. It carries a camera system and
can yield information on the distance between the two other satellites.
In this first scenario the control of the inspector satellite is handed over to the human
operator, while the servicer and the target dock autonomously. The task of the
operator is to ensure that the initial states of the other two satellites are appropriate
for the docking maneuver. Thus, the operator commands the inspector satellite
as depicted in Fig. 5 from its position in front of the other two satellites to a position
behind the two satellites, which is indicated by a virtual checkered marker.
For efficiently accomplishing this circumnavigation, virtual obstacles were
created to avoid collisions with the servicer, the target, and the borders of the
experimental volume. As to be seen in Fig. 5 both of the satellites to dock feature a
virtual collision avoidance sphere. Further, on the left and the right side of the
volume, there are virtual (brick) walls introduced. The Novint Falcon generates
forces in case the operator penetrates those objects. These resistance forces are fed
back to the operator and thus prevent from colliding with the actual hardware on
the SSL air table.
A further benefit of using the virtual reality techniques is that the environment
can be augmented with additional data of the remote environment. For example,
arrows can be used for indicating the current velocity and rotation rate (double
arrow) of the inspector. Furthermore, there are two entities of the inspector satellite
to be seen in the VR environment. The dark entity shows the commanded state,
whereas the pale entity shows the actual state of the hardware in the remote
environment. This is of great benefit for the human operator in the presence of
time delays as they occur due to the use of relay satellites.
Similar to the first scenario, the inspector, target, and servicer satellite are again
involved in the second scenario. The servicer is supposed to dock with the target,
whereas the inspector is transmitting additional data from the remote scene. In this
scenario the target and the inspector (right upper corner in Fig. 6) are operating
autonomously and the servicer satellite (lower right corner) is controlled by the
human operator via the relay satellite.
Again, the virtual environment is enriched by collision avoidance objects (at the
inspector and the borders of the volume). The task of the operator is to accomplish a
successful docking maneuver. Therefore, the human operator is supposed to com-
mand the servicer at first to a position roughly aligned with centre of the docking
cone, which can be seen in Fig. 6 and approx. 50 cm away from the target. In a
second step the operator is commanding the servicer along the virtual cone until the
berthing takes place.
The docking cone is a mean to simplify the proximity operations for the operator.
Once the servicer has crossed the assistance horizon of the cone, a force field is
applied to the Falcon, which drives the servicer into the docking cone. Inside the
docking cone another force field drives the servicer towards the target. Here, the
forces are proportional to the distance to the target. This helps the operator to
concentrate on the precision of the docking point rather than to worry about relative
velocities and collisions.
The two scenarios were controlled via the German ground station [12] at the
Institute of Astronautics and the ESA relay satellite. The human operator at MIT
in Cambridge received instantaneous feedback from the haptic-visual workspace.
To have a representative test conditions the operator had only visual feedback from
the SPHERES Goggles and the Matlab Simulink virtual instance of the remote
environment. Further, the haptic device yielded additional forces for an advanced
human spacecraft interaction in the 3D environment.
The occurring round trip delays were logged since they are a first indicator for
the quality of the human task performance. Figure 7 shows an example graph of the
delay characteristics over time. The round trip delays are plotted depending on
the respective UDP packet number. They indicate that the delay in a real OOS mission
can be, except for a couple of outliers, well below 1 s. The outliers occurred due to
the use of a terrestrial internet connection and the lack of synchronization between
1400
1300
1200
1100
delay [ms]
1000
900
800
700
600
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
packet number
Fig. 7 Round trip delay characteristic of the free flyer control via ARTEMIS
12 E. Stoll et al.
the sampling rate of the hardware at MIT and the sampling rate of the satellite
modem at LRT. Nonetheless, a mean of 695.5 ms with a sample standard deviation
of 24.1 ms indicate an acceptable round trip delay [13] for telepresence operations.
2 10
1.8 9
1.6 8
1.4 7
1.2 6
y [m]
1 5
0.8 4
0.6 3
0.4 2
0.2 1
0
0 0.2 0.4 0.6 0.8 1 1.2 force
x [m] [N]
2 10
1.8 9
1.6 8
1.4 7
1.2 6
y [m]
1 5
0.8 4
0.6 3
0.4 2
0.2 1
0
0 0.2 0.4 0.6 0.8 1 1.2
force
x [m] [N]
of the spacecraft is indicated by a solid line, whereas the force feedback is labeled
by small circles in gray scale. If a collision avoidance sphere was penetrated as e.g.
in Fig. 8 a restraining force was created proportional to the penetration depth and
the velocity (spring-damper system) of the spacecraft. The same held true for
virtual walls as can be seen in Fig. 9. This figure further shows the force feedback
inside the docking cone. As can be seen, the haptic feedback prevented the human
operator form colliding with the other spacecraft or the experimental boundaries. It
gave the operator a feeling for critical areas and helped the operator to accomplish a
very smooth docking/berthing approach.
6 Summary
This work presented the first tests on haptic feedback for free flyer systems. It
proposes that multimodal feedback from servicer satellites enhances the human task
performance. This feedback supports the operator with an intuitive concept for
collision avoidance and relative navigation. That way, complex tasks in micrograv-
ity can be safely operated from ground.
References
8. S. Fredrickson, S. Duran, J. Mitchel, Mini AERCam inspection robot for human space
missions, in Proceedings of AIAA Space, San Diego, USA, Sept 2004
9. Novint Technologies Inc. (February 2010). http://www.novint.com
10. M. de Pascale, D. Prattichizzo, The Haptik Library: a component based architecture for
uniform access to haptic devices, IEEE Robotics Autom. Mag. 14(4), 64–75 (2007)
11. E. Stoll, Ground verification of telepresence for on-orbit servicing. Dissertation, Lehrstuhl f€ ur
Raumfahrttechnik, Technische Universit€at M€ unchen, 2008, ISBN 978-3-89963-919-3
12. J. Letschnik, E. Stoll, U. Walter, Test environment for time delay measurements of space links
via ARTEMIS, in Proceedings of 4th ESA International Workshop on Tracking, Telemetry
and Command Systems for Space Applications TTC 2007, Darmstadt, Germany, 2007
13. E. Stoll et al., Ground verification of the feasibility of telepresent on-orbit servicing. J. Field
Robotics 26(3), 287–307 (2009)
Chapter 2
A Framework for Collaborative Aspects
of Intelligent Service Robot
Abstract Intelligent service robot is becoming one of the most interesting issues
in the recent Robot research. The service robot monitors its surroundings, and
provides a service to meet a user’s goal. The service often becomes too complex
that one single robot may not handle efficiently. In other words, a group of robots
may be needed to accomplish given task(s) by collaborating each other. We can
define this activity as a robot grouping, and we need to study further to make better
group(s) by considering their characteristics of the each robot. But, it is difficult and
no formal methods to make such a specific group from the many heterogeneous
robots that are different in their functions and structures. This paper describes an
intelligent service robot framework that outlines a multi-layer structure, which is
suitable to make a particular group of robots to solve given task by collaborating
with other robots. Simulated experimentation for grouping from the generated
several heterogeneous is done by utilizing Entropy algorithm. And the collabora-
tion among the robots is done by the multi-level task planning mechanism.
1 Introduction
Ubiquitous computing [1] defines that various computing objects are connected
through the network, so that the system automatically provides services in anytime
in any place. An intelligent robot is an autonomous and dynamic object in this
ubiquitous environment, and it becomes one of the most interesting issues in this
area. It interacts with various surrounding computing devices, recognizes context,
J. Suh (*)
Korea School of Computer Science, Kookmin University, 861-1 Jeongneung-Dong, Seongbuk-
Gu, Seoul
e-mail: [email protected]
and provides appropriate services to human and the environment [2]. The defini-
tion of the context [3] is any entity that affects interactions among the computing
objects in this environment. For instance, user, physical location, robots could be
such entities. Therefore, information described for the characteristics of such
entities are defined as a context, and recognizing a situation from the context is
the main focus of the context awareness system [4]. Essentially, the robot is
required to carry on two main issues in this study; understanding the context and
carrying out the context.
First, understanding a context can be done in many different ways, but the
general procedure includes that system perceives raw environmental information
through the physical sensors. And then context modeling and reasoning steps
follows right after preprocessing the raw data. The final result from this procedure
is a context. The approaches on this procedure are vary, and it needs to be further
studied in detail to make the system more efficient, and there are large amount of
studies [2–4] are being reported recently. The second issue is that the robot has to
carry out the generated context to meet the user’s goal. The context can be further
divided into some tasks, which often becomes too complex that one single robot
may not handle in this environment. In other words, a group of robots may be
needed to accomplish given task(s) by collaborating each other. We can define this
activity as a robot grouping, and we need to study further to make better group(s) by
considering their characteristics of the robot and the task.
In this paper, we are describing a development of the social robot framework for
providing an intelligent service with the collaboration of the heterogeneous robots,
in the context awareness environment. The framework is designed as multi-layers
suitable for understanding context, grouping robots, and collaborating among the
robots. In this study, we mainly focused and implemented on the grouping and
collaborating parts of the system. The context understanding part of the system is
designed, but will be discussed in the next study with comprehensive ontological
knowledge representations along with context modeling and context reasoning
mechanisms.
2 Related Works
With the increase of mobile computing devices, the ubiquitous and pervasive
computing is getting popular recently. One part of the pervasive system is the
context awareness system, which is being studied explosively in various directions.
Among the many research results on this issue, the most prominent systems are the
CoBrA [5] (Context Broker Architecture), SOCAM [6] (Service Oriented Context-
Aware Middleware), and Context-Toolkit [7]. The CoBrA and SOCAM used
ontological model aiming for the benefits of easy sharing, reusing, and reasoning
2 A Framework for Collaborative Aspects of Intelligent Service Robot 19
of context information. But, first, these systems were not flexible enough to extend
to other domains when the system needs to expand with other devices or service
with a new domain. And second, they were also limited in formalized and shared
expression of the context, which is needed when the system interoperate or trans-
plant with other systems. Therefore, the ontology becomes one of the most popular
solutions to represent the data for the recent context awareness systems. Short
reviews of the previous systems as follows.
Context-Toolkit: This early context awareness middleware system gains infor-
mation from the connected devices. But, since it does not use ontology, it lacks of
the standardized representation for the context, and also the interoperability
between heterogeneous systems.
CoBrA: This system is developed based on the ontology, so that the standar-
dized representation for the context is possible. But, since the use of ontology is
limited only to a special domain, so called ‘Intelligent Meeting Room’, it does not
guarantee any extensibility to the other diverse domains.
SOCAM: This system is based on Service-oriented structure, which is efficient
middleware system for finding, acquiring, analyzing context information. But, since
it depends on OWL (Web Ontology Language) for reasoning, its reasoning capa-
bility is limited to its own learning module and inference engine.
In our study, we adapted merits of the previously studied systems, and designed a
framework that can overcome the above limitations, such as, the limited standardized
representation or extensibility. For instance, we have adapted context-awareness layer
by adapting the CONCON model [8] to provide extensibility of the ontological
representation.
First of all, our research issue focused on the collaboration among the robots, which
needs to form a group. Therefore, we first need to develop a method of grouping
robots for a given task. Study on the robot grouping is just beginning, but some
related researches are being reported as follows.
For instance, Rodic and Engelbrecht [9] studied initial investigation into feasi-
bility of using ‘social network’ as a coordination tool for multi-robot teams. Under
the assumption of multi-robot teams can accomplish certain task faster than a single
robot, they proposed multi-robot coordination techniques. Inspired by the concept
from the animal colony, Labella et al. [10], showed simple adaptation of an
individual can lead task allocation. They developed several small and independent
modules, called ‘s-bots’, and the collaboration in this system is achieved by means
of communication among them. They claimed that individuals that are mechani-
cally better for retrieval are more likely to be selected. Another point of view for the
collaboration is task allocation among the multi-robot colony. Mataric et al. [11]
had an experimentation comparing between a simulated data with physical mobile
robot experiment. The result showed that there is no single strategy that produces
20 J. Suh and C.‐W. Woo
best performance in all cases. And other approaches are the multi-robot task
allocation by planning algorithm [12–14].
All of these research efforts are being done in many different fields, and the
selection of individual is rather random or simple, which may often result in
inadequacy of performing a given task. Using ‘entropy’ of information theory
[15] could be a good alternative compare to the other informal approaches. Good-
rich argues that the behavioral entropy can predict human workload or measure of
human performance in human robot interaction [16] (HRI) domain. Balch [17]
demonstrated successfully in his experimental evaluation of multi-robot soccer and
multi-robot foraging teams. In our study, we will use the ‘entropy’ metric for
selecting an appropriate robot from the robot colonies by generating decision tree
first, to minimize the complexities of adapting the entropy.
As in the Fig. 1, the overall architecture of our system is divided into three main
layers, context-awareness layer, grouping layer, and collaboration layer. Also, we
have two more sub-layers, Physical and Network layer, which will not be discussed
here, since they are not the main issue here. The overall process of the three main
layers works as follows, and entire structure of the system can be viewed in the next
Fig. 2.
l The context-awareness layer generates a context from the raw information, and
then does modeling and reasoning in order to aware of the context.
l The grouping layer creates decision classifier based on the entropy mechanism,
and makes a necessary group.
Network Layer
Physical Layer
Message Protocol
l The collaboration layer does multi-level task planning; high-level task planning
generates a set of tasks for the context, the low-level task planning generates a
set of actions for the task.
The context awareness layer receives raw data from surrounding computing
devices including RFID, Zigbee, and so on. Then it transforms the raw data into
a meaningful semantic data by going through some preprocessing steps, and
finally it generates a situation. This work can be done from the next sub modules
as follows.
Raw Data Collector: It simply receives raw data from the Physical layer passes
it to the context provider.
Context Provider: It receives raw data from the raw data collector and trans-
forms the data into standardized context as a preprocessing step according to low
context model. The low context model means that the raw data is formalized but it
is not semantic data.
Context Integrator: It receives standardized context from the context provider
and generates inference level context through the high-level context modeling. The
high level model supports converting the formalized context into a semantic
context.
22 J. Suh and C.‐W. Woo
When the situation generation is done by the situation acceptor, then this situation is
delivered to the grouping layer to make a group. The grouping layer first receives
information about which robot is connected to the server, and stores this informa-
tion into Group info database. Because currently connected robots through the
network can be the candidates for making a group. The grouping layer consists of
three sub modules, Situation Acceptor, Classifier Generator, and Grouper, and the
details of their work are as follows.
Situation Acceptor: It simply receives information regarding a situation, from
the Context awareness layer, and requests to the Classifier Generator to begin
grouping for this given situation.
Classifier Generator: It generates a classifier (i.e. decision tree) to make a
group for a given specific situation. And also we need to have a set of predefined
training data representing some characteristics of various kinds of robots. In this
study, we generated the classifier based on ID3 decision tree algorithm.
Grouper: The Grouper has the next two sub-modules; the searcher requests
instance information from the connected each robot through the network layer. In
other words, after the request for the instance information is acquired, such as
‘cleaning’, the grouper makes a group by using the classifier that generated from the
Classifier Generator module. The generated group information is stored in the
group info repository, and will be used for collaboration in the collaboration layer
later on.
For this experiment, we can set up several virtual situations, such as ‘cleaning’
situation, ‘delivery’ situation, ‘conversation’ situation, and so on. The Grouping
layer receives one from the situations, and start making a group that is appropriate
for the service.
The Fig. 3 is the user interface for entering robot attributes and a situation.
From this interface, we can enter five attributes interactively, such as ‘power’,
‘location’, ‘speed’, ‘possession’, ‘IL’, and a situation, such as ‘cleaning’. By using
this interface, we can create robot instances as many as we want arbitrarily and
they represent heterogeneous robots. And also we can set up a situation by just
selecting from the window. This means that each robot has different character-
istics and good for a certain work. For instance, we can set up a robot instance
2 A Framework for Collaborative Aspects of Intelligent Service Robot 23
good for a ‘cleaning’ job as follows. If the robot has low power, location is near,
speed is low, possesses a tray, and so on, then we can consider this robot is good
for a cleaning situation. Similarly, we can create several robot instances for our
experimentation.
Each robot’s attributes are described as in the Table 1, which shows that each robot
has different characteristics. For instance, ‘power, and speed’ means the current
robot’s basic characteristics, ‘location’ is the robot’s location to perform the given
24 J. Suh and C.‐W. Woo
context, ‘possession’ means a tool that robot can handle, and ‘IL’ means the robot’s
capability of language interpretation. Since we are not using sensed data from
computing devices for this simulation, we can generate robot instances through
the user interface arbitrarily, as many as possible. Table 1 is a set of training data
that shows ten robot instances for ‘cleaning’ situation.
The following equation is the entropy algorithm of the information theory, which
will be used to generate a tree.
X j Su j
GainðS; AÞ ¼ EntropyðSÞ EntropyðSÞ (2)
u2ValuesðAÞ
S u
We can compute the general entropy using the Eq. (1), and compute the gain
entropy to select a single attribute using Eq. (2).
It consists of following three sub-components on the server side, and action planner
is on the client (robot) side. The distinctive features of them are as follows.
Group Info. and Context Collector: It collects information of selected situa-
tion and information for grouped robots from the Grouping Layer.
Task Planner: It generates a set of tasks using high-level planning rules
(a global plan) on the server side. For instance, the generated tasks for “cleaning”
situation can be the “sweeping” and “mopping”.
Task Allocator: The task allocator sends the generated tasks to appropriate
robots.
Action Planner: Generated tasks by the task planner are delivered to the client
(robot), and further refined intro a set of actions by the action planner.
In collaboration layer, the task is carried out by the multi-level task planning
mechanism as follows (see Fig. 4).
l The task planner gets the situation(s), and generates a set of tasks based on the
high-level planning rules.
2 A Framework for Collaborative Aspects of Intelligent Service Robot 25
l Then the system allocates the tasks to the appropriate robot who can handle the
specific task.
l When the task allocation is done, then each assigned robot activates the action
planner to generate a set of actions.
4 Simulated Experimentation
The overall experimentation is divided into two parts, robot grouping and robot
collaboration. Robot grouping is done by generating classifier using the Entropy
metric, and the collaboration is done by task planning algorithm.
In this study, the robot grouping simulation experiment begins with generating
virtual robot instances and a situation through the user interface as in the Fig. 3. We
can set up characteristics of each robot by selecting five attributes and also can set
up a virtual situation through the interface. When all the selection is done, then we
can send the information to the server using the start/stop button in the interface.
Figure 5 shows the snapshot of the implemented simulation result for grouping.
We designed the implementation result as six sub windows, and the function of
each window is explained as follows.
l ‘Context’ window: It shows the selected virtual context, such as, ‘cleaning’.
l ‘Training Data’ window: It shows ten training data for the selected situation.
26 J. Suh and C.‐W. Woo
The task planning rules for collaboration layer is divided into two levels, high level
planning rules (general task rules), and the low-level planning rules (robot-specific
action rules). The general task rule can generate set of tasks, and the robot specific
action rule can generate a set of actions to perform the task. For example, if
‘cleaning’ is the selected context, then task planner generates a set of tasks for
the ‘cleaning’ as ‘sweeping’, and ‘mopping’. When the task ‘sweeping’ is assigned
to a robot, the generated action plan is ‘move’, ‘lift’, ‘sweep’, and ‘release’. The
task planner works on the server side, and the action planner is located on the client
side. The sample task planning rules are as in the Table 2.
Our system divides the planning mechanism in two levels, a high-level planning
and low-level planning. It is a kind of hierarchical planning mechanism that is
efficient enough to make the planning mechanism as simple as possible. The high-
level planner generates a set of subtasks to accomplish a given context, and saves
them in a stack that will be taken one by one by the low-level planner. When the
high-level planning is done, the low-level planner gets activated with each one of
the subtasks. A single subtask becomes a goal to accomplish in the low-level
planning process, and it generates a set of actions as a result.
5 Conclusion
Acknowledgement This work was supported by the Seoul R&BD program (10848) of Korea.
References
1. M. Weiser. The computer for the twenty-first century. Sci. Am. 265(3), 94–104 (1991)
2. G.K. Mostefaoui, J. Pasquier-Rocha, P. Brezillon, Context-aware computing: a guide for the
pervasive computing community. Proc. IEEE/ACS Int. Conf. Pervasive Serv. (ICPS’04)
19(23), 39–48 (2004)
3. A.K. Dey, G.D. Abowd, Towards a better understanding of context and context-awareness.
GVU Technical Report GIT-GVU-99-22, Georgia Institute of Technology, 1999
4. M. Baldauf, S. Dustdar, A Survey on context-aware systems. Int. J. Adhoc Ubiquitous
Comput. 2, 263–277 (2004)
5. H. Chen, An intelligent broker architecture for pervasive context-aware systems. Ph.D. thesis,
University of Maryland, 2004
6. T. Gu, H.K. Pung, D.Q. Zhang, A Service-oriented middleware for building context-aware
services. J. Netw. Comput. Appl. 28, 1–18 (2005)
7. D. Salber, A. Dey, G. Abowd, The context toolkit: aiding the development of context-enabled
applications, in Proceedings of CHI’99, Pittsburgh, PA, 1999, pp. 434–441
2 A Framework for Collaborative Aspects of Intelligent Service Robot 29
8. X.H. Wang, T. Gu, D.Q. Zhang, H.K. Pung, Ontology based context modeling and reasoning
using owl, in Proceedings of 2nd IEEE Annual Conference on Pervasive Computing and
Communications Workshops, PERCOMW’04, Orlando, Florida, USA, 2004, pp. 18–22
9. D. Rodic, A.P. Engelbrecht, Social network as a coordination techniques for multi-robot
systems. International conference on system design and applications, Springer, Berlin,
2003, pp. 503–513
10. T.H. Labella, M. Dorigo, J-L. Deneubourg, Self-organized task allocation in a group of robots.
Technical Report No. TR/IRIDIA/2004–6, Universite Libre de Bruxelles, 2004
11. M. Mataric, S. Sukhatme, E. Ostergaard, Multi-robot task allocation in Uncertain Environ-
ment. Auton. Robots 14, 255–263 (2003)
12. M. Sterns, N. Windelinckx Combining planning with reinforcement learning for multi-robot
task allocation. in Proceedings of adaptive agents and MASII, LNAI 3394, 2006, pp. 260–274
13. R. Alami, A. Clodic, V Montreuil, E. Akin, R. Chatila, Task planning for human-robot
interaction, in Proceedings of the 2005 joint conference on Smart Object and ambient
intelligence, 2005, pp. 81–85
14. B. Gerkey, and M. Mataric, Principled communication for dynamic multi-robot task alloca-
tion. Exp. Robotics II, 353–362 (2000)
15. C.E. Shannon, The Mathematical Theory of Communication (University of Illinois Press,
Illinois, 1949)
16. M.A. Goodrich, E.R. Boer, J.W. Crandall, R.W. Ricks, M.L. Quigley, Behavioral entropy in
human-robot interaction, Brigham University, Technical Report ADA446467, 2004
17. T. Balch, Hierarchic social entropy: an information theoretic measure of robot group diversity.
Auton. Robots 8, 09–237 (2000)
Chapter 3
Piecewise Bezier Curves Path Planning
with Continuous Curvature Constraint
for Autonomous Driving
1 Introduction
Bezier Curves were invented in 1962 by the French engineer Pierre Bezier for
designing automobile bodies. Today Bezier Curves are widely used in computer
graphics and animation. The Bezier curves have useful properties for the path
generation problem as described in Section 2 of this paper. Hence many path
planning techniques for autonomous vehicles have been discussed based on Bezier
Curves in the literature. Cornell University Team for 2005 DARPA Grand Chal-
lenge used a path planner based on Bezier curves of degree 3 in a sensing/action
feedback loop to generate smooth paths that are consistent with vehicle dynamics
[5]. Skrjanc proposed a new cooperative collision avoidance method for multiple
robots with constraints and known start and goal velocities based on Bezier curves
of degree 4 [6]. In this method, four control points out of five are placed such that
desired positions and velocities of the start and the goal point are satisfied. The fifth
point is obtained by minimizing penalty functions. Jolly described Bezier curve
based approach for the path planning of a mobile robot in a multi-agent robot soccer
system [3]. The resulting path is planned such that the initial state of the robot and
the ball, and an obstacle avoidance constraints are satisfied. The velocity of the
robot along the path is varied continuously to its maximum allowable levels by
keeping its acceleration within the safe limits. When the robot is approaching a
moving obstacle, it is decelerated and deviated to another Bezier path leading to the
estimated target position.
Our previous works introduced two path planning algorithms based on Bezier
curves for autonomous vehicles with waypoints and corridor constraints [1, 2]. Both
algorithms join cubic Bezier curve segments smoothly to generate the reference
trajectory for vehicles to satisfy the path constraints. Also, both algorithms are
constrained in that the path must cross over a bisector line of corner area such that
the tangent at the crossing point is normal to the bisector. Additionally, the con-
strained optimization problem that optimizes the resulting path for user-defined cost
function was discussed. Although the simulations provided in that paper showed
the generation of smooth routes, discontinuities of the yaw angular rate appeared at
junction nodes between curve segments. This is because the curve segments are
constrained to connect each other by only C1 continuity, so the curvature of the path
is discontinuous at the nodes. (Section 2 describes this more detail.)
To resolve this problem, we propose new path planning algorithms. The algo-
rithms impose constraints such that curve segments are C2 continuous in order to
have curvature continuous for every point on the path. In addition, they give the
reference path more freedom by eliminating redundant constraints used in previous
works, such as the tangent being normal to the bisector and symmetry of curve
segments on corner area. The degree of each Bezier curve segments are determined
by the minimum number of control points to satisfy imposed constraints while
cubic Bezier curves are used for every segments in previous works. The optimized
resulting path is obtained by computing the constrained optimization problem that
controls the tradeoff between shortest and smoothest path generation. Furthermore,
the proposed algorithms satisfy the initial and goal orientation as well as position
constraint while previous works only made the position constraint satisfied. The
numerical simulation results demonstrate the improvement of trajectory generation
in terms of smoother steering control and smaller cross track error.
2 Bezier Curve
X
n
PðtÞ ¼ Bni ðtÞPi ; t 2 ½0; 1
i¼0
3 Piecewise Bezier Curves Path Planning with Continuous Curvature Constraint 33
where Pi are control points and Bni ðtÞ is a Bernstein polynomial given by
n
Bni ðtÞ ¼ ð1 tÞni ti ; i 2 f0; 1; . . . ; ng
i
Then, fP00 ; P10 ; . . . ; Pn0 g are the control points of one segment and fPn0 ; Pn1
1 ; ...,
Pn0} are the another. (See an example in Fig. 1.) Note that, by applying
the properties of Bezier Curves described in the previous subsection, both of the
subdivided curves end at Pn0 and the one is tangent to Pn1 n
0 P0 and the other is to
Pn0 Pn1
1 at the point. Since Pn0 is chosen on Pn1
0 P1
n1
by using (1), the three points
n1 n n1
P0 , P0 , and P1 are collinear.
Remark 1. A Bezier curve P(t) constructed by control points fP00 ; P01 ; . . . ; P0n g
always passes through the point Pn0 and is tangent to Pn1
0 P1
n1 at Pn .
0
P01 P11
P30 P21
P20 P02
P10 P12
Fig. 1 Subdividing a cubic
Bezier curve with t ¼ 0. 4
P00 P03
by the de Casteljau Algorithm
34 J.‐W. Choi et al.
The derivatives of a P
Bezier curve can be determined by its control points. For a
Bezier curve PðtÞ ¼ ni¼0 Bni ðtÞPi , the first derivative is given by
X
n1
_
PðtÞ ¼ Bn1 ðtÞDi (2)
i
i¼0
_
where Di, control points of PðtÞ are
Di ¼ nðPiþ1 Pi Þ
Geometrically, (2) provides us with a tangent vector. The higher order derivative
can be obtained by using the relationship of (2), iteratively.
Two Bezier curves P(t) and Q(t) are said to be Ck at t0 continuous if
_ xðtÞj
_ yðtÞ yðtÞ€
jxðtÞ€
kðtÞ ¼ 3 (4)
ð_x2 ðtÞ þ y_ 2 ðtÞÞ2
Lemma 1. For the path constructed by two Bezier curve segments PðtÞjt2½t0 ;t1
and QðtÞjt2½t1 ;t2 , if P(t) and Q(t) are at least C2 continuous at t1 then the path has
continuous curvature for every point on it.
Proof. The curvature is expressed in terms of the first and the second derivative of a
curve in (4). Since the Bezier curves are defined as polynomial functions of t, their
k-th derivative for all k ¼ 1, 2, . . . are continuous. Hence, they always have
continuous curvature for all t. For two different Bezier curves P(t) and Q(t), it is
_
sufficient that k(t1), the curvature at the junction node is continuous if PðtÞ _
¼ QðtÞ
€ €
and PðtÞ ¼ QðtÞ are continuous at t1.
3 Problem Statement
With the notation defined above, the path planning problem is formulated
as: Given an initial position and orientation and a goal position and orientation of
the vehicle, generate a path l specifying a continuous sequence of positions and
orientations of the vehicle satisfying the path constraints [4]. In other words, we are
to find a continuous map
l : ½0; 1 ! C
with
where qinit ¼ (W1, c0) and qgoal ¼ (WN, cf) are the initial and goal states of the
path, respectively.
Given a planned path, we use the path following technique with feedback
corrections as illustrated in Fig. 2. A position and orientation error is computed
every 50 ms. A point z is computed with the current longitudinal velocity and
z
yerr
p
yerr
heading of the vehicle from the current position. z is projected onto the reference
trajectory at point p such that zp is normal to the tangent at p. The cross track error
yerr is defined by the distance between z and p. The steering control o uses a PID
controller with respect to cross track error yerr.
ð
dyerr
do ¼ kp yerr þ kd þ ki yerr dt
dt
In this section, two path planning methods based on Bezier curves are proposed.
To describe the algorithms, let us denote b ^j as the unit vector codirectional with
the outward bisector of ∠Wj1WjWj+1 for j 2 {2, . . ., N 1} as illustrated in Fig. 3.
The planned path must cross over the bisectors under the waypoint and the corridor
constraints. The location of the crossing point is represented as Wj þ dj b ^j , where
dj 2 R is a scalar value. The course is divided into segments Gi by bisectors. Gi
indicates the permitted area for vehicles under corridor constraint wi, from Wi to Wiþ1.
Bezier curves constructed by large numbers of control points are numerically
unstable. For this reason, it is desirable to join low-degree Bezier curves together in
a smooth way for path planning [6]. Thus both of the algorithms use a set of low-
degree Bezier curves such that the neighboring curves are C2 continuous at their
end nodes. This will lead to continuous curvature on the resulting path by Lemma 1.
The Bezier curves used for the path plannings are denoted as i PðtÞ ¼
Pni
k¼0 Bk ðtÞ Pk for i 2 {1, . . ., M}, t 2 [0, 1], where M is the total number of
ni i
the Bezier curves and ni is the degree of iP. The planned path l is a concatenation of
all iP such that
bˆ 3
W3
G3
W4
G2
In this path planning method (BS), the Bezier curve iP for i 2 {1, . . ., N 1} are
used within each segment Gi. The adjacent curves, j1P and jP are C2 continuous
^j . The control points of iP, iPk for k ¼ {0, . . ., ni}
at the crossing point, Wj þ dj b
are determined to maintain these conditions.
l The beginning and the end point are W1 and WN.
1
P0 ¼ W 1 ; N1
PnN1 ¼ WN (5)
1
P1 ¼ W1 þ l0 ðcos c0 ; sin c0 Þ; l0 2 Rþ (6a)
N1
PnN1 1 ¼ WN lf ðcos cf ; sin cf Þ; lf 2 Rþ (6b)
l
j1
P and jP, 8j 2 {2, . . ., N 1} are C2 continuous at the crossing point.
j1 ^j
Pnj1 ¼ j P0 ¼ Wj þ dj b (7a)
1
jdj j < 8 minðwj1 ; wj Þ (8)
2
i
P1 2 Gi ; . . . ; i Pni 1 2 Gi (9)
Equations (6a, b) are derived by using the tangent property of Bezier curves at
their end points. Equations (7a–c) are obtained by applying (2) and (3). Equation (9)
makes the resulting Bezier curve satisfy the corridor constraint by the convex hull
property. At each crossing point, three control points of each adjacent Bezier curve
are dedicated to the C2 continuity constraint by (2), (4), and Lemma 1. So the
minimum number of control points to satisfy the constraints independent of the
others are six for iP, i 2 {2, . . ., N 2}. On other hand, 1P needs five: three to
38 J.‐W. Choi et al.
Note that 1P0 and N1 PnN1 are fixed in (5). 1P1 and N1 PnN1 1 are fixed in
(6a, b). j1 Pnj1 and jP0 rely on dj in (7a–c). j1 Pnj1 1 and j1 Pnj1 2 rely on jP1
and j 1P2. So the free variables are, 8j 2 {2, . . ., N 1}, P1 ¼ {jP1}, P2 ¼ {jP2}, d
¼ {dj}, and L ¼ {l0, lf}. The number of the variables or the degrees of freedom is
5N 8. The variables are computed by minimizing the constrained optimiza-
tion problem:
X
N 1
min J ¼ Ji (10)
P1 ;P2 ;d;L
i¼1
subject to (8) and (9), where Ji is the cost function of iP(t), given by
ð1
Ji ¼ ½ðai ð_x2 ðtÞ þ y_ 2 ðtÞÞ þ bi ji kðtÞj2 dt (11)
0
where ai 2 R and bi 2 R are constants that control the tradeoff between arc lengths
versus curvatures of the resulting path.
Another path planning method (BC) adds quadratic Bezier curves on the corner area
around Wj, j 2 {2, . . ., N 1}. The quadratic Bezier curves are denoted as
P
j
QðtÞ ¼ 2k¼0 B2k ðtÞ j Q0k intersects the j-th bisector. The first and the last control
point, j Q00 and j Q02 are constrained to lie within Gj1 and Gj, respectively. Within
each segment Gi, another Bezier curve is used to connect the end points of jQ
with C2 continuity and/or W1 with slope of c0 and/or WN with cf. Hence, jQ is the
curve segments of even number index:
2ð j1Þ
PðtÞ ¼ j QðtÞ; j 2 f2; . . . ; N 1g
Let tc denote the Bezier curve parameter corresponding to the crossing point of
j
Q(t) on the bisector, such that
j ^j :
Qðtc Þ ¼ Wj þ dj b (12)
Let yj denote the angle of the tangent vector at the crossing point from X-axis:
j _ c Þ ¼ ðjj Qðt
Qðt _ c Þj cos yj ; jj Qðt
_ c Þj sin yj Þ: (13)
The notations are illustrated in Fig. 4. Due to the constraint of j Q00 and j Q02 within
Gj 1 and Gj, the feasible scope of yj is limited to the same direction as Wjþ1 is
with respect to b ^j . In other words, if Wjþ1 is to the right of b^j , then yj must point
^
to the right of bj , and vice versa.
Given j Q00 , j Q02 , dj, and yj, the other control point j Q01 is computed such that the
crossing point is located at Wj þ dj b ^j and the angle of the tangent vector at the
crossing point is yj. Since each control point is two-dimensional, the degrees of
freedom of jQ(t) are six. Since dj and yj are scaler, representing jQ(t) in terms of
Q0 , Q2 , dj, and yj does not affect the degrees of freedom. However, it comes up
j 0 j 0
with an advantage for corridor constraint. If we compute j Q01 such as above, the
points computed by applying the de Casteljau algorithm such that two subdivided
curves are separated by the j-th bisector are represented as j Q00 and j Q02 as described
in the following. The two curves are constructed by fj Q00 ; j Q10 ; j Q20 g and
fj Q20 ; j Q11 ; j Q02 g. We can test if the convex hull of fj Q00 ; j Q10 ; j Q20 g lies within Gj
j 2 j 1 j 0
1 and if that of f Q0 ; Q1 ; Q2 g lies within Gj in (26), instead of testing that of
j 0 j 0 j 0
f Q0 ; Q1 ; Q2 g. (Note that j Q01 is not constrained to lie within corridor as shown in
Fig. 4.) So, the convex hull property is tested for tighter conditions against the
corridor constraint without increasing the degrees of freedom.
In order to compute j Q01 , the world coordinate frame T is transformed and rotated
into the local frame jT where the origin is at the crossing point, jQ(tc) and X axis
is codirectional with the tangent vector of the curve at the crossing point, j Qðt _ c Þ.
j Q0
bˆ j 1
j
Q̇ (tc )
Wj
–dj qj
Y
j Q(t )
c
j Q0
2
j
Q00
Fig. 4 The geometry of the
j
Q(t) in corner area around Wj X
40 J.‐W. Choi et al.
∗
at ∗ a(1–t )
j Q1 j Q1
0 1
X
j
Q20
j Q0
0
j
Q02
Let us consider the subdivision ratio, t∗ 2 (0, 1) such that the location of j Q20
computed by applying the de Casteljau algorithm with it is the crossing point. In
other words, t∗ has j Q20 be at the origin with respect to jT frame. Fig. 5 illustrates the
control points of jQ(t) with respect to jT frame. Note that j Q20 is at the origin by the
definition of jT and t∗. j Q10 and j Q11 are on the X axis by the definition of jT and
Remark 1. Let the coordinates of the control points be denoted as Q0i ¼ ðxi ; yi Þ,
i 2 {0, 1, 2}, where all coordinates are with respect to jT.
Lemma 2. Given dj and yj, for jQ(t) to intersect j-th bisector with the crossing
point determined by the dj and (12), and the tangent vector at the point determined
by the yj and (13), it is necessary that y0y2 0.
Proof. Let (x(t), y(t)) denote the coordinate of jQ(t) with respect to jT. By the
definition of jT and Remark 1, Q(t) passes through the origin with tangent slope
_ c Þ ¼ 0. Suppose that
of zero with respect to jT. That is, x(tc) ¼ 0, y(tc) ¼ 0 and yðt
_ > 0 and y€ðtÞ < 0 for t 2 [0, tc).
y0 ¼ y(0) < 0. Since y(t) is a quadratic polynomial, yðtÞ
_ < 0 and y€ðtÞ < 0 for t 2 (tc, 1]. Thus, y2 ¼ y(1) < 0 and y0y2 > 0.
Subsequently, yðtÞ
Similarly, if y0 > 0 then y1 > 0. If y0 ¼ 0 then yðtÞ _ ¼ 0 for t 2 [0, 1] and y2 ¼ 0.
Thus, y0y2 ¼ 0. □
We are to calculate j Q01 depending on whether y0y2 is nonzero. For simplicity,
superscript j is dropped from now on. Without loss of generality, suppose that
y0 < 0 and y2 < 0. Q20 is represented as
where a > 0 is some constant. Applying (1) with i ¼ 0 and j ¼ 1 and arranging the
result with respect to Q01 by using (14) gives
1 t 1 t
Q1 ¼ a
0
x0 ; y0 (15)
t t
3 Piecewise Bezier Curves Path Planning with Continuous Curvature Constraint 41
1 x0 y2 y0 x2
t ¼ pffiffiffiffiffiffiffiffiffiffiffi ; a¼ pffiffiffiffiffiffiffiffiffiffiffi (17)
1 þ y2 =y0 2y0 y2 =y0
t∗ and a have the square root of y2/y0. So, if y0y2 < 0 then t∗ and a are not
determined, hence, Q(t) is infeasible. That is, (17) ends up with Lemma 2.
If y0 ¼ y2 ¼ 0 then all control points of jQ are on X axis (see proof of Lemma 2).
In the geometric relation of control points and the points computed by applying the
de Casteljau algorithm as shown in Fig. 6, we obtain
x0 ¼ ða þ bÞt
x2 ¼ ða þ gÞð1 tÞ (18)
a ¼ bð1 tÞ þ gt
where a > 0, b > 0, g > 0 are some constants. Using (18), Q01 ¼ ðx1 ; 0Þ is
represented in terms of arbitrary t 2 (0, 1):
1 1t t
x1 ¼ x0 þ x2 (19)
2 t 1t
1
P0 ¼ W 1 ; 2N3
P4 ¼ W N (20)
1
P1 ¼ W1 þ l0 ðcos c0 ; sin c0 Þ; l0 2 R þ (21a)
2N3
P3 ¼ WN lf ðcos cf ; sin cf Þ; lf 2 R þ (21b)
bt b(1 – t ) gt g (1 – t )
l
i1
P and iP, 8i 2 {2, . . ., 2N 3} are C2 continuous at the junctions.
i1
Pni1 ¼ i P0 (22a)
1
jd j j < minðwj1 ; wj Þ; 8j 2 f2; . . . ; N 1g (23)
2
l ^j .
yj has the same direction as Wjþ1 is with respect to b
l j
Q00 and j Q02 with respect to jT satisfies Lemma 2.
y0 y2 0 (25)
j
Q00 2 Gj1 ; j Q10 2 Gj1 ; j Q02 2 Gj ; j Q11 2 Gj (26)
i
P1 2 Gi ; . . . ; i Pni 1 2 Gi ; i 2 f1; 3; . . . ; 2N 3g (27)
The free variables are, for j 2 {2, . . ., N 1}, Q ¼ {jQ0, jQ2}, d ¼ {dj},
u ¼ {yj}, and L ¼ {l0, lf}. The degrees of freedom is 6N 10. The variables are
computed by minimizing the constrained optimization problem:
X
N 1
min J ¼ Ji (28)
Q;d;y;L
i¼1
3 Piecewise Bezier Curves Path Planning with Continuous Curvature Constraint 43
subject to (23), (24,b), (25), (26), and (27), where Ji is the cost function of iP(t),
defined in (11). Notice that the convex hull property is tested for j Q10 and j Q11 of the
divided curves instead of j Q01 in (26). Thus, it comes up with tighter conditions for
curves against the corridor constraint.
5 Simulation Results
Simulations were run for the course with four waypoints and identical corridor
width of 8 as illustrated in Fig. 7. The initial and goal orientation are given by
c0 ¼ cf ¼ 0. For path following, the constant longitudinal velocity v(t) ¼ 10 m/s is
used. The magnitude of o is bounded within |o|max ¼ 25 rpm. The PID gains are
given by: kp ¼ 2, kd ¼ 1, and ki ¼ 0.1.
λlBS λcBS
70 70
Planned Path Planned Path
60 Actual Trajectory 60 Actual Trajectory
Vf Vf
50 50
North [m]
North [m]
40 40
30 30
20 20
10 10
V0 V0
0 0
0 20 40 60 80 0 20 40 60 80
East [m] East [m]
λlBC λcBC
70 70
Planned Path Planned Path
60 Actual Trajectory 60 Actual Trajectory
Vf Vf
50 50
North [m]
North [m]
40 40
30 30
20 20
10 10
V0 V0
0 0
0 20 40 60 80 0 20 40 60 80
East [m] East [m]
Fig. 7 The planned paths by BS method (top) and by BC method (bottom). Each pair of results are
obtained by minimizing arc lengths (left) and by minimizing curvatures (right)
44 J.‐W. Choi et al.
In Fig. 7, the reference paths (dashed curves) planned by applying the BS and BC
method are placed in top and bottom row, respectively. The actual trajectories
(solid curves) are generated by using the proposed tracking method. In the figures,
stars indicate the location of control points of Bezier curve segments at an even
number index, and empty circles indicate those of the others. The paths in the left
column are planned by minimizing the summation of (11) with ai ¼ 1 and bi ¼ 0.
Since only arc length is penalized, the cost function leads to paths with minimum
arc length, which we denote llBS and llBC for the BS and BC method, respectively.
On other hand, the paths in the right column are planned by minimizing the cost
function with ai ¼ 0 and bi ¼ 1 so that resulting paths with larger radii of curvature
are provided. We denote them lcBS and lcBC for the BS and BC method, respectively.
lcBS and lcBC generate longer but smoother trajectory guidance than llBS and llBC .
Taking a look at the tracking results on llBS and llBC , the vehicle overshoots in sharp
turns around W3 resulting in a large position error (see Fig. 8) due to the limit on
steering angle rate. The commanded steering angle rate on llBC , marked by ‘*’ in
Fig. 9 undergoes rapid changes and is constrained by the rate limit. However, on lcBS
and lcBC , the vehicle tracks the part of the planned paths accurately thanks to larger
radii of curvature. We can verify that more tangibly in cross track errors plot
provided in Fig. 8. Also, the steering control signal on lcBC , marked by ‘o’ in
Fig. 9 is smoother than that on llBC .
0.2
l
λBC
Cross Track Error [m]
c
λ BC
0.1
– 0.1
– 0.2
Fig. 8 The cross track errors 0 5 10
by BC Time [s]
2
l
λBC
1 λcBC
Yaw Rate [rad / s]
–1
– |w| max
–2
–3
Fig. 9 The steering controls 0 2 4 6 8 10 12
by BC Time [s]
3 Piecewise Bezier Curves Path Planning with Continuous Curvature Constraint 45
The main difference of the proposed algorithm from the previous ones of [1] is
the degree of continuity at the junctions: C2. Assuming that the vehicle tracks a
reference path perfectly and v is continuous, if k is continuous then o is continuous
because o ¼ kv. When v is constant as this simulation, since o is proportional to k,
the continuity characteristic of o tends to follow that of k. Since the previous
algorithms imposed only C1 continuity on junction nodes of the path, k is discon-
tinuous at the nodes. Hence the path underwent the discontinuity of angular rate,
that is, large angular acceleration, which leads to large torque on the vehicle. On
other hand, the proposed algorithm has k continuous along the resulting paths. If the
path has curvature small enough so that the vehicle is able to track it accurately
given a maximum steering angle rate, then the steering control signal will be
smooth, as that of lcBC in Fig. 9.
6 Conclusions
This paper presents two path planning algorithms based on Bezier curves for
autonomous vehicles with waypoints and corridor constraints. Bezier curves pro-
vide an efficient way to generate the optimized path and satisfy the constraints at
the same time. The simulation results also show that the trajectory of the vehicle
follows the planned path within the constraints.
References
1. J. Choi, R.E. Curry, G.H. Elkaim, in Path Planning Based on Bezier Curve for Autonomous
Ground Vehicles (Chapter 19, IEEE Computer Society, 2009), pp. 158–166
2. J. Choi, G.H. Elkaim, Bezier curves for trajectory guidance. Proceedings of the World
Congress on Engineering and Computer Science, WCECS 2008, San Francisco, CA (2008)
3. K.G. Jolly, K.R. Sreerama, R. Vijayakumar, A bezier curve based path planning in a multi-
agent robot soccer system without violating the acceleration limits. Robot. Autonom. Syst. 57,
23–33 (2009)
4. J.C. Latombe, in Robot Motion Planning (Kluwer, Norwell, MA, 1991)
5. I. Miller, S. Lupashin, N. Zych, P. Moran, B. Schimpf, A. Nathan, E. Garcia, in Cornell
University’s 2005 DARPA Grand Challenge Entry, vol. 36, chapter 12 (Springer, Heidelberg,
2007), pp. 363–405
6. I. Skrjanc, G. Klancar, Cooperative collision avoidance between multiple robots based
on bezier curves. Proceedings of the Information Technology Interfaces, 2007 (ITI 2007), pp.
451–456
Chapter 4
Combined Heuristic Approach
to Resource-Constrained Project
Scheduling Problem
1 Introduction
M. Šeda (*)
Institute of Automation and Computer Science, Faculty of Mechanical Engineering,
Brno University of Technology, Technická 2, Brno 616 69, Czech Republic
e-mail: [email protected]
2 Basic Notions
In this paragraph we introduce the notation used in this paper and the basic concepts
of CPM. We consider a network graph G with n topologically ordered vertices [14],
which means that, for each edge (i, j), i appears before j (i < j) and the starting
vertex has number n0 ¼ 1 and ending vertex number n. This ordering can be gained
as follows:
1. Start from the origin and assign n0 to it.
2. Leave all edges outgoing from n0 and assign numbers n0 + 1, . . . , n0 + k1 to k1
vertices that have no input edge.
4 Combined Heuristic Approach to Resource-Constrained Project Scheduling Problem 49
3. Leave all edges outgoing from the vertices numbered in the previous step and
assign numbers n0 + k1 + 1, . . . , n0 + k1 + k2 to k2 vertices that have no input edge.
4. Continue this way until all vertices are numbered.
Assume that edges represent activities of a project and vertices correspond to
beginnings or ends of activities. Denote E(G) the set of edges of a graph G, and V
(G) its set of vertices. If e ¼ (i, j) is an edge in E(G), then we denote its duration
by tij or t(i, j), or te in short. Similarly, requirements of activity (i, j) for a resource r
will be denoted by rij etc.
The following notions refer to start and end vertices of the network graph: Ti(0)
represents the earliest possible start time of vertex i, Tj(1) the latest allowable finish
time of vertex j and TS(i, j) ¼ Tj(1) Ti(0) ti j is the total slack of activity (i, j)
or total (activity) float (the amount of time by which the start of a given activity can
be delayed without delaying the completion of the project).
Finally, assume that Vi(e) denotes the starting vertex of an edge e ¼ (i, j) and
Vj(e) is its ending vertex.
Further notation will be introduced when needed.
3 Algorithm
The algorithm is based on time shifting of activities when their total requirements
are higher than the resource limit. This is implemented by prolonging their duration
but distinguishing, for each activity, its starting duration and current duration which
equals the length of shift and starting duration. The greatest advantage of this access
is that whenever we need to compute new earliest possible start times and latest
allowable finish times for activities after shifts or update the actual time duration of
some activities, we can compute the whole project using a simple CPM method and,
in spite of this, the dates of finished activities remain unchanged in the result of the
new calculation. In other words, any change in the present has no effect on results in
the past.
Let us denote
tsij starting duration of activity (i,j)
tcij current duration of activity (i,j)
dij ¼ tcij tsij interval when activity has no requirements (“sleeps”)
Now we will formulate an algorithm. The symbol:¼ stands for the assignment
operator.
1. Initialization
Using CPM method, we determine for each edge the earliest possible start time
and the latest allowable finish time. Let us assign
t1 :¼ 0 (1)
50 M. Šeda et al.
The first condition on the right-hand side means that bk has begun in the previous
interval.
6. Right-shifting
Because of step 4, there exists j< m such that
X
j X
j þ1
rb i limit and rb i > limit (7)
i ¼1 i ¼1
4 Combined Heuristic Approach to Resource-Constrained Project Scheduling Problem 51
We shift activity bj+1 so that new values of its parameters are obtained from
the old values by the following assignments:
ð0Þ
tcb jþ1 :¼ tcb jþ1 þ t2 TPV b þ dbjþ1
ð jþ1 Þ (8)
dbjþ1 :¼ tcbjþ1 tsbjþ1
for the other activities in B (according to their priorities), we either add their
resource requirements and place them into the schedule or shift them if limit has
been exceeded.
Finally, we apply the CPM method again.
7. Next interval
t 1 :¼ t 2 (9)
The algorithm described in the previous section can be very simply adapted for
multiproject scheduling with limited resources. The steps of this generalised algo-
rithm must take into account that resources are shared by all the projects. If the
number of projects is N, then, e.g., Step 3 can be modified as follows
n o n o
ð0Þ ð0Þ ð0Þ
t2 ¼ min Ti jTi >t 1 [ Ti þ tcij (10)
ði;jÞ2EðGÞk2½1;N
5 KNapsack-Based Heuristic
l Least total float, which schedules as first those activities possessing the least
total float
l Shortest imminent activity, which schedules as first those activities requiring the
least time to complete
l Greatest resource demand, which schedules as first those activities requiring the
greatest quantity of resources from the outset
Using defined priorities as prices, the task investigated in one interval corre-
sponds to the well-known knapsack problem. If the number of the activities sharing
a source in an interval is low, e.g. up to 20, and this is satisfied in most of real
situations, then this problem can be solved exactly by a branch and bound method
or by dynamic programming.
Assuming only one resource with a limited capacity, we can deal with the 0–1
knapsack problem (0–1 KP), which is defined as follows: A set of n items is
available to be packed into a knapsack with capacity of C units. Item i has value
vi and uses up to wi of capacity. We try to maximise the total value of packed items
subject to capacity constraint.
( )
X
n X
n
max vi xi j wi xi C; xi 2 f0; 1g; i ¼ 1; :::; n (11)
i¼1 i¼1
v1 v2 vn
(12)
w1 w2 wn
We place items in the knapsack by this non-increasing sequence. Let x1, x2, . . . , xp
be fixed values of 0 or 1 and
Mk ¼ x j x 2 M; xj ¼ xj ; xj 2 f0; 1g; j ¼ 1; . . . ; p (13)
X
q1 X
p X
q
ð9qÞ ðp<q ng : wj C wj xj < wj (14)
j¼pþ1 j¼1 j¼pþ1
4 Combined Heuristic Approach to Resource-Constrained Project Scheduling Problem 53
In more complex and more frequent situations when we have more than one
limited resource, we transform the resource-constrained scheduling into a sequence
of multi-knapsack problem (MKP) solutions. MKP is defined as follows:
X
n
maximise vi xi
i¼1
Xn
(16)
subject to wri xi Cr ; r ¼ 1; ::: ; m;
i¼1
xi 2 f0;1g; i ¼ 1; ::: ; n
For the solution of the task with multiple constraints, we must generalise the
approaches mentioned above.
The combinatorial approach can be applied without any changes, but using the
branch and bound method, we must redefine the upper bound. For its evaluation we
use the following formula
UB ðMk Þ ¼ min UB1 ðMk Þ; ::: ; UBm ðMk Þ (17)
The branch and bound method discussed above is deterministic. Now we will pay
attention to stochastic heuristic methods. These methods are used in situations
where the exact methods would fail or calculations would require a great amount
of time.
Heuristic [16] is a technique which seeks goal (i.e. near optimal) solutions at a
reasonable computational cost without being able to guarantee either feasibility or
optimality, or even in many cases, to state how close to optimality a particular
feasible solution is. The most popular heuristics – genetic algorithms, simulated
annealing, tabu search and neural networks are reviewed in [16]. Examples of their
possible use are described in [13].
54 M. Šeda et al.
Let us briefly deal with the genetic algorithms now. The skeleton for GA is
shown as follows:
Generate an initial population.
Evaluate fitness of individuals in the population.
Repeat select parents from the population.
Recombine parents to produce children.
Evaluate fitness of the children.
Replace some or all of the population by the children.
Until a satisfactory solution has been found.
In the following paragraphs, we briefly summarize GA settings to our scheduling
problem.
Individuals in the population (chromosomes) are represented as binary strings of
length n, where a value of 0 or 1 at the i-th bit (gene) implies that xi ¼ 0 or 1 in the
solution respectively.
The population size N is usually chosen between n and 2n.
An initial population consists of N feasible solutions and it is obtained by
generating random strings of 0s and 1s in the following way: First, all bits in all
strings are set to 0, and then, for each of the strings, randomly selected bits are set to 1
until the solutions (represented by strings) are feasible.
The fitness function corresponds to the objective function to be maximised:
X
n
f ðxÞ ¼ vi xi (18)
i¼1
7 Experimentation
The approach discussed in the previous paragraphs has been implemented in Bor-
land Delphi. Its interface is similar to Microsoft Project. Although Microsoft
Project often is not able to solve a constrained scheduling problem even for very
simple projects (it reports some over-allocation and underallocation may be
unavoidable), we have never come across this situation when using our programme.
Besides the GA approach, the programme implements another popular heuristic
method – simulated annealing – for a comparison, and a user may choose between
these two possibilities. It enables a verification of the quality of computational
results, as the exact results for large projects are not known.
We have tested the proposed approach in many situations. Table 1 shows results
for one real project with 183 activities, 54 vertices in the network graph and 12
limited resources. This project deals with the innovation action of a Benson boiler
in a local power station in the surroundings of Brno. This table contains durations of
schedule for this project designed in 30 tests by the genetic algorithm (GA) and by
the simulated annealing (SA). Parameters for both methods were set in a way such
that the computational time for design of the project schedule should be approxi-
mately 2.4 s. The branch and bound (BB) method found a schedule with a duration
of 291 days in a several times longer CPU time. The results of BB achieved are
favourable because the parallelism of activities was low. The dynamic program-
ming approach could not be used because of insufficient memory.
While the results appear comparable, statistically, the results gained by GA are
better than the SA results. The well-known Kruskal-Wallis test for balanced one-
way design was used to show that samples were taken from the same population. It
has yielded the following results: Average rank for SA ¼ 39.75, for GA ¼ 21.25,
the value of test statistic ¼ 17.5472 and computed significance level ¼ 2.8 105.
Thus the hypothesis of sampling from the same population is rejected at all
traditionally used significance levels (0.05; 0.01; 0.001).
8 Conclusion
References
Abstract This chapter describes a development of data logger for indoor environ-
ment. Present work concentrates to environmental parameter (temperature and
humidity) and more polluted contaminants (concentration level of CO and CO2).
In this work four channels have been used for data logger and other four channels is
open to external sensor module. The data collected will be stored in the EEPROM
and output can be taken in note-pad in tabular corresponding to month/date/year
using graphical user interface.
1 Introduction
A. Kumar (*)
Instrument Design Development Centre, Indian Institute of Technology Delhi, Electronics Lab,
New Delhi, India 110016
e-mail: [email protected]
and Acumen [3]. The drawback of these available systems is that, both air quality
and thermal comfort can not be measured simultaneously. So there is a need to
develop an economical system (prototype data logger) which can help in collecting
data to analyze the necessary environmental parameters simultaneously.
A prototype data logger has been developed to monitor the environmental para-
meters. The developed data logger consist (i) sensors module (ii) LCD (iii) Real
Time Clock (RTC) (iv) EEPROM and (v) PC serial communication. This data
logger is operated through PC using graphical user interface (GUI) in visual basic.
2 Sensors Module
The measuring temperature range of the instrument is between 15 C and 70 C.
5 A Development of Data-Logger for Indoor Environment 61
7
1
temperature sensor 3 +
+4.97 V 2 6 1.722V
0.246V
1 2 – OP07
3
4
8
0
–4.97 V
R2
12 K
R1 2K
R 12.5K
1 3
Vin
2 GND
0
Vout
The sensor circuit develops a linear voltage vs. RH (relative humidity) output,
which is ratio metric to the supply voltage. This means when the supply voltage
varies, the sensor output voltage follows the same proportion. It can operate over
a range of 4–5.8 V supply. At 5 V supply voltage (at room temperature), corres-
ponding to relative humidity variation from 0% to 100% (noncondensing), the
output voltage varies from 0.8 to 3.9 V. The humidity sensor functions with a
resolution of up to 0.5% of relative humidity (RH), with a typical current draw of
only 200 mA, the HIH4000 series is ideally suited for low drain, battery operated
systems.
The operating circuit is shown in Fig. 2. The change in the RH of the surround-
ings causes an equivalent change in the voltage output. The output is an analog
voltage proportional to the supply voltage. Consequently, converting it to relative
humidity (RH) requires both the supply and the sensor output voltages (At 25 C)
and is given by the following expression [7].
RH ¼ Vout =Vsup ply 0:16 =0:0062
The output of the humidity sensor is 2.548 V i.e. the relative humidity is 56%
at 25 C.
62 A. Kumar et al.
TGS 4161
VRL
INPUT OUTPUT
VOLTAGE VC RL VOLTAGE
HEATER
V
VOLTAGE H
The operating circuit of CO and CO2 sensors is shown in Fig. 3. The relationship
between output voltage and gas concentration is given by the following expression
2
ðVC RL =VOUT Þ RL 1
c¼ 1
R0 K
In this work, we are using on-chip analog to digital converter which is on the
microcontroller. This analog to digital converter is having the 12 bit resolution with
programmable acquisition time. It is sensing the analog signal from the sensor at the
variable sampling rate (1 s to 1 h). The sensed value is converted to its digital
equivalent. This digital value is displayed on the LCD (liquid crystal display) and is
interfaced to the microcontroller [8, 9–12].
The IC DS1307 operates as a slave device on the I2C bus. Access is obtained by
implementing a START condition and providing a device identification code fol-
lowed by a register address. Subsequent registers can be accessed sequentially until a
STOP condition is executed. When VCC falls below 1.25 VBAT, the device terminates
an access in progress and resets the device address counter. Inputs to the device will
5 A Development of Data-Logger for Indoor Environment 63
not be recognized at this time to prevent erroneous data from being written to the
device from an out of tolerance system. When VCC falls below VBAT, the device
switches into a low-current battery backup mode. Upon power up, the device switches
from battery to VCC when VCC is greater than VBAT þ0.2 V and recognizes inputs
when VCC is greater than 1.25 VBAT. We are using IC DS1307 as real time clock which
have features such as real-time clock counts in seconds, minutes, hours, day of month,
day of week, month, and year with leap year compensation valid up to 2100, 56 Byte,
Nonvolatile (NV) RAM for data storage, I2C serial interface, programmable square
wave output signal, automatic power fail detect and switch circuitry (consumes less
than 500 nA in battery backup mode oscillator running), and temperature range 40 C
to 85 C [9, 10]. We are using I2C to interface RTC and EEPROM to the micro-
controller. The I2C bus is the most popular of three serial EEPROM protocols.
The I2C chips include address pins as an easy way to have multiple chips on a single
bus while only using two connections to the microcontroller [9].
The EEPROM will store the digital value which is coming from analog to digital
converter. We will require 52.73 MB of EEPROM if we are sampling all analog
channels at the rate of 1 sample/s. We are using the EEPROM AT24C256
(ATMEL). This will store the sample data at different instants [10–14].
PIC 18F4458 using MAX-232 is interfaced with PC. IC (MAX-232) used to convert
TTL logic level to RS-232 logic level. RS-232 is the serial communication protocol
that does not require the clock along with data lines. Two data lines are there one is
TX and another is RX for serial communication. MAX-432 has two receivers (con-
verts RS-232 logic level to TTL logic) and two drivers. Separate power supply has
been provided because minimum power supply needed is 5 V and MAX-232 con-
sumes a lot of current for operation. External capacitors are required for internal
voltage pump to convert TTL logic level to RS-232 level. For battery operated
application MAX-232 can be used as level converter instead of MAX-232. It is low
supply low power consumption logic converter IC for RS-232 [9, 10, 13].
The GUI is one of the important parts for this device as it displays the data from
microcontroller for data monitoring and analysis. The design template has to be user
friendly for best usage. For this chapter, the main objective is to display data received
in graphical form. As transducer detects and translate an analog signal, the data will
64 A. Kumar et al.
go through a conversion at the ADC. This digital data will be stored in EEPROM chip
with the help of Visual Basic 6.0 software. Since the data is using serial RS232
communication, an initialization needs to be done having baud rate, data bits, parity,
stop bit, and the COM port at PC. The baud rate is the number of signal changes per
second or transition speed between Mark (negative) and Space (positive) which
ranges from 110 to 19,200, data bits is the length of data in bit which has one Least
Significant Bit and one Most Significant Bit, the parity bit is an optional bit mainly for
bit error checking. It can be odd, even, none Mark, and Space. Stop bit is used to
frame up the data bits and usually combined with the start bit. These bits are always
represented by a negative voltage and can be 1, 1.5 and 2 stop bits, and COM port is
the selection of the available COM port at PC. The commonly used setting to
establish a serial RS232 communication is 9600 baud rate, none parity, 8 data bits,
1 stop bit, and COM port 1. This can be done by using the GUI monitoring system
where it automatically saves the data received in a notepad. The data saved is the date
and time at which the data collected and the data value it self. Figures 4 and 5,
represents the graphical user interface and logged data in file respectively [12, 13].
Figure 6 shows, the full schematic diagram of the data logger for indoor environ-
ment. This data logger has four embedded sensor module and other four channels
are open to be used for the measurement of other environmental parameters.
This section includes the discussion on software design for all the modules inter-
faced with PIC 18F4458. It also explains the functions of software designed for data
logger [11].
The function of writing to the EEPROM is shown here as “Control IN”, which
represents putting the EEPROM in an “input” mode. Since we are only sending data
to the EEPROM (as shown in Fig. 7), we use “Control IN” byte and later used
“Control OUT”. Next, the EEPROM acknowledges this byte. This is shown by the “A”
after the byte. It is put on the next line to indicate that this is transmitted by the
EEPROM. The Address Byte contains the address of the location of the EEPROM
where we want to write data. Since the address is valid, the data is acknowledged by
the EEPROM. Finally, we send the data we want to write. The data is then acknow-
ledged by the EEPROM. When that finishes, we send a stop condition to complete
the transfer. Remember the “STOP” is represented as the “T” block on the end. Once
the EEPROM gets the “STOP” condition it will begin writing to its memory.
66 A. Kumar et al.
VDD
36
LM35
32.768 KHz
CRYSTAL
1 3 2 AN0 35 R4
R6 10K 1 8
2
DSC130
10 K 2
RTC
3 AN1 34 NC
3V 3 7
+5v 33 6
4 V 5
EEPROM
1 CO 3 DD 32 1
2 0
2 V 31 3 6
SS
+5v 5
30
4 AN2
1 3 4 29
CO PIC18F4458
2 5 28 15 16
2 AN3 27 13 14
9 12
Connector
HIH4000 10
11 26 7 8
1 2 3 5 6
LCD
3 4
12 25 1
24 2
13 D+
0 14 23 0
8MHZ
D–
D+
22
D–
21
USB
Rx Tx Connector
16 15 14 13 12 11 10 9
VDD
+ MAX232
J2
–
1 3 4 5 2 6 7 8
3 C2
2 4 5 C3
7 C1
16 8 9
DB9 C4
CONNECTOR 0
The transfer will use the “Control IN” byte to load the address into the EEPROM
(as shown in Fig. 8). This sends data to the EEPROM which is why we use the
control in byte. Once the address is loaded, we want to retrieve the data. So, we send
a “Control OUT” byte to indicate to the EEPROM that we want data FROM it.
5 A Development of Data-Logger for Indoor Environment 67
The EEPROM will acknowledge this and then send the data we requested. When
we are done getting data, we send a “NACK” to tell the EEPROM that we do not
want more data. If we were to send an ACK at this point, we could get the next byte
of data from the EEPROM. Since we only want to read one byte, we send a
“NACK”.
Set RS ¼ 0 to send command; Send 0b0010 to data lines three times with a delay of
2 ms; to send a byte on four data lines, send higher nibble first and give a RE pulse
of 100 ms at RE; send a set of instruction one after another with a delay of 2 ms
between each command to configure various setting as given in instruction set of
LCD datasheet [9, 13]; send instruction set again.
Set RS ¼ 1; Send higher nibble at four data lines. Send 100 ms RE pulse; Send
lower nibble at data lines. Send RE pulse; Keep track of number of character already
displayed on display panel using LCD_count. Go to line 2 or line 1 according to that.
There are four sensor module connected such as temperature, humidity, CO, and
CO2. Data is collected by the ADC inbuilt in PIC. ADC provides 12 bit of data
after the conversion is completed.
68 A. Kumar et al.
Data collection from the temperature sensor needs following actions to be carried
out (a) Selecting the analog channel AN0, sampling frequency, and alignment of
bits for ADRESH and ADRESL, (b) Vref and power on the ADC module by setting
ADCON0, ADCON1 and ADCON2 registers, (c) starting analog to digital conver-
sion by setting ADGO bit high (wait till ADIF flag will not indicate the completion
of conversion), and (d) copy of results from ADRESH and ADRESL to variables.
Select the AN3 and set other features of ADC as temperature sensor; after comple-
tion of conversion copy the result in variable.
Data collection from the CO sensor needs following actions to be carried out (a)
Selecting the analog channel AN1, sampling frequency, and alignment of bits for
ADRESH and ADRESL, (b) Vref and power on the ADC module by setting
ADCON0, ADCON1 and ADCON2 registers, (c) starting analog to digital conver-
sion by setting ADGO bit high (wait till ADIF flag will not indicate the completion
of conversion), and (d) copy of results from ADRESH and ADRESL to variables.
Now repeat the same process to collect the CO2 data on the channel number
AN2.
Sensors module, EEPROM, RTC, and LCD have been successfully interfaced to
the microcontroller. EEPROM is successfully storing the logged data with time and
date tag. The sensors data is being displayed on LCD module. A simple GUI has
been designed to store a logged data to a text file, so that it can be analyzed further.
11 Conclusions
We have developed a low cost, 12 bit resolution data logger and successfully
measured temperature, humidity, and concentration of CO and CO2 gases. The
GUI designed gives a lucratively look to the functioning of data logger. Initial
results of the data logger are encouraging and we are working on to improve the
GUI model as well as the accuracy of data logger.
5 A Development of Data-Logger for Indoor Environment 69
References
1. G.L. Tang, Lecture notes on Health and the built environment: Indoor air quality (University
of Calgary, Alberta, Canada)
2. J.D. Richard, G.S. Brager, Thermal comfort in naturally ventilated buildings: revisions to
ASHRAE standard 55. Energy Buildings 34, 549–561 (2002)
3. Microdaq (March 3, 2009); http://www.microdaq.com/data-logger/
4. D.D. Lee, D.S. Lee, Environment gas sensors. IEEE Sensors J. 1(3), 214–215 (2001)
5. N. Kularatna, B.H. Sudantha, An environmental air pollution monitoring system based on the
IEEE 1451 standard for low cost requirements. IEEE Sensors J. 8(4), 415–422 (2008)
6. Sensor industry development and trends, Sensors express (Nov 2002)
7. RS India (April 4, 2009); http://www.rsonlineindia.com
8. R. Luharuka, R.X. Gao, A microcontroller-based data logger for physiological sensing. IEEE
Proc. on Instrument and Measurement Technology Conference, Anchorage, AK, USA, 21–23
May, 175–180 (2002)
9. Data acquisition logging circuits (20 Mar 2009); http://www.hobbyprojects.com/A/
acquistions_data_circuits.html
10. Data sheet of real time clock DS 1307 (8 May 2008). http://www.maxim-ic.com/products/rtc/
real-time-clocks.cfm
11. Microchip (10 Jan 2009). http://www.microchip.com
12. Introduction to data acquisition (10 May 2008). http://zone.ni.com/devzone/concepted.nsf/
webmain/
13. G. Mason, A handheld data acquisition system for use in an undergraduate data acquisition
course. Data Acquisit. 45, 338–393 (2002)
14. D. Malone, Build a versatile data logger. Popular Electronics, 35–42, July 1994
Chapter 6
Multiobjective Evolutionary Optimization
and Machine Learning: Application
to Renewable Energy Predictions
1 Introduction
It is well-known that the weather characteristics in a given time frame are deter-
mined by a relatively small number of discrete weather systems, each of which may
exhibit very different influences and patterns of development. These fundamental
K. Gill (*)
WindLogics, Inc., 1021 Bandana Blvd., E. # 111, St Paul, MN 55108, USA
e-mail: [email protected]
causes of variations in on-site wind speeds are inherent in the atmosphere and must
be understood, to the extent possible, for accurate wind resource assessment. In
order to make useful predictions of wind speed/energy, it is therefore important to
develop statistically sound relationships between those wind regimes and the
atmospheric conditions. This is the core of the current methodology described in
this chapter. Machine learning tools have gained immense popularity in the geos-
ciences community due to their success against physically-based modeling
approaches. In brief, machine learning tools are used to determine the relationship
between inputs and output in an empirical framework. These models do not employ
traditional form of equations common in physically-based models or as in regres-
sions, instead have flexible and adaptive model structures that can abstract relation-
ships from data.
The chapter describes a method for training Support Vector Machine (SVM)
in applications for wind energy predictions at a wind-farm level. The SVM is a
powerful learning algorithm developed by Vapnik and is known for its robust
formulation in solving predictive learning problems employing finite data [1].
The method is well-suited for the operational predictions and forecasting of wind
power, which is an important variable for power utility companies. The proposed
methodology employs a Multiobjective Evolutionary Optimization approach for
training the SVM. The goal of an optimization method is to efficiently converge to a
global optimum, in the case of a single objective function, and to define a trade-off
surface in the case of multiobjective problems. Overall, global optimization (GO)
methods have two main categories: deterministic and probabilistic. Deterministic
methods use well-defined mathematical search algorithms (e.g., linear program-
ming, gradient search techniques) to reach the global optimum, and sometimes use
penalties to escape from a local optimum. Probabilistic methods employ probabi-
listic inference to reach the global optimum. Evolutionary optimization algorithms
generally fall in probabilistic category of optimization methods.
The mathematical basis for SVM is derived from statistical learning theory. SVM
consists of a quadratic programming problem that can be efficiently solved and for
which a global extremum is guaranteed [2]. It is sparse (robust) algorithm when
compared against ANN, but what makes it sparse is the use of Structural Risk
Minimization (SRM) instead of Empirical Risk Minimization (ERM) as is the case
in ANN. In SRM, instead of minimizing the total error, one is only minimizing an
upper bound on the error. The mathematical details on SVM can be found in [3–5].
The function f(x) that relates inputs to output has the following form:
X
N
f ðxÞ ¼ wi fðxi Þ þ b (1)
i¼1
1X N
Minimize R½ f ¼ C jyi f ðxi Þje þ kwk2 (2)
K i¼1
The first term (jyi f ðxi Þje ) in the above expression is what is called e-insensitive
loss function. The samples outside the e-tube are penalized by a penalty termx. The
above formulation makes the solution sparse in the sense that the errors less than e
are ignored. The sparse solution is the one that gives the same error with minimum
number of coefficients describing f(x). The second term in the objective function is
the regularization term added to avoid the consequences of the ill-posedness of the
inverse problem [6].
The Eq. (2) is solved in dual form employing Lagrange multipliers as [3]:
X
N
f ðxÞ ¼ ðai ai ÞKðx; xi Þ þ b (3)
i¼1
The ai and ai are the Lagrange multipliers and have to greater than zero for the
support vectors i ¼ 1, . . . , N, and Kðxi ; xÞis a kernel function.
There are three main parameters to be determined as part of SVM trainings; the
tradeoff ‘C’, the degree of error tolerance ‘e’, and parameter related to the kernel,
the kernel width, ‘g’. In practice, these may be determined either using a trial-and-
error procedure or an automatic optimization method [7]. The optimization scheme
can be single objective or multiobjective depending upon the nature of the problem.
The initial formulation for training SVM employed a single objective approach
to optimization. It was noticed that single objective methods to train model can
result in optimal parameter sets for the particular single-objective value; but fail to
74 K. Gill et al.
Where S <D is the feasible range for x (the parameter set, having D-dimen-
sions) and <D represents the D-dimensional space of real number.
The current multiobjective methodology employs Swarm Intelligence based evo-
lutionary computing multiobjective strategy called Multiobjective Particle Swarm
Optimization (MOPSO) [8]. The PSO method has been developed for single objec-
tive optimization by R. C. Eberhart and J. Kennedy [9]. It has been later extended to
solve multiobjective problems by various researchers including the method by [8].
The method originates from the swarm paradigm, called Particle Swarm Optimi-
zation (PSO), and is expected to provide the so-called global or near-global optimum.
PSO is characterized by an adaptive algorithm based on a social-psychological
metaphor [9] involving individuals who are interacting with one another in a social
world. This sociocognitive view can be effectively applied to computationally
intelligent systems [10]. The governing factor in PSO is that the individuals, or
“particles,” keep track of their best positions in the search space thus far obtained,
and also the best positions obtained by their neighboring particles. The best position
of an individual particle is called “local best,” and the best of the positions obtained
by all the particles is called the “global best.” Hence the global best is what all the
particles tend to follow. The algorithmic details on PSO can be found in [8, 9,
11, 12]. The approach in [8] presents a multiobjective framework for SVM optimi-
zation using MOPSO.
A multiobjective approach differs from a single objective method in that the
objective function to be minimized (or maximized) is now a vector containing more
than one objective function. The task, therefore, of the optimization method is to
map out a trade-off surface (otherwise known as Pareto front), unlike finding a
single scalar-valued optimum in case of single objective problems. The multi-
objective approach to the PSO algorithm is implemented by using the concept
of Pareto ranks and defining the Pareto front in the objective function space.
Mathematically, a Pareto optimal front is defined as follows: A decision vector
~
x1 2 S is called Pareto optimal if there does not exist another ~ x2 2 S that dominates
it. Let P <m be a set of vectors. The Pareto optimal front P P contains all
vectors ~x1 2 P, which are not dominated by any vector ~ x2 2 P:
6 Multiobjective Evolutionary Optimization and Machine Learning 75
P ¼ f~ x2 2 P : ~
x1 2 Pj 6 9~ x2 ~
x1 g (5)
The idea of Pareto ranking is to rank the population in the objective space and
separate the points with rank 1 in a set P* from the remaining points. This
establishes a Pareto front defined by a set P*. All the points in the set P* are the
“behavioral” points (or non-dominated solutions), and the remaining points in set
P become the “non-behavioral” points (or inferior solution or dominated solutions).
The reason behind using the Pareto optimality concept is that there are solutions
for which the performance of one objective function cannot be improved without
sacrificing the performance of at least one other.
In the MOPSO algorithm, as devised in [8], the particles will follow the nearest
neighboring member of the Pareto front based on the proximity in the objective
function (solution) space. At the same time, the particles in the front will follow the
best individual in the front, which is the median of the Pareto front. The term
follow means assignments done for each particle in the population set to decide the
direction and offset (velocity) in the subsequent iteration. These assignments are
done based on the proximity in the objective function or solution space. The best
individual is defined in a relative sense and may change from iteration to iteration
depending upon the value of objective function.
An example test problem is shown in Fig. 1. The test function presents a
maximization problem (as in [13]):
8.6
MOPSO Front
8.2
f 2(x,y)
7.8
7.6
7.4
–4 –2 0 2 4 6 8
f 1(x,y)
where
x
f1 ðx; yÞ ¼ x2 þ y; f2 ðx; yÞ ¼ þyþ1
2
subject to
x x
0 þ y 6:5; 0 þ y 7:5; 0 5x þ y 30; x; y 0
6 2
in the range 0 x; y 7. The true front and the front from the MOPSO algorithm
are shown in Fig. 1 after 5,000 function evaluations. It can be noticed that MOPSO
was able to reproduce the true front for this test case.
The unique formulation of MOPSO helps it to avoid getting struck in local optima,
when making a search in the multi-dimensional parameter domain. In the current
research, the MOPSO is used to parameterize the three parameters of SVM namely;
the trade-off or cost parameter ‘C’, the epsilon ‘e’, and the kernel width ‘g’. The
MOPSO method uses a population of parameter sets to compete against each other
through a number of iterations in order to improve values of specified multi-
objective criteria (objective functions) e.g., root mean square error (RMSE), bias,
histogram error (BinRMSE), correlation, etc. The optimum parameter search is
conducted in an intelligent manner by narrowing the desired regions of interest and
avoids getting struck in local optima.
In the earlier efforts, a single objective optimization methodology has been
employed for optimization of three SVM parameters. The approach was tested on
a number of sites and results were encouraging. However, it has been noticed that
using a single objective optimization method can result in sub-optimal predictions
when looking at multiple objectives. The single objective formulation (using PSO)
employed coefficient of determination (COD), as the only objective function, but
it was noticed that the resulting distributions were highly distorted when compared
to the observed distributions. The coefficient of determination (COD) is linearly
related to RMSE and can range between 1 and 1; the value of 1 being a perfect
fit. It is shown in Fig. 2 where a trade-off curve is presented between BinRMSE vs.
COD. It can be noticed that COD value increases with the increase in BinRMSE
value. The corresponding histograms are also shown in Fig. 3 for each of the
extreme ends (maximum COD and minimum BinRMSE) and the “compromise”
solution from the curve. The histograms shown in Fig. 3 make it clear that the best
COD (or RMSE) is the one with highest BinRMSE and indeed misses the extreme
ends of the distribution. Thus no matter how tempting it is to achieve best COD
6 Multiobjective Evolutionary Optimization and Machine Learning 77
0.55
BinRMS vs COD
Best BinRMS
0.54 Best COD
Compromise
0.53
COD
0.52
0.51
0.5
0.49
300 350 400 450 500 550 600 650 700
BinRMS
2500
Observed
Best BinRMS
2000 Compromise
Best COD
1500
Counts
1000
500
0
0 2 4 6 8 10
× 104
Power (kw)
Fig. 3 Histogram comparison between Observed, BinRMS best, COD best, and the best compro-
mise solution
value it does not cover the extreme ends of the distribution. On the other hand the
best BinRMSE comes at the cost of lowest COD (or highest RMSE) and is not
desired either. Thus it is required to have a multiobjective scheme that simulta-
neously minimize these objectives and provide a trade-off surface and therefore a
compromise solution can be chosen between the two objectives. Figure 3 also
shows the histogram for the “compromise” solution which provides a decent
histogram when compared to observed data.
78 K. Gill et al.
3 Application
The current procedures primarily employ SVM for building regression models for
assessing and forecasting wind resources. The primary inputs to the SVM come
from the National Center for Environmental Prediction (NCEP)’s reanalysis gridded
data [14] centered on the wind farm location. The target is the measurements of wind
farm aggregate power. The current training uses a k-fold cross validation scheme
referred to as “Round-Robin strategy”. The idea within the “Round-Robin” is to
divide the available training data into two sets; use one for training and hold the
other for testing the model. In this particular “Round-Robin strategy” data is divided
into months. The training is done on all the months except one, and the testing is
done on the hold-out month. The previous operational methods employ manual
calibration for the SVM parameters in assessment projects and a simple grid-based
parameter search in forecasting applications.
The goal in using MOPSO is to explore the regions of interest with respect to
the specific multiobjective criteria in an efficient way. Another attractive feature of
MOPSO is that it results in a so-called Pareto parameter space, which accounts for
parameter uncertainty between the two objective functions. Thus the result is an
ensemble of parameter sets cluttered around the so called global optimum with respect
to the multiobjective space. This ensemble of parameter sets also gives tradeoffs on
different objective criteria. The MOPSO-SVM method is tested on the data from an
operational assessment site in North America. The results are compared with observed
data using a number of evaluation criteria on the validation sets.
As stated above, the data from four NCEP’s grid points each consisting of five
variables (total 20 variables) is used. It has been noticed that various normalization
and pre-processing techniques on the data may help to improve SVM’s prediction
capabilities. In the current study, input data has also been tried by pre-processing it
using Principal Component Analysis (PCA). In that case, the PC’s explaining 95%
of the variance are included as inputs to SVM. The comparison is made with SVM
that does not use PCA as pre-processing step.
MOPSO require a population consisting of parameter sets to be evolved through
a number of iterations competing against each other to obtain an optimum (mini-
mum in this case) value for the BinRMSE and RMSE. In the current formulation, a
50 member population is evolved for 100 iterations within MOPSO for wind power
predictions at the wind farm.
The wind farm site is located in Canada and has 29 months of energy data available.
The MOPSO is used to train SVM over the available 17 months of training data
(at 6-hourly time resolution) using a “Round-Robin” cross-validation strategy. This
gives an opportunity to train on 16 months and test the results on a ‘hold-out’ 1
month test set. By repeating the process for all the 17 months, gives a full 17 months
6 Multiobjective Evolutionary Optimization and Machine Learning 79
of test data to compare against the observed. Since there is 29 months of data
available for this site, a full 1 year of data is used in validation (completely unseen
data). The results that follow are the predictions on the validation set. The results
are shown on the normalized (between 1 and 1) dataset. The MOPSO-SVM
results are shown with and without PCA pre-processing.
The trade-off curve for MOPSO SVM optimization for the two objectives is
shown in Fig. 4. The trade-off between BinRMS vs. RMSE is shown for the SVM
using original input compared against SVM using Principal Components (PCs) as
inputs. It can be noticed that there is little difference between the two approaches.
The PCA-SVM produced a better objective function result for BinRMS, where as
simple SVM provided a better objective function result for RMSE.
Figure 5 shows the monthly mean wind power for the 12 months compared
against the observed data. The results are shown for SVM prediction with and
without the pre-processing using PCA. As stated above, there is a very little dif-
ference between the two approaches and a good fit has been found. It can be noticed
that predictions are in reasonable agreement with the observed data. The results in
Fig. 6 show histogram of observed vs. the predicted wind power data at the 6-hourly
time resolution (the prediction time step). The results are shown for SVM prediction
with and without the pre-processing using PCA. It can be noticed that the distribu-
tions are well-maintained using MOPSO methodology and a reasonable agreement
between observed and predicted power is evident from Fig. 6. A number of good-
ness-of-fit measures are evaluated in Table 1, which are monthly root mean square
error (RMSE), monthly coefficient of determination (COD), instantaneous RMSE,
instantaneous COD, and BinRMSE (histogram bin RMSE). The results in Table 1
are presented for SVM prediction with and without the pre-processing using PCA.
Both monthly and instantaneous wind power are of significant interest, and thus are
0.56
0.54 SVM
PCA-SVM
0.52 Poly. (PCA-SVM)
Poly. (SVM)
0.5
RMSE
0.48
0.46
0.44
0.42
0.4
5 7 9 11 13 15 17
BinRMS
Fig. 4 Trade-off curve between the two objectives BinRMS vs. RMSE for SVM and PCA-SVM
80 K. Gill et al.
0.3
0.2
0.1
0
–0.1 SVM
Predicted
PCA-SVM
–0.2
–0.3
–0.4
–0.5
–0.6
–0.7
–0.7 –0.6 –0.5 –0.4 –0.3 –0.2 –0.1 0 0.1 0.2 0.3
Observed
Fig. 5 Scatter plot for the mean monthly wind energy data for SVM and PCA-SVM
400
Observed
350 PCA SVM
SVM
300
250
200
150
100
50
0
–1 – 0.8 – 0.6 – 0.4 – 0.2 0 0.2 0.4 0.6 0.8 1
Power (kw)
included in the current analysis. It can be noticed that not only monthly but also
instantaneous power predictions are in close agreement with the observed.
5 Conclusions
models which are usually over-parameterized and require immense amounts of data
to calibrate. Support Vector Machines are well-suited for the problems exhibiting
high degrees of spatial and temporal variability, issues of nonlinearity, conflicting
scales, and hierarchical uncertainty.
In the current chapter, a multiobjective evolutionary computing method MOPSO
is used to optimize the three parameters of SVM for wind energy predictions. The
approach has been tested on data from a wind farm using NCEP’s re-analysis grid
data. The prediction strategy employs SVM which is parameterized for the two
objective functions. The approach is also tested by pre-processing the input data
using PCA. A number of graphical and tabular results in the form of goodness-of-fit
measures are presented for wind energy predictions. The results also show a trade-
off curve for the two objectives employed in the MOPSO. The trade-off curve is
helpful in identifying the appropriate parameter set for SVM in order to achieve
the desired accuracy for the two objective problem. The SVM predictions at the
farm level produced excellent agreement with the observed data for the validation
set. Overall, the results have been encouraging and it is recommended to use
MOPSO-SVM approach for other operational projects in the area of renewable
energy predictions and forecasting. While further modifications and advancements
are underway, the current procedure is sound enough to be applied in operational
settings.
References
1. V. Cherkassky, F. Mulier, Learning from Data - Concepts, Theory, and Methods (Wiley, New
York, 1998), p. 441
2. B. Sch€olkopf, K. Sung, J.C. Chris, C. Burges, F. Girosi, T. Poggio, V. Vapnik, Comparing
support vector machines with Gaussian kernels to radial basis function classifiers. IEEE Trans.
Signal Process. 45(11), 2758–2765 (1997)
3. V. Vapnik, The Nature of Statistical Learning Theory (Springer, New York, 1995), p. 188
4. V. Vapnik, Statistical Learning Theory (Wiley, Hoboken, NJ, 1998), p. 736
5. N. Cristianini, J. Shaw-Taylor (eds), An Introduction to Support Vector Machines and Other
Kernel-Based Learning Methods (Cambridge University Press, Cambridge, 2000), p. 189
6. A. Tikhonov, V. Arsenin, Solution of Ill-posed Problems (W.H. Winston & Sons, Washington,
DC, 1977), p. 258
7. M.K. Gill, T. Asefa, Y. Kaheil, M. McKee, Effect of missing data on performance of learning
algorithms for hydrologic predictions: Implications to an imputation technique. Water Resour.
Res. 43, W07416 (2007). doi:10.1029/2006WR005298.
82 K. Gill et al.
8. M.K. Gill, Y.H. Kaheil, A. Khalil, M. McKee, L. Bastidas, Multiobjective particle swarm
optimization for parameter estimation in hydrology. Water Resour. Res. 42, W07417 (2006).
doi:10.1029/2005WR004528 (2006)
9. R.C. Eberhart, J. Kennedy, A new optimizer using particle swarm theory, in Proceedings of
the Sixth International Symposium on Micro Machine and Human Science, 1995, MHS’95.
doi:10.1109/MHS.1995.494215 (IEEE Press, Piscataway, NJ (1995), pp. 39–43
10. J. Kennedy, R.C. Eberhart, Particle swarm optimization, in Proceedings of IEEE International
Conference on Neural Networks, IV, vol. 4. doi:10.1109/ICNN.1995.488968 (IEEE Press,
Piscataway, NJ (1995), pp. 1942–1948
11. J. Kennedy, R.C. Eberhart, Y. Shi, Swarm Intelligence (Morgan Kaufmann, San Francisco,
CA, 2001)
12. R. C. Eberhart, R. W. Dobbins, P. Simpson, Computational Intelligence PC Tools (Elsevier,
New York, 1996)
13. H. Kita, Y. Yabumoto, N. Mori, Y. Nishikawa, Multi-objective optimization by means of the
thermodynamical genetic algorithm, in Parallel Problem Solving From Nature—PPSN IV,
eds. by H.-M. Voigt, W. Ebeling, I. Rechenberg, H.-P. Schwefel (Springer-Verlag Berlin,
Germany, 1996), Sept. Lecture Notes in Computer Science, pp. 504–512
14. Kalnay et al. The NCEP/NCAR 40-year reanalysis project. Bull. Am. Meteor. Soc. 77,
437–470 (1996)
Chapter 7
Hybriding Intelligent Host-Based
and Network-Based Stepping Stone Detections
Abstract This paper discusses the idea of hybriding intelligent host-based and
network-based stepping stone detections (SSD) in order to increase detection
accuracy. Experiments to measure the True Positive Rate (TPR) and False Positive
Rate (FPR) for both Intelligent-Network SSD (I-NSSD) and Intelligent-Host SSD
(I-HSSD) are conducted. In order to overcome the weaknesses observed from each
approach, a Hybrid Intelligent SSD (HI-SSD) is proposed. The advantages of
applying both approaches are preserved. The experiment results show that HI-
SSD not only increases the TPR but at the same time also decreases the FPR.
High TPR means that accuracy of the SSD approach increases and this is the main
objective of the creation of HI-SSD.
1 Introduction
When the Internet was created, security was not a priority. The TCP/IP protocol
security mechanism was thought to be sufficient at the beginning. However, as the
Internet usage increases, its security mechanism has become more and more
problematic [1]. In fact, as the internet is used widely, the number of attacks also
continues to increase. Therefore, attacks or intrusions have always occurred from
time to time. There are many techniques that can be used by an attacker or intruder
to execute network attacks or network intrusions. A persistent attacker usually
employs stepping stones as a way to prevent from being detected [2]. By using
Stepping Stone Detection (SSD), the attacker can be detected.
However, due to the complicated patterns of the stepping stones used by the
attackers, detection of these stepping stones becomes a challenging task. More
2 Research Terms
Before we start in more detail on the experiment, there are several research terms or
terminologies used in this work which need to be clarified. In Fig. 1, there are five
hosts involved in an SSD environment. Host A is a source of attack and Host E is a
victim.
From Fig. 1, Stepping Stones (SS) are hosts A, B, C, D and E. SS ¼ {A, B, C, D, E}
where hosts A, B, C, D and E contain the same packet that flows through each host.
A Connection Chain (CC), on the other hand, is the connection between hosts A, B,
C, D and E. Therefore CC is a, b, c and d. CC ¼ {a, b, c, d}. In Stepping Stone
Detection (SSD) research using the Network-based approach (N-SSD), either SS ¼
{A, B, C, D, E} or CC ¼ {a, b, c, d}, can be used to denote the existence of stepping
stones.
A B C D E
a b i c d
inbound outbound
packet of packet of
Host C Host C
3 Related Works
Research by Thames et al. [12] applied the hybrid concept by combining Bayesian
Learning Network (BLN) and Self-Organizing Map (SOM) for classifying network-
based and host-based data collected within LAN for network security purposes. The
experiment was conducted by using four types of analyses (i) BLN with network
and host-based data, (ii) BLN with network data, (iii) hybrid BLN-SOM analysis
with host and network-based data and (iv) hybrid BLN-SOM analysis with net-
work-based data. The four different types of analyses were required to compare one
result to another.
Meanwhile, Bashah et al. [13] proposed a system that combines anomaly, misuse
and host-based detection for Intrusion Detection System (IDS). This research only
proposed an architecture that combines fuzzy logic and the SOM approach without
any implementations/experiments.
Inspired by the above two research works, we hybrid the I-HSSD and I-NSSD
approaches and compare the hybrid approach (HI-SSD) with the non-hybrid
approaches (I-HSSD and I-NSSD) in terms of accuracy.
The main components of HI-SSD are intelligence and hybrid. The intelligence
component comes from the use of the Self-Organization Map (SOM) approach and
the hybrid component is created from the combination of Host-based SSD and
Network-based SSD. Both components of intelligence and the hybrid are discussed
in detail our previous research [7, 8, 14]. Figure 2 shows the HI-SSD architecture.
Figure 2 shows the overall HI-SSD architecture that involves I-HSSD and
I-NSSD. In this architecture an intrusion detection system (IDS) is used as a trigger
to detect any network intrusion. When an intrusion occurs, I-NSSD starts to capture
the network packet in a defined range. At the same time, each host also captures the
86 M.N. Omar and R. Budiarto
Host
for each
host I-HSSD
IDS
SSD
attack is
detected SSD list
similar?
I-NSSD
network packet as well. When I-NSSD finishes its process to detect stepping stones,
information about related hosts involved in the chain of stepping stones is pro-
duced. Each host listed in I-NSSD as a stepping stone node then executes a self-
examination to check whether it is being used as a stepping stone or not. Results on
both I-NSSD’s list and I-HSSD’s list then are compared. Similarity between these
lists shows the real stepping stone host.
For testing purposes, only the functions of HI-SSD, I-NSSD and I-HSSD are
involved in the experiment. The development of a fully-functional HI-SSD will
become our future work.
The HI-SSD will contain a stepping stone list each from I-NSSD and I-HSSD,
while the I-NSSD and I-HSSD will contain a stepping stone list for every network
and host respectively. Comparisons will be measured on the TPR and the FPR on
each component.
5 Experiment
For the dataset arrangement, Telnet Scripting Tool v.1.0 [15] is used. This is to
guarantee a uniform pattern of telnet operations during the execution of the
experiment. Here, Telnet represents the interactive connection most frequently
used by SSD-related research. Moreover, there is no other dataset that is suitable
in this research. Jianhua and Shou-Hsuan [16] used their own dataset. Staniford-
Chen and Herberlein [3] also agreed with that.
The experiment is run in a controlled environment so as to avoid any interfer-
ence with outside networks. Wireshark [17], on the other hand, is used to capture
network packets that flow in each host. After the Telnet Scripting tool has ended its
run, information pertaining to the packets is converted into text-based form. This is
7 Hybriding Intelligent Host-Based and Network-Based Stepping Stone Detections 87
Host 4 Host 2
C3 C2 C1
Host 3 Host 1
Table 1 Host and its Host No. of connection chain Connection chain list
relationship
Host 1 3 c1, c2, c3
Host 2 1 c1
2 c2, c3
Host 3 2 c1, c2
1 c3
Host 4 3 c1, c2, c3
88 M.N. Omar and R. Budiarto
just one connection can be eliminated because one connection does not mean that it
is a stepping stone connection. In fact, research by RTT-based SSD [19–21] agreed
that only connection chains with more than three connections can be considered as
stepping stone connections. Based on our previous research [8], the existence of
two connections onwards is enough for a chain to be identified as a possible
stepping stone chain.
To calculate the effectiveness of the tested approach, TPR and FPR are used.
False Positive Rate (FPR) refers to the fraction of negative instances that are
falsely reported by the algorithm as being positive. In this situation, the algorithm
has detected the connection chains which exist even though it is not true.
True Positive Rate (TPR) refers to the fraction of true instances detected by the
algorithm versus all possible true instances. The discussion on the result and its
analysis will be presented.
Result on each type of SSD will be discussed in each of the following sub-section.
As described before, we have chosen to use SOM as the intelligent approach. As a
result, the SOM graph will represent each compared solution.
In I-NSSD, the results are obtained from the execution of SOM approach through
the arrival time for the overall captured data in the network. In this case, only one
graph has been produced. It is different from I-HSSD that needs one graph for each
host involved. Figure 4 shows the result.
In contrast to the I-HSSD approach that depends on the number of possible
straight lines which can be created to determine the number of connection chains,
the I-NSSD approach is based on the number of possible groups generated. In
Fig. 4, four possible groups of SOM nodes can be counted (labeled as a, b, c and d).
Thus, there are four connection chains involved in the experiment. However, the
true number of connection chains involved in this research is only three. Therefore,
7 Hybriding Intelligent Host-Based and Network-Based Stepping Stone Detections 89
there exist false positive reports in the I-HSSD experiment. By using formula (1),
FPR for I-NSSD is 33.3%. For TPR, I-NSSD shows 100% achievement.
As described previously, I-HSSD involves every host that has been listed in
I-NSSD. In this case, arrival time for each host is run by using the SOM approach.
Each result is an output from the execution.
Figure 5 shows that three possible directions can be traced (e, f and g). That
means there are three possible connections which exist in the originating host,
Host 1. Based on the value from Table 1, Host 1 obtains 100% TPR and 0% FPR.
Figure 6 on the other hand shows that there are two connection chains (h and i)
that could possibly exist in Host 2 as the monitored host. Based on the number of
connection chains from Table 1, Host 2 got 100% TPR and 0% FPR.
In Fig. 7, similar to Fig. 6, there are two connection chains (j and k) that
could possibly exist in this graph. Based on the number of connection chains
from Table 1, Host 3 also got 100% TPR and 0% FPR.
Figure 8 shows the last node of SOM that needs to be observed. From the graph,
there are two possible obtainable directions. That means that two connection chains
90 M.N. Omar and R. Budiarto
(l and m) have been detected. However, based on the number of connection chains
in Table 1, three connection chains should have been detected in Host 4. For that
reason, I-HSSD in Host 4 miss-detects another connection. In this case, the TPR
becomes 66.7%. The FPR on the other hand also gives 0%.
From the result on each host, it shows that only the result of Host 4 does
not achieve 100% TPR. This can be considered as a weakness of the I-HSSD.
Table 2 shows the result of the I-HSSD experiment.
Based on the overall result of the I-HSSD experiment, connection chains have
been successfully detected in Host 1, Host 2 and Host 3. In Host 4, although the
connection chains have also been successfully detected, the number of connection
chains detected is less than the actual number involved. This makes the TPR at just
66.7%. On the other hand, the FPR is the same for all hosts.
Table 3 Experiment result Type of stepping stone TPR (%) FPR (%)
detection approach
I-NSSD 100 33.3
I-HSSD 91.67 0
HI-SSD 100 0
0% FPR has been achieved. For a clear picture on the overall HI-SSD, the related
algorithm is given as follows.
Begin
I-NSSD:
capture network packet
collect arrival time
execute SOM
count the group of node, n
list involved host, l
sent n & l to I-HSSD
I-HSSD:
activate I-HSSD on selected host based on l
for 1 to n
execute SOM
count the possible straight line,
identify the existence of connection chain for the host, e
end for
End
Result of the experiment according to the percentage of TPR and FPR obtained
from I-NSSD, I-HSSD and HI-SSD respectively is tabulated in Table 3.
Table 3 shows the experiment result of I-NSSD, I-HSSD and HI-SSD. As
described previously, HI-SSD is a combination of I-NSSD and I-HSSD. Therefore,
the TPR and FPR for HI-SSD is the combination of I-NSSD’s TPR and FPR and
I-HSSD’s TPR and FPR. In the other words, the average TPR and FPR of I-NSSD
and I-HSSD become the result of HI-SSD. In this case, 100% TPR and 0% FPR for
HI-SSD is better than the use of I-NSSD or I-HSSD alone. Although I-NSSD
shows 100% TPR, but the 33.3% FPR can adversely affect the overall function of
stepping stone detection. In the I-HSSD, 100% FPR makes this approach free of
false detection. However, 91.67% TPR is not enough to render this approach to be
fully-functional. As a result, combining both I-NSSD and I-HSSD to form the
HI-SSD will balance the TPR and the FPR at the same time.
The goal of this research is to prove the effectiveness of the proposed HI-SSD
which is actually a hybrid or combination of I-NSSD and I-HSSD. From the
experiment, it is shown that the HI-SSD is more accurate compared to both
94 M.N. Omar and R. Budiarto
I-NSSD and I-HSSD. Therefore, it is proven that HI-SSD is more accurate com-
pared to I-NSSD or I-HSSD.
In the future, we will improve our approach to be more robust towards active
perturbation attacks such as delay, packet drop and chaffing. Testing on the active
perturbation problem would not only be executed onto our proposed solution, but it
would also involve our closest research that used the Data Mining approach. By
doing this, we not only can measure the proposed approach’s capabilities but at the
same time can also compare it with other similar approaches.
Only one dataset is used in this experiment. With the intention of verifying the
capability of the proposed HI-SSD, we need different types of dataset. Our observa-
tion on the datasets used in SSD-based research has shown that there are two kinds
of datasets which can be used; datasets generated by ourselves and public datasets.
By using various kinds of datasets instead of just one type of dataset, the true
capabilities of the approach can be examined more. As such, testing the proposed
HI-SSD on top of different datasets is one of our future works.
Another future plan is to compare the proposed HI-SSD approach with the statistical-
based approaches. Therefore, to ascertain that the proposed approach is better than
statistical-based approaches, it is good to involve the different approaches together
in the experiment.
Lastly, for a true experience of a fully-functional stepping stone detection, the
overall approach should be translated into a full system. If a complete system is
created, comparisons with other approaches could be made more easily.
References
10. Y. Zhang, V. Paxson, Detecting stepping stones, in Proceedings of the 9th USENIX Security
Symposium, Denver, CO, 2000, pp. 67–81.
11. K. Yoda, H. Etoh, Finding connection chain for tracing intruders, in Proceedings of the 6th
European Symposium on Research in Computer Security (LNCS 1985), Toulouse, France,
2000, pp. 31–42
12. J.L. Themes, R. Abler, A. Saad, Hybrid intelligent system for network security. ACM
southeast regional conference 2006, 2006.
13. N. Bashah, I.B. Shanmugam, A.M. Ahmed, Hybrid intelligent intrusion detection system,
Proc. World Acad. Sci. Eng. Technol. 6 (2005)
14. M.N. Omar, L. Serigar, R. Budiarto, Hybrid stepping stone detection method. in Proceeding of
1st International Conference on Distrubuted Framework and Application (DFmA 2008),
Universiti Sains Malaysia, Penang, 21–22 Oct 2008, pp. 134–138
15. Wareseeker (2008) [Online] Available: http://wareseeker.com/freeware/telnet-scripting-tool-
1.0/19344/TST10.zip 8 Feb 2008
16. Y. Jianhua, S.H. Shou-Hsuan, A real-time algorithm to detect long connection chains of
interactive terminal session”, in Proceedings of the 3rd International Conference on Informa-
tion Security, China, 2004, pp. 198–203
17. Wireshark (2009). [Online] Available: http://www.wireshark.org 8 Feb 2009
18. H. Duane, L. Bruce, Mastering MATLAB A Comprehensive Tutorial and Reference (Prentice-
Hall, New Jersey, 1996)
19. K.H. Yung, Detecting long connection chains of interactive terminal sessions, in Proceedings
of the International Symposium on Recent Advance in Intrusion Detection (RAID 2002),
Zurich, Switzerland, 2002, pp. 1–16
20. J. Yang, S.S. Huang, A real-time algorithm to detect long connection chains of interactive
terminal sessions, in Proceedings of the 3rd International Conference on Information Security
(INFOSECU 2004), Shanghai, China, 2004, pp. 198–203.
21. J. Yang, S.S. Huang, Matching TCP packets and its application to the detection of long
connection chains on the internet, in Proceedings of the 19th International Conference on
Advance Information Networking and Applications (AINA 2005), Tamkang University,
Taiwan, 2005, pp. 1005–1010
Chapter 8
Open Source Software Use in City Government
Is Full Immersion Possible?
Abstract The adoption of open source software (OSS) by government has been a
topic of interest in recent years. National, regional, and local government are using
OSS in increasing numbers, yet the adoption rate is still very low. This study
considers if it is possible from an organizational perspective for small to
medium-sized cities to provide services and conduct business using only OSS.
We examine characteristics of municipal government that may influence the
adoption of OSS for the delivery of services and to conduct city business. Three
characteristics are considered to develop an understanding of city behavior with
respect to OSS: capability, discipline, and cultural affinity. Each of these general
characteristics contributes to the successful adoption and deployment of OSS by
cities. Our goal was to determine the organizational characteristics that promote the
adoption of OSS. We conducted a survey to support this study resulting in 3,316
responses representing 1,286 cities in the Unites States and Canada. We found
most cities do not have the requisite characteristics to successfully adopt OSS on a
comprehensive scale and most cities not currently using OSS have no future plans
for OSS.
1 Introduction
All city governments seek to deliver services in the most efficient manner possible.
Whether in direct support of service delivery or support of conducting the business
of government, Information Technology (IT) has become and integral component
of operations at all levels of government.
In the past 5 years there has been a trend by some national, regional, and local
governments toward use of open source software (OSS) and open standards as a
first choice rather than a curiosity. Recently, The Netherlands has mandated that all
national government agencies will use open standards formatted documents by
April 2009 [1]. The U.S. Navy has clarified the category and status of OSS to
promote a wider use of OSS to provide seamless access to critical information [2].
The U.S. Congress is recognizing the potential value of OSS in the National
Defense Authorization Act for fiscal year 2009. OSS is identified as an objective
in the procurement strategy for common ground stations and payloads for manned
and unmanned aerial vehicles, and in the development of technology-neutral
information technology guidelines for the Department of Defense and Department
of Veteran Affairs.
Small to medium size cities, populations less than 500,000 [3], may have serious
limitations in funding IT efforts. Escalating costs of service delivery coupled with
reduce revenue will force governments to seek novel ways to reduce operating
costs. With limited revenue their budgets seem to force cities to under fund IT infra-
structure in favor of applying resources to increasing labor requirements to deliver
services. Careful and deliberate selection of IT solutions can reduce the labor required
for service delivery freeing that labor to be harvested for other purposes.
Considerable research has been conducted on the topic of e-government and the
development of models to explain e-government maturity. There have also been
ample studies of the trends in adoption of OSS by government at various levels.
However, little research has been done in the characteristics of regional and local
government that would promote adoption and successful deployment of OSS.
The support of city leadership and management as well as the IT staff are
required for successful adoption of any technology, not just OSS. Vision, strategy
and government support are important for success of IT projects, while insufficient
funding and poor infrastructure are major factors for failure [4].
This research focused on the perspectives of city leadership, management, and
IT staff with respect to OSS and its adoption by city government. While OSS was
the focus, the approach used in this study can be applied to investigating the
adoption of most technologies or practices.
2 Related Research
The literature review revealed little research with similar characteristics of this
study. While much work can be found on OSS in a wide variety of topics, the body
of research covering municipal OSS adoption is relatively limited. Of the literature
found relating to OSS adoption by government, a significant portion of that work
examines the adoption of OSS by developing countries.
A fair number of studies have been conducted to examine the extent to which
government entities are using OSS. The studies tend to collect, categorize, and
report the current state of open source adoption [5, 6]. A study of Finnish munici-
palities [7] had a methodology similar to the methodology used in this study.
8 Open Source Software Use in City Government 99
While the Finnish study considered only IT managers as survey subjects, our survey
considered city leaders, managers, and IT staff for subjects, as our focus is examin-
ing organizational behavioral influences on OSS adoption rather than technical and
budgetary influences.
In the current economic climate government at all levels are facing funding
crises as costs of operations increase and revenue decreases. The question of what
can be done to reduce IT operating costs is now a very important one. There are
more benefits to using OSS than just reduced acquisition costs [8]. Restrictive
licensing, vendor lock-in, and high switching costs can be eliminated, which, in
the long term, also may reduce costs.
The level of knowledge of a user with respect to OSS and Closed Source
Software (CSS) will influence their decision to use OSS.
There are two topologies of consumers: a) “informed” users, i.e. those who know about the
existence of both CSS and OSS and make their adoption decision by comparing the utility
given by each alternative, and b) “uniformed” users, i.e. those who ignore the existence of
OSS and therefore when making their adoption decision consider only the closed source
software [9].
3 Research Goals
4 Methodology
The following sections describe the methodology used for this study. We begin by
describing in general the process, followed by the survey design, survey execution,
and subject selection.
A survey was conducted to collect data from municipal IT managers, IT staff,
city leadership, city management, and city employees. The survey was adminis-
tered online using SurveyMonkey.com. The collection period was initially sched-
uled for 30 days from June 1, 2008 through June 30, 2008.
The survey required soliciting responses from subjects to provide insight into the
characteristics of their cities with respect to IT capability, organizational discipline,
and cultural affinity to OSS. Presenting direct questions would not produce useful
data, as subjects may not have the requisite knowledge in the subject areas. One
goal in the design of the survey was to reduce the number of aborted attempts by
subjects. An aborted attempt is the failure to complete the survey once started.
8 Open Source Software Use in City Government 101
5 Survey Execution
For the announcement strategy we used three channels to contact potential subjects;
magazines related to city management, municipal associations, and direct e-mail.
Announcing the survey through a magazine was deemed to have potential for
generating significant level of exposure for those subjects who are more likely to
read city government related magazines. Several magazines were contacted for
assistance to announce the survey. Two magazines responded, the Next American
City Magazine and American City and County Magazine. The Next American City
magazine provided a half page ad space to announce this survey. American City and
County Magazine announced the survey in an article posted on the front page of
its website. Although the potential exposure was thought to be high, the magazine
announcement channel only produced 20 responses of which only one response was
valid for analysis.
Municipal associations were thought to be the best vehicle for reaching the
largest number of subjects. The rationale behind this was the assumption that
individuals affiliated with municipal associations might be more inclined to respond
to a survey announcement received from their association. The expectation was
that the greatest number of responses would result from municipal associations.
Individuals affiliated with municipal associations may also have greater interest
in supporting this research as they may see a potential benefit for their city.
A total of 116 municipal associations were contacted to assist with announcing
the survey to their members, 28 associations approved the request for assistance and
forwarded the announcement to their members.
The municipal associations were identified via a search of the Internet. Most of
the associations found were regional providing representation within a county,
102 D.J. Ward and E.Y. Tao
6 Survey Results
Analysis of the survey data indicates few cities have all the characteristics that
would enable successful comprehensive adoption and deployment of OSS. Of the
1,206 distinct cities in the sample set, just ten cities satisfied all characteristics
within the three dimensions.
Ten cities, listed in Table 1, satisfied the following criteria; has an IT Depart-
ment, IT support is handled in-house, currently uses OSS, has well defined IT
strategy, has IT line item in budget, IT is sufficiently funded, total cost of ownership
acquisition strategy, uses budget for software acquisition.
8 Open Source Software Use in City Government 105
Largo, Florida is of particular interest. Largo, has embraced the use of OSS. It
has deployed Linux as the operating system for its 400 desktop clients saving the
city an estimated $1 million per year in hardware, software, licensing, maintenance,
and staff costs [17].
Of the 460 Municipal IT managers and staff in the sample set, 56% indicated their
city was not currently using OSS while 39% indicated their city was using OSS.
Considering the widespread use of OSS in the commercial sector, the relatively
high percentage of cities in this survey not currently using OSS required further
investigation (Fig. 4).
Of the Cities currently using OSS, 76% are planning to use OSS in the future and
10% have no plans to use OSS in the future. The high percentage of cities planning
to use OSS in the future that currently use OSS can be expected. It is more likely an
organization will continue to use a software product once deployed and established
than to abandon the product (Fig. 5).
The cities currently not using OSS provides a more interesting observation. Of
the 259 IT managers and staff indicating their city is currently not using OSS, 82%
indicated their city has no plans to use OSS in the future, 9% indicated their city did
plan to use OSS in the future, and 9.7% (25) did not know.
The number of dedicated IT staff at the respondent cities may not be an
influencing factor in decisions to use OSS in the future. While 74% of the cities
not planning to use OSS in the future have IT staff numbering ten or less, 71% of
cities currently using OSS also have ten or less IT staff.
The organizational support for using OSS appears to be a significant influencing
factor for a city’s future plans for OSS use. The survey design included questions
regarding the respondent’s perception of the Leadership, Management, and IT staff
views of OSS. The subjects were asked if the city leadership, management, and IT
staff support the use of OSS. For the cities not planning to use OSS in the future
only 6% of the respondents indicated the city leadership supports the use of OSS,
8% of respondents indicated city management supports the use of OSS, and 33%
106 D.J. Ward and E.Y. Tao
indicated city IT staff supports use of OSS. For cities currently using OSS the
responses were 22% leadership, 33% management, and 71% IT staff.
IT managers and staff report a significant difference in the perceived current support
of OSS and the support of OSS if using OSS would reduce IT operating costs. 11%
of IT managers and staff indicate they agree their city leadership currently supports
the use of OSS. The IT managers’ and staff’s perception of city management’s
current support of OSS is similar, if somewhat higher, to their perception of city
leadership. Sixteen percent agree their city management currently supports OSS.
The IT managers’ and staff’s perception of city IT staff’s current support of OSS,
that is their perception of themselves, was significantly higher than their perception
of city leadership and management support of OSS with 26% agreeing the city IT
staff supports the use of OSS (Fig. 6).
8 Open Source Software Use in City Government 107
When asked about support of OSS if it meant saving money, 36% of the IT staff
agrees their city leadership would support OSS if it would save money, a threefold
increase. 41% agree their city management would support OSS if it would save
money, a 150% increase. However, only 36% agreed the city IT staff would support
OSS to save money, just a 50% increase. While these results indicate city leadership
and management may be motivated to support OSS given the potential cost savings,
IT staff may not share those same motivations (Fig. 7).
Of note is the drop in frequency (from 70% to 50%) of respondents indi-
cating a neutral position or those who did not know. The possibility of reducing
the costs of information technology is a significant influence on IT strategy and
technology adoption.
The survey data suggests a discrepancy between the subject’s own awareness of OSS
and their perception of city leadership, management, and IT staff’s awareness of OSS.
Within the sample set 69% of the respondents indicated they are aware of OSS.
However, their responses regarding their city leadership, management, and IT staff’s
awareness of OSS show that most respondents perceive the leadership, management
and IT staff as generally unaware of OSS. The high frequency of those individually
aware of OSS could be attributed to the survey attracting individuals interested in OSS.
8 Conclusion
The results indicate cities in general do not have the necessary characteristics to
successfully adopt OSS to deliver services and conduct city business on a compre-
hensive scale. The key indicators point to significant deficiencies in the three
domains: capability, discipline, and cultural affinity.
While a majority of cities in the study show some characteristics that indicate the
adoption of OSS is possible, and indeed on a trivial level (with a few notable
exceptions) some cities are using OSS, still most cities lack key characteristics in
the three domains to enable a successful comprehensive adoption of OSS.
The data suggest many cities may have an adequate level of discipline to support
open source adoption with IT line items in the city budget and sufficient IT funding.
However, a significant number of cities make software purchases on an ad hoc
basis, indicating potential lack of organizational planning capability.
A city’s Culture, with respect to IT decision making, appears to be a significant
barrier to open source adoption. City leadership and management of cities that do not
support the use of OSS are generally unaware of OSS as an alternative to commercial
software. Cities currently using OSS are highly likely to continue to use OSS in the
future while cities not presently using OSS have no future plans to use OSS.
Because the cities represented in this study in general do not exhibit the
indicators in the three domains examined we conclude most cities do not have the
capability, discipline, and cultural affinity to successfully adopt OSS on more than a
trivia level.
References
1. Associated Press (14 Dec 2007) Dutch Government Ditches Microsoft, Moves to Open-
Source Software. Foxnews.com. Retrieved 7 Feb 2008, from Fox News Web site: http://
www.foxnews.com/story/0,2933,316841,00.html
2. R.J. Carey, Department of the Navy Open Source Software Guidance (-) Washington, DC, U.
S. Navy. Retrieved 8 Feb 2008, from Open Source Software Institute Web site: http://oss-
institute.org/Navy/DONCIO_OSS_User_Guidance.pdf
3. V. Henderson, Medium size cities. Reg. Sci. Urban Econ. 27(6), 583–612 (1997)
8 Open Source Software Use in City Government 109
Masaya Yoshikawa
Abstract Ant colony optimization (ACO), which has been based on the feeding
behavior of ants, has a powerful solution searching ability. However, since proces-
sing must be repeated many times, the computation process also requires a very
long time. In this chapter, we discuss a new ACO algorithm that incorporates
adaptive greedy mechanism to shorten the processing time. The proposed algorithm
switches two selection techniques adaptively according to generation. In addition,
the new pheromone update rules are introduced in order to control the balance of
the intensification and diversification. Experiments using benchmark data prove the
validity of the proposed algorithm.
1 Introduction
M. Yoshikawa
Department of information engineering, Meijo university, 1-501 Shiogamaguchi,
Tenpaku Nagoya 468-8502, Japan
e-mail: [email protected]
Using these two elements, ants can search out the shortest route from their nest to a
feeding spot. Fig. 1 shows the actual method for searching the shortest route.
Figure 1a shows the case where two ants A and B have returned from a feeding
spot to the nest via different routes. In this case, ants A and B have secreted
pheromone on their routes from the nest to the feeding spot and from the feeding
spot to the nest. At this point, a third ant C moves from the nest to the feeding spot,
relying on the pheromone trail that remains on the route.
ACO is performed based on the following three preconditions: (1) the amount of
pheromone secreted from all ants is the same, (2) the moving speed of all ants is the
same, and (3) the secreted pheromone evaporates at the same rate. In the above
case, since the moving distance from the nest to the feeding spot is longer for route
A than for route B, a larger amount of pheromone will have evaporated along route
A than along route B, as shown in Fig. 1b. Therefore, ant C will select route B
because a larger amount of pheromone remains on this route. However, ant C does
not go to the feeding spot by a route that is the same as route B; rather, ant C goes to
the feeding spot by route C and then returns to the nest, as shown in Fig. 1c. Another
ant D then goes to the feeding spot either by route B or by route C (on which a larger
amount of pheromone remains). The fundamental optimization mechanism of ACO
is to find a shorter route by repeating this process.
For this reason, ACO has a powerful solution searching ability. However, since
processing must be repeated many times, the computation process also requires a
very long time. In order to shorten the processing time, this study proposes a new
ACO algorithm that incorporates adaptive greedy selection. The validity of the
proposed algorithm is verified by performing evaluation experiments using bench-
mark data.
This chapter is organized as follows: Section 2 indicates the search mechanism
of ACO, and describes related studies. Section 3 explains the proposed algorithm
with modified pheromone update rules. Section 4 reports the results of computer
simulations applied to the travelling salesman problem (TSP) benchmark data.
We summarize and conclude this study in Section 5.
a b c
Fig. 1 Example of pheromone communication: (a) two routes on initial state, (b) positive
feedback reinforcement using pheromone information, and (c) example of another route
9 Pheromone-Balance Driven Ant Colony Optimization with Greedy Mechanism 113
2 Preliminaries
ACO is a general term for the algorithm that can be obtained by technological
modeling of the feeding behavior of ants. The basic model of ACO is the ant system
(AS) [1] designed by M. Dorigo. The ant colony system (ACS) [2] is one of the
modified algorithms of the AS. The ACS provided a better solution when the TSP
was to be solved, compared to a genetic algorithm (GA) [9, 10] and a simulated
annealing (SA) [11] method. Therefore, this study adopts ACS as its basic algo-
rithm. Henceforth, ACO also denotes the ACS in this paper.
The processing procedure of ACO is explained using an example in which ACO
is applied to the TSP. In ACO, each of several ants independently creates a
travelling route (visiting every city just one time). At this time, each ant determines
the next destination according to the probability pk calculated from formula (1).
Where, the value (i,j) in formula (1) is called the static evaluation value. It is
the reciprocal of the distance between city i and city j, and is a fixed value. On the
other hand, t (i,j) is referred to as the dynamic evaluation value. It expresses the
amount of pheromone on the route between city i and city j, and this changes during
the process of optimization. The term b represents a parameter and nk represents a
set of unvisited cities.
In ACO, the probability is high for selecting a route whose distance is short and
whose pheromone amount is large. That is, selection using a roulette wheel is
performed, as shown in Fig. 2.
In formula (2), c is a decay parameter in local update rule, t0 is the initial value
of pheromone. The global update rule is expressed by formula (3), and it is applied
after each ant completes a travelling route.
Many studies [1–8] have been reported for the use of ACO, such as those that have
applied ACO to network routing problems [3] and to scheduling problems [4].
A number of studies [5, 6] have also been reported on pheromone, which is an
important factor for controlling the intensification and diversification of a search.
Hybridization with other algorithms, such as a GA [7] or SA [8] method, has also
been studied. However, no study has yet been reported that incorporates adaptive
greedy selection into an ACO, as is proposed in this study.
9 Pheromone-Balance Driven Ant Colony Optimization with Greedy Mechanism 115
In ACO, when x represents the number of cities, y represents the total number
of ants, and z represents the number of processing repetitions, the number of
calculations for formulae (1), (2), and (3) are expressed by (x 1) y z, a
x y z, and z, respectively. Since the number of processing repetitions in
ACO is large, a processing time problem is inherent in ACO. In this study,
incorporating a greedy selection mechanism into the ACO reduced the number
of calculations in formulae (1) and (2). Consequently, the processing time was
shortened.
A greedy selection approach only employs static evaluation values, with no use
of dynamic evaluation values, when selecting the next destination city. That is, an
ant moves from the present city to the nearest city. Since static evaluation values are
constant in the optimization process, once the calculation is performed in the early
stage, it is not necessary to re-calculate. Therefore, the processing time can be
shortened by performing a greedy selection. However, since greedy selection favors
the local optimal solution, the balance between formula (1) and the greedy selection
becomes important.
In order to control this trade-off relationship, the greedy selection is adaptively
used in this study. The adaptive greedy selection is explained using the TSP of six
cities, as shown in Fig. 3.
In Fig. 3, when city A is set as the start city, the following three selections are
performed using formula (1): (1) movement from city A to city B; (2) movement
from city B to city C; and (3) movement from city C to city D. The greedy selection
is also applied to the other movements; namely, from city D to city E and from
city E to city F.
In contrast, when city D is set as the start city, the following three selections
are performed using the greedy selection: (1) movement from city D to city E,
(2) movement from city E to city F, and (3) movement from city F to city A.
Formula (1) is applied to the other movements; namely, from city A to city B and
from city B to city C. In this study, the proportion of the greedy selection and the
selection by formula (1) is changed according to generation, as shown in Fig. 4.
Figure 4 shows an example obtained when the total number of processing
repetitions was set at 1,000, and the proportion of the greedy selection and the
selection by formula (1) was changed every 200 repetitions. In this example, the
selection by formula (1) was performed until the 200th repetition. From the 201st
repetition to the 400th repetition, the selection by formula (1) was applied to 80%
of cities, and the greedy selection was applied to 20% of cities. In other words,
for the problem of 100 cities, the selection by formula (1) was performed on 80
cities and the greedy selection was performed on 20 cities. Similarly, from the
401st repetition to the 600th repetition, the selection by formula (1) was applied
to 60% of cities, and the greedy selection was applied to 40% of cities. Thus, by
changing the proportion of two selection methods according to generation, the
trade-off relationship between the accuracy of the solution and the processing
time can be controlled.
In optimization algorithms, controlling the trade-off relationship between the
intensification and diversification of search is also important. In the adaptive greedy
selection proposed in this study, the pressure of intensification is strong. Therefore,
in order to strengthen the pressure of diversification, the local update rule and the
global update rule are partially changed.
First, the local update rule is generally applied whenever an ant moves. How-
ever, it is not applied when the greedy selection is performed. Next, the global
update rule is generally applied to the best travelling route; i.e., the shortest
travelling route. It is also applied to the second shortest travelling route. By adding
these two modifications, the proposed algorithm can realize a balance between the
intensification and diversification of the search.
Fig. 5 Comparisons of
selective techniques (d), (e),
(f), and (g)
repetitions and the vertical axis represents the travelling route length of the optimal
solution.
As shown in Fig. 5, when the number of processing repetitions was small as the
termination condition, techniques (d) and (e) showed excellent performance.
When the number of processing repetitions was sufficient, techniques (f) and
(g) also exhibited excellent performance. Thus, the selection of technique accord-
ing to the given experimental condition (termination condition) was clearly
important.
9 Pheromone-Balance Driven Ant Colony Optimization with Greedy Mechanism 119
5 Conclusion
References
1 Introduction
The purpose of this paper is to present some results on the analysis of the dynamics
of a discrete recurrent neural network. The particular network in which we are
interested is the Hopfield network, also known as a Discrete Hopfield Neural
Network in [1]. Its state evolution equation is
X
N X
M
xi ðk þ 1Þ ¼ win f ðxi ðkÞÞ þ w0 im um ðkÞ þ w00i (1)
n¼1 m¼1
where
xi(k) is the ith neuron output
um(k) is the mth input of the network
win, w0 im are the weight factors of the neuron outputs, network inputs and
w"i is a bias weight
N is the neuron number
R. Marichal (*)
System Engineering and Control and Computer Architecture Department, University of La
Laguna, Avda. Francisco Sánchez S/N, Edf. Informatica, 38206 Tenerife, Canary Islands, Spain
e-mail: [email protected]
Xh ¼ WXWZ
where
Xh are Hopfield states
XWZ are the Williams-Zipser states
W is the weight matrix without the bias and input weight factor
We will consider the WilliamsZipser model in order to simplify the mathe-
matical calculations.
The neural network presents different classes of equivalent dynamics. A system
will be equivalent to another if its trajectories exhibit the same qualitative behavior.
This is made mathematically precise in the definition of topological equivalence [2].
The simplest trajectories are those that are equilibrium or fixed points that do not
change in time. Their character or stability is given by the local behavior of nearby
trajectories. A fixed point can attract (sink), repel (source) or have directions of
attraction and repulsion (saddle) of close trajectories [3]. Next in complexity are
periodic trajectories, quasi-periodic trajectories or even chaotic sets, each with its
own stability characterization. All of these features are similar in a class of
topologically equivalent systems. When a system parameter is varied, the system
can reach a critical point at which it is no longer equivalent. This is called a
bifurcation, and the system will exhibit new behavior. The study of how these
changes can be carried out will be another powerful tool in the analysis.
With respect to discrete recurrent neural networks as systems, several results on
their dynamics are available in the literature. The most general result is derived
using the Lyapunov stability theorem in [4], and establishes that for a symmetric
weight matrix, there are only fixed points and period two limit cycles, such as
stable equilibrium states. It also gives the conditions under which only fixed-point
attractors exist. More recently Cao [5] proposed other, less restrictive and more
complex, conditions. In [6], chaos is found even in a simple two-neuron network
in a specific weight configuration by demonstrating its equivalence with a one-
dimension chaotic system (the logistic map). In [7], the same author describes
another interesting type of trajectory, the quasi-periodic orbits. These are closed
orbits with irrational periods that appear in complex phenomena, such as frequency-
locking and synchronization, which are typical of biological networks. In the same
paper, conditions for the stability of these orbits are given. These can be simplified,
as we shall show below.
Passeman [8] obtains some experimental results, such as the coexisting of the
periodic, quasi-periodic and chaotic attractors. Additionally, [9] gives the position,
number and stability types of fixed points of a two-neuron discrete recurrent
network with nonzero weights.
10 Study of Pitchfork Bifurcation in Discrete Hopfield Neural Network 123
There are some works that analyze the Hopfield continuous neural networks
[10, 11], like [12–15]. These papers show the stability of Hopf-bifurcation with two
delays.
Firstly, we analyze the number and stability-type characterization of the fixed
points. We then continue with an analysis of the Pitchfork bifurcation. Finally, the
simulations are shown and conclusions are given.
For the sake of simplicity, we studied the two-neuron network. This allows for an
easy visualization of the problem. In this model, we considered zero inputs so as to
isolate the dynamics from the input action. Secondly, and without loss of generality
with respect to dynamics, we used zero bias weights. The activation function is the
hyperbolic tangent.
With these conditions, the network mapping function is
The point (0, 0) is always a fixed point for every value of the weights. The
number of fixed points is odd because for every fixed point (x1,p, x2,p), (x1,p, x2,p)
is also a fixed point.
To graphically determine the configuration of fixed points, we redefine the above
equations as
Depending on the diagonal weights, there are two qualitative behavior functions.
We are going to determine the number of fixed points using the graphical represen-
tation of the above Eq. (4). First, we can show that the graph of the F function has a
maximum and a minimum if wii > 1 or, if the opposite condition holds, is like the
hyperbolic arctangent function (Fig. 1).
124 R. Marichal et al.
Fig. 1 The two possible behaviors of the F function. The left figure corresponds to the respective
diagonal weight lower than unity. The right shows the opposite condition
The combination of these two possibilities with another condition on the ratio of
slopes at the origin of the two curves (4) gives the number of fixed points. The latter
condition can be expressed as
jW j ¼ w11 þ w22 1
In the process below, a two-neuron neural network is considered. It is usual for the
activation function to be a sigmoid function or a tangent hyperbolic function.
Considering the fixed point Eq. (3), the elements of the Jacobian matrix at the
fixed point (x, y) are
w11 f 0 ðx1 Þ w12 f 0 ðx1 Þ
J¼
w21 f 0 ðx2 Þ w22 f 0 ðx2 Þ
where w11, w22 and |W| are the diagonal elements and the determinant of the matrix
weight, respectively.
We can define new variables
σ2
SOURCE ZONE
SINK ZONE
σ1
Pitchfork bifurcation
|W| = w11 + w22 –1
SOURCE ZONE
Fig. 2 The stability regions and the Pitchfork bifurcation line at the fixed point (0, 0)
s2 ¼ jW j f 0 ðx1 Þ f 0 ðx2 Þ
1
cð0Þ ¼ hp; Cðq; q; qÞi (7)
6
where C is the third derivative terms of the Taylor development, the notation
< . , . > represents the scalar product, and p, q are the eigenvector Jacobian
matrix and its transpose, respectively. These vectors satisfy the normalization
condition
hp; qi ¼ 1
The above coefficients are evaluated for the critical parameter of the system
where the bifurcation takes place. The c(0) sign determines the bifurcation direc-
tion. When c(0) is negative, a stable fixed point becomes an unstable fixed point and
two additional stable symmetrical fixed points appear. In the opposite case, c(0)
positive, an unstable fixed point becomes a stable fixed point and two additional
unstable symmetrical fixed points appear.
In the neural network mapping, p and q are
d e
q¼ ; 1 (8)
e þ d w21 X2;0
e
p¼ ; 1 (9)
w12 X1;0
where
d ¼ w11 X1;0 1
e ¼ w22 X2;0 1
X1;0 ¼ 1 x21;0
X2;0 ¼ 1 x22;0
x1,0 and x2.0 are the fixed point coordinates where the bifurcation appears.
10 Study of Pitchfork Bifurcation in Discrete Hopfield Neural Network 127
X
2
@fi
Ci ðq; q; qÞ ¼ qj qk ql
j;k;l¼1
@x j @x k @xl
X
2
¼ f 000 ð0Þ dik dil wij wik wil qj qk ql
j;k;l¼1
X
2
¼ f 000 ð0Þ w3ij q2j qj (10)
j¼1
@fi
¼ 2ð1 x2i Þð3x2i 1Þwij wik wil
@xj @xk @xl
X
2
Ci ða; b; cÞ ¼ 2 ð1 x2i Þð3x2i 1Þwij wik wil aj bk cl :
j;k;l¼1
Taking into account the previous equations and the q autovector Eq. (8)
2 3
2X1;0 ð3x21:0 1Þw312
Cðq; q; qÞ ¼ 2 4 d3
ð13x22;0 Þ
5 (11)
2
X2;0
It can be shown in Eq. (3) that the zero is always a fixed point. Replacing the
expressions for C(q,q,q), q and p given by Eqs. (8) (9) and (11), respectively, and
evaluating them at the zero fixed point, the previous c(0) coefficient is
jW j ¼ w11 þ w22 1
then
w12 w21 ¼ 0
In this particular case, the eigenvalues match with the diagonal elements of the
weight matrix
l1 ¼ w11
l2 ¼ w22
q ¼f1; 0g
w12
p ¼ 1;
w22 1
1 1 1
cð0Þ ¼ hp; Cðq; q; qÞi ¼ w311 ¼ :
6 3 3
Therefore, in this particular case, the coefficient of the normal form c (0) is
negative, a stable fixed point becomes a saddle fixed point and two additional stable
symmetrical fixed points appear.
5 Simulations
In order to examine the results obtained. The simulation shows the Pitchfork
bifurcation (Fig. 3). The Pitchfork bifurcation is produced by the diagonal element
weight matrix w11. Figure 3a shows the dynamic configuration before the bifurcation
is produced, with only one stable fixed point. Subsequently, when the bifurcation is
produced (Fig. 3b), two additional stable fixed points appear and the zero fixed point
changes its stability from stable to unstable (the normal form coefficient c is negative).
6 Conclusion
a
1
0.8
0.6
0.4
0.2
X2 0
–0.2
–0.4
–0.6
–0.8
–1
–1 – 0.5 0 0.5 1
X1
b
1
0.8
0.6
0.4
0.2
0
X2
–0.2
–0.4
–0.6
–0.8
–1
–1 – 0.5 0 0.5 1
X1
Fig. 3 The dynamic behavior when the Pitchfork bifurcation is produced. + and D are the saddle
and source fixed points, respectively. (a) w11 ¼ 0.9, w12 ¼ 0.1, w21 ¼ 1 and w22 ¼ 0.5; (b) w11 ¼
1.1, w12 ¼ 0.1, w21 ¼ 1 and w22 ¼ 0.5
over to larger Hopfield discrete neural networks. There exists the possibility of
generalizing some of these results to higher dimensions and of using them to design
training algorithms that avoid the problems associated with the learning process.
130 R. Marichal et al.
References
1. R. Hush, B.G. Horne, Progress in supervised neural network. IEEE Signal Process. Mag. 8–39
(1993)
2. Y.A. Kuznetsov, Elements of Applied Bifurcation Theory, 3rd edn. (Springer-Verlag,
New York, 2004)
3. K.T. Alligood, T.D. Sauer, J.A. Yorke, Chaos: An Introduction to Dynamical Systems
(Springer Verlag, New York, 1998)
4. C.M. Marcus, R.M. Westervelt, Dynamics of iterated-map neural networks. Phys. Rev. A 40,
501–504 (1989)
5. Cao Jine, On stability of delayed cellular neural networks. Phys. Lett. A 261(5–6), 303–308
(1999)
6. X. Wang, Period-doublings to chaos in a simple neural network: an analytical proof. Complex
Syst. 5, 425–441 (1991)
7. X. Wang, Discrete-time dynamics of coupled quasi-periodic and chaotic neural network
oscillators. International Joint Conference on Neural Networks (1992)
8. F. Pasemann, Complex dynamics and the structure of small neural networks. Netw. Comput.
Neural Syst. 13(2), 195–216 (2002)
9. Tino et al., Attractive periodic sets in discrete-time recurrent networks (with emphasis on
fixed-point stability and bifurcations in two-neuron networks). Neural Comput. 13(6),
1379–1414 (2001)
10. J. Hopfield, Neurons with graded response have collective computational properties like those
of two-state neurons. Procs. Nat. Acad. Sci. USA 81, 3088–3092 (1984)
11. D.W. Tank, J.J. Hopfield, Neural computation by concentrating information in time, Proc.
Nat. Acad. Sci. USA, 84, 1896–1991 (1984)
12. X. Liao, K. Wong, Z. Wu, Bifurcation analysis on a two-neuron system with distributed
delays. Physica D 149, 123–141 (2001)
13. S. Guo, X. Tang, L. Huang, Hopf bifurcating periodic orbits in a ring of neurons with delays,
Physica D, 183, 19–44 (2003)
14. S. Guo, X. Tang, L. Huang, Stability and bifurcation in a discrete system of two neurons with
delays. Nonlinear Anal. Real World. doi:10.1016/j.nonrwa.2007.03.002 (2007)
15. S. Guo, X. Tang, L. Huang, Bifurcation analysis in a discrete-time single-directional network
with delays. Neurocomputing 71, 1422–1435 (2008)
16. R. Marichal et al., Bifurcation analysis on hopfield discrete neural networks. WSEAS Trans.
Syst. 5, 119–124 (2006)
Chapter 11
Grammatical Evolution and STE Criterion
Statistical Properties of STE Objective Function
1 Introduction
R. Matousek (*)
Dept. of Mathematic and Applied Computer Science, Brno University of Technology, FME,
Technicka 2896/2, 61600 Brno, Czech Republic
e-mail: [email protected]
Table 1 Grammar G which was used with respect of the approximation tasks
Approximation task Grammar and example of generating function
Trigonometric (data: ET20x50) G ¼ {þ,,*,/,sin,cos,variables,constants}
notes:
unsigned integer constants ∈ [0,15], real constants ∈ [0,1]
y ¼ sinðxÞ þ sinð2:5xÞ
Polynomial (data: ET10x50) G ¼ {þ,,*,/, variables, constants}
notes:
unsigned integer constants ∈ [0,15], real constants ∈ [0,1]
y ¼ 3x4 3x þ 1
where e is the radius of the epsilon tube, i is the index set of the control points,
e is an objective function determining whether the approximated value lies within
the given epsilon tube. The workings of this criterion may be seen as a tube of
diameter epsilon that stretches along the entire approximation domain (Fig. 2). The
axis of such a tube is determined by the points corresponding to the approximated
values. Such points may be called control points.
The actual evaluating function then checks whether an approximation point lies
within or out of the tube (2). The epsilon value changes dynamically during the
optimization process being set to the highest value at the beginning and reduced
when the adaptation condition is met.
The variable parameters of the STE method are listed in Table 2. At the
beginning of the evolution process, the algorithm sets the diameter of the epsilon
tube. If the condition (3), which indicates the minimum number of points that need
to be contained in the epsilon cube, is met, the epsilon tube is adapted, that is, the
current epsilon value is reduced. This value can either be reduced using an interest-
rate model with the current epsilon value being reduced by a given percentage of
the previous epsilon value or using a linear model with the current epsilon value
being reduced by a constant value.
The condition for the adaptation of the epsilon tube to be finished may either
be chosen as a limit epsilon value (the steEpsStop parameter) or be given by the
number of adaptive changes (the steIteration parameter).
A random variable has a Laplace (m, b) distribution if its probability density function
is (4). Here, m is a location parameter and b > 0 is a scale parameter. If m ¼ 0 and
b ¼ 1, the positive half-line is exactly an exponential distribution scaled by ½.
An intuitive approach to approximation shows better results for the STE method
(Fig. 1) mainly because there are no big differences between the approximating
functions (Figs. 3 and 4). The reason for this is obvious: very distant points
influence the result of approximation a great deal for SSE while, for STE, the
weight of such points are relatively insignificant.
Next, the main advantages and disadvantages are summarized of the minimiza-
tion methods using the SSE and STE criteria.
Fig. 1 Comparison of SSE and STE principles. Common principle of residual sum of squares
(above). The principle of the Sum of epsilon-Tube Error (below)
200
frequency
150
100
50
0
–5 –3 –1 1 3 5
ET10 × 50
Fig. 2 Histogram of the standardized residua (from the experiment ET10x50) and the probability
density function of the Laplace distribution
136 R. Matousek and J. Bednar
Fig. 3 The final approximations (symbolic regression) of polynomial data (see Table 1). STE
method was used (left), respectively SEE method was used (right)
Fig. 4 The final approximations (symbolic regression) of trigonometric data (Table 1). STE
method was used (left), respectively SEE method was used (right)
þ a metric is defined.
þ a N(m ¼ 0, s2) residua error distribution may be assumed with descriptive
statistics for this distribution being available.
more time-consuming.
being used excessively, this method hardly provides an incentive for users to gain
new insights [5].
This part shows how the results obtained by a SSE-based minimization method may
be used to derive a result corresponding to the values of a STE-based minimization
criterion. In other words, a procedure will be shown for using SSE to obtain a
corresponding STE. The procedure is based on the following:
l It is assumed that, when applying the least-squares method, the residua are
normally distributed with N(m ¼ 0, s2). Here, the standard deviation may be
arbitrary, but a reduction to the standardized normal distribution N(0, 1) is
possible.
l In order to reach a sufficient statistical significance, the experiment simulated
10,000 instances of solution to an approximation problem (nRUN). This prob-
lem was discretized using 100 control points.
l Different sizes eps ¼ {2, 1, 0.5, 0.25, 0.125} of epsilon tubes were chosen to
simulate possible adaptations of the epsilon tube by (3).
l The frequencies were calculated of the values lying within the given epsilon
tubes.
This simulation and the subsequent statistical analysis were implemented using
the Minitab software package. Table 3 provides partial information on the proce-
dure used.
Where r is residua (X N(0,1)), i is control point index (i ∈ [1, 100] in our
particular case), nRUN is given implementation (nRUN ∈ [1, 10000] in our
particular case).
Next, for each residuum value, the number of cases will be determined of these
residua lying in the interval given by a particular epsilon tube. This evaluation
criterion denoted by STE (Sum epsilon-Tube Error) is defined by (2) and, for the
particular test values, corresponds to:
X
100
STEe ¼ ee ðri Þ; e ¼ f2; 1; 0:5; 0:25; 0:125g (5)
i¼1
Table 3 A fragment of a table of the simulated residua values with standardized normal
distribution and the corresponding ee ðri Þ values
r i nRUN e¼2 e¼1 e ¼ 0.5 e ¼ 0.25 e ¼ 0.125
0.48593 1 1 1 1 1 0 0
0.07727 2 1 1 1 1 1 1
1.84247 3 1 1 0 0 0 0
1.29301 4 1 1 0 0 0 0
0.34326 5 1 1 1 1 0 0
... ... ... ... ... ... ... ...
0.02298 100 10,000 1 1 1 1 1
138 R. Matousek and J. Bednar
Distribution Plot
Normal; Mean = 0; StDev = 1
0.5
0.954
0.4
0.3
Density
0.2
0.1
0.0
–2 0 2
X
KBiðn; pe Þ; (6)
where
For the epsilons chosen, the STE characteristic has a binomial distribution given
by (6) where the probabilities pe are calculated from Table 4. For the case of e ¼ 2,
Fig. 5 shows the probability calculation.
The Fig. 6 shows the probability functions for epsilon tubes with value k
indicating, with a given probability, the number of control points for which the
e(r) function takes on a value of one, that is, the number of control points contained
in a given epsilon tube.
The correctness of the calculation was proved empirically. The STE values
simulated (10,000 runs) were compared with distribution (6). The following figure
(Fig. 7) displays an empirical probability density function obtained from Table 3 by
(5) compared with the probability density function as calculated by (6) for e ¼ 1.
It can be seen in Fig. 7 that the empirical distribution is close the calculated one,
which was verified using a goodness-of-fit test.
11 Grammatical Evolution and STE Criterion 139
0.20
Variable
Bi (100, 0.9545)
Bi (100, 0.6827)
0.15
Bi (100, 0.3829)
Bi (100, 0.1974)
Bi (100, 0.0995)
p(k)
0.10
0.05
0.00
0 20 40 60 80 100
k
Fig. 6 STE probability density functions for e-tubes with e ¼ {2, 1, 0.5, 0.25, 0.125}
0.06
0.05
p(k)
0.04
0.03
0.02
0.01
0.00
50 60 70 80 90
k
Fig. 7 Comparing empirical and calculate probability density functions of occurrences within the
epsilon tube for e ¼ 1
(1000 values ranging from 5.12124 to 5.11919) for goniometrical problem which is
described by Table 1.
Fitted distribution is Laplace, where mean is 0.00198 and scale is 1.55075. This
analysis shows the results of fitting a Laplace distribution to the data on ET10x50
(Tables 5 and 6). We can test whether the Laplace distribution fits the data
adequately by selecting Goodness-of-Fit Tests from the list of Tabular Options.
The visual fiiting of Laplace distribution is in the Fig. 2.
This pane shows the results of tests run to determine whether ET10x50 can be
adequately modeled by a Laplace distribution. The chi-squared test divides the
range of ET10x50 into nonoverlapping intervals and compares the number of
observations in each class to the number expected based on the fitted distribution.
The Kolmogorov-Smirnov test computes the maximum distance between the
cumulative distribution of ET10x50 and the CDF of the fitted Laplace distribution.
In this case, the maximum distance is 0.0540167. The other statistics compare the
empirical distribution function to the fitted CDF in different ways.
Since the smallest P-value amongst the tests performed is greater than or equal to
0.05, we can not reject the idea that ET10x50 comes from a Laplace distribution
with 95% confidence. Analogous procedure can be use in case of ET20x50 data sets
and another.
Fundamental difference between STE and SSE optimal criteria is metric regarding
Eqs. (1) and (2). The SSE contrary to the STE has define the Euclidean metric (in this
case triangle inequality exist). Hence, exact relation form STE to SSE optimal criteria
doesn’t exist. But, if we try to use probabilistic relation, we can obtain relationship
for transformation of Laplace distribution to Normal distribution. In other words, we
can transform STE solution to SSE solution in probabilistic point of view.
We suppose (from caption IV and on the base chi-square goodness test) that
the residua has Laplace distribution in case of STE criteria. As we can see in 0,
Laplace distribution is a typical distribution for some numerical methods. Laplace
distribution is also called double exponential distribution. It is the distribution
of differences between two independent varieties with identical exponential distri-
bution 0. The probability is given by (7)
1 jxmj=b
PðxÞ ¼ e (7)
2b
and the moments about the mean mn are related to the moments about 0 by (8)
! ! (
X X
n floor ðj=2Þ
nj n j 2k n2k n!bn for n even
mn ¼ ð1Þ b m Gð2k þ 1Þ ¼ (8)
j¼0 k¼0 j 2k 0 for n odd
Common uses moments are in the Table 7. Because the Mean Square Error
(MSE) given by MSE ¼ SSE/n is estimation of the variance s2 we can derive from
Table 7 and given parameter b the Sum Square Error by Eq. (9).
7 Conclusion
l A new STE evaluation criterion for GE was introduced using epsilon tubes.
Based on the experiments conducted, this criterion seems to be more appropriate
for the symbolic regression problem as compared with the SSE method.
l Using statistical tools the method of transforming the results obtained by SSE
minimisation into results obtained by STE has been shown.
l Using a particular class implemented using approximations obtained by an STE
minimization, the empirically obtained residua were found to be Laplace
distributed. It was confirmed on the base statistical approach of goodness-of-fit
tests.
l The properties of such residua and transformation of the STE-based minimi-
zation criterion into a SSE-based was shown by means of probabilistic
relationship.
Acknowledgement This work was supported by the Czech Ministry of Education in the frame
of MSM 0021630529 and by the GACR No.: 102/091668.
References
Abstract Soft sensor are used to infer the critical process variables that are
otherwise difficult, if not impossible, to measure in broad range of engineering
fields. Adaptive Neuro-Fuzzy Inference System (ANFIS) has been employed to
develop successful ANFIS based inferential model that represents the dynamics
of the targeted system. In addition to the structure of the model, the quality of the
training as well as of the testing data also plays a crucial role in determining the
performance of the soft sensor. This paper investigates the impact of data quality on
the performance of an ANFIS based inferential model that is designed to estimate
the average air temperature in distributed heating systems. The results of the two
experiments are reported. The results show that the performance of ANFIS based
sensor models is sensitive to the quality of data. The paper also discusses how to
reduce the sensitivity by an improved mathematical algorithm.
1 Introduction
A soft sensor computes the value of the process variables, which are difficult to
directly measure using conventional sensors, based on the measurement of other
relevant variables [1]. The performance of soft sensors is sensitive to the inferential
model that represents the dynamics of the targeted system. Such inferential models
can be based on one of the following modeling techniques:
l Physical model
l Neural network
l Fuzzy logic
l Adaptive Neuro-Fuzzy Inference System
S. Jassar (*)
Ryerson University, 350 Victoria Street, Toronto M5B2K3, Canada
e-mail: [email protected]
Grid partition divides the data space into rectangular sub-spaces using axis-
paralleled partition based on pre-defined number of MFs and their types in each
dimension. The wider application of grid partition in FIS generation is blocked by
the curse of dimensions. The number of fuzzy rules increases exponentially when
the number of input variables increases. For example, if there are m MFs for each
input variable and a total of n input variables for the problem, the total number of
fuzzy rules is mn. It is obvious that the wide application of grid partition is
threatened by the large number of rules. According to Jang, grid partition is only
suitable for cases with small number of input variables (e.g. less than 6). In this
research, the average air temperature estimation problem has three input variables.
It is reasonable to apply the grid partition to generate FIS structure, ANFIS-GRID.
Gaussian type MF is used for characterizing the premise variables. Each input
has 4 MFs, thus there are 64 rules. The developed structure is trained using hybrid
learning algorithm [5]. The parameters associated with the MFs change through
training process.
Experimental data obtained from a laboratory heating system is used for training
and testing of the developed model [7]. The laboratory heating system is located in
Milan, Italy. The details of experimental data collection for the four variables, Qin,
Qsol, T0 and Tavg, are given by the authors [2, 6]. The dataset used for the training of
ANFIS-GRID has 1800 input-output data pairs and is shown in Fig. 1.
The experimental data used for checking the performance of the developed
model is shown in Fig. 2. The testing dataset has 7,132 data pairs, which is large
enough as compared to training dataset used for the development of the model.
15000
Qin (W)
10000
5000
0
0 50 100 150
Time (Hour of the Year)
15000
Qsol (W)
10000
5000
0
0 50 100 150
Time (Hour of the Year)
10
T0 (Deg C)
5
0
–5
0 50 100 150
Time (Hour of the Year)
22
Tavg (Deg C)
20
18
16
0 50 100 150
Time (Hour of the Year)
× 104
2
Qin (W)
0
0 100 200 300 400 500 600
Time (Hour of the Year)
× 104
2
Qsol (W)
0
0 100 200 300 400 500 600
Time (Hour of the Year)
20
T0 (Deg C)
–20
0 100 200 300 400 500 600
Time (Hour of the Year)
25
Tavg (Deg C)
20
15
0 100 200 300 400 500 600
Time (Hour of the Year)
Data errors may affect the accuracy of the ANFIS based models in two ways. First,
the data used to build and train the model may contain errors. Second, even if
training data are free of errors, once the developed model is used for estimation
tasks a user may use input data containing errors to the model.
148 S. Jassar et al.
The research in this area has assumed that data used to train the models and data
input to make estimation of the processes are free of errors. In this study we relax
this assumption by asking two questions: (1) What is the effect of errors in the test
data on the estimation accuracy of the ANFIS based models? (2) What is the effect
of errors in the training data on the predictive accuracy of the ANFIS based models?
While many sources of error in a dataset are possible, we assume that the
underlying cause of errors affect data items randomly rather than systematically.
One source of inaccuracy that may affect a dataset in this way is the measurement
errors caused by reading the equipment. This type of error may affect any data item
in the dataset and may understate or overstate the actual data value. This study does
not address the effect of systematic data errors on the estimations made by the
ANFIS based models.
Two experiments are conducted to examine the research targets. Both the
experiments used the same application (estimation of average air temperature)
and the same dataset.
Experiment 1 examines the first question: What is the effect of errors in the test
data on the estimation ability of the ANFIS based models? Experiment 2 examines
the second question: How the errors of the training data affect the accuracy of the
ANFIS based models?
There are two factors in each experiment: (1) fraction-error and (2) amount-error.
Fraction-error is the percent of the data items in the appropriate part of the dataset
(the test data in experiment 1 and the training data in experiment 2) that are
perturbed. Amount-error is the percentage by which the data items identified in
the fraction-error factor are perturbed.
3.2.1 Fraction-Error
Since fraction-error is defined as a percent of the data items in a dataset, the number
of data items that are changed for a given level of fraction-error is determined by
multiplying the fraction-error by the total number of data items in the dataset.
Experiment 1: The test data used in experiment 1, shown in Fig. 2, has 4 data
items (1 value for each of the 4 input and output variables for 1 entry of the total
7,132 data pairs). This experiment examines all of the possible number of data
items that could be perturbed. These four levels for fraction-error factor are: 25%
(one data item perturbed), 50% (two data items perturbed), 75% (three data items
perturbed), and 100% (four data items perturbed)
Experiment 2: The training data used in experiment 2 contains 1,800 data pairs
(1 value for each of the 4 input and output variables for 1,800 entries). Four levels of
the fraction-error factor are tested: 5% (90 data items are perturbed), 10% (180 data
12 Data Quality in ANFIS Based Soft Sensors 149
items are perturbed), 15% (270 data items are perturbed), and 20% (360 data items
are perturbed).
3.2.2 Amount-Error
For both the experiments, the amount-error factor has two levels: (1) plus or minus
5% and (2) plus or minus 10%. The amount-error applied to the dataset can be
represented by the following set of equations:
y0 ¼ y 0:05 y (1)
y0 ¼ y 0:1 y (2)
For Eqs. (1) and (2), y0 is the value of the variable after adding or subtracting the
noise error to the unmodified variable y.
The experimental design is shown in Table 1. Both the experiments have four levels
for the fraction-error factor and two levels for the amount-error. For each combina-
tion of fraction-error and amount-error, four runs with random combinations of the
input and output variable are performed.
Although the levels of the fraction-error are different in the two experiments, the
sampling procedure is the same. For each fraction-error level, the variables are
randomly selected to be perturbed. This is repeated a total of four times per level.
Table 2 shows the combinations of the variables for experiment 1.
Second, for each level of the amount-error factor, each variable is randomly
assigned either a positive or negative sign to indicate the appropriate amount-error
to be applied. Table 3 shows the randomly assigned amount-error levels in
Table 2 Four combinations of the variables for each fraction-error level in Experiment 1
Fraction-error level Input and output variable combination
(%) 1 2 3 4
25 (Qin) (Qsol) (T0) (Tavg)
50 (Qin, T0) (Qin, Tavg) (Qsol, T0) (Tavg, T0)
75 (Qin, T0, Qsol) (Qin, Tavg, T0) (Qin, Tavg, Qsol) (T0, Tavg, Qsol)
100 (Qin, T0, Qsol, (Qin, T0, Qsol, (Qin, T0, Qsol, (Qin, T0, Qsol,
Tavg) Tavg) Tavg) Tavg)
Table 3 Randomly assigned percentage increase (+) or decrease () for a given amount-error
level in Experiment 1
Fraction-error level Input and output variable combination
(%) 1 2 3 4
25 (Qin) (Qsol) (T0) (Tavg)
+ +
50 (Qin, T0) (Qin, Tavg) (Qsol, T0) (Tavg, T0)
+, , +,+ ,+
75 (Qin, T0, Qsol) (Qin, Tavg, T0) (Qin, Tavg, Qsol) (T0, Tavg, Qsol)
+,, ,+, +,+, +,,+
100 (Qin, T0, Qsol, (Qin, T0, Qsol, (Qin, T0, Qsol, (Qin, T0, Qsol,
Tavg) Tavg) Tavg) Tavg)
,+,,+ +,+,+,+ ,,+,+ ,,,+
For both the experiments, the measured average air temperature values and ANFIS-
GRID estimated average air temperature values are compared using Root Mean
Square Error (RMSE) as a measure of estimation accuracy.
Estimation accuracy results, using the simulated inaccuracies for amount-error and
fraction-error for the average air temperature estimation are given in Fig. 3. It
shows that as fraction-error increases from 25% to 100%, RMSE increases results
in a decrease in predictive accuracy. As amount-error increases from 5% to 10%,
RMSE increases also indicating a decrease in estimation accuracy. Both fraction-
error and amount-error have an effect on predictive accuracy.
12 Data Quality in ANFIS Based Soft Sensors 151
Predictive accuracy results, using the simulated inaccuracies for amount-error and
fraction-error for the average air temperature estimation are given in Fig. 4. It
shows that as fraction-error increases from 5% to 20%, RMSE increases indicating
a decrease in predictive accuracy.
152 S. Jassar et al.
Data quality analysis results show that the errors in the training data as well as in the
testing data affect the predictive accuracy of the ANFIS based soft sensor models.
This section discusses an efficient algorithm, TANE algorithm, to identify the noisy
data pairs in the dataset.
The TANE algorithm, which deals with discovering functional and approximate
dependencies in large data files, is an effective algorithm in practice [13]. The
TANE algorithm partitions attributes into equivalence partitions of the set of tuples.
By checking if the tuples that agree on the right-hand side agree on the left-hand side,
one can determine whether a dependency holds or not. By analyzing the identified
approximate dependencies, one can identify potential erroneous data in the relations.
In this research, relationship of the three input parameters (Qin, Qsol, and T0) and
the average air temperature (Tavg) is analyzed using TANE algorithm. For equiva-
lence partition, all the four parameters are rounded off to zero decimal points.
After data pre-processing, four approximate dependencies are discovered, as
shown in Table 4. Although all these dependencies reflect the relationships among
the parameters, the first dependency is the most important one because it shows that
the selected input parameters have consistent association relationship with the
average air temperature except a few data pairs, which is a very important depen-
dency for average air temperature estimation.
To identify exceptional tuples by analyzing the approximate dependencies, it is
required to investigate the equivalence partitions of both left-hand and right-hand
sides of an approximate dependency. It is non-trivial work that could lead to the
discovery of problematic data. By analyzing the first dependency, conflicting tuples
are identified. The total dataset has 7,132 data pairs. For the first approximate
dependency from Table 4, 42 conflicting data pairs are present which needs were
fixed using data interpolations for better performance of ANFIS-GRID model.
5 Results
The developed ANFIS-GRID model is validated using experimental results [7]. The
model performance is measured using RMSE
vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
u
u1 X N
RMSE ¼ t Tavg ðiÞ T^avg ðiÞ (3)
N i¼1
12 Data Quality in ANFIS Based Soft Sensors 153
Measured Temperature
ANFIS-GRID (raw data) Estimated Temperature
22
21
Tavg (Deg C)
20
19
18
17
16
0 100 200 300 400 500 600
Time (Hour of the Year)
Measured Temperature
ANFIS-GRID (clean data) Estimated Temperature
22
21
Tavg (Deg C)
20
19
18
17
16
0 100 200 300 400 500 600
Time (Hour of the Year)
For Eq. (3), N is the total number of data pairs, T^avg is the estimated and Tavg is the
experimental value of average air temperature.
Initially, ANFIS-GRID model uses the raw data for both the training as well as
the testing. Figure 5 compares ANFIS-GRID estimated average air temperature
values with the experimental results. First plot in Fig. 5 shows that ANFIS-GRID
estimated average air temperature values are in agreement with the experimental
results, with RMSE 0.56 C. However there are some points at which estimation is
not following the experimental results. For example, around 152–176 and 408–416
h of the year time, there is a significant difference between estimated and experi-
mental results.
For checking the effect of data quality on ANFIS-GRID performance, the
training and testing datasets are cleaned using TANE algorithm. The conflicting
data pairs are replaced with the required data pairs. Then the cleaned dataset is
applied for the training and the testing of ANFIS-GRID model. A comparison of
the model output with clean data and the experimental results is shown in second
plot of Fig. 5.
154 S. Jassar et al.
6 Conclusion
ANFIS-GRID based inferential model has been developed to estimate the average
air temperature in the distributed space heating systems. This model is simpler
than the subtractive clustering based ANFIS model [2] and may be used as the air
temperature estimator for the development of an inferential control scheme. Grid
partition based FIS structure is used as there are only three input variables. The
training dataset is also large enough as compared to the modifiable parameters
of the ANFIS. As the experimental data is used for both the training as well as
the testing of the developed model, it is expected that data can have some
discrepancies. TANE algorithm is used to identify the approximate functional
dependencies among the input and the output variables. The most important
approximate dependency is analyzed to identify the data pairs with uneven patterns.
The identified data pairs are fixed and again the developed model is trained and
tested with the cleaned data. Figure 6 shows that the RMSE is improved by 37.5%
and R2 is improved by 12%. Therefore, it is highly recommended that the quality
of datasets should be analyzed before they are applied in ANFIS based modelling.
12 Data Quality in ANFIS Based Soft Sensors 155
References
1. M.T. Tham, G.A. Montague, A.J. Morris, P.A. Lant, Estimation and inferential control.
J. Process Control 1, 3–14 (1993)
2. S. Jassar, Z. Liao, L. Zhao, Adaptive neuro-fuzzy based inferential sensor model for estimat-
ing the average air temperature in space heating systems. Build. Environ. 44, 1609–1616
(2009)
3. Z. Liao, A.L. Dexter, An experimental study on an inferential control scheme for optimising
the control of boilers in multi-zone heating systems. Energy Build. 37, 55–63 (2005)
4. B.D. Klein, D.F. Rossin, Data errors in neural network and linear regression models:
an experimental comparison. Data Quality 5, 33–43 (1999)
5. J.S.R. Jang, ANFIS: adaptive-network-based fuzzy inference system. IEEE Trans. Syst.
Man Cybern. 2, 665–685 (1993)
6. Z. Liao, A.L. Dexter, A simplified physical model for estimating the average air temperature
in multi-zone heating systems. Build. Environ. 39, 1013–1022 (2004)
7. BRE, ICITE, Controller efficiency improvement for commercial and industrial gas and
oil fired boilers, A craft project, Contract JOE-CT98-7010, 1999–2001
8. J. Wang, B. Malakooti, A feed forward neural network for multiple criteria decision making.
Comput. Oper. Res. 19, 151–167 (1992)
9. Y. Huh, F. Keller, T. Redman, A. Watkins, Data quality. Inf. Softw. Technol. 32, 559–565
(1990)
10. Bansal, R. Kauffman, R. Weitz, Comparing the modeling performance of regression and
neural networks as data quality varies. J. Manage. Inf. Syst. 10, 11–32 (1993)
11. D. O’Leary, The impact of data accuracy on system learning. J. Manage. Inf. Syst. 9, 83–98
(1993)
12. M. Wei, et al., Predicting injection profiles using ANFIS. Inf. Sci. 177, 4445–4461 (2007)
13. Y. Huhtala, J. Karkkainen, P. Porkka, H. Toivonen, TANE: an efficient algorithm for
discovering functional and approximate dependencies. Comput. J. 42, 100–111 (1999)
Chapter 13
The Meccano Method for Automatic Volume
Parametrization of Solids
1 Introduction
Many authors have devoted great effort to solving the automatic mesh generation
problem in different ways [4, 15, 16, 28], but the 3-D problem is still open [1].
Along the past, the main objective has been to achieve high quality adaptive meshes
of complex solids with minimal user intervention and low computational cost.
At present, it is well known that most mesh generators are based on Delaunay
triangulation and advancing front technique, but problems, related to mesh quality
or mesh conformity with the solid boundary, can still appear for complex geo-
metries. In addition, an appropriate definition of element sizes is demanded for
R. Montenegro (*)
Institute for Intelligent Systems and Numerical Applications in Engineering (SIANI), University
of Las Palmas de Gran Canaria, 35017 Las Palmas de Gran Canaria, Spain
e-mail: [email protected]
obtaining good quality elements and mesh adaption. Particularly, local adaptive
refinement strategies have been employed to mainly adapt the mesh to singularities
of numerical solution. These adaptive methods usually involve remeshing or nested
refinement.
We introduced the new meccano technique in [2, 3, 23, 24] for constructing
adaptive tetrahedral meshes of solids. We have given this name to the method
because the process starts with the construction of a coarse approximation of the
solid, i.e. a meccano composed by connected polyhedral pieces. The method builds
a 3-D triangulation of the solid as a deformation of an appropriate tetrahedral mesh
of the meccano. A particular case is when meccano is composed by connected
cubes, i.e. a polycube.
The new automatic mesh generation strategy uses no Delaunay triangulation, nor
advancing front technique, and it simplifies the geometrical discretization problem
for 3-D complex domains, whose surfaces can be mapped to the meccano faces.
The main idea of the meccano method is to combine a local refinement/derefine-
ment algorithm for 3-D nested triangulations [20], a parameterization of surface
triangulations [8] and a simultaneous untangling and smoothing procedure [5]. At
present, the meccano technique has been implemented by using the local refine-
ment/derefinement of Kossaczky [20], but the idea could be implemented with
other types of local refinement algorithms [17]. The resulting adaptive tetrahedral
meshes with the meccano method have good quality for finite element applications.
Our approach is based on the combination of several former procedures (refine-
ment, mapping, untangling and smoothing) which are not in themselves new, but
the overall integration is an original contribution. Many authors have used them in
different ways. Triangulations for convex domains can be constructed from a coarse
mesh by using refinement/projection [25]. Adaptive nested meshes have been
constructed with refinement and derefinement algorithms for evolution problems
[7]. Mappings between physical and parametric spaces have been analyzed by
several authors. Significant advances in surface parametrization have been done
in [8, 10, 11, 22, 27, 29], but the volume parametrization is still open. Floater et al.
[12] give a simple counterexample to show that convex combination mappings over
tetrahedral meshes are not necessarily one-to-one. Large domain deformations can
lead to severe mesh distortions, especially in 3-D. Mesh optimization is thus key for
keeping mesh shape regularity and for avoiding a costly remeshing [18, 19]. In
traditional mesh optimization, mesh moving is guided by the minimization of
certain overall functions, but it is usually done in a local fashion. In general, this
procedure involves two steps [13, 14]: the first is for mesh untangling and the
second one for mesh smoothing. Each step leads to a different objective function. In
this paper, we use the improvement proposed by [5, 6], where a simultaneous
untangling and smoothing guided by the same objective function is introduced.
Some advantages of the meccano technique are that: surface triangulation is
automatically constructed, the final 3-D triangulation is conforming with the
object boundary, inner surfaces are automatically preserved (for example, interface
between several materials), node distribution is adapted in accordance with the
object geometry, and parallel computations can easily be developed for meshing
13 The Meccano Method for Automatic Volume Parametrization of Solids 159
The main steps of the general meccano tetrahedral mesh generation algorithm are
summarized in this section. A detailed description of this technique can be analyzed
in [2, 23, 24]. The input data are the definition of the solid boundary (for example by
a given surface triangulation) and a given tolerance (corresponding to the solid
surface approximation). The following algorithm describes the whole mesh gener-
ation approach.
Meccano tetrahedral mesh generation algorithm
1. Construct a meccano approximation of the 3-D solid formed by polyhedral pieces.
2. Define an admissible mapping between the meccano boundary faces and the solid
boundary.
3. Build a coarse tetrahedral mesh of the meccano.
160 R. Montenegro et al.
4. Generate a local refined tetrahedral mesh of the meccano, such that the mapping of the
meccano boundary triangulation approximates the solid boundary for a given precision.
5. Move the boundary nodes of the meccano to the object surface with the mapping defined
in 2.
6. Relocate the inner nodes of the meccano.
7. Optimize the tetrahedral mesh with the simultaneous untangling and smoothing proce-
dure.
In this section, we present the application of the meccano algorithm in the case of
the solid surface being genus-zero and the meccano being formed by a single cube.
We assume as datum a triangulation of the solid surface.
We introduce an automatic parametrization between the surface triangulation of
the solid and the cube boundary. To that end, we automatically divide the surface
triangulation into six patches, with the same topological connection that cube faces,
so that each patch is mapped to a cube face. These parametrizations have been
done with GoTools core and parametrization modules from SINTEF ICT, available
in the website http://www.sintef.no/math_software. This code implements Floater’s
parametrization in C++. Specifically, in the following application we have used the
mean value method for the parametrization of the inner nodes of the patch triangula-
tion, and the boundary nodes are fixed with chord length parametrization [8, 10].
We have implemented the meccano method by using the local refinement of
ALBERTA. This code is an adaptive multilevel finite element toolbox [26] devel-
oped in C. This software can be used to solve several types of 1-D, 2-D or 3-D
problems. ALBERTA uses the Kossaczky refinement algorithm [20] and requires
13 The Meccano Method for Automatic Volume Parametrization of Solids 161
an initial mesh topology [25]. The recursive refinement algorithm could not termi-
nate for general meshes. The meccano technique constructs meshes that verify the
imposed restrictions of ALBERTA in relation to topology and structure. The
minimum quality of refined meshes is function of the initial mesh quality.
The performance of our novel tetrahedral mesh generator is shown in the
following applications. The first corresponds to a Bust, the second to the Stanford
Bunny and the third to a Bone. We have obtained a surface triangulation of these
objects from internet.
The original surface triangulation of the Bust has been obtained from the website
http://shapes.aimatshape.net, i.e. AIM@SHAPE Shape Repository. It has 64,000
triangles and 32,002 nodes. The bounding box of the solid is defined by the points
(x, y, z)min ¼ (120, 30.5, 44) and (x, y, z)max ¼ (106, 50, 46).
We consider a cube, with an edge length equal to 20, as meccano. Its center is
placed inside the solid at the point (5, 3, 4). We obtain an initial subdivision of
Bust surface in seven maximal connected subtriangulations by using the Voronoi
diagram associated to the centers of the cube faces. In order to get a compatible
decomposition of the surface triangulation, we apply an iterative procedure to
reduce the current seven patches to six.
We map each surface patch SiS to the cube face SiC by using the Floater
parametrization [8]. The definition of the one-to-one mapping between the cube
and Bust boundaries is straightforward once the global parametrization of the Bust
surface triangulation is built.
Fixing a tolerance e2 ¼ 0.1, the meccano method generates a tetrahedral mesh of
the cube with 147, 352 tetrahedra and 34, 524 nodes, see a cross section of the cube
mesh in Fig. 1a. This mesh has 32, 254 triangles and 16, 129 nodes on its boundary
and it has been reached after 42 Kossaczky refinements from the initial subdivision
of the cube into six tetrahedra. The mapping of the cube external nodes to the Bust
surface produces a 3-D tangled mesh with 8, 947 inverted elements, see Fig. 1b. The
location of the cube is shown in this figure. The relocation of inner nodes by using
volume parametrizations reduces the number of inverted tetrahedra to 285. We
apply our mesh optimization procedure [5] and the mesh is untangled in two
iterations. The mesh quality is improved to a minimum value of 0.07 and an average
qk ¼ 0:73 after 10 smoothing iterations.
We note that the meccano technique generates a high quality tetrahedra mesh
(see Figs. 1c, d): only one tetrahedron has a quality lower than 0.1, 13 lower than
0.2 and 405 lower than 0.3.
The CPU time for constructing the final mesh of the Bust is 93.27 s on a Dell
precision 690, 2 Dual Core Xeon processor and 8 Gb RAM memory. More precisely,
the CPU time of each step of the meccano algorithm is: 1.83 s for the subdivision
of the initial surface triangulation into six patches, 3.03 s for the Floater
162 R. Montenegro et al.
a b
c d
Fig. 1 Cross sections of the cube (a) and the Bust tetrahedral mesh before (b) and after (c) the
application of the mesh optimization procedure. (d) Resulting tetrahedral mesh of the Bust
obtained by the meccano method
13 The Meccano Method for Automatic Volume Parametrization of Solids 163
parametrization, 44.50 s for the Kossaczky recursive bisections, 2.31 s for the exter-
nal node mapping and inner node relocation, and 41.60 s for the mesh optimization.
The original surface triangulation of the Stanford Bunny has been obtained from the
website http://graphics.stanford.edu/data/3Dscanrep/, i.e. the Stanford Computer
Graphics Laboratory. It has 12, 654 triangles and 7, 502 nodes. The bounding box
of the solid is defined by the points (x, y, z)min ¼ (10, 3.5, 6) and (x, y, z)max ¼
(6, 2, 6).
We consider a unit cube as meccano. Its center is placed inside the solid at the
point ( 4.5, 10.5, 0.5). We obtain an initial subdivision of the Bunny surface in
eight maximal connected subtriangulations using Voronoi diagram. We reduce the
surface partition to six patches and we construct the Floater parametrization from
each surface patch SiS to the corresponding cube face SiC . Fixing a tolerance e2 ¼
0.0005, the meccano method generates a cube tetrahedral mesh with 54, 496
tetrahedra and 13, 015 nodes, see Fig. 2a. This mesh has 11, 530 triangles and 6,
329 nodes on its boundary and has been reached after 44 Kossaczky refinements
from the initial subdivision of the cube into six tetrahedra.
The mapping of the cube external nodes to the Bunny surface produces a 3-D
tangled mesh with 2, 384 inverted elements, see Fig. 2b. The relocation of inner
nodes by using volume parametrizations reduces the number of inverted tetrahedra
to 42. We apply eight iterations of the tetrahedral mesh optimization and only
one inverted tetrahedron can not be untangled. To solve this problem, we allow the
movement of the external nodes of this inverted tetrahedron and we apply eight
new optimization iterations. The mesh is then untangled and, finally, we apply
eight smoothing iterations fixing the boundary nodes. The resulting mesh quality is
improved to a minimum value of 0.08 and an average qk ¼ 0:68, see Figs. 2c, d. We
note that the meccano technique generates a high quality tetrahedra mesh: only one
tetrahedron has a quality below 0.1, 41 below 0.2 and 391 below 0.3.
The CPU time for constructing the final mesh of the Bunny is 40.28 s on a Dell
precision 690, 2 Dual Core Xeon processor and 8 Gb RAM memory. More precisely,
the CPU time of each step of the meccano algorithm is: 0.24 s for the subdivision of
the initial surface triangulation into six patches, 0.37 s for the Floater parametrization,
8.62 s for the Kossaczky recursive bisections, 0.70 s for the external node mapping
and inner node relocation, and 30.35 s for the mesh optimization.
The original surface triangulation of the Bone has been obtained from http://www-c.
inria.fr/gamma/download/..., and it can be found in the CYBERWARE Catalogue.
This surface mesh contains 274, 120 triangles and 137, 062 nodes.
164 R. Montenegro et al.
a b
c d
Fig. 2 Cross sections of the cube (a) and the Bunny tetrahedral mesh before (b) and after (c) the
application of the mesh optimization procedure. (d) Resulting tetrahedral mesh of the Bunny
obtained by the meccano method
Steps of the meccano technique are shown in Fig. 3. The resulting mesh has
47, 824 tetrahedra and 11, 525 nodes. This mesh has 11, 530 triangles and 5, 767
nodes on its boundary and it has been reached after 23 Kossaczky refinements
from the initial subdivision of the cube into six tetrahedra. A tangled tetrahedra
mesh with 1, 307 inverted elements appears after the mapping of the cube external
nodes to the bone surface. The node relocation process reduces the number of
inverted tetrahedra to 16. Finally, our mesh optimization algorithm produces a
high quality tetrahedra mesh: the minimum mesh quality is 0.15 and the average
quality is 0.64.
13 The Meccano Method for Automatic Volume Parametrization of Solids 165
a b
c d
Fig. 3 Cross sections of the cube (a) and the Bone tetrahedral mesh before (b) and after (c) the
application of the mesh optimization procedure. (d) Resulting tetrahedral mesh of the Bone
obtained by the meccano method
The meccano technique is a very efficient adaptive tetrahedral mesh generator for
solids whose boundary is a surface of genus zero. We remark that the method
requires minimum user intervention and has a low computational cost. The proce-
dure is fully automatic and it is only defined by a surface triangulation of the solid, a
cube and a tolerance that fixes the desired approximation of the solid surface.
A crucial consequence of the new mesh generation technique is the resulting
discrete parametrization of a complex volume (solid) to a simple cube (meccano).
166 R. Montenegro et al.
Acknowledgements This work has been partially supported by the Spanish Government, “Secre-
tarı́a de Estado de Universidades e Investigación”, “Ministerio de Ciencia e Innovación”, and
FEDER, grant contract: CGL2008-06003-C03.
References
1. Y. Bazilevs, V.M. Calo, J.A. Cottrell, J. Evans, T.J.R. Hughes, S. Lipton, M.A. Scott, T.W.
Sederberg, Isogeometric analysis: toward unification of computer aided design and finite
element analysis. Trends in Engineering Computational Technology (Saxe-Coburg Publica-
tions, Stirling, 2008), pp. 1–16
2. J.M. Cascón, R. Montenegro, J.M. Escobar, E. Rodrı́guez, G. Montero, A new meccano
technique for adaptive 3-D triangulations. Proceedings of the 16th International Meshing
Roundtable (Springer, New York, 2007), pp. 103–120
3. J.M. Cascón, R. Montenegro, J.M. Escobar, E. Rodrı́guez, G. Montero, The Meccano method
for automatic tetrahedral mesh generation of complex genus-zero solids. Proceedings of the
18th International Meshing Roundtable (Springer, New York, 2009), pp. 463–480
4. G.F. Carey, in Computational Grids: Generation, Adaptation, and Solution Strategies (Taylor
& Francis, Washington, 1997)
5. J.M. Escobar, E. Rodrı́guez, R. Montenegro, G. Montero, J.M. González-Yuste, Simultaneous
untangling and smoothing of tetrahedral meshes. Comput. Meth. Appl. Mech. Eng. 192,
2775–2787 (2003)
6. J.M. Escobar, G. Montero, R. Montenegro, E. Rodrı́guez, An algebraic method for smoothing
surface triangulations on a local parametric space. Int. J. Num. Meth. Eng. 66, 740–760 (2006)
7. L. Ferragut, R. Montenegro, A. Plaza, Efficient refinement/derefinement algorithm of nested
meshes to solve evolution problems. Comm. Num. Meth. Eng. 10, 403–412 (1994)
8. M.S. Floater, Parametrization and smooth approximation of surface triangulations. Comput.
Aid. Geom. Design 14, 231–250 (1997)
9. M.S. Floater, One-to-one piece linear mappings over triangulations. Math. Comput. 72,
85–696 (2002)
13 The Meccano Method for Automatic Volume Parametrization of Solids 167
10. M.S. Floater, Mean value coordinates. Comput. Aid. Geom. Design 20, 19–27 (2003)
11. M.S. Floater, K. Hormann, Surface parameterization: a tutorial and survey. Advances in
Multiresolution for Geometric Modelling, Mathematics and Visualization (Springer, Berlin,
2005), pp. 157–186
12. M.S. Floater, V. Pham-Trong, Convex combination maps over triangulations, tilings, and
tetrahedral meshes. Adv. Computat. Math. 25, 347–356 (2006)
13. L.A. Freitag, P.M. Knupp, Tetrahedral mesh improvement via optimization of the element
condition number. Int. J. Num. Meth. Eng. 53, 1377–1391 (2002)
14. L.A. Freitag, P. Plassmann, Local optimization-based simplicial mesh untangling and
improvement. Int. J. Num. Meth. Eng. 49, 109–125 (2000)
15. P.J. Frey, P.L. George, in Mesh Generation (Hermes Sci. Publishing, Oxford, 2000)
16. P.L. George, H. Borouchaki, in Delaunay Triangulation and Meshing: Application to Finite
Elements (Editions Hermes, Paris, 1998)
17. J.M. González-Yuste, R. Montenegro, J.M. Escobar, G. Montero, E. Rodrı́guez, Local refine-
ment of 3-D triangulations using object-oriented methods. Adv. Eng. Soft. 35, 693–702 (2004)
18. P.M. Knupp, Achieving finite element mesh quality via optimization of the Jacobian matrix
norm and associated quantities. Part II-A frame work for volume mesh optimization and the
condition number of the Jacobian matrix. Int. J. Num. Meth. Eng. 48, 1165–1185 (2000)
19. P.M. Knupp, Algebraic mesh quality metrics. SIAM J. Sci. Comput. 23, 193–218 (2001)
20. I. Kossaczky, A recursive approach to local mesh refinement in two and three dimensions.
J. Comput. Appl. Math. 55, 275–288 (1994)
21. X. Li, X. Guo, H. Wang, Y. He, X. Gu, H. Qin, Harmonic volumetric mapping for solid
modeling applications. Proceedings of the ACM Solid and Physical Modeling Symposium,
Association for Computing Machinery, Inc., 2007, pp. 109–120
22. J. Lin, X. Jin, Z. Fan, C.C.L. Wang, Automatic PolyCube-Maps. Lecture Notes in Computer
Science 4975, 3–16 (2008)
23. R. Montenegro, J.M. Cascón, J.M. Escobar, E. Rodrı́guez, G. Montero, Implementation in
ALBERTA of an automatic tetrahedral mesh generator. Proceedings of the 15th International
Meshing Roundtable (Springer, New York, 2006), pp. 325–338
24. R. Montenegro, J.M. Cascón, J.M. Escobar, E. Rodrı́guez, G. Montero, An automatic strategy
for adaptive tetrahedral mesh generation. Appl. Num. Math. 59, 2203–2217 (2009)
25. A. Schmidt, K.G. Siebert, in Design of Adaptive Finite Element Software: The Finite Element
Toolbox ALBERTA. Lecture Notes in Computer Science and Engineering, vol. 42. (Springer,
Berlin, 2005)
26. A. Schmidt, K.G. Siebert, ALBERTA – an adaptive hierarchical finite element toolbox. http://
www.alberta-fem.de/
27. M. Tarini, K. Hormann, P. Cignoni, C. Montani, Polycube-Maps. ACM Trans. Graph. 23,
853–860 (2004)
28. J.F. Thompson, B. Soni, N. Weatherill, in Handbook of Grid Generation (CRC Press, London,
1999)
29. H. Wang, Y. He, X. Li, X. Gu, H. Qin, Polycube splines. Comput. Aid. Geom. Design 40,
721–733 (2008)
Chapter 14
A Buck Converter Model for Multi-Domain
Simulations
1 Introduction
Fig. 1 Topology of a
conventional buck converter
including power electronic devices with switching frequencies around 100 kHz
require at least four calculation points within simulation times of around 10 ms for
calculating the switching events. However, if the energy flow in an electromechan-
ical system has to be investigated by simulation it is not necessary to calculate the
switching events in the power electronic model as long as the relevant losses are
considered.
In this work two different buck converter models are described. The first model,
model A, which is state-of-the-art describes the behavior of a conventional buck
converter, as shown in Fig. 1, including the calculation of switching events. This
means that in model A the switching of the semiconductors in the circuit is imple-
mented with if-clauses. Therefore, model A directly calculates the ripple of the current
through the storage inductor, and the ripple of the voltage across the buffer capacitor.
Due to the if-clauses in model A the duration of the computing time is very high.
The second model in this work, indicated as model B, describes the behavior of
the buck converter without calculating the switching events with if-clauses. Only
the mean and RMS values of the voltages and currents are calculated. Therefore, the
computation times of model B are significantly shorter than the computation times
of model A.
In both models the conduction losses are considered by an ohmic resistance of
the storage inductor, the knee voltage and the on-resistance of the diode, and the on-
resistance of the MOSFET. Linear temperature dependence is implemented for the
ohmic resistances of the storage inductor, the knee voltage and the on-resistance of
the diode and the on-resistance of the MOSFET in both buck converter models.
The switching losses are calculated assuming a linear dependency on the switch-
ing frequency, the blocking voltage and the commutating current between the
MOSFET and the diode. A controlled current source connected to the positive
and the negative pin of the supply side of the buck converter is used to model the
switching losses. This current source assures that the energy balance between the
supply side and the load side of the buck converter is guaranteed.
ton ¼ dT s (1)
Algorithm 1 Pseudo code of a buck converter model for calculating switching events in CICM
Model:
BuckConverter
Parameter:
L, C, RS,RL,RD,VD,fs
Real variables:
vin,vout,iS,iL,iD,iload,t,d
Boolean variables:
scontrol
Equations:
if(scontrol ¼ true),
consider equations corresponding to the equivalent circuit of state 1
(Fig. 2)
else
consider equations corresponding to the equivalent circuit of state 2
(Fig. 3)
effort that is caused by the if-clauses. Strictly speaking, the whole set of equations
describing the circuit changes whenever the converter switches from state 1 to
state 2 and vice versa. In such a model the relevant conduction losses are considered
inherently. For the consideration of the switching losses a model expansion as
described in Section 4 is necessary.
If the dynamic behavior of the buck converter is not of interest but the energy flow
needs to be investigated it is possible to model the buck converter without calculat-
ing the switching events. Assuming the buck converter is in steady state the integral
of the inductor voltage vL over one switching period Ts equals zero [9]. Hence,
ð Ts ð ton ð Ts
vL dt ¼ vL dt þ vL dt ¼ 0: (3)
0 0 ton
During the time ton the equivalent circuit of state 1 describes the behavior of the
buck converter. In the circuit in Fig. 2 the inductor voltage is given by
vRL ¼ iL RL (5)
vRS;state 1 ¼ iL RS ; (6)
14 A Buck Converter Model for Multi-Domain Simulations 173
The equivalent circuit of state 2 (shown in Fig. 3) describes the behavior of the buck
converter during the time toff ¼ T s ton . In state 2 the inductor voltage
vRD;state 2 ¼ iL RD : (9)
From (10) it is possible to find the mean value of the output voltage by
vout is a function of the duty cycle d, the input voltage vin, and the mean value of
the load current iload . Consequently, it is possible to calculate the average output
voltage with considering the conduction losses if there are relations for d, vin, and
iload available in other models, which is usually the case. The result of (11) can be
used as the input of a voltage source that is linked to the connectors of the load side
of the buck converter model. Please note that with (11) only the influence of the
conduction losses on the average output voltage is considered. In order to calculate
the influence of the conduction losses on the supply current the conduction losses
of the individual elements (MOSFET, diode, and inductor) need to be known. From
the equivalent circuits in Figs. 2 and 3 it appears that by approximation (with the
assumption that vout only changes insignificantly in one switching period) in state 1
the inductor current rises with a time constant
L
tstate 1 ¼ (12)
RS þ RL
L
tstate 2 ¼ : (13)
RD þ RL
Provided that the time constants tstate 1 and tstate 2 are much larger than the
switching period Ts (which applies practically to all buck converters with proper
174 J.V. Gragger et al.
design), the instantaneous current through the inductor can be assumed to have a
triangular waveform such as
iL;state 1 if nT s <t ðn þ dÞT s
iL ¼ (14)
iL;state 2 if (n + d)Ts <t (n þ 1)Ts
with n ¼ 0, 1, 2, 3, . . . and
DI L DI L
iL;state 1 ¼ iload þ t (15)
2 dT s
DI L DI L
iL;state 2 ¼ iload þ t; (16)
2 ð1 dÞT s
vout þ V D
DI L ¼ ð1 dÞT s : (17)
L
Considering the two states of the buck converter circuit and using (14)–(17) the
waveform of the current through the MOSFET
iL;state 1 if nT s < t ðn þ dÞT s
iS ¼ (18)
0 if ðn þ dÞT s < t ðn þ 1ÞT s
For calculating the conduction losses of the individual elements in the converter,
the RMS values of the current through the MOSFET IS,rms, the current through the
diode ID,rms and the inductor current IL,rms have to be available. Applying the
general relation
sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
ð
1 t0 þT 2
I rms ¼ iðtÞ dt (20)
T t0
with
DI L
I L;min ¼ iload (22)
2
and
sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
DI 2L
I D;rms ¼ ð1 dÞ I L;max I L;max DI L þ
2
; (23)
3
with
DI L
I L;max ¼ iload þ : (24)
2
iL ¼ iS þ iD (25)
The conduction losses of the MOSFET PS,con and the storage inductor PL,con can
be calculated by
and
When calculating the conduction losses of the diode also the portion of the power
emission contributed by the knee voltage has to be taken into account. Since the
knee voltage is modeled as a constant voltage source the mean value of the current
through the diode
has to be used to calculate the respective contribution to the conduction losses. The
total conduction losses in the diode can be written as
Using (27), (28), and (30) the total amount of conduction losses can be calculated
by
Models on different levels of detail for switching loss calculation have been
published. In many MOSFET models the parasitic capacitances are considered
and in some also the parasitic inductances at the drain and at the source of the
MOSFET are taken into account. In [1] a model considering the voltage depen-
dence of the parasitic capacitances is proposed. A model in which constant parasitic
capacities as well as parasitic inductances are considered is suggested in [2] and in
[4] voltage dependent parasitic capacities together with the parasitic inductances
are used for the calculation.
In data sheets such as [6] an equation combining two terms is used. In the first
term constant slopes of the drain current and the drain source voltage are assumed
and in the second the influence of the output capacitance is taken into account. Also
for this approach the parasitic capacities as well as the switching times (or at least
the gate switch charge and the gate current) have to be known. In [10] is stated that
the approach in [6] leads to an overestimation of the switching losses in the
MOSFET.
A general approach for switching loss calculation in power semiconductors
using measurement results with linearization and polynomial fitting is presented
in [3]. In [12] the switching losses are considered to be linear dependent on the
blocking voltage, the current through the switch, and the switching frequency. This
approach was initially developed for modeling switching losses in IGBTs but it can
also be applied to the calculation of MOSFET switching losses. In [8] a modified
version of the model proposed in [12] is presented. The difference is that in [8] the
switching losses are dependent on the blocking voltage, the current through the
switch, and the switching frequency with higher order.
In the presented work the approach described in [12] is used to model the
switching losses. The two buck converter models in Section 2 and 3 can be
expanded with switching loss models using
fs iload vin
Pswitch ¼ Pref;switch ; (32)
f ref;s iref;load vref;in
where Pswitch represents the sum of the actual switching losses in the MOSFET
and the diode of the buck converter, fs denotes the actual switching frequency, iload
is the actual commutating current between the diode and the MOSFET, and vin is
the actual blocking voltage of the diode and the MOSFET. Pref,switch represents a
14 A Buck Converter Model for Multi-Domain Simulations 177
The buck converter models described in Sections 2 and 3 got implemented with
Modelica modeling language [5] using the Dymola programming and simulation
environment. Modelica is an open and object oriented modeling language that
allows the user to create models of any kind of physical object or device which
can be described by algebraic equations and ordinary differential equations.
In both models the conduction losses with linear temperature dependence and
the switching losses (calculated according to Section 4) are considered.
In Fig. 4 the scheme of model A, the model calculating the switching events (as
explained in Section 2) is shown.
The conduction losses are inherently considered in Alg. 1 and the switching
losses are considered by means of a controlled current source with
Pswitch
imodel A ¼ (33)
vin
In (34) Pswitch is given by (32), Ptot,con is calculated from (31), and Pout is the
output signal of the power meter in Fig. 5.
The approach applied in model A is well established. Therefore the results of model
A are used as a reference for the verification of model B. For the comparison of the
two models a buck converter ( fs ¼ 100 kHz) supplied with a constant voltage of
30 V and loaded with a constant load current of 40 A was simulated using model A
and model B. In the two simulations the duty cycle was decreased step by step with
Dd ¼ 0.1 every 0.03 s starting from d ¼ 0.8 to d ¼ 0.2.
The purpose of model B is to calculate the efficiency and the electric quantities
in steady state. The supply current signals and the load voltage signals in Fig. 6
show that after the transients decay both models reach the same operation point.
Please note that in Fig. 6 the instantaneous supply current signal computed with
model A is averaged over a switching period.
Both simulations were computed on a state-of-the-art PC with 3 GHz dual core
and 3 GB RAM. It took only 2.8 s to process the results of the simulation with
model B whereas the CPU time for the simulation with model A was 36 s. The large
difference between the CPU times indicates that it is much more efficient to use
model B if the energy flow through a converter is the focus of the simulation.
For the validation of the two simulation models several laboratory tests have
been conducted. In order to avoid core losses an air-cored coil was implemented as
the storage inductor. As the passive and the active switch two IRFPS3810 power
MOSFETs were chosen whereas the body diode of one of the MOSFETs was used
as the freewheeling diode. The temperatures of the two MOSFETs and the air-cored
coil were measured with type-K thermocouples.
14 A Buck Converter Model for Multi-Domain Simulations 179
current (A)
and load voltage (bottom) model A
30 model B
simulated with model A and B
20
10
0
0 0.04 0.08 0.12 0.16 0.2
30
voltage (V)
model A
20 model B
10
0
0 0.04 0.08 0.12 0.16 0.2
time (s)
0.6
measured
simulated
0.4
0.2
0
0 0.2 0.4 0.6 0.8 1
duty cycle (1)
The buck converter used in the laboratory tests was operated with a similar duty
cycle reference signal as used for the results in Fig. 6. However, the step time of the
duty cycle signal in the laboratory test was significantly longer compared to the
signal used for the results in Fig. 6. Because of this, the temperatures of the
semiconductors increased significantly. Figure 7 shows the measured efficiency
of the circuit under test and the respective (steady state) simulation results of model
A and B. The measured and simulated results show satisfactory coherence.
In Fig. 8 the measured losses of the buck converter operated with d ¼ 0.2, and
d ¼ 0.8 during warm-up tests are compared with the results of a simulation carried
out with model B. In the top diagram it can be seen that the conduction losses
decrease with increasing time and temperature. This is because the knee voltage of
the freewheeling diode has a negative temperature coefficient and at d ¼ 0.2 the
freewheeling diode conducts 80 % of the time in a switching period. In the bottom
diagram of Fig. 8 the conduction losses raise with increasing time and temperature.
The reason for this is the positive linear temperature coefficient of the on-resistance
of the MOSFET and the longer duration in which the MOSFET conducts during a
180 J.V. Gragger et al.
power (W)
measured
(bottom). Measured and simulated
simulated losses of the buck 115
converter with vin ¼ 30 V
and iload ¼ 40 A 110
0 50 100 150 200
d = 0.8
120
power (W)
110
measured
simulated
100
0 50 100 150 200
time (s)
switching period. Please note that the MOSFET dissipates more energy and reaches
higher temperatures if the buck converter is operated with high duty cycles.
7 Conclusion
References
2. Y. Bai, Y. Meng, A.Q. Huang, F.C. Lee, A novel model for MOSFET switching loss
calculation. The 4th International Power Electronics and Motion Control Conference,
IPEMC, 3, 1669–1672 (2004)
3. U. Drofenik, J.W. Kolar, A general scheme for calculating switching- and conduction-losses
of power semiconductors in numerical circuit simulations of power electronic systems.
Proceedings of the International Power Electronics Conference, IPEC, 2005
4. W. Eberle, Z. Zhang, Y.-F. Liu, P. Sen, A simple switching loss model for buck voltage
regulators with current source drive. The 39th Annual Power Electronics Specialists Confer-
ence, IEEE PESC, 2008, pp. 3780–3786
5. P. Fritzson, Principles of Object-Oriented Modeling and Simulation with Modelica 2.1. (IEEE
Press, Piscataway, NJ, 2004)
6. Datasheet of the IRF6603, N-Channel HEXFET Power MOSFET. International Rectifier,
2005
7. H. Kapeller, A. Haumer, C. Kral, G. Pascoli, F. Pirker, Modeling and simulation of a large
chipper drive. Proceedings of the 6th International Modelica Conference, 2008, pp. 361–367
8. K. Mainka, J. Aurich, M. Hornkamp, Fast and reliable average IGBT simulation model with
heat transfer emphasis. Proceedings of the International Conference for Power Conversion,
Intelligent Motion and Power Quality, PCIM, 2006
9. N. Mohan, T.M. Undeland, W.P. Robbins, Power Electronics – Converters, Applications, and
Design, 2nd edn. (Wiley, New York, 1989)
10. Z.J. Shen, Y. Xiong, X. Cheng, Y. Fu, P. Kumar, Power MOSFET switching loss analysis:
A new insight. Conference Record of the IEEE Industry Applications Conference, 41st IAS
Annual Meeting, 3, 1438–1442 (2006)
11. D. Simic, T. B€auml, F. Pirker, Modeling and simulation of different hybrid electric vehicles in
modelica using Dymola. Proceedings of the International Conference on Advances in Hybrid
Powertrains, IFP, 2008
12. D. Srajber, W. Lukasch, The calculation of the power dissipation of the IGBT and the inverse
diode in circuits with the sinusoidal output voltage. Conference Proceedings of Electronica,
1992, pp. 51–58
Chapter 15
The Computer Simulation of Shaping in Rotating
Electrical Discharge Machining
Abstract The effect of the tool electrode wear on the accuracy is very important
problem in the Rotating Electrical Discharge Machining (REDM). Two mathematical
models of REDM are presented: the first one considers machining with the face of
the end tool electrode and the second one considers EDM with the lateral side of the
electrode. The software for computer simulation of EDM machining with the side
and face of the electrodes has been developed. This simulation model for NC
contouring EDM using rotating electrode may also be applied for tool electrode
path optimization. The experimental results confirm the validity of the proposed
mathematical models and the simulation software.
1 Introduction
J. Kozak (*)
Warsaw University of Technology, ul. Narbutta 85, 02-524 Warsaw, Poland
e-mail: [email protected]
TWR
n¼ (1)
MRR
Depending upon the operating parameters of REDM, the relative wear may be
0.01–2. Changes in dimensions of tool due to wear during machining is expected to
reflect in the actual depth of cut and finally in the profile and dimensional accuracy
of machined parts.
Results of investigation of EDM with rotating electrode reported in studies
[9, 10] show a slope curvilinear profile of bottom surface of machined groove
due to the wear of disk electrode. Controlling the path of electrode can reduce shape
error. In the paper [3] preliminary analysis of shape error indicates that one of the
main factors leading to shape errors is wheel wear. More extended study of this
problem based on mathematical modeling and experiments is reported in articles
[11, 12], where the general differential equation described relationship between tool
wear, initial and final shape of machined surface has been derived. Effect of wheel
wear on dimensional accuracy of grinding is known from theory of tolerances.
During machining of parts loaded together in a pocket, and in one pass of the rotary
tool, height of parts achieved is random variable in the machined set. Based on the
15 The Computer Simulation of Shaping in Rotating Electrical Discharge Machining 185
a b
Tool electrode
Workpiece
V
f Z
x, y
Fig. 1 Example of EDM using rotating tool electrode: (a) machining with the face of end
electrode, (b) machining by the side of rotating electrode
a(0)
y = F(x)
assumption of constant wear rate, uniform probability density function (PDF) has
been obtained for height of machined parts [11].
Two cases of machining operations are taken for mathematical modeling: the
first one considers machining with the face of the tool electrode and the second one
considers EDM with the side of the electrode (Fig. 1).
In first case, the technique of integrating Uniform Wear Method with CAD/
CAM software has been successful in generating very complex 3D cavities, it
involves a time consuming, empirical approach for selecting tool paths and machin-
ing parameters. Therefore, it is necessary to develop a theoretical model which
accounts for the effect of tool wear on the surface profile generation during each
pass. As the number of passes can be very large, a corresponding computer
simulation software simulation also needs to be developed.
The principal scheme of shaping using the end tool electrode process is presented
in Fig. 2. The initial profile of workpiece is given by function y ¼ f(x). The
electrode is controlled to move along the tool head path y ¼ g(x). However, the
186 J. Kozak and Z. Gulbinowicz
longitudinal tool wear results in the profile of machined surface y ¼ F(x), which is
different from g(x).
The purpose of this mathematical modeling and computer simulation is to
determine surface profile y ¼ F(x), taking into account the change in tool
length which occurs due to the wear of electrode. The final profile depends on
input parameters, such as depth of cut a0, initial profile y ¼ f(x), diameter of tool d0
and tool head path y ¼ g(x).
Let us consider the case of machining presented in Fig. 2, when the initial
surface is y ¼ f(x) and g(x) ¼ constant.
In determining the profile of machined surface, the following assumptions
are made:
– Changes in tool shape are neglected because the Uniform Wear Method
is applying.
– The gap between tool electrode and workpiece is neglected.
– Material removal rate MRR is equal:
– Tool wear rate TWR, defined as the volume of tool material removed per unit
time, for g(x) ¼ const. is:
p d02 dF
TWR ¼ (3)
4 dt
or
p d02 dF dx p d02 dF
TWR ¼ ¼ Vf (4)
4 dx dt 4 dx
dF
þ mF ¼ mf ð xÞ (5)
dx
with initial condition F(0) ¼ – a(0) (Fig. 2), where m ¼ 4v/p·d0 is the wear
factor.
In many cases it is possible to assume, that relative wear during machining
is constant (m ¼ const.), i.e. it is not dependent on the actual depth of cut. For
this condition and for f(x) ¼ 0, the solution of (5) becomes:
y ¼ gðxÞ ¼ H0 a0 m x (10)
where H0 is initial position of tool head.
For machining with constant feed rate Vf along x-axis, the compensation of
the tool wear can be obtained by adding the relative motion of the tool/workpiece
with constant feed rate Vy along y-axis equal:
4n a0
Vy ¼ a0 m Vf ¼ Vf (11)
p d0
This theoretical conclusion about linear path of tool electrode for compensation
of wear has been confirmed by the experiments [5].
The principal scheme of shaping process using the lateral side of tool electrode is
presented in Fig. 4. The purpose of this mathematical modeling and computer
simulation is to determine the profile of generated surface y ¼ F(x), taking into
account the change in tool diameter which occurs due to the tool wear of rotary tool
during machining (Fig. 4). The final surface profile depends on the input data, such
as depth of cut a0, initial surface profile y ¼ f(x), diameter of the tool d0 and the
curvilinear path of the center of tool y ¼ g(x).
For the modeling purpose the following assumptions were made:
– The inter electrode gap s is constant and included to the effective radius of tool
i.e. R ¼ R(electrode) þ s.
– Actual depth of cut, a, is determined by the position of points A and B, which are
point tangency of the tool electrode to the generated profile and intersection
point of the tool and the initial profile y ¼ f(x), respectively (Fig. 4).
– Feed rate along axis y is significant lower in compare to the feed rate Vf i.e. the
value of dg/dx << 1.
– Changes in the tool shape along the axis of rotation are neglected.
After machining for certain time t, the center of the tool has reached the
coordinate xC ¼ x, the feed rate is V(t) ¼ Vf and the effective tool radius due to
the wear is R(t).
The material removal rate MRR at dg/dx << 1 is:
dR
TWR ¼ 2p b RðtÞ (14)
dt
Since
dR dR dx dR
¼ ¼ Vf (15)
dt dx dt dx
Substituting (12) and (17) into (1) and performing transformation, the profile of
machined surface can be described by (18):
dF n F dx
þ ¼
dx 2p ½gðxÞ F dx
(18)
n f ð BÞ dx dg ð x xÞ dx
¼ þ 1
2p ½gðxÞ F dx dx ½gðxÞ F dx
An additional equation to (18) and (13) can be derived from the condition for
tangency of the tool to the profile machined surface at the point A as follows:
dF
½gðxÞ Fð xÞ ¼xx (19)
dx
dF n F n f ð xÞ dg
þ ¼ þ (20)
dx 2p ½gð xÞ F 2p ½gð xÞ F dx
The developed software supports process design for the REDM. The software is
easy to use, menu driven application allowing evaluating the effect of various
parameters on process performance.
Programming of kinematics of the tool electrode can be achieved by supplying
program with tool path in x direction described. Geometry of the surface at the
beginning of machining can be defined in two ways:
– By supplying software with the surface equation, y ¼ f(x)
– By supplying software with coordinates of the surface (for example, a surface
just obtained a machining process cycle can be used as a starting surface for the
next machining operation)
15 The Computer Simulation of Shaping in Rotating Electrical Discharge Machining 191
The important feature of the software is the capability to define relative tool wear
as function of depth of cut.
Input date is inserted in the overlap Data. The windows for input data are shown
in Fig. 5.
Results of simulation can be viewed in two ways: tables of coordinates of points
of the workpiece surface and 2D graphs.
Fig. 6 shows an example of a graph of REDM machined surface defined
by function y ¼ a/(1 þ bsin(2x/). The tool path was given by g(x) ¼ H0 a0 þ
R0 ¼ constant (in Fig. 7 is shown shifted tool path to axis x).
Fig. 6 The profiles from software screen (R0 ¼ 10 mm, a0 ¼ 0.6, n ¼ 0.3)
192 J. Kozak and Z. Gulbinowicz
5 Experimental Verification
The theoretical model and simulation results were verified in Rotary Electrical
Discharge Machining (REDM) on M35K Mitsubishi, EDM – NC machine tool
using electrode with diameter of 8.2 and 18 mm. The range for workpiece move-
ment was 0–160 mm for x-axis. Experiments were performed on tool steel material
P233330 (HRC 56) with copper electrode using the following process parameters:
Pulse voltage of U: 40 V, Pulse current I: 55 and 120 A, Pulse on time tp ¼ pulse off
Fig. 7 The surface profile and tool path at EDM with compensation of tool wear (R0 ¼ 10 mm,
a0 ¼ 0.6, n ¼ 0.3)
a
–1,08
0 10 20 30 40 50 60
–1,09
–1,1
Y, mm
–1,11
–1,12
Experimental
–1,13
Simulation
–1,14
X, mm
b
0 10 20 30 40 50 60
–0,84
–0,85
–0,86
–0,87
Y, mm
–0,88
–0,89
– 0,9
–0,91 Experimental
–0,92
Simulation ni(y)
–0,93
X, mm
c
0
0 10 20 30 40 50 60
– 0,1
– 0,2
– 0,3
Y, mm
Experimental
– 0,4 Simulation
– 0,5
– 0,6
– 0,7
X, mm
time t0: 60 and 120 ms, Depth of cut a0: 1.2 and 1.5 mm, Feed rate Vf: 0.15, 1.0, 2.0,
and 6.0 mm/min, Rotation speed n: 200 rpm. For different combination of
setting parameters for verification used non-dimensional system coordinates X ¼
v·x/(2p·R0) and Y ¼ y=a0 . The results are presented in Fig. 8.
Further experiments were carried out on EDIOS-16 machine tool using copper
electrode with diameter of 4 mm, pulse on time 160 ms pulse off time 10 ms and the
maximal travel distances in x axis were 0–50 mm.
The machining conditions are shown in the Table 1.
Experimental results are compared with simulation prediction in Fig. 9.
Experimental verifications show high accuracy of developed mathematical
model and computer simulation. An overall average of 6% (of the initial depth of
cut) deviation was found between simulation and experimental results.
6 Conclusion
Acknowledgements This work was supported in part by the European Commission project
“Micro-Technologies for Re-Launching European Machine Manufacturing SMEs (LAUNCH-
MICRO)”.
References
1. M. Kunieda, B. Lauwers, K.P. Rajurkar, B.M. Schumacher, Advancing EDM through funda-
mental insight into the process. Ann. CIRP 54(2), 599–622
2. P. Bleys, J.P. Kruth, B. Lauwers, Milling EDM of 3D shapes with tubular electrodes,
Proceedings of ISEM XIII, 2001, pp. 555–567
3. P. Bleys, J. P. Kruth, Machining complex shapes by numerically controlled EDM. Int.
J. Electric. Mach. 6, 61–69 (2001)
4. J.P. Kruth, B. Lauwers, W. Clappaert, A study of EDM pocketing, Proceedings of ISEM X,
1992, pp. 121–135
5. Z.Y. Yu, T. Masuzawa, M. Fujino, Micro-EDM for three-dimensional cavities, development
of uniform wear method. Ann. CIRP 47(1), 169–172 (1998)
6. K.P. Rajurkar, Z.Y. Yu, 3D micro EDM using CAD/CAM., Ann. CIRP 49(1), 127–130 (2000)
7. Z.Y. Yu, T. Masuzawa, M. Fujino, A basic study on 3D Micro-EDM. Die Mould Technol. 11
(8), 122–123 (1996) (in Japanese)
8. Z.Y. Yu, J. Kozak, K.P. Rajurkar, Modeling and simulation of micro EDM process. Ann.
CIRP 52(1), 143–146 (2003)
9. Y. Uno, A. Okada, M. Itoh, T. Yamaguchi, EDM of groove with rotating disk electrode, Int.
J. Electr.Mach. 1, 13–20 (1996)
15 The Computer Simulation of Shaping in Rotating Electrical Discharge Machining 195
10. J. Quian, H. Ohmori, T. Kato, I. Marinescu, Fabrication of micro shapes of advanced materials
by ELID- Grinding. Trans. NAMRI/SME 27, 269–278 (2000)
11. J. Kozak, Effect of the wear of rotating tool on the accuracy of machined parts, in Proceedings
of the 2nd International Conference on Advances in Production Engineering APE-2, vol. I.
Warsaw, 2001, pp. 253–262
12. J. Kozak, Z. Gulbinowicz, D. Gulbinowicz, Computer simulation of rotating electrical
machining (REDM). Arch. Mech. Eng. XL(1), 111–125 (2004)
Chapter 16
Parameter Identification of a Nonlinear Two
Mass System Using Prior Knowledge
Abstract This article presents a new method for system identification based on
dynamic neural networks using prior knowledge. A discrete chart is derived from a
given signal flow chart. This discrete chart is implemented in a dynamic neural
network model. The weights of the model correspond to physical parameters of the
real system. Nonlinear parts of the signal flow chart are represented by nonlinear
subparts of the neural network. An optimization algorithm trains the weights of the
dynamic neural network model. The proposed identification approach is tested with
a nonlinear two mass system.
1 Introduction
C. Endisch (*)
Institute for Electrical Drive Systems, Technical University of Munich, Arcisstraße 21, 80333
M€unchen, Germany
e-mail: [email protected]
1 b1 1 b2 1 b3
Fig. 1 Example of a three-layer GDNN with feedback connections in all layers – the output of a
tapped delay line (TDL) is a vector containing delayed values of the TDL input. Below the matrix-
boxes and below the arrows the dimensions are shown. Rm and Sm respectively indicate the
dimension of the input and the number of neurons in layer m. y^ is the output of the GDNN
the Jacobian matrix using real time recurrent learning (RTRL) [4, 9, 11, 16]. In this
article we follow these conventions suggested by De Jesus. The simulation equation
for layer m is calculated by
X X X X
nm ðtÞ ¼ LW m;l ðdÞ al ðt dÞ þ LW m;l ðdÞ pl ðt dÞ þ bm ;
g l2I m d2DI m;l g
l 2 Lfm d 2 DLm;l
(1)
where nm ðtÞ is the summation output of layer m; pl ðtÞ is the l-th input to the
network, IW m;l is the input weight matrix between input l and layer m, LW m;l is the
g
layer weight matrix between layer l and layer m, bm is the bias vectorg of layer m,
m, l
DL is the set of all delays in the tapped delay line between layer l and layer m,
DIm, l is the set of all input delays in the tapped delay line between input l and layer
m, Im is the set of indices of input vectors that connect to layer m and Lfm is the set
of indices of layers that directly connect forward to layer m. The output of layer m
is
where f m ðÞ are either nonlinear tanh- or linear activation functions. At each point
in time the Eqs. 1 and 2 are iterated forward through the layers. Time is incremented
from t ¼ 1 to t ¼ Q. (See [10] for a full description of the notation used here.) In
order to construct a flexible model-structure, it is necessary that only particular
weights in the weight matrices do exist. This is realized by the introduction of
administration matrices.
For each weight matrix there exists one weight administration matrix to mark which
weights are used in the GDNN-model. The layer weight administration matrices
AL m;l ðdÞ have the same dimensions as the layer weight matrices LW m;l ðdÞ, the
g g
input weight administration matrices AI m;l ðdÞ have the same dimensions as the
g
input weight matrices IW ðdÞ and the bias weight administration vectors Abm
m;l
g
have the same dimensions as the bias weight vectors bm. The elements of the
administration matrices can have the boolean values 0 or 1, indicating if a weight
is valid or not. If e.g. the layer weight lw m;l ðdÞ ¼ ½LW m;l ðdÞk;i from neuron i of
g g
layer l to neuron k of layer m with ak;idth-order time-delay is valid, then
m;l
AL m;l ðdÞ ¼ alk;i ðdÞ ¼ 1. If the element in the administration matrice equals
g k;i
to zero, the corresponding weight has no influence on the GDNN. With these
definitions the kth output of layer m can be computed by
200 C. Endisch et al.
!
X X X
Sl
k ðtÞ
nm ¼ lwm;l
k;i ðdÞ m;l
alk;i ðdÞ ali ðt dÞ
l2Lfm d2DLm;l i¼1
!
X X X
Rl
þ iwm;l
k;i ðdÞ aim;l
k;i ðdÞ pli ðt dÞ þ bm
k abk ;
m
where Sl is the number of neurons in layer l and Rl is the dimension of the lth input.
By setting certain entries of the administration matrices to one a certain GDNN-
structure is generated. As this model uses structural knowledge from the system, it
is called Structured Dynamic Neural Network (SDNN).
2.2 Implementation
For the simulations throughout this paper the graphical programming language
Simulink (Matlab) is used. SDNN and the optimization algorithm are implemented
as S-function in Cþþ.
3 Parameter Optimization
1 X
Q
Eðwk Þ ¼ ðy y^q ðwk ÞÞT ðyq y^q ðwk ÞÞ
2 q¼1 q
1 X T
Q
¼ e ðw Þ eq ðwk Þ; (4)
2 q¼1 q k
where q denotes one pattern in the training set, yq and y^qðwk Þare the desired target
and the actual model output of the q-th pattern respectively. The vector wk is
composed of all weights in the SDNN. The cost function Eðwk Þ is small if the
training process performs well and large if it performs poorly. The cost function
forms an error surface in a (N þ 1)-dimensional space, where N is equal to the
number of weights in the SDNN. In the next step this space has to be searched in
order to reduce the cost function.
16 Parameter Identification of a Nonlinear Two Mass System 201
All Newton methods are based on the second-order Taylor series expansion about
the old weight vector wk:
rEðwkþ1 Þ ¼ gk þ H
k
Dwk ¼ 0: (6)
1
Dwk ¼ H
k
gTk ;
1
(7)
wkþ1 ¼ wk H
k
gk :
1
The vector H k
gTk is known as the Newton direction, which is a descent
direction, if the Hessian matrix H k
is positive definite. The LM approach approx-
imates the Hessian matrix by [5]
H
k
J T ðwk Þ
J ðwk Þ (8)
gk ¼
J T ðwk Þ eðwk Þ; (9)
The Jacobian matrix includes first derivatives only. N is the number of all weights in
the neural network and Q is the number of evaluated time steps. With Eqs. 4, 5 and
6 the LM method can be expressed with the scaling factor mk
202 C. Endisch et al.
1
wkþ1 ¼ wk J T ðwk Þ
J ðwk Þ þ mk I
J T ðwk Þ eðwk Þ; (11)
To create the Jacobian matrix, the derivatives of the errors have to be computed, see
Eq. 10. The GDNN has feedback elements and internal delays, so that the Jacobian
cannot be calculated by the standard backpropagation algorithm. There are two
general approaches to calculate the Jacobian matrix for dynamic systems: By
backpropagation through time (BPTT) [15] or by real time recurrent learning
(RTRL) [16]. For Jacobian calculations the RTRL algorithm is more efficient
than the BPTT algorithm [11]. According to this the RTRL algorithm is used in
this paper. The interested reader is referred to [2, 8, 11] for further details.
4 Two-Mass-System
d MR2
MW
1 MD 1
1
s·J1 s c s·J2
− '˙ 1 − − '˙ 2
M1 MB 1 − − Δ'˙ Δ' MC MB2
MR1
where the spring constant c and the damping d model the shaft between the two
machines [14]. ’_ 1 and ’_ 2 denote the rotation speed of the main engine and the work
machine respectively. The torque of inertia of the machines are depicted by J1 and
J2. The motor torque is M1 and the torque at the work machine is M2. MB1 and MB2
are the acceleration torques of the main engine and the work machine respectively.
The difference of the rotation speeds is denoted by D’_ and D’ is the difference of
the angles. The torque of the spring and the damping torque are depicted by MC and
MD respectively. The friction torques of the engine and the working machine are
MR1 and MR2 respectively. The objective in this paper is to identify the linear TMS-
parameters and the characteristics of the two friction torques.
d MR2
1
s·J1 1
s
1 MW
1 MD 1
s·J1 J2 1
s c s
− '˙ 1 − − '˙ 2
M1 − 1 − Δ'˙ Δ' MC MB2 1
s·J1 s
MR1
−1
z
1.1 10.1
T
d J1
8.1
T MD T
J1 c·T J2
M1 1.2 2.1 − '˙ 7.1 8.2 MC 13.1 14.1 16.1 '˙ 2
1
3.1 − 5.1 − Δ'˙ 9.1 11.1 −
z
−1 T z
−1
z
−1
J1
6.1 9.2
4.1 12.1
.. ..
. .
1.3 15.1
−1 −1
z z
1.4
−1
15.2
z
For instance, 15. 1 marks the first neuron of the 15th layer. The friction of the
engine and the work machine can be modeled by an optional number of neurons in
the 5th layer and in the 11th layer respectively. These are the only neurons with
tanh-transfer functions. All other neurons have linear transfer functions. The
connections in Fig. 5 which do neither belong to a linear parameter (depicted as
box) nor to a friction-subpart are initialized with 1 or –1. The optimization
algorithm is able to tune the parameters corresponding to the spring constant c,
the damping d and the torque of inertia J2 and the friction weights of the work
machine. As it is not possible to identify the two torques of inertia as well as
the two characteristic curves of the TMS simultaneously, the engine parameters
are determined in a first no-load-identification which is conducted in idle running,
see Section 6.
16 Parameter Identification of a Nonlinear Two Mass System 205
6 Identification
MR1 MR1
resulting SDNN
T
J1
1.1 2.1 3.1 '˙ 1
M1 − 5.1
z−1
6.1
4.1
..
.
1.2
z−1
Fig. 6 Signal flow chart of the engine (upper left side), redrawn signal flow chart of the engine
(upper right side) and resulting SDNN (lower drawing)
t ¼ 100 s identified by the SDNN. We observe that the network is able to model the
jump due to the static friction with just three neurons. The following identification
of the whole TMS uses this friction curve from Fig. 7 and the result J1 ¼ 0. 1912
from Table 1 for the torque of inertia.
To identify the parameters of the whole TMS we excite the plant with the torque
signal described in Section 6 and use the SDNN-model constructed in Chapter 5.
The torque of inertia of the engine J1 and its friction are initialized according to the
results of Section 6. These weights remain unchanged during the whole identifica-
tion process, whereas the weights corresponding to the torque of inertia of the work
machine J2, the spring constant c, the damping d and the work machine friction are
trained. The work machine friction is modeled by three neurons with tanh functions
in the 11th layer, see Fig. 5. The six weights of this nonlinear subpart are initialized
16 Parameter Identification of a Nonlinear Two Mass System 207
1
torque of inertia J1
0.5
0
0 10 20 30 40 50 60 70 80 90 100
Start time [sec]
0.75
friction torque [Nm]
0.5
0.25
0
−0.25
−0.5
−0.75
−10 −8 −6 −4 −2 0 2 4 6 8 10
rad
rotation speed s
Fig. 7 Identification of the engine parameters – Torque of inertia and friction curve identified by
the nonlinear subpart in the 5th layer
randomly between –0.5 and 0.5. The upper panel of Fig. 8 displays the outputs of
the TMS and the SDNN-model during the identification process for the first set of
initial values of Table 2. The lower panel of this figure shows only 5 s for a detailed
view. The identification process starts after 5 s. The sampling time is set to T ¼ 1
ms. The quasi-online calculated cost function Eðwk Þ Eq. 4 with Q ¼ 25000 is
minimized by the LM optimization algorithm Eq. 11 and is depicted in the middle
panel of Fig. 8. Due to the quasi-online approach the cost function value increases
until t ¼ 25 s, until the training data window is completely filled up. The results in
Table 2 are mean values of the last 25000 optimization steps.
Figure 9 displays the developing of the damping, the spring constant and the
torque of inertia during the identification process for the first initialization of
Table 2. Figure 10 shows the characteristic curve of the work machine friction
208 C. Endisch et al.
rad 10
s SDNN 'ˆ˙2
system '˙ 2
rotation speed
−10
10 20 30 40 50 60 70 80 90 100
time [sec]
100
cost function
10−1
10−2
10−3
10 20 30 40 50 60 70 80 90 100
time [sec]
10
rad
s
5
rotation speed
0
SDNN 'ˆ˙2
−5 system '˙ 2
90 91 92 93 94 95
time [sec]
Table 2 Initial values and final values for the identification of the TMS
Nms Nm
J2 Error
[kgm2] rad rad (mean value)
d c
Initial value 0.7 0.4 100
Result (mean value) 0.3838 0.2406 477.2 3.792 102
Initial value 0.1 0.7 800
Result (mean value) 0.3881 0.0919 477.6 6.400 102
identified by the SDNN after 100 s. In addition to that Table 2 shows the results of a
second identification run with another initialization. The resulting torque of inertia
and spring constant are almost equal. Only the damping shows different final
values. The higher mean error (compared to the first identification) implies that
the second optimization process ended in a local minimum.
16 Parameter Identification of a Nonlinear Two Mass System 209
1
damping d
0.5
0
0 10 20 30 40 50 60 70 80 90 100
Start
time [sec]
1000
spring constant c
500
0
0 10 20 30 40 50 60 70 80 90 100
Start
time [sec]
1
torque of inertia J2
0.5
0
0 10 20 30 40 50 60 70 80 90 100
Start
time [sec]
1
friction torque [Nm]
0.5
−0.5
−1
−10 −8 −6 −4 −2 02 4 6 8 10
rotation speed rad
s
Fig. 10 Friction curve identified by the nonlinear subpart in the 11th layer
210 C. Endisch et al.
7 Conclusion
References
1. M.J. Brache, Identification of dynamic systems using previous knowledge, Diploma Theses,
Lehrstuhl f€ur Elektrische Antriebssysteme, Technische Universit€at M€ unchen, 2008
2. C. Endisch, C. Hackl, D. Schr€ oder, Optimal brain surgeon for general dynamic neural net-
works, in Lecture Notes in Artificial Intelligence (LNAI) 4874 (Springer, Berlin, 2007), pp.
15–28
3. C. Endisch, C. Hackl, D. Schr€ oder, System identification with general dynamic neural net-
works and network pruning. Int. J. Computat. Intel. 4(3), 187–195 (2008)
4. C. Endisch, P. Stolze, C. Hackl, D. Schr€oder, Comments on backpropagation algorithms for a
broad class of dynamic networks. IEEE Trans. Neural Network 20(3), 540–541 (2009)
5. M. Hagan, B.M. Mohammed, Training feedforward networks with the marquardt algorithm.
IEEE Trans. Neural Networks 5(6), 989–993 (1994)
6. C. Hintz, B. Angerer, D. Schrder, Online identification of mechatronic system with structured
recurrent neural networks. Proceedings of the IEEE-ISIE 2002, L’Aquila, Italy, pp. 288–293
7. C. Hintz, Identifikation nichtlinearer mechatronischer Systeme mit strukturierten rekurrenten
Netzen. Dissertation, Lehrstuhl fr Elektrische Antriebssysteme, Technische Universit€at
M€unchen, 2003
8. O. De Jesus, M. Hagan. Backpropagation Algorithms Through time for a general class of
recurrent network. IEEE International Joint Conference Neural Network, Washington, 2001,
pp. 2638–2643
9. O. De Jesus, M. Hagan, Forward perturbation algorithm for a general class of recurrent
network. IEEE International Joint Conference Neural Network, Washington, 2001, pp.
2626–2631
10. O. De Jesus, Training general dynamic neural networks. Ph.D. dissertation, Oklahoma State
University, Stillwater, OK, 2002
11. O. De Jesus, M. Hagan backpropagation algorithms for a broad class of dynamic networks.
IEEE Trans Neural Networks 18(1), 14–27 (2007)
16 Parameter Identification of a Nonlinear Two Mass System 211
Abstract Many robotics problems do not take the dynamics of the actuators into
account in the formulation of the control solutions. The fallacy is in assuming that
forces/torques can be instantaneously and accurately generated. In practice, actua-
tor dynamics may be unknown. This paper presents a Model Reference Adaptive
Controller (MRAC) for the actuators of a biped robot that mimics a human walking
motion. The MRAC self-adjusts so that the actuators produce the desired torques.
Lyapunov stability criterion and a rate of convergence analysis is provided. The
control scheme for the biped robot is simulated on a sagittal plane to verify the
MRAC scheme for the actuators. Next, the paper shows how a neural network (NN)
can learn to generate its own walking gaits using successful runs from the adaptive
control scheme. In this case, the NN learns to estimate and anticipate the reference
commands for the gaits.
1 Introduction
Biped walking dynamics is highly non-linear, has many degrees of freedom and
requires developing complicated model to describe its walking behavior. Many
novel approaches have emerged in the field of biped walking to address this
complicated control mechanism. Existing biped walking methods [3, 6, 7, 10]
give precise stability control for walking bipeds. However these methods require
highly precise biped walking dynamics. In recent years, biped walking through
imitation has been a promising approach, since it avoids developing complex
kinematics of the human walking trajectory and gives the biped a human like
2 Problem Description
2.1 Objective
Consider the objective of controlling a biped robot so that it imitates the movement
of a person. Figure 1 shows the basic idea where the human movement is repre-
sented by yd and the biped movement by y. The biped motion is determined by the
actuators which are controlled by the inputs ua. The overall objective is to find the
adaptive ua such that y ! yd.
The actuator dynamics have uncertainties including non-linearities, unknown
parameter values and delays, which have not been widely addressed. Figure 2 shows
the adaptive actuator objective where the actuator output moment M is made to
follow a required Md, which will be computed from the desired requirement that
y tracks yd. Figure 2 also shows a NN scheme for generating an estimate ŷd of
ua y
yd
Uncertain M q
ua
Actuators Biped q̇
Fig. 1 Human movements, Dynamics
Dynamics y = Cqq
biped robot, its actuators
17 Adaptive and Neural Learning for Biped Robot Actuator Control 215
Neural
Network
the reference command signal. This paper deals with the formulation and
simulation aspects of the MRAC actuator and neural network learning schemes.
Equations for describing the dynamics of a biped robot were introduced in [4], and
can be summarized as follows.
Aq ðqÞ€ _ M; FÞ
q ¼ Bðq; q; (1)
The literature often assumes that M can be readily generated without considering
the dynamics of the actuators. For example, if a set of desired torques are calculated
as Md, then it would assume that M ¼ Md and applied directly as inputs to the
robot. However, this is not a valid assumption since in practice the moments M will
be generated by actuators which normally have unknown parameters, time delays
and non-linearities. The moments M can be modelled as the states of
_
x_ a ðtÞ ¼ Aa xa ðtÞ þ Ba ua ðtÞ þ da ðqðtÞ; qðtÞ; text ðtÞÞ
(2)
M ¼ C a xa
where ua are inputs of the actuators, and da(q, q, _ text) represents disturbance
torques to the actuators due to robot movements. t ext is an external disturbance
torque. We assume that the moments/torques M can be measured; for example, by
measuring the currents in motors or pressure in hydraulics. In pre-tuned actuators,
we can assume that M ¼ xa, i.e., Ca ¼ I.
216 P.K. Vempaty et al.
The desired moments Md can be derived as the output of a controller that operates
on yd and y. For example,
Md ðsÞ ¼ Gc ðsÞ yd ðsÞ yðsÞ (3)
where s is the Laplace variable, Gc(s) is the controller transfer function. The
controller Gc is designed to generate the desired moments Md, required for the
adaptive actuator scheme by using the information from y and yd.
3 Solution
To apply the MRAC approach to the actuator (2), a reference model for the actuator
is needed as follows. The computed desired moments Md (3) will be represented as
the states of the reference model
where Am and Bm represent the desired dynamics for the actuator to follow. um(t)
represents the command input to the reference model of the actuator and is required
for the MRAC.
However, we do not know the input um. So the approach here is to estimate the
unknown um knowing xm. The unknown um can be represented as the output of an
waveform shaping model, i.e.,
x_ u ¼ Au xu þ wu
(5a)
um ¼ Cu xu
17 Adaptive and Neural Learning for Biped Robot Actuator Control 217
The adaptive actuator scheme is shown in Fig. 3, where the reference and control
models are specified by
x_ m ¼ Am xm þ Bm u
^m
(6)
ua ¼ Lxa þ N^ um
The adaptation algorithm in the MRAC will adjust the gains L and N based on
Lyapunov stability criteria as illustrated in Fig. 3.
Adaptation
Mechanism
Cqq
The error e ¼ xm xa between the actuator torque xa ¼ M and the desired torque
xm ¼ Md behave according to
e_ ¼ Am e þ ½Am Aa Ba Lxa
(7)
þ ½Bm Ba N^ _ text Þ
um da ðq; q;
where P ¼ PT > 0, Q ¼ QT > 0 and R ¼ RT > 0 are positive definite matrices. Then
v_ ¼ e_ T Pe þ eT P_e (9)
_ we choose
Based on the analysis of v,
Ba L_ ¼ Q1 PexTa
(10)
Ba N_ ¼ R1 Pe^
uTm
_ text). We next choose an S ¼ ST > 0
_ eT[PAm þ AmTP]e 2eTAmTda(q, q,
so that v¼
and solve P from
PAm þ ATm P ¼ S (11)
The bipedal model has five links with four pin joints as shown in Fig. 4. One link
represents the upper body and two links are for each lower limb. The biped has two
17 Adaptive and Neural Learning for Biped Robot Actuator Control 219
hip joints, two knee joints and two ankles at the tips of the lower limbs. There is an
actuator located at each joint and all of the joints are considered rotating only in the
sagittal plane. The system contains five links and seven degrees of freedom,
selected according to Fig. 4a and given by
q ¼ ½x0 ; y0 ; a; bL ; bR ; gL ; gR T (12)
The coordinates (x0, y0) fix the position of the center of mass of the torso, and the
rest of the coordinates describe the joint angles. The link lengths are denoted by
(h0, h1, h2) and masses by (m0, m1, m2). The centers of mass of the links are located
at the distances (r0, r1, r2) from the corresponding joints.
The model is actuated with four moments; two of them acting between the torso
and both thighs, and two at the knee joints, as illustrated in Fig. 4b.
The walking surface is modelled using external forces that affect the leg tips, as
shown in Fig. 4b.
T
F ¼ FLx ; FLy ; FRx ; FRy (14)
a b
m0
y
(x0; y0)
x
r0
h0
®
r1
m1 h1
¯R MR1
¯L r2 ML1
m2
°L h2 °R MR2
FLx ML2 FRx
FLy FRy
Fig. 4 (a) Biped robot with the corresponding seven coordinates q. (b) Biped robot with the
moments M and reaction forces F
220 P.K. Vempaty et al.
When the leg should touch the ground, the corresponding forces are switched on to
support the leg. As the leg rises, the forces are zeroed.
Using Lagrangian mechanics, the dynamic equations for the biped system
can be derived as shown in (1) where A(q) 2 ℜ77 is the inertia matrix and
_ M, F 2 ℜ71 is a vector containing the right hand sides of the seven partial
bq, q,
differential equations. The closed form formulas for both A and b are presented
in [4].
y ¼ ½a ðbL bR Þ gL gR T ¼ C y q (16)
The desired torque is derived as the output of a controller that operates on the error
between yd and y. That is
Md ðsÞ ¼ GC ðsÞ yd ðsÞ yðsÞ
(17)
Md ¼ ½Md1 Md2 Md3 Md4 T
We note that the actuator states xa ¼ M are the torques that will drive the biped
robot. The goal is to find ua such that M ! Md. We assume that DC motors are used
as actuators. It follows that (2) can be decoupled into individual motors represent-
ing the first-order stator-rotor dynamics (aai, bai) that generates output torque (xai)
while subject to disturbance (dai), that is
xa ¼ ½xa1 xa2 xa3 xa4 T ; ua ¼ ½ua1 ua2 ua3 ua4 T
Aa ¼ diagfaa1 aa2 aa3 aa4 g; Ba ¼ diagfba1 ba2 ba3 ba4 g
_ text Þ ¼ ½da1
da ðq; q; da2 da3 da4 T
ua ¼ Lxa þ N^ um
L ¼ diagfl1 ; l2 ; l3 ; l4 g; (18)
N ¼ diagfn1 ; n2 ; n3 ; n4 g
It follows from the Lyapunov design that the gains are adjusted according to
1 1
li ¼ p ðMdi xai Þxai ; ni ¼ p ðMdi xai Þ^umi (19)
bai qi i bai r i i
_ t ext Þ < 0
v_ i ¼ si e2i 2ami ei dai ðq; q; (21)
We can now compute pi, qi, and ri for the algebraic Lyapunov function as
The purpose of the NN is to eventually replace the necessity of human input (yd).
After the MRAC converges, the NN is trained to generate an estimate ^yd of yd using
222 P.K. Vempaty et al.
y and y_ as inputs. The basis for the mapping comes from the closed-loop system
formed by (1), (3) and The closed-loop characteristic can be expressed in a generic
_ q
form by f ðq; q; €; xa ; yd ; FÞ ¼ 0. The NN is an approximate mapping of f1(y, y,
_ yd)
¼ 0, where f1 is a reduced version of f.
5 Simulation Results
The biped movements from (16) are measured and used to generate the desired
torques from (17), (18) and (19) were implemented as the MRAC scheme. Three
sets of simulation runs are shown below. The first simulation does not include the
disturbance torque da(q, q,_ text). We introduced the disturbance in the second
simulation [13]. The third simulation shows the estimation performance of the
NN in predicting the reference command.
Figure 5 shows MR1 converging to Md2 for one step cycle. Similarly, it can be noted
that the rest of the biped moments converge to the reference model’s behavior.
Therefore, this gives the biped walker a human-like gait as described by Md.
Figure 6 plots the stable torso height y0 (see Fig. 4) of the biped walking as the result
of the adapted torques M.
Equation (2) includes disturbance torques da(q, q,_ text) which represents torque
feedback and other external moments. This causes the dynamics of the actuator to
vary. Figure 7 shows the biped torso height y0, recovering from the impact due to
17 Adaptive and Neural Learning for Biped Robot Actuator Control 223
the external disturbance to the biped walker, introduced by four impulses at 0.05,
0.3, 1.34, and 2.2 s with a magnitude of 5 and 6 Nm.
Figure 8 shows an 8-15-1 neural network model with y & y_ as the inputs and
estimate ^yd3 of the reference command signal yd3 as the output.
224 P.K. Vempaty et al.
_ text),
Fig. 7 Height of the biped torso without disturbance and with disturbance torques da(q, q,
applied at t ¼ 0.05, t ¼ 0.3, t ¼ 1.34, and t ¼ 2.2s
6 Conclusions
In this paper, we presented an MRAC technique to ensure that the actuators reliably
produce desired torques necessary for a walking robot. An observer was used to
predict an anticipated state of the desired torque, thus causing the adaptive actuators
to anticipate motion torques. We provided a proof to show that the MRAC scheme
results in a stable system in the sense of Lyapunov when errors between the desired
and actuator torques are significant. Also, the convergence analysis for tuning p, q,
and r is provided. Simulation results verify that the system is robust when tested
with various parameters and unknown coefficients. This paper also investigates and
presents a neural network estimation of the human gait reference inputs. In the
future, we plan to implement the MRAC and neural network schemes to control a
real-time biped walker with transport delay.
17 Adaptive and Neural Learning for Biped Robot Actuator Control 225
References
Abstract Steady state and dynamic vehicle models are derived for analyses of
requirements on motors and batteries for battery electric vehicles. Vehicle level
performance requirements such as driving range, maximum cruise speed, maximum
gradeability, and maximum acceleration are used to analyze the requirements on
motors and batteries including motor power and torque, battery weight and specific
energy. MATLAB simulation tools are developed to allow validation of these
vehicle level performance requirements for a given set of motor/battery.
1 Introduction
Even though the internal combustion engine (ICE) is currently still the dominant
power source for automobiles, the cost of fuel and more stringent government
regulations on greenhouse gas emissions have led to more active interest in hybrid
and electric vehicles. Hybrid vehicles have better gas mileage than ICE-powered
vehicles. But they still have greenhouse gas emissions and the dual power sources
make them more complex and expensive. Battery electric vehicles (BEV) have
zero emission with a single power source that makes their design, control, and
maintenance relatively simple compared to hybrid vehicles. In addition, the
wide use of BEVs will reduce dependence on foreign oil, lower the cost per mile
of driving, and can potentially reduce the cost of electricity by using the vehicle-
to-grid power capability.
W. Zhan (*)
Department of Engineering Technology and Industrial Distribution, Texas A&M University,
College Station, TX 77843-3367, USA
e-mail: [email protected]
The main limitations on BEVs lie in the battery technology. The low energy and
power densities of batteries compared to hydrocarbon fuels significantly reduce the
driving range and other vehicle level performances. Initial cost is another factor that
slows the commercialization of electric vehicles. However, the latest developments
in battery technologies are making BEVs more and more attractive. From lead-acid
batteries to nickel metal-hydride (NiMH) batteries, lithium-ion cell technology [1],
and the latest nano-technology based batteries [2], the energy and power densities
have improved drastically.
The U.S. government is investing heavily to support battery technologies and
infrastructure for electric vehicles. It has set a target of one million electric vehicles
on U.S. roads by 2012. Tax credits up to $7,500 for buyers of plug-in electric
vehicles are offered by the U.S. government. The private sector is also investing
billions of dollars in electric vehicles. GM and Ford are both planning to roll out
plug-in electric vehicles in 2010. All these developments point to a trend toward
electric vehicles in the auto industry.
Not only are an increasing number of new BEVs being manufactured, there is
also significant interest in converting existing ICE-powered vehicles to electric
power. A Google search for “conversion to EV” results in millions of websites
and books, many of them providing Do it Yourself kits with focus on removal
and addition of components [3]. There is increasing interest in academia in the
development of BEVs; for example, an undergraduate senior design project devel-
oped an electric vehicle conversion [4]. However, many of these efforts lack
consideration of detailed system design requirements. Most of the components
for conversions are selected to provide similar output to that of the ICE or
by using the vehicle weight to determine the energy and power requirements. The
conversion to electric propulsion is a complex process and requires analysis that can
be very different from that of an ICE-powered vehicle [5]. Many performance
objectives impose conflicting demands. If not designed carefully, the resulting
electric vehicle can have many problems such as driving range shorter than
expected, battery and motor lacking enough power for desired acceleration, and
safety-related design problems.
In this paper, first principle models are derived for electric vehicles and used to
establish quantitative design requirements. Software tools are developed in
MATLAB [6, 7] to allow users to quickly determine expected vehicle level
performances for a given set of motors and batteries. They can also be used to
conduct trade-off studies for many design parameters.
One of the system level requirements for BEV is the driving range at constant
speed. This requirement can be used to derive motor power and battery power and
energy requirements. Since the vehicle is assumed to be moving at a constant speed,
steady state analysis can be use to study this problem.
18 Modeling, Simulation, and Analysis for Battery Electric Vehicles 229
Θ W
The gravity force is decomposed into two components, one in the direction of travel
and the other in the direction perpendicular to the surface. In order to move the
vehicle up the inclined surface, the vehicle must overcome the gravity force
component in the direction of travel. This is given by
Wx ¼ WsinðyÞ (1)
where W is the gravity force, y is the angle of the inclined surface, and Wx is the
component of the gravity force in the direction of travel.
The drag is a function of speed for any given vehicle. At low speed the drag force is
negligible. At high speed, the drag becomes a significant factor. For simplicity, a
semi-empirical model is used here [9]
1
DA ¼ rV 2 CD A (2)
2
where V is the vehicle speed (ft/s), A is the frontal area of the vehicle (ft2), CD is the
aerodynamic drag coefficient, DA is the aerodynamic drag (lb), r is the air density
230 W. Zhan et al.
Rolling resistance of the tires is a major vehicle resistance force. It is the dominant
motion resistance force at low speed (<50 mph). The rolling resistance can be
modeled as the load on the tires multiplied by the coefficient of rolling resistance fr:
Rx ¼ f r W (3)
Based on the above analysis, the power required to drive the vehicle at a given
speed V (mph) is given by the total road load forces multiplied by the vehicle
speed, i.e.,
HP ¼ 0:00267ðDA þ Rx þ Wx ÞV (4)
where Wx can be calculated using (1), DA is given by (2), Rx can be calculated using
(3) with fr ¼ 0.015, and 0.00267 is the conversion factor to horsepower, HP. To
calculate these quantities, we need the following inputs:
l Vehicle speed (mph)
l Vehicle weight (including trailer if there is one) (lb)
l Frontal area of the vehicle, (including trailer if there is one) (ft2)
l Aerodynamic drag coefficient (including trailer if there is one)
l Coefficient of rolling resistance
l Surface incline angle (degree)
Energy is power integrated over time. If the total distance traveled is long enough,
the initial acceleration and final deceleration have negligible effect on the total
18 Modeling, Simulation, and Analysis for Battery Electric Vehicles 231
energy calculation. Also, since this is a steady state analysis the aerodynamic drag
is constant. Noting that Wx ¼ Wsin (y) and V ¼ dx/dt, it follows that
ð ð ð
dx
Wx dt ¼ WsinðyÞdx ¼ WsinðyÞdx ¼ WDh
dt
where Dh is the change in elevation between the starting and ending points. Thus,
the energy required to move a vehicle for a distance of d (miles) at a speed V (mph)
with a change in elevation of Dh (miles) is given by
EðkWhÞ ¼ 0:00267½ðDA þ Rx Þd þ WDh 0:746ðkWÞ=HP
(5)
¼ 0:002½ðDA þ Rx Þd þ WDh:
Define y* as the average slope; i.e.,
siny ¼ Dh=d
and
Wx ¼ Wsiny
If speed is not constant, Eqs. (5) and (6) do not apply and the power consumed to
overcome drag must be evaluated as an integral.
The energy calculations in (6) can be converted to MJ (1 kWh ¼ 3.6 MJ):
EðMJÞ ¼ 0:0072ðDA þ Rx þ Wx Þd: (7)
The total energy required for driving a vehicle at constant speed over a given range
can be used to derive the requirement on battery specific energy Dse (MJ/kg).
Let the battery weight be Wb (lb) and the battery/motor delivery efficiency be .
The total available energy ET (MJ) from the battery/electric motor is determined by
This amount must be greater than or equal to the total energy required as given
in (7), i.e.,
From this, one can solve for Dse required to travel a given distance
DA þ Rx þ Wx
Dse 0:0158 d: (10)
Wb
Alternatively, we can calculate the maximum distance dmax the vehicle can
travel when the specific energy is given
Wb
dmax ¼ 63:29 Dse : (11)
DA þ Rx þ Wx
Note that the battery weight Wb is part of the vehicle weight W, which is used in
the calculation of Rx and Wx. Denoting the vehicle weight without the battery by W0
(lb), we have
W ¼ W0 þ Wb (12)
Since the right hand side is positive, and the battery weight must be positive, we
must have
63:29Dse
d< (14)
sin y þ fr
The right hand side of (14) provides a theoretical upper bound for the distance a
vehicle can travel with infinite battery weight (energy) regardless of the speed,
vehicle weight, and aerodynamic drag.
Under the assumption that (14) holds, one can determine the weight of a battery
in order to travel a distance d
DA þ ðsiny þ fr ÞW0
Wb d (15)
63:29Dse dðsiny þ fr Þ
One can conclude that, as long as (14) holds, a sufficiently heavy battery would
always enable the vehicle to travel a given distance d. In practice, there are other
constraints such as the volumetric limitation for the battery and vehicle load
capacity.
Using (12) in (10) yields
DA W0 d
Dse 0:0158 þ ðfr þ sinðy ÞÞ 1 þ (16)
Wb Wb
18 Modeling, Simulation, and Analysis for Battery Electric Vehicles 233
2500
2000
Wbmin (lbs)
1500
d = 150 miles
1000
d = 100 miles
500
0
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2
Specific Energy Density (MJ / kg)
Fig. 2 Design constraint among specific energy, driving range, and battery weight for a given speed
The relationship between minimum battery weight and specific energy is plotted
in Fig. 2 for different values of driving range. The efficiency for battery and motor
is assumed to be 75% [10] and the speed is 40 mph. For a given driving range, the
battery weight and specific energy must be chosen so that the point is above the
curve corresponding to the driving range.
Similarly, one can plot the design constraints for any fixed driving range and
various speed.
The maximum cruise speed that the vehicle is required to maintain imposes
requirements on the power delivered by the motor and batteries. The example
below is for a cruise speed of 80 mph.
Using the following vehicle parameters in the steady state model: vehicle speed ¼
80 mph; vehicle weight (including motors, but without engine, transmission, battery)
¼ 4,000 lb; frontal area of the vehicle ¼ 34 ft2; air temperature ¼ 59 F; atmospheric
234 W. Zhan et al.
65
Motor Power Requirement (kWatt)
60
55
50
45
40
35
30
75 80 85 90 95
Max Cruise Speed (mph)
The maximum cruise speed scenario is used to determine the rated power for
batteries and motors. In other words, the battery and motor are required to provide
the power over a long period of time.
3 Dynamic Analysis
When the vehicle is driven over a short period of time or the time spent in
accelerating/decelerating is a significant portion of the total time, steady state
analysis is not adequate. Instead, dynamic analysis is needed. The dynamic model
developed in this section will be used to derive requirements on motor and battery
outputs.
The forces acting on the vehicle are illustrated in Fig. 4, where
l W is the gravity force.
l Rxf and Rxr are front and rear rolling resistant forces and Rxf þ Rxr¼Rx.
l Wf and Wr are front and rear normal forces.
l DA is the aerodynamic drag.
l LA is the aerodynamic lift.
l Fx is the tractive force (rear wheel drive is assumed).
Newton’s Second Law is applied in the direction of the vehicle movement and
the direction perpendicular to the road surface.
W
Fx W sin y DA a Rx ¼ 0 (17)
g
Wf þ Wr þ LA W cos y ¼ 0 (18)
1
LA ¼ rV 2 CL A (19)
2
LA
L/2 b
c DA
Wsin(Θ) ha
ma h
Wcos(Θ)
Wf
W
Wr Rxf
Fig. 4 Vehicle dynamics Rxr Fx
model Θ
236 W. Zhan et al.
The typical range [6] of values for the aerodynamic lift coefficient is CL ¼
0.0–0.5. The lift force is applied at the center of the wheel base.
A moment equation about the contact point at the front wheels can also be written.
During acceleration, the motor, transmission, and wheel dynamics have significant
impact on the vehicle acceleration.
Newton’s Second Law can be applied to the motor to get
Tm T t ¼ I m a m (21)
where Tm is the total motor torque (Nm) (if two motors are used, the torque from
each motor needs to be multiplied by 2), Tt is the torque input to the drive train
(transmission and differential) (Nm), Im is the motor total rotational inertia (kg m2),
and am is the motor angular acceleration (rad/s2).
The torque delivered at the output of the drive train is amplified by the gear ratio
of the transmission times the gear ratio of the differential, but is decreased by the
torque required to accelerate the gears and shafts. If the drive train inertia is
characterized by its value on the input side, we have the following equation:
Tt Tw =G ¼ It am (22)
where G is the gear ratio of the combined transmission and differential, i.e., the
ratio between the angular velocities of the motor shaft and the driven wheels, Tw is
the torque at the output of the drive train, and It is the rotational inertia for the drive
train.
Applying Newton’s Second Law to the driven wheels, one gets
T w F x r ¼ I w aw (23)
where Fx is the total tractive force for the two driven wheels, r is the tire radius, Iw is
the rotational inertia of the wheels (Iw includes the rotational inertia of everything
down stream of the drive train), and is the wheel acceleration (rad/s2) of the wheels.
By the definition of gear ratio, we have
Gaw ¼ am (24)
18 Modeling, Simulation, and Analysis for Battery Electric Vehicles 237
Equations (21)–(24) could be combined to solve for the tractive force available
at the ground. Recognizing that for power limited operation the vehicle accelera-
tion, a, is the wheel rotational acceleration, aw, times the tire radius, yields:
G ðIm þ It ÞG2 þ Iw
Fx ¼ Tm a (25)
r r2
where r is the radius of the tire.
The effect of mechanical losses can be approximated by including an efficiency
factor, t, in the first term in the right hand side of (26), as a result we have
G ðIm þ It ÞG2 þ Iw
Fx ¼ t Tm a (26)
r r2
In order to see more clearly the effect of the rotational inertia on the vehicle
acceleration, (17) and (26) are combined to get the following
G
ðM þ Mr Þa ¼ Tm Wsiny DA Rx (27)
r t
where M ¼ W/g and Mr is the equivalent mass of the rotating components, given by
ðIm þ It ÞG2 þ Iw
Mr ¼ (28)
r2
In this case, the tractive force calculated by (26) exceeds the maximum tractive
force the road surface and the tire can generate, which is determined by
Fx ¼ mWr (29)
where m is the surface friction coefficient. For truck tires, on dry asphalt, m is
approximately 1.
From (17), (20), and (29), we can solve for the maximum tractive force Fxmax
m L
Fx max ¼ DA ha ðDA þ Rx Þh LA þ Wb cos y (30)
L mh 2
In the model, these two cases can be combined by calculating the minimum of
the two forces in (26) and (30).
238 W. Zhan et al.
The requirement on 0–60 mph time determines the maximum outputs from the
batteries and the motors. A 10 s 0–60 mph time is used as a vehicle acceleration
requirement. During the 10 s while the vehicle accelerates to 60 mph from a
standing start, the maximum power generated by the motor and battery can be
significantly higher than the rated values.
Figure 5 shows the characteristic of a typical AC induction motor. This can be
used together with the vehicle dynamics model to derive the maximum power
requirements on the motor and battery. The combined model can be used
to determine the 0–60 mph time. Based on the simulation result, one can find if a
specific motor/battery combination meets the requirement of 0–60 mph time.
In addition to the parameters used in the derivation of power requirements for
maximum speed, the following parameters are used:
Gear ratio ¼ 6; Motor inertia ¼ 0.36 kg m2 ¼ 3.18 lb in s2; Rotational inertia of
drive train ¼ 0.045 kg m2 ¼ 0.40 lb in s2; Rotational inertia of each driven wheel ¼
1.69 kg m2 ¼ 14.92 lb in s2; Drive train efficiency ¼ 96%; Wheel base ¼ 126 in;
CG height ¼ 3.3 ft; Height of aerodynamic drag ¼ 3.5 ft; Radius of loaded wheel ¼
13.82 in; Weight percentage on front wheels ¼ 55%; Motor torque and motor
efficiency curves given in Fig. 5; battery power limit ¼ 140 kW; surface mu ¼ 0.95;
torque
160
140
120
100
80
60
40
20
0
0 2000 4000 6000 8000 10000 12000
Motor speed (rpm)
where the gear ratio is the ratio between the angular velocities of the motor and the
driven wheels.
The simulation result in Fig. 6 shows that the vehicle can accelerate from 0 to 60
mph in 9.5 s.
By varying the battery weight and repeating the simulation, the 0–60 mph time
as a function of the battery weight is plotted in Fig. 7. It can be seen that the battery
weight has a significant impact on the 0–60 mph time.
Maximum gradeability is defined as the largest surface incline that a vehicle can
overcome. It is an important vehicle level performance requirement. Lower level
requirements on motor torque and battery power can be developed based on the
maximum gradeability requirement.
In the analysis of maximum gradeability, the following conditions hold:
a 0; DA ¼ 0; La ¼ 0
60
50
Vehicle speed (mph)
40
30
20
10
0
0 2 4 6 8 10 12
Time (seconds)
10.6
10.4
10.2
10
0-60 mph time (seconds)
9.8
9.6
9.4
9.2
8.8
8.6
500 600 700 800 900 1000 1100 1200 1300 1400 1500
Battery weight (lbs)
There are two cases one must consider: traction limited and power limited.
When the vehicle is traction limited, from (17), (20), and (29) we have
m
Fx ¼ W ðh sin y þ b cos yÞ W sin y þ Rx (31)
L
From the above inequality, we can solve for the maximum surface incline when
it is traction limited
1 mb Lfr
y tan (32)
L mh
When the vehicle is power limited, from (17) and (26), we have
G
Tm W sin y þ Rx (33)
r
Note that t¼1 is assumed for maximum gradability analysis. Combining (32)
and (33), one can plot the maximum grade as a function of motor torque.
4 Conclusion
Several design requirements for electric vehicles are discussed in this paper. System
level design requirements are used to derive requirements on motor power and
torque and battery power, weight and specific energy based on simulation tools
18 Modeling, Simulation, and Analysis for Battery Electric Vehicles 241
References
1. G.A. Nazri, G. Pistoia, Lithium Batteries: Science and Technology (Kluwer/Plenum, Boston,
2004)
2. C.K. Chan, H. Peng, G. Liu, K. McIlwrath, X.F. Zhang, R.A. Huggins, Y. Cui,
High-performance lithium battery anodes using silicon nanowires. Nat. Nanotechnol. V(3)
31–35 (2008)
3. T. Lucas, F. Riess, How to Convert to an Electric Car (Crown Publishers, New York, 1980)
4. J. Dave, J. Dong, Conversion of an existing car to a rechargeable electric vehicle, ASEE
Annual Conference, 2009
5. I. Husain, Electric and Hybrid Vehicles (CRC Press, Boca Raton, FL, 2003)
6. R. Pratap, Getting Started with MATLAB 7: A Quick Introduction for Scientists and Engineers
(Oxford University Press, New York, 2006)
7. The MathWorks, Inc. MATLAB®7 Getting Started Guide (2008)
8. M. Ehsani, Y. Gao, S.E. Gay, A. Emadi, Modern Electric, Hybrid Electric, and Fuel Cell
Vehicles (CRC Press LLC, London, 2005)
9. T.D. Gillespie, Fundamentals of Vehicle Dynamics (Society of Automotive Engineers, Inc.,
Warrendale, PA, 1992)
10. Formula Hybrid Rules, SAE International, August 26, 2008. Available at http://www.formula-
hybrid.org/pdf/Formula-Hybrid-2009-Rules.pdf. Last accessed on 29 Dec 2009
11. W. Zhan, M. McDermott, M. Hasan, EVSim Software Design (Aug 2009)
12. W. Gao, E. Solodovnik, R. Dougal, Symbolically-aided model development for an induction
machine in virtual test bed. IEEE Trans. Energy Conver. 19(1) 125–135 (March 2004)
Chapter 19
Modeling Confined Jets with Particles and Swril*
1 Overview
*The support of this work by U.S. DOE Existing Plants Emissions and Capture program is
gratefully acknowledged. The first author was supported in part by an appointment to the U.S.
Department of Energy (DOE) Postgraduate Research Program at the National Energy Technology
Laboratory administered by the Oak Ridge Institute for Science and Education.
O.A. Marzouk (*)
United States Department of Energy, National Energy Technology Laboratory, 3610 Collins Ferry
Road, Morgantown, WV 26507-0880, USA
e-mail: [email protected]
are one of many sub-models which are required to calculate the behavior of these
gas–solid flow systems.
The particle-laden swirling flow experiment of Sommerfeld and Qiu [2] was
selected as a test-case to assess the performance of three implementations of
the ke turbulence model for gas–solid flows. Previous numerical investigations
of this experiment include, Euler–Lagrange (EL)/Reynolds-averaged Navier–
Stokes (RANS-steady) [3], EL/large eddy simulations (LES) [4], Euler–Euler
(EE)/RANS-unsteady [5], and EE/LES [6]. The extensive experimental measure-
ments make this experiment a good test-case for gas–solid CFD.
A schematic of the experiment is shown in Fig. 1. The coaxial flow consists of
a primary central jet, laden with particles at a loading of 0.034 kg-particles/kg-air
and an annular secondary jet with a swirl number of 0.47 based on the inlet velocity.
Coaxial combustors have a similar configuration to this system. Generating a
swirling flow is an approach used to stabilize combustion and maintain a steady
flame [7]. Swirl entrains and recirculates a portion of the hot combustion products.
It also enhances the mixing of air and fuel. The inlet swirl number was calculated as
the ratio between the axial flux of angular momentum to the axial flux of linear
momentum
R Rsec
2 r Uy U x r 2 dr
S¼ 0
R Rsec (1)
Dcyl 0 r U 2x r dr
where Ux and Uy are the axial and tangential (swirl) velocities, Rsec ¼ 32mm is the
outer radius of the swirling secondary jet, and Dcyl ¼ 197mm is the inner diameter
of the pipe into which the jets enter. The inlet Reynolds number (Re) is approxi-
mately 52,400 based on the outer diameter of the secondary jet, thus
^ x ð2 Rsec Þ
rU
Re ¼ (2)
m
where r is the density, m is the dynamic viscosity, and Ûx is an equivalent axial
velocity that accounts for the total volume flow rate from both primary and
secondary jets. The particles were small spherical glass beads, with a density of
2,500kg/m3. The beads injected according to a log-normal distribution with a mean
number diameter of 45 mm.
The continuity and momentum equations for the resolved gas-phase fields are
expressed and solved in Cartesian coordinates as
@ r @ðr U j Þ
þ ¼0 (3)
@t @ xj
where Ui is the velocity vector, p is the pressure, sij and tij are the viscous and
Reynolds (or turbulent) stress tensors, gi is gravitational vector (we only have
g1 ¼ 9.81m/s2), and Sp is a source term accounting for the momentum from the
dispersed phase. As for Newtonian fluids, sij is calculated as
sij ¼ 2m Sdev
ij
where Sijdev is the deviatoric (traceless) part of the strain-rate tensor Sij
1 @ Ui @ Uj
Sij ¼ þ
2 @ xj @ xi
1 @ Ui @ Uj 2 @ Uk
Sij ¼
dev
þ dij
2 @ xj @ xi 3 @ xk
The tensor tij is not resolved directly. Instead, its effects are approximated using the
gradient transport hypothesis
2
tij ¼ 2mt Sdev
ij r k dij (5)
3
246 O.A. Marzouk and E.D. Huckaby
where mt is the turbulent (or eddy) viscosity. The spherical tensor on the right-hand
side is not considered here [3, 8]. Different eddy-viscosity turbulence models propose
different strategies to calculate mt. In the case of ke models, mt is calculated as
k2
mt ¼ Cm r (6)
E
where k is the turbulent kinetic energy per unit mass and e is its dissipation rate.
They are calculated by solving two coupled transport equations. The forms of these
equations vary depending on the model implementation. We consider here three
implementations, which are described in the following subsections.
The standard ke model refers to the Jones–Launder form [9], without wall
damping functions, and with the empirical constants given by Launder and Sharma
[10]. The k and e equations are
@ðr kÞ @ðr Uj kÞ @ mt @ k
þ ¼ mþ þP rE (7)
@t @ xj @ xj sk @ xj
@ðr EÞ @ðr U j EÞ @ mt @ E E
þ ¼ mþ þ ðCE1 G CE2 rEÞ
@t @ xj @ xj sE @ xj k
2 @ Uk
CE1 þ CE3 r E (8)
3 @ xk
where P is the production rate of kinetic energy (per unit volume) due to the
gradients in the resolved velocity field
@ Ui
P ¼ tij
@ xj
which is evaluated as
2 @ Uk
P ¼ G rk
3 @ xk
with
!
@ Ui 1 @ Uk 2
G¼ 2mt Sdev ¼ 2mt Sij Sij
ij
@ xj 3 @ xk
19 Modeling Confined Jets with Particles and Swril 247
The addition of Ce3 in the last term on the right-hand side of (19.8) is not included in
the standard model. It was proposed [8, 11] for compressible turbulence. However,
we will refer to this implementation as the standard model. The model constants are
The RNG model was developed [12, 13] using techniques from the renormalization
group theory with scale expansions for the Reynolds stress. The k and e equations
have the same form in (7) and (8), but the constants have different values. In
addition, the constant Ce1 is replaced by C∗
e1, which is no longer a constant, but is
determined from an auxiliary function as
ð1 =0 Þ
CE1 ¼ CE1
1 þ b 3
where
k pffiffiffiffiffiffiffiffiffiffiffiffiffiffi
¼ 2 Sij Sij
E
is the expansion parameter (ratio of the turbulent time scale to the mean-strain time
scale). The model constants are
The realizable ke model was formulated [14] such that the calculated normal
(diagonal) Reynolds stresses are positive definite and shear (off-diagonal) Reynolds
stresses satisfy the Schwarz inequality. Similar to the RNG model, the form of the k
equation is the same as the one in (7). In addition to altering the model constants,
the two main modifications lie in replacing the constant Cm used in calculating the
eddy viscosity in (6) by a function, and in changing the right-hand side (the
production and destruction terms) of the e equation. The last term in (8) is dropped.
With this, the e equation becomes
248 O.A. Marzouk and E.D. Huckaby
@ðr EÞ @ðr U j EÞ @ m @E E2
þ ¼ mþ t þ C1 r E S CE2 r pffiffiffiffiffiffiffiffiffiffiffiffiffiffi (9)
@t @ xj @ xj sE @ xj k þ ðm=rÞE
where
1
C1 ¼ max 0:43; ; Cm ¼
þ5 A0 þ AS ðU k=EÞ
pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi 1 @ Ui @ Uj
U ¼ Sij Sij þ Oij Oij ; Oij ¼
2 @ xj @ xi
pffiffiffi 1 pffiffiffi
AS ¼ 6 cosðfÞ; arccos 6 Wf¼
3
pffiffiffi Sij Sjk Sik 1 1
W ¼ min max 2 2 ; pffiffiffi ; pffiffiffi
S3 6 6
3 Dispersed Phase
dx
¼u (10a)
dt
du
m ¼f (10b)
dt
where m is the mass of the particle, u is the particle velocity, and f is the force acting
on the particle. In this study; the drag, gravity, and buoyancy are considered, thus
the force f has the following form [15]:
p d2
f¼ r CD ju U jðu U Þ þ m g r 8 g (11)
8
U U þ U0 (12)
The vector U is the resolved velocity of the fluid (interpolated at the particle
location) which is calculated after solving the governing equations of the flow,
coupled with the turbulence model. The fluctuating velocity, U0 , is estimated using
the discrete random walk algorithm [16, 17]. In this algorithm, uncorrelated eddies
are generated randomly, but the particle trajectory is deterministic within an eddy.
The fluctuating velocity affects the particle over an interaction time, Tinterac, which
is the shortest of the eddy life time (Lagrangian integral time scale of turbulence),
Teddy, and the residence or transit time, Tresid. The latter is the time needed by the
particle to traverse the eddy. These characteristic times are calculated as
k
T eddy ¼ (13a)
E
k3=2
T resid ¼ Cresid (13b)
E ju U U 0 j
In (19.13b), U0 is lagged from the previous time step, and Cresid ¼ 0.093/4 ¼
0.16432. The turbulence information, thus the characteristic times in (13), are
updated every time step to account for the fact that the turbulence encountered by
a particle in its trajectory is not homogeneous.
The drag coefficient for the spherical particles is determined from the
following two-region formula [11], which is very similar to the Schiller–Nau-
mann[18] expression for Red 1,000, and uses a constant Newton drag coefficient
for Red > 1,000
8
< 24 1 2=3
1 þ Red ; Red 1000
CD ¼ Red 6 (14)
:
0:424; Red > 1000
rju U jd
Red ¼ (15)
m
Combining (19.10a) and (19.11), and using m ¼ rppd3/6 (rp is the particle
density), the particle equations of motion become
dx
¼u (16a)
dt
250 O.A. Marzouk and E.D. Huckaby
!
du u U r
¼ þ 1 g
dt t rp
where
4 rp d rp d2 24
t¼ ¼
3 r CD ju U j 18 m Red CD
4 Simulation Settings
The problem is treated as axisymmetric (although the results are mirrored in some
figures for better visualization). The domain starts at the expansion location with
x ¼ 0 in Fig. 1 and extends to x ¼ 1.0m. The domain is a 3D wedge (full-opening
angle 5∘), with a Frontal Area of 1.0m, 0.097m, and 240 and 182 mesh points in the
axial and radial directions, respectively. The mesh is nonuniform both axially and
radially, with finer resolution near walls and between the two jets. The mesh has
40,080 cells. The inlet condition for the velocity in the primary (inner) jet is
specified in terms of the mass flow rate (9.9g/s). For the secondary (outer) jet, the
inlet velocity is specified using the experimental velocity profile. A zero-gradient
condition is applied to the pressure at the inlet. The specific turbulent kinetic
energy, k, is set to 0.211m2/s2 and 0.567m2/s2 in the primary and secondary jets,
respectively; and the dissipation rate, e, is set to 0.796m2/s3 and 3.51m2/s3 in the
primary and secondary jets, respectively. The inlet k was estimated assuming 3%
turbulence intensity (the experimental value was not specified, but 3% is a reason-
able medium-turbulence level [20]) and the inlet e was then estimated from [21]
e ¼ C3=4
m k =l
1:5
(17)
where the standard value 0.09 is used for Cm, and l is the turbulence length scale,
which is approximated as 10% of the pipe diameter (l ¼ 0.02m). At the outlet,
zero-gradient conditions are applied for all variables except the pressure, where a
19 Modeling Confined Jets with Particles and Swril 251
constant value of 105 N/m2 is imposed. At the walls, the wall-function treatment is
used for the turbulence, and a zero-gradient condition is used for the pressure.
The PISO (pressure implicit splitting of operators) scheme is used to solve the
governing flow equations. A variable time step is adjusted dynamically to limit the
maximum convective CFL to 0.3. The backward Euler scheme is used for the time
integration of the flow equations. Upwind differencing is used for the convective
terms. Linear (second-order central difference) interpolation is used to find the mass
fluxes at the face centers of the cells from the cell-center values, and is also used for
the diffusion terms.
The particle mass flow rate is 0.34 g/s, which corresponds to 0.00472 g/s for our
case of 5 wedge. The particles are injected at a velocity of 12.5m/s, which is the
nominal axial inlet velocity in the primary jet.
We used version 1.5 of the finite volume open source code OpenFOAM [22, 23]
to perform all the simulations presented here. Similar particles are grouped into a
parcel (or a particle cloud), where they have a common velocity, to reduce the
amount of computation for the dispersed phase. The number of particles per parcel
is not uniform.
5 Results
The simulated flow time is 0.6 s for the results presented in this chapter. We have
found that this time interval is sufficient for all particles to traverse the domain and
for the gas phase to achieve stationary conditions. The last 0.1 s is used to obtain the
mean gas-phase velocities.
Figure 2 shows three snapshots of the parcels after 0.05, 0.1, and 0.15 s using the
standard ke model (the diameters of the particles associated with a parcel are evenly
scaled by a factor of 100). This figure illustrates that the model captures well the
expected dynamics of the dispersed phase. The larger particles (with larger inertia)
maintain their axial motion and penetrate the central recirculation bubble. They are
not affected strongly by the swirl and radial velocity of the gas phase. Smaller
particles are entrained due to smaller relaxation times, and directed to the walls.
The mean axial, radial, and tangential velocities of the gas phase are shown in
Fig. 3. The negative mean axial velocity along the centerline and the walls identify
the regions of recirculation. The strong variations in all velocities are confined to a
distance of 150 mm after the inlet. The axial and tangential velocities exhibit initial
decay, whereas the radial velocity increases at the upstream boundary of the central
recirculation bubble.
A comparison between the mean streamlines obtained with the three turbu-
lence models is given in Fig. 4. Besides the central bubble, there are secondary
recirculation zones (due to the sudden expansion) at the top of the pipe. The
standard model gives the shortest recirculation bubble, with best agreement with
the experimental results. The realizable model gives a longer bubble, but with a
qualitatively similar structure. The RNG model resolves, in addition to the central
252 O.A. Marzouk and E.D. Huckaby
Fig. 2 Parcel motion with the standard ke model at t ¼ 0.05s (left), t ¼ 0.10s (middle), and
t ¼ 0.15s (right)
Fig. 3 Mean gas-phase velocities near the inlet with the standard ke model
and two secondary recirculation zones, two noticeable tertiary recirculation zones
at the beginning (top) of the central bubble. This feature was not reported in the
experimental results.
19 Modeling Confined Jets with Particles and Swril 253
Fig. 4 Comparison of the mean streamlines with 3 ke models: standard (left), RNG (middle),
and realizable (right)
The mean gas-phase velocity fields are sampled at different axial stations. We
compare the mean velocities obtained using the three turbulence models with the
measured values at two stations in Fig. 5, located at x ¼ 3 and 112 mm. The first
station is located close to the inlet, thus upstream of the central bubble, whereas the
second one spans the bubble. At x ¼ 3 mm, all models predict axial and tangential
velocities that are in agreement with the measured ones. The radial velocity using
the realizable model shows considerable disparity, with excessively-negative
(inward) velocity in the region away from the jets, followed by an outward flow
near the wall, which is opposite to the inward flow observed experimentally. The
standard model has a slightly better agreement with the measurements than the
RNG model at this axial location. At x ¼ 112 mm, the RNG predictions deviate
considerably from the measurements. This is a direct consequence of the tertiary
recirculation shown in Fig. 4. As in the earlier station, the standard and realizable
models provide similar results except for the radial velocity, with the realizable
model failing to capture the measured peak at r 80 mm. The standard model
provides better prediction of the axial velocity in the vicinity of the wall than the
other two models.
On a computing machine with two processors: quad core Intel Xeon L5335
2.00 GHz, a simulation interval of 0.5 s required 17.13 h CPU time for the standard
model, 19.44 h for the RNG model, and 24.81 h for the realizable model. The
standard model has the lowest computational demand due to its relative simplicity.
The realizable model is the most computationally-expensive implementation, with
CPU time equal to 145% and 128% of the CPU times in the case of the standard and
RNG models, respectively.
254 O.A. Marzouk and E.D. Huckaby
RNG
Realizable
15
0
10
–2
5
Experiment
Standard
0 RNG
–4 Realizable
–5
0 0.02 0.04 0.06 0.08 0.1 0 0.02 0.04 0.06 0.08 0.1
Radial Distance (m) Radial Distance (m)
Standard
Mean Axial Velocity (m / s)
15 Standard
RNG RNG
6 Realizable
Realizable
10
3
5
0
0
–5 –3
0 0.02 0.04 0.06 0.08 0.1 0 0.02 0.04 0.06 0.08 0.1
Radial Distance (m) Radial Distance (m)
Standard
Mean Radial Velocity (m / s)
RNG
Realizable
2
1
Experiment
0 Standard
0 RNG
Realizable
0 0.02 0.04 0.06 0.08 0.1 0 0.02 0.04 0.06 0.08 0.1
Radial Distance (m) Radial Distance (m)
6 Conclusions
the radial velocity. The main differences in the predicted velocity profiles were
related to the different flow structures and mean streamlines. We should point out
that our finding that the more complex models did not outperform the simpler one
should not be considered a universal statement. In fact, more work is needed to
investigate the reasons of this unexpected outcome. This includes examining the
effect of Ce3, and the effect of dropping the spherical component in the modeled
Reynolds stresses (which causes violation of one of the realizability constraints).
References
1. T.F. Wall, Combustion processes for carbon capture. P. Combust. Inst. V31(N1), pp. 31–47
(2007)
2. M. Sommerfeld, H.-H. Qiu, Detailed measurements in a swirling particulate two-phase flow
by a phase-Doppler Anemometer. Int. J. Heat Fluid Fl. V12(N1), pp. 20–28 (1991)
3. M. Sommerfeld, A. Ando, D. Wennerberg, Swirling, particle-laden flows through a pipe
expansion. J. Fluids Eng. V114(N4), pp. 648–656 (1992)
4. S.V. Apte, K. Mahesh, P. Moin, J.C. Oefelein, Large-eddy simulation of swirling particle-
laden flows in a coaxial-jet combustor. Int. J. Multiphase Flow V29, pp. 1311–1331 (2003)
5. Y. Yu, L.X. Zhou, C.G. Zheng, Z.H. Liu, Simulation of swirling gas-particle flows using
different time scales for the closure of two-phase velocity correlation in the second-order
moment two-phase turbulence model. J. Fluids Eng. V125(N2), pp. 247–250 (2003)
6. M. Boileau, S. Pascaud, E. Riber, B. Cuenot, L.Y.M. Gicquel, T.J. Poinsot, M. Cazalens,
Investigation of two-fluid methods for large eddy simulation of spray combustion in gas
turbines. Flow Turbul. Combust. V80(N3), pp. 291–321 (2008)
7. G. Monnot, in Principles of Turbulent Fired Heat, Editions Technip, 1985
8. F.P. K€arrholm, Numerical modelling of diesel spray injection, turbulence interaction and
combustion. Ph.D. Dissertation, Chalmers University of Technology, G€ oteborg, Sweden,
2008
9. W.P. Jones, B.E. Launder, The prediction of laminarization with a two-equation model. Int. J.
Heat Mass Tran. V15(N2), pp. 301–314 (1972)
10. B.E. Launder, B.I. Sharma, Application of the energy-dissipation model of turbulence to the
calculation of flow near a spinning disk. Lett Heat Mass Tran., V1(N2), pp. 131–138 (1974)
11. P.A.N. Nordin, Complex chemistry modeling of diesel spray combustion. Ph.D. Dissertation,
Chalmers University of Technology, G€ oteborg, Sweden, 2001
12. V. Yakhot, S.A. Orszag, Renormalization group analysis of turbulence: 1. Basic theory. J. Sci.
Comput. V1(N1), pp. 3–51 (1986)
13. V. Yakhot, S.A. Orszag, S. Thangam, T.B. Gatski, C.G. Speziale, Development of turbulence
models for shear flows by a double expansion technique. Phys. Fluids A. V4(N7), pp.
1510–1520 (1992)
14. T.-H. Shih, W.W. Liou, A. Shabbir, J. Zhu, A new ke eddy-viscosity model for high
reynolds number turbulent flows – model development and validation. Comput. Fluids V24
(N3), pp. 227–238 (1995)
15. S. Elghobashi, On predicting particle-laden turbulent flows. Appl. Sci. Res. V52(N4), pp.
309–329 (1994)
16. D. Milojević, Lagrangian stochastic-deterministic (LSD) predictions of particle dispersion in
turbulence. Part Part Syst. Charact., V7(N1-4), pp. 181–190 (1990)
17. D. Lakehal, On the modelling of multiphase turbulent flows for environmental and hydrody-
namic applications. Int. J. Multiphase Flow V28(N5), pp. 823–863 (2002)
18. L. Schiller, A. Naumann, Ûber die grundlegenden Berechungen bei der Schwerkraftaufber-
eitung. Zeit Ver Deut Ing V77, pp. 318–320 (1933)
256 O.A. Marzouk and E.D. Huckaby
19. G.B. Macpherson, N. Nordin, H.G. Weller, Particle tracking in unstructured, arbitrary poly-
hedral meshes for use in CFD and molecular dynamics. Commun. Numer. Meth. Eng. V25
(N3), pp. 263–273 (2009)
20. C. Sicot, P. Devinanta, S. Loyera, J. Hureaua, Rotational and turbulence effects on a wind
turbine blade. Investigation of the stall mechanisms. J. Wind Eng. Ind. Aerod. V96(N8-9), pp.
1320–1331 (2008)
21. J.H. Ferziger, M. Perić, in Computational Methods for Fluid Dynamics, 3rd edn. (Springer,
2002)
22. OpenFOAM: the open source CFD toolbox. Available from:http://www.openfoam.org
23. H.G. Weller, G. Tabor, H. Jasak, C. Fureby, A tensorial approach to computational continuum
mechanics using object-oriented techniques. Comput. Phys. V12(N6), pp. 620–631 (1998)
Chapter 20
Robust Tracking and Control of MIMO
Processes with Input Saturation and
Unknown Disturbance
Abstract In this chapter, the design of robust stabilization and output tracking
performance of multi-input multi-output processes with input saturations and
unknown disturbance are considered. The proposed control technique is the robust
anti-windup generalized predictive control (RAGPC) scheme for multivariable
processes. The proposed control scheme embodies both the optimal attributes of
generalized predictive control and the robust performance feature of operator-based
theoretic approach. As a result, a strongly robust stable feedback control system
with disturbance rejection feature and good tracking performance is achieved.
1 Introduction
research focus in recent times [1, 4, 5. In practice, control systems have to deal with
disturbances of all kinds, such as stepwise load disturbances, high frequency sensor or
thermal noise, input saturations etc. These undesirable effects are systematically dealt
with using predictive control.
The new proposed control strategy under the generalized predictive control
scheme is known as multivariable robust anti-windup generalized predictive
control (MRAGPC). It is the multivariable extension of the robust anti-windup
generalized predictive control (RAGPC) scheme for SISO systems in earlier work
[8]. Like RAGPC scheme, MRAGPC also shares the optimal and robust perfor-
mance attributes characteristic of a good control strategy. This work proposes a
design procedure for Multivariable systems having both input saturation and dis-
turbance. The proposed MRAGPC design procedure can be implemented in four
different modes depending on the nature of problem at hand and the design control
objective. The design application entails firstly, the design of compensator to
compensate the effect of minimal phase and strictly properness as these are
characteristics of MIMO industrial processes. Secondly is to construct stable
coprime factors for the compensated system. Subsequently, anti-windup controllers
are designed to achieve a stable feedback closed loop control system. This proce-
dure is completed by the design of a tracking operator using operator-based
theoretic approach. In order to estimate the unknown disturbance in the system,
unknown disturbance estimation mechanism for MIMO system is also proposed.
Based on the outlined procedure, the robust performance of the closed-loop system
in the presence of input saturation and disturbances is ensured.
In this proposed design, the coupling effect of interactions between components
of the MIMO systems is curtailed by the appropriate choice of MRAGPC design
parameters. The improved performance of the proposed scheme is confirmed by
simulation of the model of a two-input two-output MIMO system.
In order to control MIMO processes with all the design limitations, MRAGPC
scheme is implemented in three different modes depending on the type and nature
of problems at hand.
Mode 1 – known as Anti-windup mode, is implementable for the case of input
saturation but with no disturbances load on the input to the system.
Mode 2 – otherwise called compensation mode, is implementable for the case of
input saturation, non-minimal phase and disturbance load in the input to the system.
Mode 3 – referred to as the fault detection mode, for system with both input
saturation and unknown disturbance.
In this paper, all these modes of MRAGPC application are implemented.
20 Robust Tracking and Control of MIMO Processes with Input Saturation 259
The proposed linear multivariable system model is given by Deng et al. [4].
H0 ð pÞ ¼ D0 1 ð pÞN0 ð pÞ (3)
where P0( p) is the nominal multivariable plant, D0(p) and N0(p) are coprime
factors of P0( p) and are defined as
1 1
~ ½ pB½
N0 ð pÞ ¼ D ~ p; D0 ð pÞ ¼ D
~ ½ pA½
~ p (4)
~
where DðpÞ is a Hurwitz polynomial matrix with degree equal to that of AðpÞ. ~
~
The polynomial matrix BðpÞ is the same as B(p) for non-strictly proper and minimal
system. The control input uj(t) is subject to the following constraint (Fig. 1)
u max
σ(v)
u(t) y(t)
v
umin
LIMITER
Fig. 1 Input saturation model
260 A.S. Osunleke and M. Deng
where u1 is the ideal controller output vector. The objective is to design stable
controllers using coprime factorization and Youla-Kucera parameterization [5] for
the above process.
The proposed design scheme for the MIMO systems follows four steps as high-
lighted below.
By adapting the MCGPC design method to the anti-windup design approach, the
proposed controllers are given by Youla-Kucera parameterization as follows.
where Q(p) ∈ RH1 is a design parameter matrix for ensuring a strongly stable
feedback controllers in the above and is given by
QðpÞ ¼ U1
d ð pÞUn ð pÞ (9)
Δ(t)∈U
e (t)∈U
r(t) ∈Y + + + u1(t) σ (v) u (t)∈U +
D0–1 N0
– – + +
Ip-V
N( p), D( p) are the coprime factor representation of D0–1 ( p), X( p), Y( p) ∈ RH1
are operators chosen to satisfy the Bezout Identity
^ XðpÞ
NðpÞ ^ ^ YðpÞ
þ DðpÞ ^ ¼ Im (11)
^
XðpÞ; ^
YðpÞ; XðpÞ; YðpÞ 2 RH1 (12)
^ pÞ and Dð
where the coprime factorization N( p) and D( p), Nð ^ pÞof the CAGPC
Plant can be chosen as follows.
H0 ð pÞ ¼ D1 ~ 1 1 ~
0 ð pÞ ¼ D½ pA ½ p ¼ A ½ pD½ p (13)
^
NðpÞ ¼ D½ ^
^ 1 ½ pD½
~ pT ~ p; NðpÞ
^ ¼ T1 ~
c c ½ pD½ p (14)
^ T
DðpÞ ¼ A½p
1^
^ ½pD½p;
~ DðpÞ ¼ T1
c c ½ pA½ p (15)
Tc[p] is the closed-loop characteristic polynomial matrix for the control system
in Fig. 2 and is given by
~ p
Tc ½ p ¼ A½ p þ Ke Lð pÞ þ Ke Re D½ (18)
where Ke, Ce, Re, G[p] and F[p] are given in [4].
The predictive anti-windup part is quasi-linear with respect to the effect of input
constraint. The closed loop transfer function of this part of the control structure is
always stable and invertible. Therefore, it can be seen that the plant retains a robust
rcf and it is stable. Then, we can design a Bezout operator S(p) to satisfy the
following Bezout Identity [7]
Here a tracking operator M(p) for reference signal r(t) such that plant output y(t)
tracks to the setpoint signal r(t) as depicted in Fig. 3. Based on the proposed lemma
and proof in [7], operator M(p) is designed to satisfy
In the proposed control scheme, the possible interactions between different control
loops are identified as input-input, disturbance-input and input-output. In order to
minimize the effect of these interactions, the following design steps are proposed.
l Choosing larger value for control orders and/or smaller value for the maximum
prediction horizons and/or using reference models for the output in the design
step 1.
l Design a decoupling matrix GD( p) such that loop interactions are decoupled.
The elements of GD( p) can be selected in a number of ways to achieve optimally
decoupled control system. This is further investigated in the future works.
In this section, we present two other design features to enhance the performance of
the proposed method for MIMO processes similarly to that obtained for SISO [8]
namely, the robust parallel compensator and unknown fault detection schemes.
Δ(t)∈U
R0
MIMO processes. Here, a RPC, F( p) (see Fig. 4) is designed for all classes of system
which exhibit non-minimal phase and non-strictly properness. The condition for this
design to satisfy static output feedback is the same as in SISO [10] that is:
l The process must be inversely stable.
l Its relative degree must be zero i.e. non-strictly properness.
l The leading coefficient must be positive.
For the process represented by (2), we propose the following GRPC design
scheme.
Fð pÞ ¼ F1 d
d ½ pFn ½ pPp (21)
where
Fn[ p] and Fd [ p] are (g i)th and (g i + 1)th order monic stable polynomial
matrices respectively and are as given as
~ pÞ ¼ Hð pÞ þ Fð pÞ
Hð (24)
Equivalently,
Hð ~ 1 ½ pB½
~ pÞ ¼ A ~ p (25)
~
Augmented Plant H
Δ(t)∈U
F
y(t)∈Y
r(t)∈Y + e(t)∈U σ(v) +
H
– +
Anti-windup part
b∈U
In summary, the coefficients bk,i,j > 0, ak,i,j > 0 in (25) above are determined
such that
~
1. B½p, ~ ∈ RH1 for sufficiently large b0,i,j.
A½p
2. The augmented plant Hð ~ pÞ has the same steady state gain as the nominal plant
Hð pÞ.
~
3. There exists positive constants ak,i,j such that the augmented system HðpÞ in (25)
will satisfy the sufficient condition of SOF for any small positive integer value of
d and a0,i,j > 0.
For the RAGPC design scheme, it is just sufficient to choose d ¼ 1 and g as
minimum as possible while the unknown coefficients are designed satisfying the
above stated conditions using Kharitonov’s theorem [11]. Without loss of generality,
~ pÞ have a relative degree equal zero and a positive
it is obvious from (25) that Hð
~ pÞbeing SOF stabi-
leading coefficient thereby satisfying all the conditions of Hð
lized and almost strictly positive real (ASPR).
As noted in earlier work [2], the unknown disturbance of the system is estimated as
fault signals acting on the process input. If stable low-order operators S0 and R0 can
be designed such that the pair [S0, R0] [S, R] (see Fig. 5). Then the following
equations enable us to detect the fault signal [2]
u0 ¼ R0 ud ðtÞ þ S0 ðya ÞðtÞ
(26)
yd ¼ D0 ðu0 ÞðtÞ
Detected Fault
signal
~
+ R–1 Δ (t)
Fault signal
Δ(t) u 0(t)
R0 + S0
R
Compensated system ya(t)∈Y
r(t)∈Y u 0(t) +e(t)∈U w(t)∈U y(t)∈Y
M1 ~ ~
+ R–1 D−1 N
r m (t) –
Anti-windup part
b∈U
S
4 Simulation Examples
The parameters of the 2-input 2-output system are given in Table 1 below.
The process model (4.1) is considered here with disturbance load in the input. The
process and control parameters are as shown in Table 2.
0.1
u1
0.05
0
0 20 40 60 80 100 120
Time(s)
0.1
u2
0.05
0
0 20 40 60 80 100 120
Time(s)
Fig. 6 Controlled inputs step responses for MIMO system without disturbance load
10
controlled output
reference input
y1
0
0 20 40 60 80 100 120
Time(s)
6
controlled output
referenced input
4
y2
0
0 20 40 60 80 100 120
Time(s)
Fig. 7 Step responses of controlled outputs to step references of +10 and +2 respectively for
MIMO process without disturbance load
20 Robust Tracking and Control of MIMO Processes with Input Saturation 267
0.1
u1
0.05
0
0 20 40 60 80 100 120
Time(s)
0.1
u2
0.05
0
0 20 40 60 80 100 120
Time(s)
Fig. 8 Controlled inputs step responses for MIMO system with disturbance load
10
controlled output
reference input
y1
0
0 20 40 60 80 100 120
Time(s)
6 controlled output
reference input
y2
0
0 20 40 60 80 100 120
Time(s)
Fig. 9 Step responses of controlled outputs to step references of +10 and +2 respectively for
MIMO process with disturbance load
268 A.S. Osunleke and M. Deng
Simulation results for the two cases considered are shown in Figs. 6 – 9. The
control inputs saturate at 0.1 and the controlled outputs tracks to the given step
reference inputs þ10 and þ2 for the two outputs respectively.
5 Conclusion
It is evident that the present control performance is better than the earlier work [12]
and that the coupling effects have been considerably checked by chosen appropriate
design parameters. Also, the designing of unknown disturbance estimation scheme
confers another important feature on MRAGPC in serving as a fault detection
scheme for MIMO processes.
References
1 Introduction
Shop-scheduling has attracted researchers for many decades and is still of big
interest, because of its practical relevance and its np-complete character. Multi-
or dual-resource problems are significantly less analyzed, despite being more
realistic. Scheduling with priority rules is quite appealing for various reasons
(see Section 2.2) and often used, especially when considering more realistic and
complex manufacturing systems.
This work analyses the quality of priority rules in the dual-resource constrained
case. Different combinations of rules are tested in order to analyze their interde-
pendencies. The analysis combines simulation with the optimal solution of static
instances. To evaluate the results of the simulation, a mixed integer linear program
(MILP) has been developed to calculate optimal solutions. The paper is organized
B. Scholz-Reiter (*)
Bremer Institut f€ur Produktion und Logistik (BIBA) at the University of Bremen, Hochschulring
20, D-28359 Bremen, Germany
e-mail: [email protected]
as follows: Section 2 gives a short literature review about shop scheduling, priority
rules and dual constrained scheduling. A problem description follows in Section 3.
Section 4 analyses small instances in comparison with optimal solutions and
Section 5 describes a long term simulation study. The paper ends with a conclusion
and description of future research.
2 Literature Review
In this chapter a literature review is given considering the job shop problem, priority
rules and dual-constrained scheduling.
Priority rules are applied to assign a job to a resource. This is done each time the
resource gets idle and there are jobs waiting or a new job arrives. The priority rule
assigns a priority to each job. This priority can be based on attributes of the job, the
resource or the system. The job with the highest priority is chosen to be processed
next.
Priority-scheduling rules have been developed and analyzed for many years
[1, 3]. They are widely used in industry, especially in complex manufacturing
systems, e.g. semiconductor manufacturing. Their popularity is derived from the
fact that they perform reasonably well in a wide range of environments, are
relatively easy to understand and need minimal computational time.
21 Analysis of Priority Rule-Based Scheduling in Dual-Resource-Constrained 271
Depending on the manufacturing system and the various objectives (e.g. flow
time, tardiness, etc.) no single rule has been found, which outperforms all others [4].
As a result, there are approaches to find new priority rules according to the system’s
current state (e.g. [3, 5]).
Most research has been done on the machine-only constrained problem, where
machines are the only limiting resource. Nevertheless, closer to the ‘real’ world are
multi- or dual-constrained (DRC) problems, where more than one resource restricts
the output of the system and impacts shop performance. Gargeya and Deane [6]
defined the multiple resource constrained job shop as “a job shop in which two or
more resources are constraining output. The resources may include machines, labor
and auxiliary resources. Dual-constrained job shops are constrained by two resources
(e.g. machine and laborers). Dual-constrained job shops are thus a specific type of
multiple resource constrained job-shop.”
To solve the multi-resource constrained problem different approaches were
proposed. Mati and Xie [7] developed a greedy heuristic. This heuristic is guided
by a genetic algorithm in order to identify effective job sequences. Dauzère-Pérès
et al. [8, 9] developed a disjunctive graph representation of the multi-resource
problem and proposed a connected neighborhood structure, which can be used to
apply a local search algorithm such as taboo search. Patel et al. [10] proposed a
genetic algorithm for dual resource constrained manufacturing and compared
different priority rules against different performance measures. In the study of
Chen et al. [11], an integer optimization formulation with a separable structure is
developed where both machines and operators are modeled as resources with finite
capacities. By relaxing resource capacity constraints and portions of precedence
constraints, the problem is decomposed into smaller sub-problems that are effec-
tively solved by using a dynamic programming procedure.
3 Problem Description
Ma Mc
1 2 3 Me 7
start end
Mb Md
4
6
W = waiting;
Operator L U L = loading;
P = processing;
U = unloading;
Machine W L P W U a, b, c,
a b c d e f d, e, f : points in time
To determine not only the differences between priority rules and their combina-
tions, it is interesting to analyze their performance in comparison to optimal
solutions and evaluate their performance in general.
274 B. Scholz-Reiter et al.
We simulated instances from the same scenario with only 2–50 jobs in the system.
All jobs were released at the same time and known in advance. This simplification
makes it possible to calculate optimal solutions for the instances with few jobs in
the system. For larger instances feasible schedules (solutions of the MILP) could be
found, but they were not proven optimal. Due to the complexity of the model, there
still was a gap between the found solution (upper bound) and the theoretically
possible solution (lower bound).
The optimum results are calculated with CPLEX 11 solving a MILP-formulation,
which is an extension of the advanced job-shop formulation used by Pan and Chen
[15]. Operators and re-entrant processes were added to their flexible job-shop
MILP, so that the MiniFab model as described above can be solved and optimal
schedules are calculated. The notation used in the model is as follows:
number of jobs
[mean flow time in minutes] 2 3 4 5 6 7 8 9 10 20 50
optimum 483 520 568 622 678 733 785 870 918
gap (lower/upper bound)
OPERATOR
0% 0% 0% 0% 0% 8% 0% 27% 37%
best rule 483 520 568 628 684 739 799 861 908 1424 2989
NO_
worst rule 483 520 568 637 716 794 881 956 1040 1940 4616
span best-worst 0% 0% 0% 1% 5% 7% 10% 11% 15% 36% 54%
FSFO SSPT[FSFO] 483 520 568 628 684 739 799 861 908 1424 2989
optimum 483 520 568 622
CONSTRAINED CONSTRAINED CONSTRAINED
best rule 483 520 568 628 684 739 809 869 919 1437 3039
worst rule 483 520 568 637 716 804 905 998 1095 2085 5050
span best-worst 0% 0% 0% 1% 5% 9% 12% 15% 19% 45% 66%
FSFO SSPT[FSFO] 483 520 568 628 684 739 809 869 930 1437 3042
optimum 483 524 569 640 746 838 930
gap (lower / upper bound) 0% 1% 0% 3% 9% 19% 16%
DUAL_
best rule 483 525 589 655 708 781 854 912 967 1527 3173
worst rule 483 530 620 724 823 916 999 1135 1229 2325 5500
span best-worst 0% 1% 5% 11% 16% 17% 17% 24% 27% 52% 73%
FSFO SSPT[FSFO] 483 528 598 656 708 789 875 924 979 1547 3173
optimum 483 520 568 929 1088 1272
gap (lower / upper bound) 0% 0% 0% 33% 38% 47%
best rule 535 643 756 917 1013 1118 1225 1351 1456 2524 5695
OP_
worst rule 548 685 842 1041 1243 1423 1616 1807 2022 4024 10010
span best-worst 2% 6% 11% 13% 23% 27% 32% 34% 39% 59% 76%
FSFO SSPT[FSFO] 540 643 803 918 1013 1118 1229 1351 1486 2541 5695
In our study, we were able to calculate some optimal solutions, which in most
cases were only slightly better than the best rule combination. In Fig. 3 we list the
solver results with the remaining gap and the performance of the best and worst rule
combination taken from any of the 72 combinations (see Section 3). For a detailed
analysis of the static runs, we chose the FSFO ShortestOpStepLength [FSFO] rule,
which seems to be the best performing one. In Fig. 3 the corresponding graphs are
plotted. The FSFO ShortestOpStepLength [FSFO] rule is indicated by the black
276 B. Scholz-Reiter et al.
line. The grey area defines the corridor between best and worst rule solutions. Black
dots correspond with the solver results, gaps between found solutions and lower
bounds are printed as vertical lines.
About four or five jobs need to be in the system and first differences between
good and bad rule combinations can be found. An example is the DUAL_
CONSTRAINED case with five jobs in the system: The rule combination FSFO
(machine) ShortestOpStepLength [FSFO] (operator) has a mean flow time of 656
min and the combination FIFO (machine) FSFO (operator) has 724 min. This is
already a difference of more than 10%. The difference to the solver solution is only
around 2%.
The results of the scenario with NO_OPERATORS and the MACHINE_RES-
TRICTED scenario are very similar as Figs. 3 and 4 show. When there are more
a b
[minutes] [minutes]
1100 1100
1000 1000
900 900
800 800
700 700
600 600
500 500
400 400
2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10
[# Jobs] [# Jobs]
NO_OPERATOR MACHINE_CONSTRAINED
c d
[minutes] [minutes]
1300 2200
1200 2000
1100 1800
1000 1600
900 1400
800 1200
700 1000
600 800
500 600
400 400
2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10
DUAL_CONSTRAINED [# Jobs] OPERATOR_CONSTRAINED [# Jobs]
Fig. 4 Results for all static cases. Black line: FSFO ShortestOpStepLength [FSFO] rule, grey
area: best/worst rule combination result, black points: Solver results with gap (line)
21 Analysis of Priority Rule-Based Scheduling in Dual-Resource-Constrained 277
jobs in the system the performance differences between the rule combinations arise.
In the DUAL_CONSTRAINED case, the performance differences between rule
combinations are much higher and arise in smaller scenarios. This result was
expected, because in the dual constrained case the interdependencies between the
machine priority rule and the operator priority rule are the strongest and amplify
each other.
In the OPERATOR_CONSTRAINED case the shop is restricted the most,
which leads very quickly to high mean flow times. The differences between
the rule combinations are also very high in this case. The solution the solver
provided for the cases with three and four jobs indicate that either the rule
performance or the order of selection (machines first, operators second) do not
perform very well in this scenario. It seems more likely that the order of selection is
responsible for this effect. The operator is clearly the bottleneck and the scheduling
should be arranged in a way that utilizes him as best as possible, which is clearly
not the case.
In instances with more jobs we were not able to proof the same effect, because
the solver provided no optimal solutions even after days of calculations. The
solutions found were comparable to those of the used rules.
5 Long-Term Simulation
To validate the results from our static analyses, an extensive simulation study was
performed with a time horizon of 10 years.
To assess the performance of the various rule combinations in the long term, we
simulate the system under three load conditions for each of the four scenarios: 70%,
80% and 90% bottleneck utilization. Given the scenario and load level, we
determine the appropriate arrival rate based on a static analysis of system capacity.
Inter-arrival times follow an exponential distribution. We simulate a time span
of 10 years, ignoring data from the first year. Altogether we determine system
performance for 864 different parameter settings (4 scenarios, 3 load levels, 72 rule
combinations). For the different parameter settings we use common random num-
bers as a variance reduction technique [16]. The results presented are the averages
of mean flow times achieved in 20 independent replications.
Figure 5 shows graphically the scenario, load level setting and the best rule result
achieved in this case. The four lines correspond to our scenarios:
278 B. Scholz-Reiter et al.
3000
2500
mean flowtime
2000
1500
1000
500
1
0 0.8
1 0.8 0.6
0.6 0.4 a t ion
0.4 0.2 utiliz
machine ut 0.2 0 0 ator
ilization oper
Fig. 5 Best rule performance for the four scenarios and three load level settings
Selecting one of the scenarios fixes the achievable combination of machine and
operator utilization along the respective line. To give an example: if MACHINE_-
CONSTRAINED is chosen and a load level of 90% bottleneck utilization (in this
case: machine utilization), then this results in an operator utilization of 60%. The
grey bar at this point shows the best flow time achieved, i.e. out of the 72 rule
combinations investigated.
The best results can obviously be achieved if no operator constraints are present
at all. This corresponds to the dotted line (NO_OPERATOR) in our simulation; we
also have the lowest flow times in this scenario, compared to the other scenarios
with the same load level. The DUAL_CONSTRAINED case (long dashes) on the
other hand is the most difficult, operator and machines are equally critical.
Figure 6 lists our simulation results in more detail. Mean flow time as measured
in our simulation experiment is expressed there as a flow factor, i.e. flow time
divided by total processing time. The best and worst rule performances for a given
scenario and load level are highlighted. To summarize our results, FSFO is the best
machine rule irrespectively of the scenario and load level. Results concerning the
best operator rule are a bit more complex: the MACHINE_CONSTRAINED and
OPERATOR_CONSTRAINED scenarios where the operator rule SSPT[FSFO],
i.e. Shortest Step Processing Time first with FSFO is used as a tie breaker, the best
results are gained if used together with FSFO as a machine rule.
21 Analysis of Priority Rule-Based Scheduling in Dual-Resource-Constrained 279
Fig. 6 Results for selected (worst/best) rule combinations investigated. Except for the last row
(span) all values are flow factors, i.e. mean flow time divided by the processing time (445 min).
The last column contains a mean performance averaged over all scenario/load level combinations
(but excluding DUAL_CONSTRAINED/90%, see text); so (system overflow) more incoming than
outgoing jobs
The FIFO rule performs quite badly in our experiments. In most cases it does not
yield better results than random selection, i.e. choosing an arbitrary job to process
next.
The DUAL_CONSTRAINED scenario SSPT[FIFO] is the best, i.e. SSPT with
tie breaker FIFO, for the 70% and 80% load levels. This changes if load is further
increased to 90%. Most rule combinations are not able to handle this high load for
both machines and operators - the system is running full, meaning more jobs are
entering the system than leaving it. Cases are marked with “so” in the table. Only
combinations with MQL as an operator rule are able to handle this high load. The
best results in this case are produced by the combination of the FSFO machine rule
and MQL[FIFO] as an operator rule. The MQL - rule prefers machines with long
queues, which means that operators go to highly loaded machines first. Although
this rule combination gives by far the best results for this case, the increase in
average flow time is very high.
Comparing the results for MACHINE_CONSTRAINED and NO_OPERATOR,
the increase in mean flow time is only small, especially for lower load levels. If only
flow time estimates are of interest, it seems viable to simplify the model by ignoring
the operator requirements.
The experiments with small instances show that in the OPERATOR_
CONSTRAINED cases, the optimal solutions are much better than the results
produced by our heuristics. In the long term simulation, the best rule results are
higher for scenarios with moderate load levels of 70% and 80% compared to the
DUAL_CONSTRAINED. Only the 90% load level results are smaller than its
DUAL_CONSTRAINED equivalent, but still about 56% higher than in the
MACHINE_CONSTRAINED scenario. This seems to be an effect of the heuristic
procedure used (machines choose next job first, then operators choose between the
machines that are ready to process). In future research more simulation runs with a
different heuristic setup will be performed to analyze this effect in more detail.
280 B. Scholz-Reiter et al.
In summary, all four scenarios show that the performance of priority rules differs
tremendously in some cases. The interdependencies of the rules, especially in the
DUAL_CONSTRAINED scenarios, lead to high performance differences. Other
system factors, e.g. the utilization rate, also affect the results.
References
Abstract A hybrid fault diagnosis method is proposed in this paper which is based
on analytical and fuzzy logic theory. Analytical redundancy is employed by using
statistical analysis. Fuzzy logic is then used to maximize the signal- to-threshold
ratio of the residual and to detect different faults. The method was successfully
demonstrated experimentally on hydraulic actuated system test rig. Real data and
simulation results have shown that the sensitivity of the residual to the faults is
maximized, while that to the unknown input is minimized. The decision of whether
‘a fault has occurred or not?’ is upgraded to ‘what is the severity of that fault?’ at the
output. Simulation results show that fuzzy logic is more sensitive and informative
regarding the fault condition, and less sensitive to uncertainties and disturbances.
1 Introduction
Hydraulic systems are very commonly used in industry. Like any other system these
systems too are prone to different types of faults. Proportional valves are much less
expensive in hydraulic control applications; they are more suitable for industrial
environments. Since proportional valves do not contain sensitive, precision com-
ponents, they offer various advantages over servo valves because they are less
prone to malfunction due to fluid contamination. However, these advantages are
offset by their nonlinear response characteristics. Since proportional valves have
less precise manufacturing tolerances, they suffer from performance degradation.
Larger tolerances on spool geometry result in response nonlinearities, especially in
the vicinity of neutral spool position. Proportional valves lack the smooth flow
properties of “critical center” valves, a condition closely approximated by servo
valves at the expense of high machining cost. As a result, small changes in spool
geometry (in terms of lapping) may have large effects on the hydraulic system
dynamics [1]. Especially, a closed-center spool (overlapped) of proportional valve,
which usually provides the motion of the actuator in a proportional hydraulic
system, may result in the steady state error because of its dead-zones characteristics
in flow gain [1]. Figure 1 illustrates the characteristics of proportional valve.
Continuous online monitoring of fault in hydraulic system becomes increasingly
important day-by-day.
The characteristics of the proportional valve with dead-zones, g(u) is described
as follow (Fig. 1):
8
< aðu bÞ
> if u b
gðuÞ ¼ 0 if b u b (1)
>
:
aðu þ bÞ if u < b
where b; a 0; a represents the slope of the response outside the dead-zone, while
the width of the dead-zone equals 2b.
Remarkable efforts have been devoted to develop controllers. However, PID
controllers are not robust to the parameter variation to the plants being controlled.
Moreover, it takes time for the automatically self tuned PID controllers to adapt
themselves up to their final stable state (steady state). The fault detection problem
can be solved using different approaches like Wald’s Sequential Test, as in [1]
which is a conventional approach or using innovative approaches like genetic
algorithms as in [2], neural networks as in [3, 4], fuzzy logic as in [5] etc. each
having its own advantages and disadvantages.
Human experts play central roles in troubleshooting or fault analysis. In power
systems, it is required to diagnose equipment malfunctions as well as disturbances.
The information available to perform equipment malfunction diagnosis is most of
the time incomplete. In addition, the conditions that induce faults may change with
time. Subjective conjectures based on experience are necessary. Accordingly, the
qi qo Proportional valve
1 Q (l / min)
A B
g (u)
QA
u
p T xsp a
ps
2 –b b u
QB
M
expert systems approach has proved to be useful. As stated previously, fuzzy theory
can lend itself for representation of knowledge and the building of an expert system.
In this paper we used fuzzy logic to detect the severity of fault at the output. The
concept of fuzzy logic was first introduced by Professor Lofti Zadeh [6], who
represented the vagueness of human concepts in terms of linguistic variables.
After the introduction of fuzzy sets, their applications to solve real world problems
were concentrated [7, 8]. Reference [9] concentrates on robust fault detection on an
aircraft flight control system. A model based fault diagnosis method for an indus-
trial robot is proposed in [10]. Residuals are calculated by the observer using a
dynamic robot model and later evaluated using fuzzy logic. In this paper we
demonstrate a similar model based approach for evaluating of severity of fault in
the hydraulic actuator using fixed threshold approach [11]. The objective know-
ledge on the system is represented by mathematical modeling (calculating the
residuals using nonlinear observer) [1], while the subjective knowledge is repre-
sented using fuzzy logic (fuzzy rules and membership functions).
where hðxÞ ¼ lðxÞ þ ’ðxÞu þ bðt TÞfðxÞ; ’ and l are unknown smooth functions.
x ¼ ðx1 ; x2 ; x3 ; :::; xn Þ is the state vector, x 2 Rn , u and y 2 R; z ¼ y^ is the observer
output vector; ðxÞ represents the uncertainty in the system dynamics that may
include parameter perturbations, external disturbances, noise, etc. All long this
study, we consider abrupt fault at time T. As a result, bðt TÞ is the time profile
of failures as shown in Fig. 2.
fðxÞ is another function which represents a failure in the system. Mathematical
description of the nonlinear observer as follows:
(
^ þ Kðy C^
^x_ ¼ Ax þ BhðxÞ xÞ
(3)
z ¼ y^ ¼ CT x^
^
where hðxjy ^ ^
f Þ ¼ lðxjyf Þ þ ’ðxjy f Þu þ fðxjyf Þ; K is the observer gain matrix
selected as follows A ¼ A0 KCT , which is strictly a Hurwitz matrix.
In the discrete time system, consider from (2) and (3) eðkÞ ¼ yðkÞ zðkÞ. The
actual state of the system y(k) is known through the sensors. The residual e(k) is
calculated as follows:
286 S.C. Abou et al.
b (t – T)
1
⎧1 for t ≥ T
b(t – T) = ⎨
⎩0 otherwise
0.8
0.6
0.4
0.2
0
0 0.1 T 0.4 0.6 0.8 1
time [s]
does not give any information about the fault in between the thresholds. In order to
take care of this condition we try to replace this binary logic by multi-valued one
using fuzzy logic. Evaluating these residuals using fuzzy logic replaces the yes/no
decision of fault by the severity of fault at the output.
The inputs of the fuzzy system are associated with the premise, and the outputs
are associated with the consequent. As already seen, the difference between the
expected state z(k) and the actual state of the system y(k) gives the residual e(k).
u(k) y(k)
Hydraulic plant
+ e(k)
∑ e(k)
–
Observer – +
z(k)
Threshold
Fuzzification
Rule-base
Inference
Mechanism
Defuzzification
The value Pof residual is added over a period of time which gives the cumulative
residual e(k). This value is subtracted from the predicted threshold and is called
cumulative residual difference.
The lower the value of this cumulative residual difference, higher is the fault
severity, indicating that the cumulative residual is approaching the threshold and
vice versa. The threshold is determined through observations. It will vary depen-
ding upon the fault tolerance of the application in which the hydraulic system is
used. Even if there is no fault, the modeling errors or noise drive several residuals
beyond their threshold. This is usually indicated by all suspect residuals being
weak. The residual is bounded between the upper and the lower threshold. As soon
as it approaches these thresholds, the fault severity increases. Thus, the residual and
the cumulative residual difference are given as two inputs to the fuzzy logic
controller. Based on these two inputs, the controller decides the fault severity at
the output. One of the equations of fuzzy equality can be written as:
P
n
minfmA ðiÞ; mB ðiÞg
SA;B ¼ n
i¼1
(6)
P Pn
max mA ðiÞ; mB ðiÞ
i¼1 i¼1
jei ðkÞj
si ðkÞ ¼ (7)
ei
On one hand, note that the fuzzy reference rule sets almost cover all the faults;
while on the other, the fuzzy rule set to be detected may bring forward the undefined
symptoms which cannot be distinguished from fuzzy reference rule sets, as shown
in Fig. 3. How can we solve this problem?
22 A Hybrid Framework for Servo-Actuated Systems Fault Diagnosis 289
4.1 Inputs
Figure 4 illustrates the actual and the estimate velocities. The difference is due to
the error introduced in the actual system by adding random noise to the velocity
during simulation.
The plot of residual, cumulative residual, cumulative residual difference along
with the thresholds can be seen in Figs. 5 and 6. As seen earlier, the residual and
the cumulative residual difference are the two inputs to the fuzzy logic controller.
Fault isolation thresholds are very important parameters; their values are also
decided by the statistical analysis of the fault credit degrees [13]. As for unknown
fault type, consulting fault isolation thresholds are selected upon our knowledge
on the system. The detection results of the normal data of the space propulsion
0.35
Observed Shaft Velocity
Actual Shaft Velocity
0.3
0.25
Velocity (m/s)
0.2
0.15
0.1
0.05
0
0 0.2 0.4 0.6 0.8 1
Time (s)
0.2
Residual (m/s)
0.15 Upper Threshold
Lower Threshold
0.1
0.05
Residual (m/s)
–0.05
–0.1
–0.15
–0.2
0 200 400 600 800 1000
Number of Observations
Fig. 5 Graph showing ‘Residual’ along with the upper and lower thresholds vs ‘number of
observations’
30
Cumulative Residual (m/s)
25 Upper Threshold
Lower Threshold
Cumultive Residual (m / s)
15
10
–5
0 200 400 600 800 1000
Number of Observations
Fig. 6 Cumulative residual and the cumulative residual difference along with the upper and lower
thresholds vs the number of observations
22 A Hybrid Framework for Servo-Actuated Systems Fault Diagnosis 291
system are shown in Fig. 5. Because normal credit degree does not exceed the
threshold, the detection results are that no fault exists, and working conditions are
normal.
The first input which is residual is divided into seven membership functions
namely, Big Negative (BN), Negative (N), Small Negative (SN), Zero (Z),
Small Positive (SP), Positive (P) and Big Positive (BP) shown below Fig. 7.
Similarly, we developed five membership functions for the second input which
is cumulative residual difference. They are Large Negative (LNeg), Medium
Negative (MNeg), Small Negative (SNeg), Zero (Zero) and Positive (POS) as
seen in the following Fig. 8. As already seen there are four parameters which can
be used to calculate the residuals. Among them the velocity is the most concerned
parameter in this case of study.
Hence, the velocity residual is selected to determine the fault severity at the
output. The membership functions for the output i.e. fault severity are F0, F1, F2,
F3, F4, F5 and F6 where F0 represents the lowest fault severity and F6 represents
the highest fault severity Fig. 9.
The shapes of the membership functions which are triangular and trapezoidal
were selected based on the simple guidelines suggested in [12]. This can be seen
in Fig. 9.
BN N SN Z SP P BP
1
Degree of membership
0.5
–0.1 –0.08 –0.06 –0.04 –0.02 0 0.02 0.04 0.06 0.08 0.1
First input ‘Residual’
Degree of membership
0.5
–10 –8 –6 –4 –2 0 2 4 6 8 1
Second input ‘Cumulative Residual Difference’
Fig. 8 Membership functions for the second input ‘Cumulative Residual Difference’
F0 F1 F2 F3 F4 F5 F6
1
Degree of membership
0.5
0 10 20 30 40 50 60 70 80 90 100
Output Variable ‘Fault Severity’
Inference rules were developed which relate the two inputs to the output. They are
summarized in the Table 1. As seen from the table, there are in all 35 rules. For
example, if the residual is Big Positive (BP) and the cumulative residual difference
is Large Negative (LNeg) then the output fault severity is the highest (F6). Simi-
larly, if the residual is Zero (Z) and the cumulative residual difference is Positive
(Pos) then the output fault severity is the lowest (F0).
22 A Hybrid Framework for Servo-Actuated Systems Fault Diagnosis 293
BN NEG SN Z SP POS BP
difference
POS F3 F2 F1 F0 F1 F2 F3
Zero F4 F3 F2 F1 F2 F3 F4
SNeg F5 F4 F3 F2 F3 F4 F5
MNeg F6 F5 F4 F3 F4 F5 F6
Lneg F6 F6 F5 F4 F5 F6 F6
4.4 Defuzzification
After converting the crisp information into fuzzy the last step is to reverse that.
Converting the fuzzy information to crisp is known as defuzzification. The center of
area/centroid method was used to defuzzify these sets which can be represented
mathematically as follows:
Sfi mðfi Þ
Defuzzified value ¼ (9)
Smðfi Þ
Where fi is the fault severity at the output and m(fi) is the output membership
function.
The rules can also be seen from the rule viewer using the fuzzy logic toolbox in
MATLAB software. When the residual is 0.01, it is far away from both the upper and
lower thresholds (almost at the center) and hence, has lower fault severity. Also, the
cumulative residual difference is nine which means the difference between the
actual value of cumulative residual and threshold is high i.e. cumulative residual is
far away from the threshold. Hence, the fault severity should be low. A combination
of these values of residual and cumulative residual gives fault severity percentage of
9.96% which is low. Similarly, when the residual is 0.089 it indicates that it is very
close to the threshold. A cumulative residual difference of 9 indicates that the
threshold has been already crossed by the cumulative residual (hence it is negative).
Both of these conditions lead to a very high fault severity of 98.4%. This can be seen
with the help of the rule viewer facility in the fuzzy logic toolbox. These examples
are shown in Figs. 10 and 11 respectively with the help of rule viewer.
5 Simulation
This simulation was carried out in MATLAB SIMULINK using fuzzy logic
controller from the fuzzy logic toolbox as shown in Figs. 10 and 11. The upper
subsystem represents the actual system (actual state of the hydraulic system) and
294 S.C. Abou et al.
the lower subsystem is the nonlinear observer (which predicts the state of the
system). The SIMULINK diagram is the implementation of the block diagram
shown in Fig. 1. The simulation is carried out for a unit step input. Fault is
introduced in the actual system by adding noise to the velocity in the actual system
and different fault severities are tested at the output.
6 Conclusion
With the looming reliability challenges in future new technologies, the ability to
provide practicing engineers online information about the systems health is vital for
decision-making. The approach proposed in this study showed that fuzzy logic,
when used in combination with analytical methods like non linear observer, can
enhance the output. Simulation results clearly demonstrated what we all know:
whatever fault type the plant generates, its symptoms always depart from the
characteristics of the fuzzy reference rule set standing for the normal working
condition. Moreover while fuzzy rule sets are set up, the fuzzy reference rule set
generated is used for representing the normal working condition, which is supposed
to be the first fuzzy reference rule set. Thus, with the credit degree representing the
normal working condition, we judged whether the plant working condition is
22 A Hybrid Framework for Servo-Actuated Systems Fault Diagnosis 295
normal, further obtain the fault degree. This study helped to assure that the plant
fault existed and to report the system conditions. Future work will be developed to
identify the fault type and predict the equipment remaining life.
Acknowledgement The present work has been performed in the scope of the activities of Grant In
Aid project. The financial support of the University of Minnesota, Grant In Aid FY 2008 is
gratefully acknowledged.
References
1. H. Khan, S.C. Abou, N. Sepehri, Nonlinear observer-based fault detection technique for
electro hydraulic servo positioning systems. Mechatronics 15(9), 1037–1059 (Nov 2005)
2. D. Xuewu, L. Guangyuan, L. Zhengji, Discrete-time robust fault detection observer design: a
genetic algorithm approach, in IEEE Proceedings of the 7th World Congress on Intelligent
Control and Automation, Chongqing, June 2008
3. G. Qian-jin Guo, Y. Hai-bin Yu, X. Ai-dong, Modified Morlet wavelet neural networks for
fault detection. Int. Conf. Control Automat. (ICCA 2005) 2, 1209–1214 (June 2005)
296 S.C. Abou et al.
Abstract A multigrid finite volume method has been developed to accelerate the
solution process for simulating complex biological transport phenomena, involving
convection, diffusion, and reaction. The method has been applied to a computational
model which includes media flow in a cell-lined cylindrical vessel and fibroblast
growth factor-2 (FGF-2) within the fluid capable of binding to receptors and heparan
sulfate proteoglycans (HSPGs) on the cell surface. The differential equations were
discretized by the finite volume method and solved with the multigrid V-cycle
algorithm. Our work indicates that the multigrid finite volume method may allow
users to investigate complex biological systems with less CPU time.
1 Introduction
Basic fibroblast growth factor (FGF-2) is the prototypical member of the family of
fibroblast growth factors [14]. It has been demonstrated to be important in normal
physiology and pathologies in cancer development process [4]. In addition to
its target cell surface tyrosine kinase receptor, FGF-2 also binds with high affinity
to heparan sulfate proteoglycan (HSPG), which consists of a protein core with
O-linked carbohydrate chains that are polymers of repeating disaccharides [6].
HSPGs are present on almost all cell surfaces and generally in much higher
numbers than FGF surface receptors. FGF-2 is present in circulation and its
presence in elevated levels in blood is used in clinical settings as criteria for
treatment strategies such as interferon alpha therapy for infantile hemangioma
[5]. Although FGF-2 binding interactions have been the subject of numerous
studies in static systems, far less is known about their behavior in flow.
W. Shen (*)
SUNY College at Brockport, Brockport, NY 14420, USA
e-mail: [email protected]
2 Methods
P G
R C C2
G2 T T2
L
G2 T T2
G
R P C C2
Fig. 1 Sketch of growth factor binding to receptors and HSPGs and the formation of various
compounds on the surface of a capillary. The symbols in the sketch are as follows: L¼FGF-2,
R¼FGFR, P¼HSPG, C¼FGF-2-FGFR complex, G¼FGF-2-HSPG complex, C2¼FGF-2-FGFR
dimer, G2¼FGF-2-HSPG dimer, T¼FGF-2-FGFR-HSPG complex, and T2¼FGF-2-FGFR-HSPG
dimer. The arrows represent velocity vectors, which are uniform in the entrance and evolve to
parabolic later on
23 Multigrid Finite Volume Method for FGF-2 Transport and Binding 299
fluid mass and momentum transfer in conservative form for incompressible flow
can be written as:
@r 1 @ðrrvr Þ @ðrvz Þ
þ þ ¼ 0; (1)
@t r @r @z
@ðrvr Þ 1 @ðrrvr vr Þ 1 @ @vr @ðrvr vz Þ @ @vr @p vr
þ rm þ m ¼ m 2 ; (2)
@t r @r r @r @r @z @z @z @r r
@ðrvz Þ 1 @ðrrvr vz Þ 1 @ @vz @ðrvz vz Þ @ @vz @p
þ rm þ m ¼ ; (3)
@t r @r r @r @r @z @z @z @z
where r is the density, m the dynamic viscosity, p the dynamic pressure, and vr and
vz are velocity components in the radial and axial directions, respectively. In the
above equation set, the independent variables are time t, radial coordinate r, and
axial coordinate z.
The mass of each species must be conserved. If binding or reactions occur within
the fluid, the coupling of mass transport and chemical kinetics in a circular pipe can
be described by the following equations:
@ ðrfi Þ 1 @ðrrufi Þ @ðrvfi Þ 1 @ @ ðrfi Þ
þ þ ¼ Kr r
@t r @r @x r @r @r
(4)
@ @ ðrfi Þ
þ Kx þ Fi ðf1 fn Þ; 1 i n;
@x @x
where fi is the concentration of species i, u and v are the radial and longitudinal
components of velocity, Kr and Kz the molecular diffusion coefficients, and Fi the
rate of change due to kinetic transformations for each species i. The basic model
however has only FGF-2 within the fluid (fi is simply FGF-2) and, thus, reactions
(i.e., binding and dissociation) occur only on the capillary surface. That is to say
that Fi is valid merely on the tube surface. The reactants and products involved in
the chemical kinetics include FGF-2, FGFR, HSPG, FGF-FGFR complex and its
dimer, FGF-HSPG complex and its dimer, FGF-HSPG-FGFR complex and its
dimer, with a total of nine species (n ¼ 9) [10].
where x and y are axial and radial coordinates, u and v are the velocity components
in the axial and radial directions, respectively. It is worth noticing that the mass
conservation equation is a special case of Eq. 5 in which f, G, and S are taken as
f ¼ 1, G ¼ 0, and S ¼ 0.
To achieve higher order temporal accuracy, we use a quadratic backward appro-
ximation for the time derivative term. Such arrangement gives us second order
temporal accuracy. Integrating Eq. 5, the corresponding finite volume equations can
be derived,
r P r s K x yj ðfE fP Þ
xw
aw ¼ xxPPx W
, an ¼ rrNn r
rP , and as ¼ r P r S . The diffusion fluxes are De ¼
P
xE xP ,
K y ðf f Þ
Dw ¼ x xj P x
P
W
W
, Dn ¼ Kr xirðf N fP Þ
N r P
, and Ds ¼ Kr xirðf P fS Þ
P r S
. The notations of spatial
discretization in Eq. 6 is illustrated in Fig. 2, where the uppercase letters indicate the
center of the control volumes, and the lowercase letters indicate the interfaces
between neighboring control volumes.
Substituting numerical fluxes into Eq. 6 and collecting terms, a set of algebraic
equations are obtained of the following form
AS fS þ AW fW þ AP fP þ AE fE þ AN fN ¼ b: (7)
Δ x i−1 Δ xi Δ x i+1
j+1
N
Δ r j+1
n j
W w e
P E Δ rj
j−1
s
Δ r j−1
S
i−1 i i+1
x
K x Dr j r P
AW ¼ maxððruÞw Dr j ; 0:Þ ; (8b)
xP xW
K r Dxi r n
AN ¼ minððrvÞn Dxi ; 0:Þ ; (8c)
rN rP
K x Dr j r P
AE ¼ minððruÞe Dr j ; 0:Þ ; (8d)
xE xP
3rr P Dxi Dr j
AP ¼ ðAW þ AS þ AE þ AN Þ; (8e)
2Dt
4:0rfnP rfn1
b ¼ ðSC þ SP Þr P Dxi Dr j þ P
r P Dxi Dr j
2:0Dt 2:0Dt
lðFce Fue Fcw þ Fuw þ Fcn Fun Fcs þ Fus Þ: (8f)
With the finite volume method on a structured grid, the multigrid version in 2D can
be constructed such that each coarse grid control volume is composed of four
302 W. Shen et al.
control volumes of the next finer grid [8]. To do this, a grid generator that is able to
generate multiple grids is used. The grid generator takes input of the number of grid
levels, the number of lines along each boundary, the coordinates of starting and
ending points for each line, the line type, etc., for the coarsest grid. The data of the
rest levels of grids are computed automatically by subdividing each control volume
in finer ones and saved as binary files to be loaded by the flow solver.
The algebraic Eq. 7 can be written more abstractly as
Af ¼ b; (9)
where A is a square matrix, f the unknown vector, and b the source vector. After the
kth outer iterations on a grid with spacing h, the intermediate solution satisfies the
following equation,
where rhk is the residual vector after the kth iteration. Once the approximate solution
at the kth iteration is obtained, we restrict the approximate solution as well as the
residual to the the next coarse grid by the restriction operators Ih2h and Iˆh2h. An
approximate solution to the coarse grid problem can be found by solving the
following system of equations,
After the solution on the coarse grid is obtained, the correction Df ¼ f12h f02h is
transfered to the fine grid by interpolation (prolongation), where f2h 0
¼ Ih2hfhk. The
difference of Ih and Iˆh is as follows, Ih takes the mean value of states in a set of
2h 2h 2h
cells, but Iˆh2h performs a summation of residuals over a set of cells. The value of fhk
is updated by
fkþ1
h ¼ fkh þ I h2h Df; (12)
h
where I2h is a prolongation operator. This procedure is repeated until the approxi-
mate solution on the finest grid converges using the multigrid V-cycle algorithm
[16]. The relaxation technique used in the multigrid method is Stone’s strong
implicit procedure (SIP), which is a modification from the standard ILU decompo-
sition [19]. This paper has adapted the multigrid method for incompressible
Navier–Stokes equations provided by [16], and extended it to include the mass
transport. Since the concentration of ligand is very small, in the order of 1011 to
1010 M, we may assume that the momentum and mass transfer equations are
independent to each other. Consequently the momentum transfer equation can be
solved first to obtain the velocity distribution, which is then put into the mass
transfer equation.
23 Multigrid Finite Volume Method for FGF-2 Transport and Binding 303
3 Results
The flow model in the current paper is the well-known incompressible Navier–
Stokes equation, which has been widely used to solve low speed fluid mechanics
problems. A convection-diffusion equation is applied to address the mass transport
of growth factor in solution. A similar mass transport model has been used by [12]
to describe the biological interaction of antigen and antibody, and by [15] to
investigate the interactions of a variety of biomolecules in BIACORE, where the
flow cell was of rectangular geometry. However, application of the 2D Navier–
Stokes equation to the study of growth factor binding to cell surface receptors and
HSPGs lining a cylindrical capillary has not, to the best of our knowledge, been
reported. The numerical procedure and simulation results for a single grid is
presented in a previous paper [18], while the main purpose of the current paper is
to demonstrate a multigrid solution to the convection-diffusion-reaction model of
mass transport and chemical kinetics of protein ligands.
The dimensions of the capillary under consideration were length L ¼ 0. 1 m and
radius R ¼ 0. 00035 m, corresponding to that of a Cellmax Cartridge System
bioreactor (FiberCell Systems, Inc., Frederick, MD, USA). The ratio of length
over diameter is 286. To simulate the capillary flow, four types of boundary
conditions are used in the numerical simulation: inlet boundary to the left-hand
side, outlet boundary to the right-hand side, symmetry boundary at the bottom, and
impermeable wall boundary at the top. For inlet boundary, all quantities are
prescribed, and the incoming convective flux is calculated as well. For outlet
boundary, zero gradient along the grid line is applied. A three-level multigrid
method is considered, as shown in Fig. 3, and the number of control volumes are
40 5, 80 10, and 160 20, respectively. Each time the grid is refined, one
control volume is divided into four smaller control volumes. The ligand interactions
within the capillary were modeled as a problem of mass transport with a reactive
boundary condition. For the mass transport equation, the boundary conditions are:
given concentration on the west, zero flux on the east, symmetrical condition on the
south, and reaction boundary on the north. An existing model of biochemical
reactions on the capillary surface from [10] is used in our simulations (illustrated in
Fig. 1). The reaction rates for all species are represented by a set of ordinary
differential equations (ODEs), as shown in Table 1, and the parameters are primarily
determined by experiments [10]. The system of ordinary differential equations are
solved by a variable-coefficient ODE solver VODE for stiff and nonstiff systems of
initial value problems [1]. The code is developed to solve the time-dependent
Navier–Stokes and convection-diffusion-reaction equations with a particular appli-
cation in growth factor transport and binding. The computation is performed on a
Sun-Blade-100 machine with a single 500 MHz SPARC processor and 2 GB mem-
ory. A typical numerical solution is plotted in Fig. 4, where the concentration
distribution of fibroblast growth factor inside the capillary is shown at an instant
time of t ¼ 10 min. The solution in Fig. 4 corresponds to the finest grid arrangement
in the multigrid system. Note that the ligand concentration in the figure is non-
304 W. Shen et al.
Fig. 3 Computational grids for capillary flow and protein transport: (a) first level grid, (b) second
level grid, (c) third level grid
Table 1 The rate of concentration change due to protein interactions (the initial concentration of
surface variables are R0 ¼ 1:6 104 receptors=cell and P0 ¼ 3:36 105 sites=cell)
Reaction rate Parameters
d½R kRf ¼ 2:5 108 M1 min1 , kRr ¼ 0:048 min1
¼ kRf ½L½R þ kRr ½C þ kTr ½T
dt
kc ½R½G kint ½R þ V R kTr ¼ 0:001 min1 , kc ¼ 0:001 min1 ð#=cellÞ1
kint ¼ 0:005 min1 , VR ¼ 80 sites min 1
d½P kPf ¼ 0:9 108 M1 min1 , kPr ¼ 0:068 min1
¼ kPf ½L½P þ kPr ½G þ kTr ½T
dt
kc ½C½P kint ½P þ V P kTr ¼ 0:001 min1 , kc ¼ 0:001 min1 ð#=cellÞ1
kint ¼ 0:005 min1 , VP ¼ 1, 680 sites min 1
d½L kRf ¼ 2:5 108 M1 min1
V ¼ kRf ½L½R þ kRr ½C þ kTr ½T
dt
kPf ½L½P kRr ½G kPf ¼ 0:9 108 M1 min1
kRr ¼ 0:048 min1 , kTr ¼ 0:001 min1
d½C kRf ¼ 2:5 108 M1 min1
¼ kRf ½L½R kRr ½C kc ½C½P
dt
kc ½C2 þ 2kuc ½C2 kint ½C kRr ¼ 0:048 min1 , kc ¼ 0:001 min1 ð#=cellÞ1
kuc ¼ 1 min1 , kint ¼ 0:005 min1
d½C2 kc 2 1 1 1
¼ ½C kuc ½C2 kD k c ¼ 0:001 min ð#=cellÞ , k uc ¼ 1 min
int ½C2
dt 2
1
kDint ¼ 0:078 min
d½G kf ¼ 2:5 10 M1 min1
R 8
¼ kRf ½L½R þ kRr ½C þ kTr ½T
dt
kc ½R½G kint ½R kRr ¼ 0:048 min1 , kTr ¼ 0:001 min1
kc ¼ 0:001 min1 ð#=cellÞ1 , kint ¼ 0:005 min1
d½G2 kc 2 kc ¼ 0:001 min1 ð#=cellÞ1 , kuc ¼ 1 min1
¼ ½G kuc ½G2 kint ½G2
dt 2
1
kDint ¼ 0:078 min
d½T
¼ kc ½R½G þ kc ½C½P kr ½T
T k c ¼ 0:001 min 1
ð#=cellÞ1 , kTr ¼ 0:001 min1
dt
kc ½T2 þ 2kuc ½T 2 kint ½T kuc ¼ 1 min1 , kint ¼ 0:005 min1
d½T 2 kc 2 kc ¼ 0:001 min1 ð#=cellÞ1 , kuc ¼ 1 min1
¼ ½T kuc ½T 2 kD int ½T 2
dt 2
1
kDint ¼ 0:078 min
A comparison was then made between the single-grid and multigrid computa-
tions, shown in Fig. 5(b), where the number of iterations means the number of outer
iterations on the finest grid (160 20). Only the residual from the pressure equation
is shown as it had the largest value for the single-grid (Fig. 5(a)), but similar
differences were found for the other residuals (data not shown). In single-grid
computation, the pressure residual can only be reduced to the order of 103 while
in the case of the three-level multigrid computation, it can be reduced to the order
of 105 within less than 100 outer iterations. Table 2 lists the number of outer
iterations, CPU-time, and speed-up ratio for the capillary flow with various mesh
size and different linear system solvers. In Table 2, the recorded CPU-time for
multigrid is the total computing time for all levels of grids that are involved. For all
three solvers studied (SIP, BiCGSTAB, and GMRES), a great amount of savings in
306 W. Shen et al.
a
0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375
0.0003
0.0002
0.0001
R
0
–0.0001
–0.0002
–0.0003
0 0.025 0.05 0.075 0.1
X
b
0.0625 0.1875 0.3125 0.4375 0.5625 0.6875 0.8125 0.9375
0.0003
0.0002
0.0001
R
0
–0.0001
–0.0002
–0.0003
0 0.025 0.05 0.075 0.1
X
a b
100 100
10–1
10–1
10–2
Presure Residual
Residual
10–2 10–3
10–3 10–4
10–5
10–4
10–6
10–5 0 10–7 0
10 101 102 103 104 10 101 102 103 104
No. of Iterations No. of Iterations
Fig. 5 Comparison of convergence history between single-grid and multigrid computations. (a)
Residuals of pressure and velocities in single-grid computation, where dashed line is the U
residual, dashed-dotted-dotted line the V residual, solide line the P residual. (b) Comparison of
pressure residuals between single-grid and multigrid computation with different linear system
solvers, where dashed-dotted line is for single grid, solid line for multigrid with SIP, dashed line
for multigrid with BiCGSTAB, and dashed-dotted-dotted line for multigrid with GMRES
CPU time has been observed by using multigrid. For example, the CPU time needed
for a 160 20 grid using the SIP method was 176.45 seconds for the single-grid and
5.39 for the multigrid. This difference in time was due to the significant difference
23 Multigrid Finite Volume Method for FGF-2 Transport and Binding 307
Table 2 Performance comparison of multigrid method with different linear system solvers
Solver Mesh No. outer iterations CPU-time (s) Speed-up
Single-grid Multigrid Single-grid Multigrid ratio
SIP 40 5 234 234 0.41 0.41 1.0
80 10 898 28 6.87 0.64 10.7
160 20 6,000 54 176.45 5.39 32.7
BiCGSTAB 40 5 114 114 0.35 0.35 1.0
80 10 432 26 5.24 0.56 9.36
160 20 6,000 50 174.66 5.43 32.16
GMRES 40 5 101 101 0.22 0.22 1.0
80 10 389 23 5.43 0.55 9.87
160 20 6,000 52 186.75 5.82 32.08
in the number of outer iterations required which was 6,000 for the single-grid and
only 54 for the multigrid. This can result in a speed-up ratio for the capillary flow of
over 30 for the finest grid. Three iterative solvers, SIP [19], BiCGSTAB [20] and
GMRES [17] are used to solve the inner linear system and their performance
are compared. In this particular case with a five diagonal coefficient matrix,
BiCGSTAB and GMRES solvers do not have obvious advantages over SIP in
reducing the number of outer iterations of Navier–Stokes equations in the multigrid
computation.
4 Discussions
The binding kinetics and signaling pathways of FGF-2 are very complicated, and
many mathematical models have been proposed to predict the behavior of FGF-
2 [3, 7, 9–11]. These models include pure reaction models [7, 10, 11], where a
system of ordinary differential equations is provided and it is assumed that the fluid
movement of FGF-2 does not impact the solution, and reaction-diffusion models
[3, 9], which are relatively more complex and the movement of FGF-2 molecules
from fluid to cell surface is modeled by diffusion. The diffusion model is valid only
if the fluid is quiescent, which is not consistent with the actual biological environ-
ment of moving bio-fluids. Our model is unique, in which a coupled convection-
diffusion-reaction model is applied, and the motion of bio-fluids is fully considered.
We model the process of growth-factor binding and dissociation under flow as
fluid flow in capillary by incompressible Navier–Stokes equation, protein transport
by convection-diffusion, and local bioreaction on capillary surface. The flow is
assumed to be laminar, and both the fluid density and viscosity are taken as con-
stants. This is due to the fact that the fluid in the bioreactor fibers is mainly water
with some additives (FiberCell Systems, Inc., Frederick, MD, USA). The impact of
fluid flow on FGF-2 binding is through the transport equations in the coupled non-
linear convection-diffusion-reaction model, where the flow velocity affects the
308 W. Shen et al.
distribution of FGF-2 in the solution, and that of FGFR, HSPG, and their com-
pounds on capillary surface.
The solution of Navier–Stokes equations consists of two loops. The inner
iteration handles each of the individual equations of momentum, energy, and
turbulent kinetics if necessary, and the outer iteration deals with the coupling and
nonlinearity. For unsteady flow using implicit discretization, the linear equations
need not be solved very accurately at each outer iteration. Usually a few iterations
of a linear system solver is enough. More accurate solution will not reduce the
number of outer iterations but may increase the computing time [21].
A colocated grid system is used to discretize the Navier–Stokes and transport
equations. The naive way of colocated arrangement makes the solution of Navier–
Stokes equations not very pleasant due to the checkerboard pressure distribution.
Therefore staggered grid was once considered as a standard way for the calculation
of incompressible flow [13]. A remedy was proposed to deal with the pressure-
velocity coupling on colocated grids by eliminating the oscillations in the pressure
field [8]. Our work uses a colocated grid and adopts the remedy to filter out the
oscillations. A colocated arrangement is attractive when using a non-orthogonal
grid, complex geometry, and multigrid methods.
Developing efficient solvers for nonlinear system of equations arising from fluid
flow and mass transfer problems is of practical interest. When nonlinear partial
differential equations are discretized in a particular spatial mesh, the result is a
set of ordinary differential equations, with time as the independent variable. The
temporal terms may be further discretized using either an explicit or an implicit
scheme. In an explicit method, a large number of independent equations, one for
each control volume, have to be solved. In the case of an implicit discretization, we
have to solve a large set of simultaneous equations.
f ð~ uÞo
uÞ f ð~
uÞ ¼
Fð~ þ Fð~
uÞ ¼ 0 (13)
Dt
uÞo is the value at the previous time step. If the number of components is
where f ð~
m and the number of control volumes is n, the number of independent variables
becomes mn. Such large sets of nonlinear equations are generally solved by a
variant of Newton’s method, where a sequence of linear systems are solved [8].
The great advantage of the Newton iteration is its quadratic convergence. However,
Newton iteration converges only if the initial guess is close to the solution. Instead,
in this paper, the method of Picard iteration is applied, in which the nonlinear
convective term and source term are linearized by using values from the previous
outer iterations. This kind of linearization requires many more iterations than a
coupled technique such as Newton-like linearization, but an initial guess close to
the solution is not critical for the convergence. The number of outer iterations,
however, can be substantially reduced by using multigrid techniques, as shown
previously.
23 Multigrid Finite Volume Method for FGF-2 Transport and Binding 309
5 Concluding Remarks
In conclusion, this paper presents a multigrid computation strategy for the numeri-
cal solution of FGF-2 transport and cellular binding within a capillary (i.e.,
cylindrical geometry). The capillary flow is predicted using the incompressible
Navier–Stokes equations by the finite volume method with collocated mesh
arrangement with the assumption that the capillary is a circular pipe. To reduce
the computation cost, a multigrid V-cycle technique, which includes restriction and
prolongation to restrict fine grid solution to coarse grid, and to interpolate coarse
grid solution to fine grid, is applied for the nonlinear Navier–Stokes equations. The
multigrid method is extended to solve the mass transport equation. Computational
results indicate that the multigrid method can reduce CPU time substantially. The
computed profile of FGF-2 distribution in the capillary is presented for a set of
conditions and no advantage with regard to CPU time or the magnitude of residue
has been observed among the three linear system solvers being used.
References
1. P. Brown, G. Byrne, A. Hindmarsh, VODE: a variable coefficient ODE solver. SIAM J. Sci.
Stat. Comput. 10, 1038–1051 (1989)
2. K. Chang, D. Hammer, The forward rate of binding of surface-tethered reactants: effect of
relative motion between two surfaces. Biophys. J. 76, 1280–1292 (1999)
3. C.J. Dowd, C.L. Cooney, M.A. Nugent, Heparan sulfate mediates bFGF transport through
basement membrane by diffusion with rapid reversible binding. J. Biol. Chem. 274,
5236–5244 (1999)
4. S. Elhadj, R.M. Akers, K. Forsten-Williams, Chronic pulsatile shear stress alters insulin-like
growth factor-I (IGF-I) bonding protein release in vitro. Annal. Biomed. Eng. 31, 163–170
(2003)
5. A. Ezekowitz, J. Mulliken, J. Folkman, Interferon alpha therapy of haemangiomas in
newborns and infants. Br. J. Haematol. 79(Suppl 1), 67–68 (1991)
6. M. Fannon, M.A. Nugent, Basic fibroblast growth factor binds its receptors, is internalized,
and stimulates DNA synthesis in Balb/c3T3 cells in the absence of heparan sulfate. J. Biol.
Chem. 271, 17949–17956 (1996)
7. M. Fannon, K.E. Forsten, M.A. Nugent, Potentiation and inhibition of bFGF binding by
heparin: a model for regulation of cellular response. Biochemistry, 39, 1434–1444 (2000)
8. J.H. Ferziger, M. Peri\acute{c}, in Computational Methods for Fluid Dynamics (Springer,
Berlin, 1999)
9. R.J. Filion, A.S. Popel, A reaction-diffusion model of basic fibroblast growth factor interac-
tions with cell surface receptors. Annal. Biomed. Eng. 32, 645–663 (2004)
10. K. Forsten-Williams, C. Chua, M. Nugent, The kinetics of FGF-2 binding to heparan sulfate
proteoglycans and MAP kinase signaling. J. Theor. Biol. 233, 483–499 (2005)
11. F.M. Gabhann, M.T. Yang, A.S. Popel, Monte Carlo simulations of VEGF binding to cell
surface receptors in vitro. Biochim. Biophys. Acta 1746, 95–107 (2005)
12. W. Glaser, Antigen-antibody binding and mass transport by convection and diffusion to a
surface: a two-dimensional computer model of binding and dissociation kinetics. Analyt.
Biochem. 213, 152–161 (1993)
310 W. Shen et al.
13. F. Harlow, J. Welsh, Numerical calculation of time dependent viscous incompressible flow
with free surface. Phys. Fluid 8, 2182–2189 (1965)
14. N. Itoh, The Fgf families in humans, mice, and zebrafish: their evolutional processes and roles
in development, metabolism, and disease. Biol. Pharm. Bull. 30, 1819–1825 (2007)
15. D. Myszka, X. He, et al., Extending the range of rate constants available from BIACORE:
interpreting mass transport-influenced binding data. Biophys. J. 75, 583–594 (1998)
16. E. Schreck, M. Peri\acute{c}, Computation of fluid flow with a parallel multigrid solver. Int.
J. Numer. Meth. Fluid 16, 303–327 (1993)
17. Y. Saad, M. Schultz, GMRES: a generalized minimal residual algorithm for solving nonsym-
metric linear systems. SIAM J. Sci. Stat. Comput. 7, 856–869 (1986)
18. W. Shen, C. Zhang, M. Fannon et al., A computational model of FGF-2 binding and HSPG
regulation under flow condition. IEEE Trans. Biom. Eng. 56, 2147–2155 (2009)
19. H. Stone, Iterative solution of implicit approximations of multidimensional partial differential
equations. SIAM J. Numer. Anal. 5, 530–558 (1968)
20. A. Van der Vorst, Bi-CGSTAB: a fast and smoothly converging variant of Bi-CG for the
solution of nonsymmetric linear systems. SIAM J. Sci. Stat. Comput. 13, 631–644 (1992)
21. J. Zhang, H. Sun, J.J. Zhao, High order compact scheme with multigrid local mesh refinement
procedure for convection diffusion problems. Comput. Meth. Appl. Mech. Engi. 191,
4661–4674 (2002)
Chapter 24
Integrated Mining Fuzzy Association Rules
For Mineral Processing State Identification
1 Introduction
Data mining is the process for automatic extraction of high level knowledge from
the information provided by sensors. A control-engineering method for fuzzy
control was provided in [1]. In mineral processing, understanding how to modify
the rheological characteristics of fine particle systems is a key for the process
performance. These characteristics include particle settling, pH, bulk/carrier fluid
viscosity, particulate flocculation or dispersion, attrition, pipe/fitting/impeller
wear, degradation of flocculated or friable solids and the pumpability of the slurry.
Moreover, fine particle systems exhibit a range of rheological properties that
influence processing and handling. The properties, settling behavior and the rheo-
logy of fine particulate slurries are determined by both the physical properties and
surface chemistry of the particles. Figure 1 depicts two stages structure considered
for developing both useful fuzzy association rules and suitable membership func-
tions from quantitative values: (1) adaptive learning procedure to learn the mem-
bership functions, and (2) a method to mine fuzzy association rules.
A wet grinding plant shown in Fig. 2 has been analyzed with the objective of
evaluating the effects of many variables on particle size reduction in continuous
grinding processes. Detailed phenomenological model that describes the charge
behaviour has been developed and validated against real data [2]. Indeed, mineral
Defined
Database Learning Membership
Process Functions
Predefined
Fitness Fuzzy
Membership Database
(Evaluation module) Mining
Functions
Motor
Ball
Mill
Disturbances
+ i(t)
Controller Motor
w r (t)–
w (t)
p update
law
Sensor
Based on volumetric analysis, the fraction of the total mass broken within a tiny
volume dV of the charge is assumed to be s(t) that is determined as follows:
ðð ð
sðtÞ ¼ arc dV (3)
V
314 S.C. Abou and T.-M. Dao
p(l ) m(l )
[kW ] [ton/h]
Pmax p(l )
Unstable
region
Mmax
m(l )
l [%]
Fig. 3 Static characteristics 0
of ball mill L1 L2
24 Integrated Mining Fuzzy Association Rules For Mineral Processing 315
where
gjij is the performance rate (level) of the element j in the state ij;
ij 2 1; 2; . . . ; kj . The performance rate Gj(t) of element j at any instant t 0 is
a random variable that takes its values from gj : Gj ðtÞ 2 gj .Thus, the probabilities
associated with different states for the element j can be represented by a set:
pj ¼ pj1 ; . . . ; pjkj ; pj ! 1 j n
The mapping gjij ! pjij is usually called the probability mass function as defined
for multi-state system [3]. However, for some multi-state systems, evaluating
precisely the state probability and performance rate of an element is difficult. As
above pointed out for the cause of the deterioration of the grinding quality, let
define the error er and change of error ec at sampled times k as follows:
pðkÞ pðk 1Þ
er ðkÞ ¼ and ec ðkÞ ¼ er ðkÞ er ðk 1Þ (7)
Vm ðkÞ Vm ðk 1Þ
x2(t)
a2
−a2
Fig. 4 Decision regions for
a3 a1 x1(t)
the rheology state
316 S.C. Abou and T.-M. Dao
where p is the power and can be measured by means of measuring the electric
current of the ball mill.
The noise and modeling errors will cause different distortions to the probability
assignments in the different models. Assume the probability distribution sd of
performance rates for all of the system elements at any instant t 0 and system
structure function as follows:
Interface
Signal
conditioner
Motor T
w
+ Ra La
C + J,
Servo- Va ia Vb
if D
Controller Ampli –
– q
D/A
In this study, the proposed fuzzy logic controller has three inputs and outputs.
The tuned control surface is nonlinear corresponding to the property of controlled
plant l, or and np are the measured value of the ball mill load, the rotation speed
and the inlet negative pressure, respectively. In addition, p is the measured value of
the ball mill driving motor power. el, eo and enp which are input variables of the
fuzzy logic controller, represent the error of l, or and np respectively. ul, uw and unp
are the output variables of the fuzzy logic controller, which are usually used to
control the raw ore feeder, the driving motor speed and the recycle air damper,
respectively. Therefore, the probability distribution sd of the system is:
Y
3
fðg1i1 ; :::: ; g3i3 Þ; sd ¼ sjij (11)
j¼1
Furthermore, the max-min algorithm is used in fuzzy logic inference, and the
defuzzification is accomplished by the largest of maximum method.
Fuzzy Controller
Defuzzification
Inference
Fuzzification
Rule-base
can differ from the operator of the polynomial product (unlike the ordinary gen-
erating function technique in which only the product of polynomials is defined)
[12]. Figure 7 idealizes a general flow transmission through out the system (e.g.,
ore, particle size, fluid flow, energy). For instance, consider a flow transmission
system shown in Fig. 7 which consists of three elements. As a result, the system
performance rate which is defined by its transmission capacity can have several
discrete values depending on the state of control equipments.
Assume the element 1, (the rheology of the slurry) has three states with the
performance rates: g11 ¼ 1.5, g12 ¼ 1, and g13 ¼ 0; the corresponding probabilities
are respectively: sp11 ¼ 0:8, sp12 ¼ 0:1 and sp13 ¼ 0:1. The element 2, (the pH) has
three states with the performance rates g21 ¼ 2, g22 ¼ 1.5, g23 ¼ 0 and the corresponding
probabilities sp21 ¼ 0:7, sp22 ¼ 0:22 and sp23 ¼ 0:08. The element 3, (the density)
has two states with the performance rates g31 ¼ 4, g32 ¼ 0 and the corresponding
probabilities sp31 ¼ 0:98 and sp32 ¼ 0:02. According to (9) the total number of
possible combinations of the states of elements are pp ¼ 3 3 2 ¼ 18.
In order to obtain the output sp for entire system with the arbitrary structure
function fð:Þ [9] used a general composition operator @f over individual universal
z-transform representations of n system elements:
8
>
> Xkj
>
> ¼ @ ð ðzÞ; . . . ; ðzÞ Þ ¼ sd jij :Z gjij
>
<
UðzÞ f u 1 u n and uðzÞ
i¼1
! (12)
>
> X k1 X k2 X
kn Yn
>
> UðzÞ ¼ ... fðg
sd j :z j ;...;g Þ
>
ji nin
:
i1 i2 in j¼1
where U(z) is z-transform representation of output performance distribution for
the entire system.
Figure 6 illustrates the basic control structure. The scheme includes a classical
PID control structure together with fuzzy corrector. The fuzzy corrector uses the
command input rc(t) and the plant output y to generate a command signal uc(t),
described by the following equations:
8
< eðtÞ ¼ rc ðtÞ yðtÞ
>
DeðkÞ ¼ eðkÞ eðk 1Þ (13)
>
:
mðkÞ ¼ F½eðkÞ; DeðkÞ
U1(z)
U3(z)
U2(z)
e
0
–10 –5 0 5 10
BN N SN Z SP P BP
1
De
0
–10 –5 0 5 10
BN N SN Z SP P BP
1
output
0
–10 –5 0 5 10
In the above, e(k) is the position error between the command input rc(t) and the
process output y(k); De(k) is the change in position error. The term F[e(k), De(k)] is
a nonlinear mapping of e(k) and De(k) based on fuzzy logic. The term m(k)
represents a correction term. The control u(k) is applied to the input of the grinding
circuit. The purpose of the fuzzy corrector is to modify the command signal to
compensate for the overshoots and undershoots present in the output response when
the load dynamics has unknown nonlinearities.
Let x1 ; x2 ; x3 ; y1 ; y2 and y3 represent l, or, np, ul, uo and unp respectively. The
expertise and knowledge method used to build a rule base and membership func-
tions provide the description of e(k) and De(k) as inputs, and m(k) as the output. The
unified fuzzy inverse is given as[0.1, 0.1], Fig. 8. The fuzzy states of the inputs
and the output, all are chosen to be equal in number and use the same linguistic
descriptors: Big Negative (BN), Negative (N), Small Negative (SN), Zero (Z), Small
Positive (SP), Positive (P) and Big Positive (BP). Figure 8 illustrates the member-
ship functions. Despite the operator expertise and knowledge at the level of the
inference rules and the membership functions, some defects may appear. The
degree of membership of each value of attribute ik in any of its fuzzy sets is directly
based on the evaluation of the membership function of the particular fuzzy set with
the value of ik as input.
To improve the conventional FLC, association rules mining algorithms are
used to find the optimal membership functions. This is achieved based on the
membership functions depicted in Fig. 9.
Specified fuzzy linguistic terms in fuzzy association rules can be given only
when the properties of the attributes are estimated. In real life, contents of columns
(i.e., values of attributes) may be unknown and meaningful intervals are usually
320 S.C. Abou and T.-M. Dao
BN N SN Z SP P BP
1
Degree of membership
0.5
–0.1 –0.08 –0.06 –0.04 –0.02 0 0.02 0.04 0.06 0.08 0.1
First input ‘Residual’
not concise and crisp enough. In this paper, the target is to find out some interesting
and potentially useful regularities, i.e., fuzzy association rules with enough support
and high confidence.We use the following
form for fuzzy association rules.
Let be x1i ; . . . ; xki and y1i ; . . . ; yki the antecedent set and the consequence set
respectively,
1in a database. A fuzzy
1 association rule mining is expressed as:
If X ¼
i x ; . . . ; x
i
k
is A ¼
i a ; . . . ; a
i
k
! Then
Y ¼ y1i ; . . . ; yki is B ¼ d1i ; . . . ; dki . Here, X and Y are disjoint sets of attri-
butes called item-sets, i.e., X I; Y I and X \ Y ¼ f. A and B contain the fuzzy
sets associated with corresponding attributes in X and Y, respectively.
Let m(.) represent the membership value of each element of the antecedent and
the consequence set. Under fuzzy taxonomies, using the measurements could result
in some mistakes. Consider for instance the following conditions:
1. mðxki Þ mðyki Þ and mðxki Þ mðym i Þ
2. mðxki Þ < mðyki Þ and mðxki Þ < mðym
i Þ
In the first condition, the confidence under fuzzy taxonomies of the two rules
is equal, while in the second, the coverage of the two rules is equal. This
situation gives rise to the following question: which rule can be judged as best
evidence rule?
In the proposed method the algorithm iterations alternate between the generation
of the candidate and frequent item-sets until large item-sets are identified. The
fuzzy support value of item-set Z is calculated as:
P Q
ti 2T zj 2Z mðaj 2 F; ti ðzj ÞÞ
SðZ; FÞ ¼ (14)
nT
24 Integrated Mining Fuzzy Association Rules For Mineral Processing 321
The graph of the function f ðBÞ is presented in Fig. 10. It depicts sigmoidal
dependence on z. As a result, it may corrupt all slowly varying signals of the
process. In order to suppress the noise and get the nonlinear control surface, the
parameters of input membership functions and output membership functions of
the fuzzy rule base are tuned by a nonlinear optimization. In this study a sequential
quadratic programming (SQP) algorithm as presented in Matlab is used.
This approach represents state-of-the-art in non-linear programming methods,
because a non-linearly constrained problem can often be solved in fewer iterations
using SQP than an unconstrained problem. One of the reasons is that due to the
limits on the feasible area, the optimizer can make well informed decisions regard-
ing directions of search and step length. Note that widely overlapping membership
functions give good numerical results. However, fuzzy membership functions
322 S.C. Abou and T.-M. Dao
1.5
j=1
1
j=8
0.5
j=2
j=4
f (ζ) 0
–0.5
–1
–1.5
–2
–2 –1.5 –1 –0.5 0 0.5 1 1.5 2
ζ
lacking any physical interpretation and loosing locality are possible. To avoid this,
different kinds of constraints may be put on the optimization: kinds of constraints,
inequality constraints and parameter bounds. SQP efficiently solve this constrained
nonlinear optimization problem in which the objective function and constraints may
be nonlinear functions of variables.
4 Simulation Results
Through available actuators it is possible to adjust the speed of the grinding circuit
feeders, the fluid added to the mill and sump, the pump and the driving motor speed.
The level of the sump is controlled by adjusting the set-point of pump velocity. The
water flow to the flotation circuit is kept proportional to the load reference. As
mentioned, the above process is subject to many disturbances, being the hardness of
the raw feeding ore the most significant one. This exerts a strong influence on the
quality of the grinding product. Modeling of the process is further complicated by
the fact that different operation points are defined by changes in mineral hardness.
Based on a reasonably simple transfer function, the adjustable input ports of the
driving motor and entrance negative pressure of the breakage circuit are initialized
with step signal. The strongly coupling characteristics of variables implies that if
regulating one controlled variable is attempted with one manipulated variable, the
24 Integrated Mining Fuzzy Association Rules For Mineral Processing 323
1.2
0.8
Outputs
0.6
PID Controller
0.4
Fuzzy Logic Controller
Fuzzy Logic Controller
0.2
And change amplitude after 25s
0
0 5 10 15 20 25 30 35 40 45
time [s]
other controlled variables will, more likely than not, be influenced in an undesired
fashion. Using the aforementioned fuzzy logic rules the simulated step response of
the grinding circuit is shown in Fig. 11. The amplitude changes are followed
smoothly to reach the steady state. To ensure both controller stability and perfor-
mance, although guidelines exist, the control procedure will require a number of
iterations until a solution is found, satisfying all requirements.
The existence of large time delays, time-varying parameters and nonlinearities are
some of the other difficulties generally encountered in mineral processing control.
As illustrated in Fig. 12, one of the major attractions of the proposed methodol-
ogy is that it can be readily used to design robust multivariable controllers that take
account of all control loop interactions while still guaranteeing all users specified
stability and performance requirements. As shown in Fig. 12, in the presence of
disturbances the fuzzy logic controller model presents a response better than the
conventional PID model.
5 Conclusion
1.2
0.8
Outputs
0.6
0.4
0.2
0
0 2 4 6 8 10 12 14 16 18 20
time [s]
than the conventional PID approach. Based on simulation results it can be deduced
that the fuzzy controller is faster than the conventional controller in the transitional
state, and also presents a much smoother signal with less fluctuation at steady state.
The proposed method has a strong adaptability and can overcome nonlinear and
strong coupling features of mineral processing in a wide range.
References
1. S.C. Abou, M.D. Thien, Fuzzy logic controller based on association rules mining: application
to mineral processing. International Conference on Modeling, Simulation and Control
(ICMSC’09), San Francisco, USA, 20–22 Oct 2009
2. S.C. Abou, Contribution to ball mill modeling. Doctorate Thesis, Laval University, Quebec,
Canada, 1998
3. G. Levitin, Universal Generating Function and Its Applications (Springer, Berlin, 2005)
4. S. Morell, The prediction of powder draws in wet tumbling mills. Doctorate Thesis, University
of Queensland, 1993
5. E.W. Davis, Fine crushing in ball mills. AIME Trans. 61, 250–296 (1919)
6. A. Desbiens, K. Najim, A. Pomerleau, D. Hodouin, Adaptive control-practical aspects and
application to a grinding circuit. Optim. Control Appl. Methods 18, 29–47 (1997)
7. R.K. Rajamani, J.A. Herbst, Optimal control of a ball mill grinding circuit: II. Feedback and
optimal control. Chem. Eng. Sci. 46(3), 871–879, 1991
24 Integrated Mining Fuzzy Association Rules For Mineral Processing 325
8. L. Zhai, T. Chai, Nonlinear decoupling PID control using neural networks and multiple
models. J. Control Theory Appl. 4(1), 62–69, 2006
9. W. Kuo, R. Wan, Recent advances in optimal reliability allocation. IEEE Trans. Syst. Man
Cybern. Part A Syst. Hum. 37, 143–156, 2007
10. H.J. Zimmermann, Fuzzy Set Theory and its Application, 2nd edn. Kluwer Academic,
Dordrecht, 1991
11. R. Agrawal, T. Imielinski, A. Swami, Mining association rules between sets of items in
large databases. International conference on management of data (ACM SIGMOD’93),
Washington, DC, 1993
12. J. Guan, Y. Wu, Repairable consecutive-k-out-of-n: F system with fuzzy states. Fuzzy Sets
Syst. 157, 121–142 (2006)
13. J. Huang, M.J. Zuo, Y. Wu, Generalized multi-state k-out-of-n: G systems. IEEE Trans.
Reliab. 49(1), 105–111 (2000)
Chapter 25
A Combined Cycle Power Plant Simulator:
A Powerful, Competitive, and Useful Tool
for Operator’s Training
1 Introduction
E. Zabre (*)
Instituto de Investigaciones Eléctricas, Simulation Department, Reforma 113, Col. Palmira,
Cuernavaca, Morelos, Mexico 62490
e-mail: [email protected]
2 Antecedent
Cycle
Heat Recovery chimney
Steam Generator
Natural gas supply
Substation Gas
Main turbine Steam high & low Electric B
transformer pressure turbine generator
Transmission Steam Transmission
tower Air tower
Vacuum system cooling
deareator condenser
Main
Demineralized
transformer
B plant
Fan Condenser
tank Water
Circulating water pump well
Condensate
pump Raw water
tank
them in two stages. The first one corresponds to the gas unit, which can be finished
in a brief term and immediately initiate its operation; later it is possible to finish the
construction of the steam unit, and then the combined cycle may be completed.
3 Architecture Configuration
In the CCPPS several configuration modules are identified, as shown in Fig. 2. All
modules are strongly related to a real time system (RTS) that control and sequence
the different tasks running in the simulator. The modules are the following:
l Instructor Console® (IC). This is an important man machine interface (MMI) of
the instructor, which controls and coordinates the scenarios seen by the operator
under training. These scenarios could be presented to the operator as a normal
plant operation or under any malfunction of a particular system or equipment. A
more detailed functional description of this interface is given below.
l CONINS. A module to retrieve all the static information during simulation
session, for example: malfunctions, remote functions, local instrumentation,
external parameters, etc.
l Operator Console (OC). This system is a replica of the real operation station
and allows the operator to monitor and control the plant parameters from
three different sets of graphical interfaces (GI): gas turbine, steam turbine and
330 E. Zabre et al.
Real Time
SABADAMAS BDSIM System Instructor
Console Operator
Console
an old one. The simulators gets an automatic snapshoot every 15 s and may be
configured up to a frequency of 10 min.
3. Simulation speed. Since the beginning of the simulation session the simulator is
executed in real time, but the instructor may execute the simulator up to two or
three times faster than real time. For example, slow thermal processes such as
the turbine iron-heating can be simulated to occur faster. To slow the simulation
speed (up to ten times) may be useful to study some fast events with detail.
4. Malfunctions. It is used to introduce, modify, or remove a simulated failure of
plant equipment, for example: pumps trips, heater exchanger tube breaking,
electrical switch opening, valve obstruction, etc. The instructor has the option to
define the malfunction initial time and its permanence time as well as the
evolution time.
5. External parameter. The external conditions such as atmospheric pressure and
temperature, voltage and frequency of the external system, among others can be
modified by the instructor.
6. Repetition. Simulation sessions may be repeated as many times as the instructor
considers, including the trainees actions.
7. Actions register. This is an automatic registration of the actions carried out by
the trainee in order to be re-played exactly in the same sequence and time with
the purpose of analyzing what the trainee did during the simulation session.
8. Development tools. The simulator has implemented some others helpful tools to
use during simulation session development, for example: to monitor and change
on line any selected list of global variable, tabulate any selected list of variable
and plot them.
The OC is a replica of the real operation station, and it is formed by the interfaces
communication system and it consists of three main displaying sets of plant inter-
faces: gas turbine, combined cycle and auxiliary electrical external board interface.
From there it is possible to display any logical or analogical plant parameter
and to operate and handle some manual or automatic controls related to the plant
332 E. Zabre et al.
The gas turbine interface (GTI), is a reproduction of the dynamic screens on which
it is possible to monitor and control the gas turbine parameters, including: ready to
start/trips; vibration analysis; combustion flashback; lube oil system; trend over-
view; turbine cooling system; emissions; synchronization; simplified gas turbine
(SGT) model; etc. [7].
The combined cycle interface (CCI) is a translation of the real operator console,
known as engineering console. An example is shown in Fig. 4.
The auxiliary electrical external board interface represents a couple of screens that
lead all the necessary external instrumentation to synchronize the electrical unit.
The CCPPS has Windows XP™ as operating system, it was programmed using
MS Visual Studio 2005; Fortran Intel™ for the mathematical models; Flash and
01 HAH41
AA093 026.4
01 HAH31 barg
AA901 DOMO PI No. 1
– 0002.9 mm 000%
01 HAH21
01 HAH21 AA900 01LCQ6
AA901 AA403
01 LCQ61
AA401
AP
000%
VisSim™ for the gas turbine screens; the steam turbine screens were translated from
the CCPP control, and C# was used to program the modules of the simulation
environment. The simulation environment (called MAS®, proprietary software of
the IIE [8]) has three main parts: the real time executive, the operator module, and
the console module. Each module runs in a different personal computer (PC), and all
of them are communicated by means of a TCP/IP protocol. The modules of the MAS
are programmed on C# under MS Visual Studio™ software development platform.
Control
Room
Operation Operation
Station1 (OS1) Station2 (OS2)
Lan switch
Instructor
Maintenance Console (IC)
node (MN)
The Instructor Console PC, also named simulation node (SN) has two 2000 flat
panel monitors, two operator stations (0S1 and 0S2) PC, each one has also 2000 flat
panel monitors, but the 0S1 has two additional 4200 flat panel monitors as auxiliary
monitors.
The maintenance node (MN) is used to make any modifications to the software
or process or control models and are tested and validated by an instructor before to
install it in the simulator. Figure 6 shows the real and final simulator architecture as
described above.
4 Modeled Systems
The control models were translated into C# by means of a graphical software tool,
while the system processes were programmed on Fortran Intel™.
Generally speaking, the distributed control system (DCS) is a set of PLC in where
are allocated the algorithms to control, in an automatic or semi-automatic way, all
the systems of a power plant. These control algorithms are organized in components
with specific function or task, for example: PID controllers, high/low detectors,
timers, memories set/reset, etc. This organization is represented by means of a
network of these components, which communicates information through connec-
tions, see Fig. 7. These networks are organized in a hierarchical way, in the bottom
levels there are the basic elements like AND, OR, NOT gates, in the middle level
Modulos
LD pcs1 AND
02611 00003
pcs2
LD pcs3 NOT
04001 hrsg1 00002
hrsg2
AND
deh 00004
OR
das 00001
gwc1
LD gwc2
02808
Fig. 7 Control diagram (detail) for speed control on the digital electro-hydraulic control (EHC)
system
25 A Combined Cycle Power Plant Simulator 335
are diagrams, and finally in the top level are modules. Then, with a set of modules, a
DCS was built [9].
For the gas turbine, the control models were developed by drawing the diagrams
(considering the original ones provided by the designer) into VisSim which gen-
erates the code of the drawing into standard C language routines (one per each
diagram).
For the control of the steam processes the DCS model was developed with C#
programming language, and taking into account the modularization made in the
power plant of reference. The main control modules modeled were:
l pcs1 and pcs2, auxiliary control system part 1 & 2
l pcs3, electric network control
l hrsg1 and hrsg2, control of heat recovery system generator, part 1 & 2
l deh, digital electro-hydraulic control system
l das, digital acquisition system
There are 14 different system processes modeled of the previous gas part plus 26
systems processes modeled of the steam part which together are the mathematical
representation of the behavior of the CCPP. All models were developed using
Fortran Intel™ in a methodology proposed by the IIE [3], which is summarized
in a few steps: (a) to obtain and classify process information directly from the power
plant; (b) to analyze information and state a conceptual model to be simulated;
(c) to simplify the analyzed information to show only the simulated equipments
336 E. Zabre et al.
and its nomenclature; (d) to justify all possible assumptions; and (e) to obtain the
flow and pressure network with an operational point, namely at 100% of load. The
plant systems were classified on groups as listed on Table 1.
5 Project Control
The Project was divided in 10 main phases and 50 tasks. Time, work, and resources
were loaded and controlled with Microsoft Project Manager™ Some overwork was
needed in order to accomplish the programmed dates. The main sources of delays
were some discrepancies that needed to be solved when the local tests were
performed and the delay in the delivering of the plant information.
The project lasted seventeen months. The CFE participated actively in getting
the real plant data and defining with the SD the data not available. In particular CFE
created the control diagrams that were no part of the DCS and helped in performing
the plant operation on the simulator to determine and adjust the models behavior.
There was a head of project, one responsible of the software activities, one for
the hardware, one for the process modelling and one for the control models. A total
of seventeen researchers participated during peak stages of the development of the
project. All activities were closely followed in order to assure a punctual and
precise ending. Weekly revisions were performed with the heads of area. One
summarized report was delivered to the costumer monthly and a full revision was
performed every two months. The quality system implanted in the SD allowed the
opportune correction actions when needed.
25 A Combined Cycle Power Plant Simulator 337
6 Results
The simulator validation was carried out proving its response against the very
detailed operation acceptance simulator test procedures elaborated by specialized
personnel from CFE.
As example of the models behavior, some results of the GTS are presented. The
customer provided plant data for both, an automatic start up procedure and the
down load operation. The simulator results were compared with these data. No data
for other transients were available. Figure 8 presents a comparison between the
expected and simulator speed.
In Fig. 9, the x-axis is the sum of the turbine speed (rad/s) and then power
produced (MW). Pressure in the combustor, its temperature and the temperature
3600
3000
Speed (RPM)
2400
1800
Plant
1200
Simulator
600
1400 700
1000
Pressure (KPa)
600 300
400 200
200 100
0 0
0 66 184 314 417 912
Velocity + Power (rad / s + MW)
in the exhaust were chosen to exemplify the results. While the turbine is increasing
its speed the power is zero and when the plant produces power (up to 150 MW) the
speed is constant at 376.8 rad/s. In the graphic (with a non-linear x-axis) may be
observed that the behavior of the simulator variables is similar than the real
variables values.
Besides, the simulator was probed in all the normal operation range, from
cold start conditions to full charge, including the response under malfunctions
and abnormal operation procedures. In all cases the response satisfied the ISA-
S77.20-1993 Fossil-Fuel Power Plant Simulators Functional Requirements norm.
7 Conclusions
The CCPPS validation is been carried out by CENAC specialized personnel under
rigorous acceptance simulator testing procedures, and with a lot of experience in the
use of simulators, to ensure that this simulator will fulfill the performance specified
by the end user in order to have one more useful tool to train the future generation of
operators of the combined cycle power plants. The results demonstrate than the
simulator is a replica, high-fidelity, plant specific simulator for operator training.
Realism is provided by the use of DCS screens emulation.
This simulator had several adjustments during its development, to assure that its
behavior and dynamics will operate similarly to those obtained in the real plant.
An additional aspect that gives a lot of certitude and robustness to the simulator
behavior is that the simulator has the same DCS that the Chihuahua CCPP. Only
minimum adjustments and changes in the controller parameters of regulation loops
were required, which means that the process models that were obtained by the SD
engineers reproduce correctly the real behavior of the reference plant. The com-
bined cycle power plants have powerful features that include high thermal effi-
ciency, low installed cost, wide range of burning fuels, short installation cycle,
compared to conventional thermal, nuclear, and steam plants, as well as low oper-
ation costs, it is expected that this simulators will be so strongly claimed for training
purposes in a near future.
8 Future Works
As future works, we have considered some projects that might improve and
robustness this development, with the purpose of giving a better approach to the
control room of the power plant. Among these are the following: (1) to standardize
the MMI’s simulator to original CCPP interface view, because it is the real
equipment the Chihuahua combined cycle power plant has, so it will be very val-
uable as well as useful to this power plant trainee operators; (2) to expand the
simplified gas turbine model; (3) to include thermal regimen of a combined cycle
25 A Combined Cycle Power Plant Simulator 339
power plant; and (4) to incorporate a touch screen keyboard or replace the virtual
keyboard by a physical one with the same functionality that the used in the control
room.
Acknowledgment The simulators developed by the SD of the IIE have been projects carried out
thanks to the effort, enthusiastic and very professional hard work of researchers and technicians of
the IIE as well as the co-operation of operators, trainers and support personnel of CFE training
center. This project was carried out thanks to the financial support of CFE; R. Cruz was the
technical manager as client counterpart; A. Matı́as took part as specialized operator during the
simulator tests.
About the SD personnel’s labor, it is necessary to mention that all researchers participants
contributed with their valuable experience during design steps, implementation and final tests
concerning to this simulator.
References
1. L. Bo, M. Shahidehpour, Short-term scheduling of combined cycle units. IEEE Trans. Power
Syst. 19(3), 1616–1625 (Aug. 2004)
2. J.Y. Shin et al., Analysis of the dynamic characteristics of a combined-cycle power plant.
Energy Int. J. 27(12), 1085–1098 (Dec 2002). ISNN 0360-5442
3. J. Roldán-Villasana Edgardo, M.J. Cardoso, Y. Mendoza-Alegrı́a, Modeling methodology for
operator’s training full scope simulators applied in models of a gas-turbine power plant, in
Memorias del 9o. Congreso Interamericano de Computación Aplicada a la Industria de
Procesos, 25 al 28 de agosto, Montevideo, Uruguay, 2009
4. Mitsubishi Heavy Industries, Chihuahua Combined Cycle Power Plant Begins Commercial
Operation in Mexico, http://www.mhi.co.jp/en/ power/news/sec1/2001_sep_08.html, Sept
2001
5. CFE Comisión Federal de Electricidad, Una empresa de clase mundial, Centrales, http://www.
cfe.gob.mx/QuienesSomos/queEsCFE/ estadisticas/Paginas/Indicadoresdegeneración.aspx,
2009
6. D.L. Chase, GE power systems, Combined-Cycle Development Evolution and Future, Sche-
nectady, NY, 1998 http://www.gepower.com/prod_serv/products/tech_docs/en/downloads/
ger4206.pdf
7. E.J. Roldán-Villasana, Y. Mendoza-Alegrı́a, J. Zorrilla-Arena, Ma.J. Cardoso, EMS 2008,
Development of a Gas Turbine Full Scope Simulator for Operator’s Training, in Second
UKSIM European Symposium on Computer Modeling and Simulation, Liverpool, UK, 8–10
Sept 2008
8. L.A. Jiménez-Fraustro, Desarrollo del Medio Ambiente de Simulación para Simuladores en
Tiempo Real basado en sistema operativo Windows XP, Reporte Interno, Gerencia de Simula-
ción, IIE, México, 2005
9. G. Romero-Jiménez, V. Jiménez-Sánchez, E.J. Roldán-Villasana, WASET 2008, in Proceed-
ings of World Academy of Science, Engineering and Technology, vol. 30, July 2008, ISSN
1307-6884, Graphical Environment for Modeling Control Systems in Full Scope Training
Simulators, Paris, France, 5–7 July 2008, pp. 792–797
Chapter 26
Texture Features Extraction in Mammograms
Using Non-Shannon Entropies
1 Introduction
Cancer remains one of the frequently occurring fatal diseases affecting men and
women throughout the world. Among the cancer diseases, breast cancer is espe-
cially a concern in women. According to the statistics, breast cancer is one of the
major causes for the increase in mortality among middle-aged women in both the
developed and developing countries. However, the etiologies of breast cancer are
unknown and no single dominant cause has emerged. Still, there is no known way
of preventing breast cancer but early detection allows treatment before it is spread
to other parts of the body. However, it is evident that the earlier breast cancer is
found, the better chance a women gets for a full recovery. Moreover, the early
detection of breast cancer can play a very important role in reducing the morbidity
and mortality rates.
Mammography [1, 2] is the single most effective, reliable, low cost and highly
sensitive method for early detection of breast cancer. Mammography offers high-
quality images at low radiation doses and is the only widely accepted imaging
method for routine breast cancer screening. It is recommended that women at the
ages of 40 or above should have a mammogram every 1–2 years. Although
mammography is widely used around the world for breast cancer detection, there
are some difficulties when mammograms are searched for signs of abnormality
by expert radiologists. Such difficulties are that mammograms generally have low
contrast compared with normal breast structure and sign of early disease are often
small or subtle. This is the main cause of many missed diagnoses that can be
mainly attributed to human factors such as subjective or varying decision criteria,
distraction by other image features, or simple oversight. As the consequences of
errors in detection or classification are costly and since mammography alone can
not prove that a suspicious area is tumorous, malignant or benign the tissue has to
be removed for closer examination using breast biopsy techniques. Nevertheless, a
false-positive detection causes unnecessary biopsy. On the other hand, in false-
negative detection an actual tumor remains undetected. Thus, there is a significant
necessity for developing methods for automatic classification of suspicious areas
in mammograms, as a means of aiding radiologists to improve the efficacy of
screening programs and avoid unnecessary biopsies.
A typical mammogram contains a vast amount of heterogeneous information
that depicts different tissues, vessels, ducts, chest skin, breast edge, the film and the
x-ray machine characteristics [3–5]. In order to build a robust diagnostic system
towards correctly classifying abnormal and normal regions of mammograms,
present all the available information that exits in mammograms to the diagnostic
system so that it can easily discriminate between the abnormal and normal tissues.
However, the use of all the heterogeneous information, results to high dimensioned
features vectors that degrade the diagnostic accuracy of utilized systems signifi-
cantly as well as increase their computational complexity, Therefore, reliable
feature vectors should be considered the reduce the amount of irrelevant informa-
tion thus producing robust mammographic descriptors of compact size [6–8].
Texture is one of the important characteristics used in classifying abnormal and
normal regions in mammograms. The texture of images refers to the appearance,
structural and arrangement of the parts of an object within the image [9, 10].
Images used for diagnostic purposes in clinical practice are digital. A two dimen-
sional digital image is made up of little rectangular blocks or pixels (picture
elements). Each is represented by a set of coordinates in space and each has a value
26 Texture Features Extraction in Mammograms Using Non-Shannon Entropies 343
representing the gray-level intensity of that picture element in space. A feature value
is a real number, which encodes some discriminatory information about a property
of an object. Generally speaking, texture feature extraction methods can be classified
into three major categories, namely, statistical, structural and spectral. In statistical
approaches, texture statistics such as the moments of the gray level histogram, or
statistics based on gray level co-occurrence matrix are computed to discriminate
different textures [11]. For structural approaches, texture primitive, the basic element
of texture, is used to form more complex texture pattern by grammar rules which
specify the generation of texture pattern. Finally, in spectral approaches, the textured
image is transformed into frequency domain. Then, the extraction of texture features
can be done by analyzing the power spectrum. Various texture descriptors have
been proposed in the past. In addition to the aforementioned methods, Law’s texture
energy measures, Markov random field models, texture spectrum etc. are some other
texture descriptors [12–14].
This paper deals with the problem of statistical approaches to extract texture
features in digital mammogram. Gray level histogram moments method is normally
used for this purpose. Entropy [15–17] is an important texture feature, which is
computed based on this method, to build a robust descriptor towards correctly
classifying abnormal and normal regions of mammograms. Entropy measures
the randomness of intensity distribution. In most feature descriptors, Shannon’s
measure is used to measure entropy. However, in this paper, non-Shannon measures
are used to measure entropy. Non-Shannon entropies have a higher dynamic range
than Shannon entropy over a range of scattering conditions, and are therefore more
useful in estimating scatter density and regularity [18].
Regarding the statistical approach for describing texture, one of the simplest
computational approaches is to use statistical moments of the gray level histogram
of the image. The image histogram carries important information about the content
of an image and can be used for discriminating the abnormal tissue from the local
healthy background. Considering the gray level histogram {hi, i ¼ 0, 1, 2, . . .,
Ng1}, where Ng is the number of distinct gray levels in the ROI (region of interest).
If n is the total number of pixels in the region, then the normalized histogram of the
ROI is the set {Hi, i ¼ 0, 1, 2, . . ., Ng1}, where Hi¼ hi/n. Generally, Shannon’s
measure is used to estimate entropy in most of the descriptors. Shannon’s entropy
(S) is a degree of randomness and is defined as
X
N g 1
!
X
N g 1
1
R¼ log2 Hi a
1a i¼0
a 6¼ 1; a > 0
!
X
N g 1
1 a
HC ¼ Hi 1
1a i¼0
a 6¼ 1; a > 0
g 1
NP
Hi a
1
Ka;b ¼ log i¼0
b a 2 NPg 1
Hi b
i¼0
a 6¼ b; a > 0; b > 0
3 Experimental Results
Table 1 Entropy measure of mammograms based on gray level histogram moments at a ¼ 0.5 for
Renyi, a ¼ 0.7 for Havrda & Charvat and for Kapur a ¼ 0.5, b ¼ 0.7
Image samples S R HC K a, b
a ¼ 0.5 a ¼ 0.7 a ¼ 0.5
b¼0.7
Mam1 4.7658 6.9242 8.7940 7.9945
Mam2 5.1761 6.9060 9.0540 7.7959
Mam3 5.2400 7.0073 9.3439 7.8821
Mam4 5.1644 6.7166 8.6331 7.5718
Mam5 4.8436 6.7857 8.5198 7.8131
Mam6 5.1044 6.7977 8.7193 7.7227
Mam7 5.5805 7.0348 9.7094 7.7459
Mam8 4.2316 6.6505 7.8027 7.9252
Mam9 2.9738 6.1737 6.0264 7.9867
Mam10 4.1991 6.4753 7.3892 7.7603
Mam11 4.5951 6.7681 8.2881 7.9115
Mam12 4.9022 6.8990 8.8035 7.9257
Mam13 4.9559 6.8047 8.6226 7.7983
Mam14 4.4958 6.7285 8.1625 7.8909
Mam15 4.9878 6.9086 8.9161 7.8832
Table 2 Entropy measure of mammograms based on gray level histogram moments at a ¼ 0.1 for
Renyi, a ¼ 0.5 for Havrda & Charvat and for Kapur a ¼ 0.1, b ¼ 0.9
Image samples S R HC K a, b
a ¼ 0.1 a ¼ 0.5 a ¼ 0.1
b ¼ 0.9
Mam1 4.7658 7.7796 20.0410 8.0925
Mam2 5.1761 7.7505 19.9023 8.0219
Mam3 5.2400 7.7346 20.6845 7.9934
Mam4 5.1644 7.6608 18.5109 7.9306
Mam5 4.8436 7.7167 19.0077 8.0217
Mam6 5.1044 7.7035 19.0954 7.9825
Mam7 5.5805 7.6587 20.9020 7.8736
Mam8 4.2316 7.7460 18.0460 8.1189
Mam9 2.9738 7.6251 14.9927 8.1298
Mam10 4.1991 7.7053 16.8654 8.0857
Mam11 4.5951 7.7552 18.800 8.0900
Mam12 4.9022 7.7795 19.8491 8.0820
Mam13 4.9559 7.7529 19.1466 8.0516
Mam14 4.4958 7.7473 18.5954 8.0910
Mam15 4.9878 7.7747 19.9222 8.0668
× 104
JM
6
× 104
7
6
51
JM
5
× 104
6
10
8
Normal
6 Benign
4 Malignant
0
Shannon Renyi Havrda & Kapur
Charvat
25
20
15 Normal
Benign
10
Malignant
5
0
Shannon Renyi Havrda & Kapur
Charvat
× 104
7
6
JM
0
5
× 104
6
JM
From the above results, it can be inferred that non-Shannon’s entropies (Renyi,
Havrda and Charvat, and Kapur) are useful parameters for the classification of
normal and abnormal mammogram images. Specially, Havrda and Charvat is most
suitable for this purpose. Experimental results indicate that, in non-Shannon entro-
pies, the values of constants a, b play important role in classification. So, selection
of suitable values of these constants is necessary. Havrda and Charvat entropy at
a ¼ 0.5 gives the best suitable results for classification. This in turn also helps in the
diagnosis of palpable or microcalcifications or tumors in the breast. This work may
be employed to develop a Computer Aided Decision (CAD) System for early
detection of breast cancer.
26 Texture Features Extraction in Mammograms Using Non-Shannon Entropies 349
× 104
7
JM
6
0.1
Table 5 Classification of uncompressed fatty, fatty and non-uniform fatty breasts based on
Shannon entropy, Renyi’s entropy at a ¼ 0.5, Havrda & Charvat’s entropy at a ¼ 0.7 and Kapur’s
entropy at a ¼ 0.5, b ¼ 0.7
Mammogram Average S Average R Average HC Average K a, b
classification a ¼ 0.5 a ¼ 0.7 a ¼ 0.5
b ¼0.7
Uncompressed fatty 4.9878 6.9086 8.9161 7.8832
Fatty breast 5.1761 6.9060 9.2540 7.7959
Non-uniform fatty breast 4.5951 6.7681 8.2881 7.9115
Table 6 Classification of uncompressed fatty, fatty and non-uniform fatty breasts based on
Shannon entropy, Renyi’s entropy at a ¼ 0.1, Havrda & Charvat’s entropy at a ¼ 0.5 and Kapur’s
entropy at a ¼ 0.1, b ¼ 0.9
Mammogram classification Average S Average R Average HC Average K a, b
a ¼0.1 a ¼0.5 a ¼0.1
b¼0.9
Uncompressed fatty 4.9878 7.7747 19.9222 8.0668
Fatty breast 5.1761 7.7505 20.2023 8.0219
Non-uniform fatty breast 4.5951 7.7552 18.8800 8.0900
In this paper, an attempt is made to develop a new features descriptor based on non-
Shannon’s entropies (Renyi, Havrda and Charvat, and Kapur) for classifying
normal and abnormal mammogram images. Experiment results have demonstrated
that Havrda and Charvat entropy based feature works satisfactorily for classifying
normal, benign and malignant digital mammograms including uncompressed-fatty,
fatty and non-uniform fatty breast mammograms.
350 A.P. Singh and B. Singh
10
8 Uncompressed
fatty
6
4
Fatty breast
2
0
Non-uniform fatty
n
yi
at
r
pu
no
en
rv
breast
Ka
an
ha
R
Sh
C
&
a
rd
av
H
Fig. 9 Graphical representation of classification of uncompressed fatty, fatty breast and non-
uniform fatty breast based on Shannon entropy, Renyi’s entropy at a ¼0.5, Havrda & Charvat’s
entropy at a ¼0.7 and Kapur’s entropy at a ¼0.5, b ¼0.7
25
20
15 Uncompressed
fatty
10
5 Fatty breast
0
Non-uniform fatty
n
yi
at
r
pu
no
en
rv
breast
Ka
an
ha
R
Sh
C
&
a
rd
av
H
In future work, Havrda and Charvat entropy based feature will be included with
other existing statistical features to build a robust features descriptor for developing
a complete Computer Aided Diagnosis (CAD) for early detection of breast cancer.
The work is under further progress in this direction.
References
3. B. Verma, P. Zhang, A novel neural-genetic algorithm to find the most significant combina-
tion of features in digital mammograms. Appl. Soft Comput. l(7), 612–625 (2007)
4. S.-K. Lee, C.-S. Lo, C.-M. Wang, P.-C. Chung, C.-I. Chang, C.-W. Yang, P.-C. Hsu, A
computer-aided design mammography screening system for detection and classification of
microcalcifications. Int. J. Med. Inf. 60, 29–57 (2000)
5. H.D. Cheng, X. Cai, X. Chen, L. Hu, X. Lou, Computer-aided detection and classification of
microcalcifications in mammograms: a survey. Pattern Recogn. 36, 2967–2991 (2003)
6. H.D. Cheng, M. Cui, Mass lesion detection with a fuzzy neural network. Pattern Recogn. 37,
1189–1200 (2004)
7. H.D. Cheng, X.J. Shi, R. Min, L.M. Hu, X. P. Cai, H.N. Du, Approaches for automated
detection and classification of masses in mammograms. Pattern Recogn. 39, 646–668 (2006)
8. M.E. Mavroforakis, H.V. Georgiou, N. Dimitropoulos, D. Cavouras, S. Theodoridis, Mam-
mographic masses characterization based on localized texture and dataset fractal analysis
using linear, neural and support vector machine classifiers. Artif. Int. Med. 37, 145–162
(2006)
9. B. Verma, J. Zakos, A computer-aided diagnosis system for digital mammograms based on
fuzzy-neural and feature extraction techniques. IEEE Trans. Inf. Technol. Biomed. 5(1),
(Mar 2001)
10. J.K. Kim, H.W. Park, Statistical textural features for detection of microcalcifications in
digitized mammograms. IEEE Trans. Med. Imaging 18(3), (Mar 1999)
11. J.K. Kim, J. Mi Park, K.S. Song, H.W. Park, Texture analysis and artificial neural network for
detection of clustered microcalcifications on mammograms, in Neural Networks for Signal
Processing [1997] VII, Proceedings of the 1997 IEEE Workshop, Amelia Island, Florida,
USA, pp. 199–206
12. A Karahaliou, S Skiadopoulos, I Boniatis, P Sakellaropoulos, E Likaki, G Panayiotakis, L
Costaridou, Texture analysis microcalcifications on mammograms for breast cancer diagnosis.
Brit. J. Radiol. 80, 648–656 (2007)
13. Y.-Y. Wan, J.-X. Du, D.-S. Huang, Z. Chi, Y.-M. Cheung, X.-F. Wang, G.-J. Zhang,
Bark texture feature extraction based on statistical texture analysis, in Proceedings of 2004
International Symposium on Intelligent Multimedia, Video and Speech Processing, Hong
Kong, Oct 20–22, 2004
14. M.R. Chandraratne, Comparison of three statistical texture measures for lamb grading, in 1st
International Conference on Industrial and Information Systems,ICIIS2006 Sri Lanka, 8–11
Aug 2006
15. J.N. Kapur, Measure of Information and Their Applications (Wiley Eastern Limited,
New Delhi, 1994)
16. L.I. Yan, F. Xiaoping, L. Gang, An application of Tsallis entropy minimum difference on
image segmentation, in Proceeding of the 6th World Congress on Intelligent Control and
Automation, Dalian, China, 21–23 June 2006
17. M. Portes de Albuquerque, I.A. Esquef, A.R. Gesualdi Mello, Image thresholding using
Tsallis entropy. Pattern Recogn. Lett. 25(2004), 1059–1065 (2004)
18. R. Smolikova, M.P. Wachowiak, G.D. Tourassi, A. Elmaghraby, J.M. Zurada, Characteriza-
tion of ultrasonic back scatter based on generalized entropy, in Proceeding of the 2nd Joint
EMBS/BMES Conference, Houston, TX, USA, 23–26 Oct 2002
Chapter 27
A Wideband DOA Estimation Method Based
on Arbitrary Group Delay
1 Introduction
DOA estimation is an important algorithm in array signal processing systems [1, 2].
Various estimation methods such as Maximum Likelihood (ML), Multiple Signal
Classification (MUSIC) [3], and Estimation of Signal Parameters via Rotational
Invariance Technique (ESPRIT) [4] were proposed in recent two decades. How-
ever, most of these methods are based on narrow band models. Several extensions
to the wideband sources are also proposed [5], for example, the Coherent Signal-
Subspace Processing (CSSP) [6], Wideband Cyclic MUSIC [7] and Wideband
ESPRIT [8]. A frequency domain algorithm based on ML criterion called AML
method has been proposed for source localization and DOA estimation [9, 10]. A
method proposed by Ward [11] performs beam-space processing using time-
domain frequency-invariant beamformers (TDFIB). In this paper, we propose a
X. Zhang (*)
School of Electronic Science and Engineering, Nanjing University, Nanjing, P. R. China
e-mail: [email protected]
new wideband DOA estimation approach based on arbitrary group delay. This
method is able to operate arbitrary waveform and is suitable for linear frequency
modulation signals, nonlinear frequency modulation signals, and even carrier free
signals.
When the object direction is far from the normal direction, the delay between array
elements is so large that signals need to be aligned to get a better distance resolution
and a higher power gain. The time delay compensation is usually operated in two
steps: the integral sampling period part and fractional sampling period part. The
integral part can be simply carried out by register shifting. The subsample time
delay is compensated by interpolation commonly, and the compensation effect lies
on the interpolation function. Dense sampling, in which sampling frequency is
much higher than the Nyquist frequency is also used in some situation to achieve a
higher accuracy. Unfortunately, this method brings too much data redundancy and
raises a higher demand to the sampling device. Especially, when the bandwidth of
ultra-wideband signals is very high, for example 1 GHz, it is hard to sample with
frequency several times higher, and the expense is also too huge.
Suppose that the wideband signal is s(t), and the delayed signal is s(tt).
According to the time shifting property of continuous time Fourier transform, we
can get:
sðt tÞ ¼ F1 FfsðtÞgejot (1)
If the sampling frequency is so high that the spectral aliasing can be ignored,
the digital signal delay can be implemented by
n o
sðnTs tÞ ¼ IDFT DFT fsðnTs Þgej NTs
2pkt
(2)
where Ts is the sampling period, and s(nTs) is the digital signal. The time delay t in
Eq. (2) need not to be integral multiple of the sampling period. N is the length of the
operated signal, consisting of original signal and INT(t/fs) padded zeroes, where
INT denotes rounding operation. Zeros are padded at the tail of the original signal
to avoid cyclic shifting of the original signal.
Gaussian modulated sine signal is used to demonstrate the method of digital
group delay. The analytical expression of the signal is
tT0 2
pðTg Þ
sðtÞ ¼ e cos½2pf ðt T0 Þ (3)
where Tg, T0 and f are the time width parameter of Gaussian window, the time
center and the frequency of sine signal, respectively. Tg and f were chosen to be 50
27 A Wideband DOA Estimation Method Based on Arbitrary Group Delay 355
and 0.1. T0 was chosen to be 0 before signal is delayed. The results of simulation of
digital group delay with MATLAB are shown in Figs. 1 and 2. In simulations, the
signal delayed for 3.7 samples by the method of digital group delay is compared
with the theoretical waveform obtained by setting T0 to 3.7 in Eq. (3).
1
Waveform of
0.8 Digital Group
Delay
0.6
Theoretical
0.4 Waveform
0.2
Amplitude
– 0.2
– 0.4
– 0.6
– 0.8
–1
–50 0 50 100
Time / Samples
Fig. 1 Comparison between waveform of digital group delay and theoretical waveform
× 10–6
1
0.8
0.6
0.4
0.2
error
– 0.2
– 0.4
– 0.6
– 0.8
–1
– 50 0 50 100
Time / Samples
Fig. 2 Error between waveform of digital group delay and theoretical waveform
356 X. Zhang et al.
It can be seen that digital group delay can realize time delay precisely for
approximate band limit signals from Figs. 1 and 2. In addition, digital group delay
operates the integral sampling period part and fractional sampling period part
together, and has no restriction on delay step. Furthermore, this method has no
requirement for the signal waveform, and is suitable for linear frequency modulation
signals, nonlinear frequency modulation signals, and even carrier free signals.
A simple time delay manifests itself as the slope of an additive linear phase in the
phase spectrum, which is an additional group delay
1 d’
tg ð f Þ ¼ ¼ t (4)
2p df
where tg is a constant.
Consider an equally spaced linear array composed of Ne identical elements.
The distance between consecutive sensors is d. The relative delay of the ith
element is
id sin a
ti ¼ (5)
c
4 Simulation
Gaussian function [12] (GGP, generalized Gaussian pulse) was employed in the
simulation (using MATLAB) to demonstrate the effectiveness of the proposed
algorithm. One of forms based on experimentation with UWB impulse radiators
and sensors is:
27 A Wideband DOA Estimation Method Based on Arbitrary Group Delay 357
–5
– 10
Gain / dB
– 15
– 20
– 25
– 30
– 100 – 80 – 60 – 40 – 20 0 20 40 60 80 100
Direction / °
Fig. 3 DOA estimation for two targets at 15 and 30 , SNR ¼ 20 dB
E0 n 4pðttDT0 Þ2 o
ae4pa ð DT Þ
2 tt0 2
f ðtÞ ¼ e (6)
1a
5 Conclusion
The digital group delay can realize time delay precisely for approximate band limit
signals. In this paper, we apply the digital group delay method to DOA estimation.
The simulations show the effectiveness of the proposed algorithm. The proposed
358 X. Zhang et al.
algorithm has no requirement for the signal waveform, and is suitable for wideband
and ultra-wideband radars, sonar systems, and microphone arrays.
References
1 Introduction
The most important qualities of modern speech synthesis systems are their natural-
ness and intelligibility [1]. By naturalness we mean how closely the synthesized
speech resembles real human speech. Intelligibility, on the other hand, describes the
ease with which the speech is understood. The maximization of these two criteria is
the main research and development goal in the TTS field.
At the moment, numerous examples of TTS software can be found on the
market, for example stand-alone speech programs that convert all types of
text inserted through an input interface into high quality realistic speech output
J. Sodnik (*)
University of Ljubljana, Faculty of Electrical Engineering, Tržaška 25, 1000 Ljubljana, Slovenia,
Europe
e-mail: [email protected]
(TextAloud [2], VoiceMX STUDIO [3], etc.). Many of them can save the readings
as a media file that can later be played on demand. On the other hand, there are also
several speech synthesis libraries that can be included and used in various program
languages, for example FreeTTS, a TTS library written in Java programming
language [4].
In this article, we propose an extension to the FreeTTS software that enables
text-to-speech conversion in a 3D audio environment. Our solution enables the
positioning of the voice (i.e. the text reader) at any arbitrary spatial position in
relation to the listener. The relative spatial positions of the speaker and the listener
can be updated dynamically in real time while performing text-to-speech conver-
sion. For example, the text can be read from a specific spatial position in relation to
the listener or the position can be dynamically changed and updated.
We believe there are numerous potential applications of such technology, from
screen readers for visually impaired computer users to advanced auditory interfaces
for desktop and mobile devices. In the next chapter, we summarize some related
work which uses both spatial audio and TTS.
2 Related Work
In the past, spatial auditory interfaces were mostly used to enrich audio-only
applications for visually impaired computer users.
Mynatt proposed a general methodology for transforming the graphical inter-
faces into non-visual interfaces [5] by using 3D audio output techniques. Various
salient components of graphical interfaces were transformed into auditory com-
ponents with the so-called auditory icons. The final goal was to present object
hierarchies with sound.
The transformation of MS-Windows interface into spatial audio was proposed
by Crispien [6] and Sodnik [7], both transforming the hierarchical navigation
scheme into a “ring” metaphor. Sodnik used speech output for explaining various
commands to the user.
Nowadays, one of the most commonly used computer applications is a web
browser. Web browsers are used to represent extensive and complex web content
comprising of text, pictures, movies, animations, etc. Visually impaired computer
users use web browsers together with screen readers which process pages sequen-
tially and read the content. Several researchers proposed different and more
advanced auditory versions of web browsers.
The HearSay solution, for example, enabled flexible navigation and form-filling
and also context-directed browsing through extensible VoiceXML dialog interface
[8]. The Csurf application was intended to help with the identification of relevant
information on web pages [9]. When the user followed a web link, CSurf captured
the content and preprocessed it in order to identify the relevant information based
on statistical machine-learning models. The content of the web page was then read
to the user from the most to the least relevant section.
28 Spatial Speaker 361
The aim of our research was the development of a spatial speaker (i.e. synthesized
voice) that can be positioned in arbitrary positions in space and manipulated in real
time. The solution can be used in any of the abovementioned applications. Since
the majority of auditory interfaces is designed to be used by a large group of users
(e.g. visually impaired computer users or users of various mobile devices), gener-
ally available hardware and software should preferably be used for audio rendering.
Our solution is based on Java platform, standard Creative X-Fi soundcard [16] and
some additional components which are also available off the shelf or even for free.
The major drawback of all general spatial audio rendering equipment is its poor
localization accuracy due to the use of simplified HRTF libraries. In our experi-
ment, we tried to improve the localization accuracy with some additional prepro-
cessing of the sound signals.
Our work is different from previous audio rendering techniques in a number of
ways:
l It combines software and hardware spatial audio rendering techniques.
l It improves the accuracy of elevation localization by adding additional HRTF
processing.
l Due to its simplicity, the system can be used in various desktop or mobile
platforms (hardware processing is optional and can be ignored if 3D sound
hardware is not available).
l We propose some innovative ideas for the practical use of such a system and we
already give some results of preliminary evaluation studies and user feedback.
In the following chapter, we describe the system design. All major components
of the system are listed here along with the most important design problems and
solutions. We also propose some future work and additional improvements in this
field.
The system architecture consists of five major modules: four pieces of software
(libraries and Java classes) and a standard sound card with hardware support for 3D
sound. The software part is based on Java programming language with some
additional external plug-ins. The five modules are:
l FreeTTS: speech synthesis system written entirely in Java
l JOAL: implementation of the Java bindings for OpenAL API [17, 18]
l HRTF library from MIT Media Lab (measurements of KEMAR dummy head)
[19]
l A custom made signal processing module
l Creative Sound Blaster X-Fi ExtremeGamer sound card
28 Spatial Speaker 363
3.1 FreeTTS
The MIT HRTF library contains functions in PCM format consisting of 16-bit
samples at 44.1 kHz sampling frequency. In order to be used with the output
of FreeTTS, the samples had to be down-sampled to 16 kHz. In Java, the HRIRs
are defined as arrays of bytes.
The filtering of synthesized samples inp with HRIRel is done by calculating the
convolution between the two arrays.
X
N 1
resel ½n ¼ inp½n mHRIRel ½m (1)
m¼1
the afore-mentioned MIT Media Lab HRTF library was an attempt to improve the
elevation coding in the signals.
JOAL provides the functions for reading external wav files which are then
positioned and played. The samples from wav files are then written to special
buffers and the buffers are attached to the sources with specific spatial character-
istics. In our case, the input to JOAL is an array of samples (the output of FreeTTS
convoluted with HRIR), which is then written directly to buffers.
By using only JOAL library for spatial positioning, the spatial arrangement of
the sources and the listener can be changed at any time. However, in our case only
the changes of the horizontal position can be preformed dynamically through
JOAL. The vertical changes, on the other hand, require preprocessing with new
HRIR.
3.5 Soundcard
Creative Sound Blaster X-Fi Extreme Gamer was used within the system. The
soundcard has a special DSP unit called CMSS-3D, which offers hardware support
for spatial sound generation. CMSS is another type of a generalized HRTF library
used for filtering input sounds. In general, the soundcard can be configured for
output to various speaker configurations (i.e. headphones, desktop speakers, 5.1
surround, etc.), but in our case the use of an additional HRTF library required the
playback through stereo headphones.
Creative Sound Card works well with JOAL (OpenAL) positioning library.
However, if no hardware support can be found for spatial sound, the latter is
performed by the library itself (with a certain degradation of quality).
of ambient noise. Since the primary focus of this paper is the design of the “Spatial
speaker” system, only a short summary of the results and user comments is
provided.
A typical screen reader, the most important tool for visually impaired users to
access and read web content or word processing files, reads the content of the file
sequentially from top left to bottom right corner. Some screen readers describe the
positions of the elements on the page with the aid of the coordinate system. Our
prototype application reads the content of the page as if coming from different
spatial positions relative to the listener. The spatial positions are defined according
to the original position of the element on the page. The reader starts reading the
page at the left top corner and then it moves from left to right and follows the
positions of the text on the page. It finishes at the bottom right corner of the page.
For example, a text appearing on the left side of the page can actually be heard on
the left, the text on the right can be heard on the right, etc. In this way, the
application enables the perception of the actual physical structure of the web
page (Fig. 3).
In a short experiment, the users were asked to describe the approximate structure
of the page by just listening to its content. The majority reported that the positions
of the individual texts could be perceived clearly, but the perception of the entire
structure remained blurry, since no information on images, banners and other web
page elements was given.
The speech synthesizer can also be used to read various messages and notes to
mobile users or to read fiction to visually impaired people. The normal output of
various speech synthesizers is usually very monotonous and dull. We developed a
story reader which separates different characters in the story by assigning them a
location in space. Each specific character in the story as well as the narrator speaks
from a different spatial position according to the listener. The characters with their
corresponding texts can therefore be easily separated from one another. In addition,
the pitch of synthesized speech is changed for each character, which makes the
separation even better.
The input for the speech synthesizer is a normal txt file. All characters or voices
which are to be manipulated and positioned in space need to be tagged with
appropriate coordinates and information about the pitch in order to be recognized
by the system (Fig. 4).
368 J. Sodnik and S. Tomažič
The users listened to five different stories. They were asked to subjectively
evaluate the system without focusing on the content of the stories. The majority
especially liked the additional separation of the characters by pitch. Several users
commented that the accompanying text explaining which of the characters said
something was in some cases almost redundant, since the designated spatial posi-
tions and the corresponding pitch of the speech clearly identified the individual
characters.
A human listener is unable to perceive and understand more than one speech source
at a time, unless the sources are coming from different spatial positions [22].
General text-to-speech converters can therefore be used with just one text input
28 Spatial Speaker 369
and one spoken output. Our “Spatial speaker” can, however, produce multiple
outputs that are separated by their locations in space. We developed a test applica-
tion that reads an arbitrary number of text files and synthesizes speech flows at
different spatial positions relative to the speaker. We evaluated the intelligibility
with two and three sources. The users were positioned at the origin of the coordinate
system (i.e. 0 ,0 ,0 ) and the speech sources were positioned as follows (Fig. 5):
l Two sources: (30 ,0 ,0 ) and (30 ,0 ,0 )
l Three sources: (30 ,0 ,0 ), (0 ,0 ,0 ) and (30 ,0 ,0 )
The preliminary results show that a maximum of two simultaneous speech
sources can be perceived and understood simultaneously. The users reported that
370 J. Sodnik and S. Tomažič
with three sources it was still possible to concentrate on one individual source and
understand the content, but it was impossible to understand all of the speech sources
simultaneously.
This paper describes the development and system design of a 3D speech synthe-
sizer. The system is based on Java platform and comprises of standard program-
ming libraries, custom developed modules and a sound card, all of which are
reprogrammed and modified to fit together. An external MIT Media Lab HRTF
library is used in order to improve the localization accuracy of the system. A
personalized HRTF library can also be measured and used for a specific user,
thus enabling an extremely accurate localization performance and spatial awareness
if required. The current system is realized as a single Java class with some
additional libraries and files and can therefore be imported and used in any Java
application. The system works with any soundcard, since hardware support for 3D
sound is optional and is automatically replaced by the software library if not
present.
In addition to its use as a typical speech synthesizer or TTS converter, the
“Spatial speaker” could also be used as a key component of various auditory
interfaces. It can, for example, be used effectively by visually impaired people or
mobile users-on-the-go. Three different prototype applications are provided in this
paper along with some preliminary results of evaluation studies. Only users with
normal sight participated in the preliminary experiments in order to get some
feedback and ideas for improvements. All three prototypes proved to be interesting
and innovative and potentially useful for visually impaired people. Our next step
will be an extensive user study with visually impaired computer users. We intend to
establish some major advantages of a 3D speech synthesizer over the non-spatial
one.
Acknowledgements This work has been supported by the Slovenian Research Agency within the
research project: “Assisting visually impaired people in using the computer with the aid of spatial
sound”.
References
1. R.A. Cole, Survey of the State of the Art in Human Language Technology (1996)
2. TextAloud (5 Feb 2010). http://www.nextuptech.com
3. VoiceMX STUDIO (5 Feb 2010). http://www.tanseon.com/products/voicemx.htm
4. FreeTTS (5 Feb 2010). http://freetts.sourceforge.net/docs/index.php
5. E.D. Mynatt, Transforming graphical interfaces into auditory interfaces. Doctoral Disserta-
tion, Georgia Institute of Technology, 1995
28 Spatial Speaker 371
Abstract This chapter presents a novel approach for automatic annotation and
content based video retrieval by making use of the features extracted during
the process of detecting commercial boundaries in a recorded Television (TV)
program. In this approach, commercial boundaries are primarily detected using
audio and the detected boundaries are validated and enhanced using splash screen
of a program in the video domain. Detected splash screen of a program at the
commercial boundaries is used for automatic annotation of recorded video which
helps in fast content based video retrieval. The performance and validity of our
approach is demonstrated using the videos recorded from different Indian Television
broadcasts.
1 Introduction
The Television (TV) remains and always has been one of the most powerful
medium of communication since its inception. Today, we are in the next generation
of television where, the additional hardware and software have completely changed
the way the television is watched. The recent technologies such as set-top box
coupled with the reduction of costs for digital media storage have led to the
introduction of personal video recorders (PVR) which are now fairly established
and fast growing part of the TV landscape.
In this context, audiovisual analysis tools that help the user to manage the huge
amount of data are very important to introduce the novel recording devices in the
highly competitive market. Among other analysis tools, detection of TV advertise-
ments is a topic with many practical applications. For instance, from the point of
N. Venkatesh (*)
Innovation Lab, Tata Consultancy Services, Plot no 96, Abhilash building, EPIP Industrial area,
white field main road, Bangalore 560066, India
e-mail: [email protected]
Preprocessing and
Recorded TV Audio Data
Feature Extraction
Program
Video Data
Video Audio
Clue based based
Detection Detection
Automatic
Annotation Video Database
Retrieval Retrieved
Query Image
Process Videos
Image matching of splash screen frame appearing at the start and end of the
commercial is performed using simple pixel intensity based matching.
Further, we make use of the information extracted during the commercial
detection process for automatic annotation and retrieval system which tries to fill
the gap between the low-level media features and high-level concepts for yielding
better performance using computationally simple procedures.
The overall scheme is depicted in the block diagram shown in Fig. 1. In the
remaining sections of this chapter the requisite details of the proposed method and
the relevant performance analysis results are provided.
In the following two subsections audio and video feature extraction issues are
provided.
where, i ¼ 1; 2; . . . ; F and N is the frame length (i.e., the number of samples in the
frame).
As evident from Eq. (1), the short term energy is computed per frame as the sum
of squares of the signal samples normalized by the frame length. But, using only
short time energy would result in large number of falsely detected commercial
boundaries and therefore we have come out with a new feature termed as Energy
Peak Rate (EPR), which is defined as the ratio of total number of energy peaks
exceeding the threshold T to the total number of frames (F) in the evaluation time
interval.
The requisite threshold is heuristically fixed as
1X F
EPR ¼ Ep ð Ei Þ (3)
F i¼1
boundary detected by the audio features to arrive at the exact commercials bound-
aries using video processing. The methodology we have adopted is based on the
extraction of Harris corner points which is presented in the next section.
As a preprocessing step, we convert colour image to gray scale image on which the
subsequent processing is carried out. For detecting the exact boundaries, splash
screen (program name) frames are matched at the start and end of a commercial
break. A typical splash screen, including the program name (from one of the TV
recorded programs) is shown in Fig. 2. The matching is carried out using Harris
corner points, which are nothing but the points on the image where there is
significant change in the brightness in orthogonal directions [2].
The Harris corner detector is a popular interest point detector because of its strong
invariance to rotation, scale, illumination variation and image noise [9]. The
Harris corner detector essentially finds a small number of points useful for matching
or finding correspondence and tracking [10]. This detector is based on the local
auto-correlation function of the image, which measures the local changes of the
image. cðx; y; Dx; DyÞ quantifies how similar is the image function Iðx; yÞ at point
(x,y) to itself, when shifted by ðDx; DyÞ[10]:
X
cðx; y; Dx; DyÞ ¼ wðu; vÞ½Iðu; vÞ Iðu þ Dx; v þ DyÞ2 (5)
ðu;vÞ2W ðx;yÞ
where, Wðx; yÞ is a window centered at point (x,y), and wðu; vÞ is either Gaussian.
Approximating the shifted function Iðu þ Dx; v þ DyÞ by the first-order Taylor
expansion, the autocorrelation can be in turn approximated as
" #
Dx
cðx; y; Dx; DyÞ ffi ½Dx; Dy Qðx; yÞ (6)
Dy
P P
where, wðu; vÞ is represented with its short-hand notation . The
ðu;vÞ2Wðx;yÞ W
requisite corner points are obtained as the local maxima of the corner response
function Hðx; yÞ given by
where, Det and Trace denote the determinant and trace of a matrix respectively and
k is a constant, usually set to the value 0.04 [10]. The local maximum in an image is
defined as a point greater than its neighbors in 33 or even 55 neighborhood.
Figure 3 shows the Harris corner points of the image depicted in Fig. 2.
The approximate commercial boundaries based on the audio feature are detected by
applying heuristics found by elaborate experimentation.
From Eq. (3) if Energy Peak Rate (EPR) exceeds the experimentally found thresh-
old y then we declare that frames of particular time interval lies in the commercial
break segment and hence we will be able to detect the approximate commercial
boundaries. The exact commercial boundaries will be detected by video processing
algorithm as outlined below.
Once the commercial boundaries have been detected, the next step is to remove the
commercial part by retaining only the recorded TV program and during this
process, the splash screen (program name) frame detected in video based boundary
380 N. Venkatesh and M.G. Chandra
There will be a set of query images where each image is a splash screen (program
name) representing the recorded TV programs. It is to be noted that these set of
query images can be incorporated into the modern day set-top box and the asso-
ciated remote can be provided with a dedicated key to facilitate the display of query
images. Later, the query image will be compared with all the first frame of all the
videos and the best match is obtained through correlation matching as explained
below.
The correlation matching technique is simple and computationally fast and
hence it has been used to find the best match between the query image and the set
of images in the database. Query image (A) and the extracted key frame (B) from
the video are converted to binary images and then correlation coefficient is com-
puted between these two images using Eq. (9).
PP
Ai ðm; nÞ Ai Bðm; nÞ B
ri ¼ sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
m n
(9)
PP 2 PP 2
Ai ðm; nÞ Ai Bðm; nÞ B
m n m n
In order to examine the proposed methodology and to carry out the relevant
experimentation, we have recorded eleven videos from seven different Indian TV
stations.
29 Commercial Break Detection and Content Based Video Retrieval 381
Videos are captured at 25 frames per second with 288 352 resolution and the
audio was extracted from these videos and stored in uncompressed wav format at
44,100 kHz with 16 bits per sample for further processing. Commercial details for
the recorded data are provided in Table 1. We have performed our experiments
using MATLAB® programming in Windows operating system. Videos with same
class label indicate that they are different episodes of same TV program which is
helpful during retrieval process.
From Table 3 we observe that using our simple video clues of matching splash
screen video frames at commercial boundaries for refining the boundaries detected
by audio we are able to increase the confidence level of the commercial boundary
detection and able to find the exact commercial boundaries.
One important observation to be made from Tables 2 and 3 is that false events
detected by audio processing is eliminated by the information obtained through
video processing step as the splash screen will not be present at the start and the end
of falsely detected commercial boundaries using audio. We can have a desired trade
off between number of falsely detected events and the number of missed events by
varying a threshold in audio based feature given by Eq. (2).
Once the commercial detection process is completed, the video will be auto-
matically annotated using the key frame with the additional information (see
Section 4.1) appended at the beginning of the video. Currently, the experimentation
has been carried out for seven classes (seven types of recorded TV programs). The
content based video retrieval is checked for all seven classes (query images) using
correlation classifier to match between query and reference images to retrieve the
closest matching automatically annotated videos. Retrieval performance results are
382 N. Venkatesh and M.G. Chandra
comparatively fast and accurate, with no error detected in the limited data set
considered.
This chapter describes the commercial detection for recorded TV program using
audiovisual features. Further, automatic indexing and content based retrieval
algorithm which makes use of the information extracted during commercial detec-
tion is proposed. The system provides the user with complete solution of recording
TV program without advertisement and more importantly, database management of
the recorded TV programs is achieved through automatic annotation and fast content
based video retrieval. The proposed scheme is worked out keeping in mind the
simplicity and time efficiency of the used algorithms.
Our future work will be focused on testing the robustness of the methodology by
applying to wide variety of TV programs like news, serials, reality shows etc,
29 Commercial Break Detection and Content Based Video Retrieval 383
References
Abstract In the recent years, there has been an increasing demand for streaming
high quality multimedia content over wireless networks. Demand for triple play
services (voice, video, data) by a number of simultaneously communicating
users often results in lack of acceptable multimedia quality. In addition, the large
transmission distance and the limited battery power of the hand-held wireless
device serves as a major bottleneck over transmitting video directly from the net-
work operator to the end-users. There has been no successful mechanism developed
till date that would provide live video streaming over wireless networks. In this
paper, clusterDAM – a novel cluster-based architecture is proposed for delivering
adaptive multimedia content over two-hop wireless networks. An intermediate
relay node serves as a proxy-client-server between the base station and the mobile
users which ensures that the multimedia delivery is adapted in real-time according
to the channel conditions and the quality of the multimedia content. An extensive
simulation-based analysis with different kinds of network traffic and protocols
indicate that the cluster-DAM architecture is significantly superior to the traditional
single-hop design, not only in terms of the perceived video quality, but also in terms
of the loss rate and the average bit rate.
1 Introduction
With the advent of third generation (3G) mobile systems, video conferencing and
downloading of movies/documentaries that requires huge file transfers of the order
of several tens of megabytes per second (Mbps) have been in great demand [1].
Multimedia transmission and VoD streaming requires high data rates which can be
H. Venkataraman (*)
S220, Performance Engineering Laboratory, School of Electronic Engineering, Dublin City
University, Glasnevin, Dublin 9, Ireland
e-mail: [email protected]
achieved either by increasing the bandwidth or by increasing the signal power at the
receiver. However, the total bandwidth of the network is controlled by the Govern-
ment and cannot be increased arbitrarily. Similarly, the wireless devices are energy-
constrained units; and hence, the transmission power of these devices cannot be
increased indiscriminately. Significantly however, the power required at the hand-
held device for multimedia decoding and playing is quite high; and this itself drains
the battery power considerably. In this scenario, an efficient mechanism to achieve
high-data rate communication is to use multihop transmission between the source
and destination node [2].
A hierarchical multihop design with a single central entity and several smaller
devices that would serve as intermediate relays is shown in Fig. 1. The relays reduce
the distance between a transmission-reception (Tx-Rx) pair which in turn reduces
the power requirement. At the same time, this increases the achievable maximum
data rate of a communicating link [3]. In addition, with the existence of different
kinds of wireless networks in today’s scenario (GPRS, CDMA2000, UMTS,
WiMAX, WLAN, etc.), the relays could serve as a switching point between the
different networks. In this context, the multihop design can efficiently model
the multiplicity in wireless networks. It has been shown [4] that time division
multihop cellular networks (MCN) offers the potential to integrate various multihop
infrastructure-based wireless networks. In fact, it has been shown in [4] that in
a multihop design with up to five hops, the spectral efficiency is significantly
increased as compared to the single-hop transmission.
A novel cluster-based design for two-hop hierarchical networks has been
recently proposed in [5], wherein, it has been shown that the cluster-based two-
hop design shows a significantly superior performance as compared with the state-
of-the-art resource algorithms. In this paper, Cluster-DAM - a novel cluster-based
architecture is proposed for delivery of adaptive multimedia content in two-hop
cellular networks. A double dumbbell topology that fits the two-hop cellular design
User
BS
PDA
Relays
User
In-
Computer home
2 Cluster-Dam Architecture
Relay
MS MS
r/2
BS
MS
r cluster 1
Fig. 2 Cluster-based
hierarchical two-hop cellular
networks
388 H. Venkataraman and G.M. Muntean
and outer layer of the network region is selected as a cluster-head node, alternately
known as relay. The server always communicates with the users in the outer-layer
through the relay. Hence, the maximum transmission distance of a communicating
pair in the network is r/2 [7].
The relay node serves as a client during its communication with the BS (server);
and as a server while communicating with the end-users. Hence, the relay node can
be described as a proxy-client-server (PCS). In the adaptive multimedia delivery,
there would be several instances where there are multiple clients requesting for the
same video. In case of a single-hop design, this will require multiple encoding of a
single video stream, thereby creating unnecessary load on the BS. However, in the
two-hop design, the video stream could be stored in the PCS. After that, the adapted
stream could be transmitted individually to different clients. Hence, in this regard,
the PCS can also be considered as the database server. A two-hop design between
the BS and the end-users is shown in Fig. 3, wherein the PCS serves as the video
proxy. An adaptation framework incorporated at the PCS divides the incoming
multimedia stream from the server to several chunks of multimedia packets. The
size and length of each chunk depends upon the total size, length and the type of
video to be streamed.
In order to reduce the additional interference arising from the simultaneous
communication of multiple communicating pairs, a Protocol Model is considered
[8] for interference avoidance in the two-hop design. The reusability of the avail-
able spectrum resource (time slot in a time division multiple access system and a
frequency band in a frequency division multiple access system) is increased in the
cluster-based design by allowing two multihop clusters in the network to utilize
the same spectrum resource. It should be noted that the number of clusters in the
cluster-based design need not be always six [9]. But it should be an ‘even’ number
due to the basic principle of simultaneous transmission of communication pairs
located in the diametrically opposite clusters.
The primary aim of integrating QOAS with the cluster-based design in the IEEE
802.16j wireless model is to maintain a high end-user perceived quality even with
30 ClusterDAM: Clustering Mechanism for Delivery 389
an increase in the number of wireless devices in the network. QOAS relies on the
fact that the impact on the end-user perceived quality is greater in case of random
losses than that of controlled reduction in quality [10]. The system architecture of
the feedback-based QOAS includes multiple instances of the end-to-end adaptive
client and server applications [11]. Following ITU-T R. P.910 standard [12], a five
state model is defined for the multimedia streaming process. The QOAS client
continuously monitors the transmission parameters and estimates the end-user
perceived quality. The Quality of Delivery Grading Scheme (QoDGS) regularly
computes Quality of Delivery (QoD) scores that reflect the multimedia streaming
quality in current delivery conditions. These grades are then sent as feedback to the
server arbitration scheme (SAS). The SAS assesses the values of a number of
consecutive QoD scores received as feedback in order to reduce the effect of
noise in the adaptive decision process [13]. Based on these scores SAS suggests
adjustments in the data rate and other parameters.
With an increase in the demand for multimedia streaming in wireless networks, there
have been significant approaches researched in the recent past. TFRCP is a unicast
transport layer protocol, designed for multimedia streaming, and provides nearly the
same amount of throughput as that of TCP on wired networks. The TFRCP controls
rate based on network conditions expressed in terms of RTT and packet loss
probability [14]. Similar to TFRCP, LDAþ (enhanced loss delay adaptation) also
aims to regulate the transmission behavior of multimedia transmitters in accordance
with the network congestion state [15]. LDAþ uses RTP protocol for calculating loss
and delay and uses them for regulating transmission rates of the senders. LDAþ
adapts the streams in a manner similar to that of TCP connections. In comparison,
RBAR is a receiver based auto-rate mechanism. It is a MAC layer protocol and is
based on RTS/CTS mechanism [16]. The main feature of RBAR is that both channel
quality estimation and rate selection mechanism are on the receiver side. This allows
the channel quality estimation mechanism to directly access all of the information
made available to it by the receiver (number of multipath components, symbol error
rate, received signal strength, etc.) for more accurate rate selection.
The end-users are the web-clients which receive the multimedia information.
Figure 4 shows a dumbbell topology for achieving the single-hop communication,
wherein, B1-B2 forms the bottleneck link. B1 is the multimedia source and
transmits information to the n clients C1, C2 L Cn. In case of a two-hop
communication, there is an intermediate relay between the web source and the end-
user client. This can be represented by a double dumbbell topology, as shown in
Fig. 5. The multimedia server is represented by B0, whereas the diametrically
opposite relays are represented by B1 and B2. The end-users S1, S2, . . ., Sn on
one end and C1, C2, . . ., Cn on the diametrically opposite cluster are the multimedia
clients. The major advantage of the double dumbbell topology (cluster-based two-
hop design) over the dumbbell topology (single-hop wireless network) is the
hierarchical formation of the network, and the provision for peer-to-peer commu-
nication among the wireless nodes.
S1 C1
S2 C2
B2 B1
Sn Transmitter / Transmitter
Cn
Receiver / Receiver
Background Background
Traffic Traffic
Sender Receivers
S1 C1
S2 C2
B2 B0 B1
In the simulation environment, B1-B2 in the dumbbell topology and B0-B1, B0-
B2 links in the double dumbbell topology are the bottleneck links, with 2 Mbps
bandwidth and 100 ms latency. The other communicating links connected to the
end-users in the network are over-provisioned. Hence, the congestion in the traffic,
packet loss and delays occur mainly because of the bottleneck link. The buffering at
the ends of the bottle-neck link uses a drop-tail queue of size proportional to the
product of round trip time (RTT) and bottleneck link bandwidth.
The simulation setup consists of a number of mobile nodes distributed in the given
coverage area. There is a centrally located server which covers the whole area. In
order to increase the coverage area and the data rate provided to each node, two
fixed access points (APs) located equidistantly from the server and diametrically
opposite to each other are considered in the system design. The nodes located
between the server and the AP communicates with the server directly. However, the
mobile nodes that are located farther from the server and relatively closer to the AP
communicate with the server through the AP. The APs therefore act as proxy-
client-server between the actual client and server, as shown in Fig. 4. Hence, a
hierarchical structure exists between the server, the relays and the mobile nodes.
The system is simulated using the server and client instances inbuilt in network
simulator, NS-2. The length of all NS-2 simulations is 250s. The video streams are
modeled using Transform Expand Sample (TES) [17] and then encoded using
MPEG4. The primary reason for using MPEG4 is that it supports media streaming
and is suitable for home networking applications with its low bit rate as well as its
interoperability of audio and video signals [18]. The topology proposed assumes a
bandwidth of 5 MHz and 100 ms latency. In the above topology, B0-B1 and B0-B2
links are the bottleneck links. The other links connected to the mobile nodes are
over provisioned. Hence, the congestion in the traffic, packet loss and delays occur
mainly because of the bottleneck link. The buffering at the ends of the bottle-neck
link uses a drop-tail queue of size proportional to the product of round trip time
(RTT) and bottleneck link bandwidth. In each of the envisaged scenarios 95–99%
of the total available bandwidth is used for video and multimedia communication
and the remaining 1–5 is reserved for feedback purpose. A constant PLR of 107 is
assumed throughout the analysis. Similarly, a constant transmission delay of 10 ns
is assumed between the PCS and the mobile nodes.
A binary phase shift keying (BPSK) modulation technique is used at the physical
layer. A slow varying flat fading channel is assumed throughout the simulations.
In addition, a two-ray model with a lognormal shadowing of 4 dB standard devia-
tion is considered [19]. At the MAC layer, an IEEE 802.11 g based distributed
coordination function (DCF) is used. The simulation is done at the packet level and
the performance is evaluated in terms of average bit rate, loss rate and estimated
user perceived quality. The end-user perceived quality is measured by developing
392 H. Venkataraman and G.M. Muntean
a relationship between coding bitrate, packet loss ratio and user-level quality.
Traffic with different sizes and shapes are considered as in [20], so as to emulate
the real life scenario of varieties of traffic sources with different average bit rates.
The network performance is analyzed in terms of the perceived quality, the loss rate
and the average bit rate, not only for QOAS technique, but also compared with other
protocols, i.e., LDAþ, TFRCP and RBAR.
4 Results
Tables 1 and 2 present the performance results for UDP-CBR periodic traffic case,
using ‘dumbbell’ and ‘double dumbbell’ topology respectively. The traffic patterns
are kept identical for both single-hop and clustered two-hop scenario. It can be
Table 1 Performance of dumbbell topology – UDP CBR periodic traffic
Chars Traffic 1 0.6 1 0.6 1 0.8 1 0.8 1 1.0 1 1.0
(Mbps) 20 s on– 30 s on– 20 s on– 30 s on– 20 s on– 30 s on–
40 s off 60 s off 40 s off 60 s off 40 s off 60 s off
Perc. QOAS 3.908 3.809 3.942 3.608 3.809 3.565
video quality
(1–5) LDAþ 3.722 3.624 3.754 3.586 3.609 3.405
TFRCP 3.608 3.493 3.571 3.216 3.282 3.165
RBAR 3.621 3.467 3.279 3.011 2.945 2.829
Loss QOAS 0.18 0.18 0.14 0.14 0.10 0.10
rate (%) LDAþ 0.42 0.42 0.40 0.38 0.24 0.24
TFRCP 0.20 0.18 0.16 0.16 0.14 0.14
RBAR 0.22 0.20 0.18 0.16 0.14 0.14
Avg. bit-rate QOAS 0.726 0.734 0.776 0.763 0.802 0,802
(Mbps) LDAþ 0.713 0.726 0.736 0.734 0.772 0.772
TFRCP 0.708 0.718 0.741 0.740 0.762 0.772
RBAR 0.702 0.721 0.731 0.745 0.758 0.762
observed that for all three kinds of periodic traffic considered, the perceived
quality obtained for the cluster-based two-hop design (double dumbbell topology)
is significantly superior to that obtained using the single-hop design (dumbbell
topology).
For example, in case of 1 0.6 Mbps traffic with 20 s on 40 s off, the
perceived quality obtained with QOAS in the single-hop model is 3.908, whereas
that obtained using the two-hop model is 4.209, an increase of 7.71%. In addition,
for the same traffic model, the perceived quality of QOAS in the single-hop design
is better than any other scheme (LDAþ) by 5.25% (QOAS has a Q of 3.908 whereas
LDAþ has a Q of 3.7025). However, in case of a cluster-based two-hop design, the
improvement in the perceived quality between QOAS and LDAþ is at least 9.97%,
almost twice the benefit obtained from ‘dumbbell’ topology. As seen from Tables 1
and 2, the improvement of double dumbbell topology over dumbbell topology is
observed consistently across different UDP-CBR traffics.
In a similar result, in case of UDP-CBR staircase traffic, the perceived quality
obtained from the ‘double dumbbell’ topology scores significantly over the ‘dumb-
bell’ scheme, as can be seen from Tables 3 and 4. For example, in case of 4 0.4
Mbps (Up 40 s steps), the perceived quality of QOAS using ‘dumbbell’ scheme is
3.808, whereas the same using ‘double dumbbell’ scheme is 4.298, an increase of
12.87%. It can be observed from Tables 3 and 4 that the improvement in the average
bit rate and the loss rate is also notably high in case of the double dumbbell
topology, as compared to the dumbbell scheme. Similarly, the improvement in
loss rate for QOAS is over six times (0.04 using ‘double dumbbell’ and 0.24 using
dumbbell). Importantly, this performance improvement remains consistent over
different scenarios of staircase traffic, as shown in Tables 3 and 4.
In the Internet environment, traffic is generally bursty, as in case of FTP traffic.
Tables 5 and 6 shows the performance for different FTP and WWW traffic
models for the duration of 250 s. Similar to the results obtained in case of UDP
transmission, the performance of the ‘double dumbbell’ topology is superior to that
obtained from the ‘dumbbell’ topology for both FTP and WWW traffic.
5 Conclusions
Acknowledgements The authors would like to acknowledge Dr. Sinan Sinanovic and Prof.
Harald Haas from the University of Edinburgh for their input during the initiatory stages. Also,
the authors would like to thank Irish Research Council for Science Engineering and Technology
(IRCSET) for supporting this research work.
References
1. B. Li, H. Yin, Peer-to-peer Live Video Streaming on the Internet: Issues, Existing Approaches
and Challenges. IEEE Commun. Mag. 45(6), 94–99 (2007)
2. S. Toumpis, A.J. Goldsmith, Capacity regions for wireless ad hoc networks. IEEE Trans.
Wireless Commun. 2(4), 736–748 (2003)
3. H. Venkataraman, G.M. Muntean, Analysis of random data hopping in distributed multihop
wireless networks, in Proceedings of IEEE Region Ten Conference (TENCON), Hyderabad,
India, 18–21 Nov 2008
4. Y. Liu, R. Hoshyar, X. Yang, R. Tafazolli, Integrated radio resource allocation for multihop
cellular networks with fixed relay stations. IEEE J. Selected Areas Commun. 24(11),
2137–2146 (Nov 2006)
5. H. Venkataraman, S. Sinanovic, H. Haas, Cluster-based design for two-hop cellular networks.
Int. J. Commun. Netw. Syst. (IJCNS) 1(4), Nov 2008
6. H. Venkataraman, P. Kalyampudi, A. Krishnamurthy, J. McManis G.M. Muntean, Clustered
architecture for adaptive multimedia streaming in WiMAX based cellular networks, in
Proceedings of World Congress on Engineering and Computer Science (WCECS), Berkeley,
San Francisco, CA, Oct 2009
396 H. Venkataraman and G.M. Muntean
Luis González
1 Introduction
In many different scientific, technical or social areas, one can find phenomena
depending on an arbitrarily large number n of basic random Boolean variables. In
other words, the n basic variables of the system are assumed to be stochastic and
they only take two possible values: either 0 or 1. We call such a system: a complex
L. González
Research Institute IUSIANI, Department of Mathematics, University of Las Palmas de Gran
Canaria, Campus Universitario de Tafira, 35017 Las Palmas de Gran Canaria, Spain
e-mail: [email protected]
stochastic Boolean system (CSBS). Each one of the 2n possible elementary states
associated to a CSBS is given by a binary n-tuple u¼(u1,. . . , un) 2 {0,1}n of 0s and
1s, and it has its own occurrence probability Pr{(u1,. . . , un)}.
Using the statistical terminology, a CSBS on n variables x1,. . . , xn can be
modeled by the n-dimensional Bernoulli distribution with parameters p1,. . . , pn
defined by
Prfxi ¼ 1g ¼ pi ; Prfxi ¼ 0g ¼ 1 pi ;
Throughout this paper we assume that the n Bernoulli variables xi are mutually
statistically independent, so that the occurrence probability of a given binary string
u¼(u1,. . . , un) 2 {0,1}n of length n can be easily computed as
Y
n
Prfug ¼ pui i ð1 pi Þ1ui ; (1)
i¼1
that is, Pr{u} is the product of factors pi if ui¼1, 1pi if ui¼0 [6].
Example 1. Let n¼4 and u¼(0,1,0,1) 2 {0,1}4. Let p1¼0.1, p2¼0.2, p3¼0.3,
p4¼0.4. Then, using Eq. 1, we have
main result: We exactly obtain the ranking interval for each given binary string u,
and we illustrate our propositions with a simple, academic example. Finally, in
Section 5, we present our conclusions.
X
n X
n
ðu1 ; . . . ; un Þ uð10 ¼ 2ni ui ; wH ðuÞ ¼ ui ;
i¼1 i¼1
According to Eq. 1, the ordering between two given binary string probabilities
Pr{u} and Pr{v} depends, in general, on the parameters pi, as the following simple
example shows.
Example 2. Let n ¼ 3; u ¼ (0,1,1) and v¼(1,0,0). Using Eq. 1 we have
Then the probability of the binary n-tuple v ¼ (v1,. . .,vn) is intrinsically less than or
equal to the probability of the binary n-tuple u ¼ (u1,. . .,un) (that is, for all set
{pi}ni¼1 satisfying (2)) if and only if the matrix
400 L. González
!
u1 . . . un
Muv :¼
v1 . . . vn
either has no ð10Þ columns, or for each ð10Þ column in Mvu there exists (at least) one
corresponding preceding ð01Þ column (IOC).
Remark 1. In the following, we assume that the parameters pi always satisfy
condition (2). Note that this hypothesis is not restrictive for practical applications
because, if for some i : pi > 12 , then we only need to consider the variable
xi ¼ 1 xi , instead of xi. Next, we order the n Bernoulli variables by increasing
order of their probabilities.
Remark 2. The ð01Þ column preceding to each ð10Þ column is not required to be
necessarily placed at the immediately previous position, but just at previous position.
Remark 3. The term corresponding, used in Theorem 1, has the following meaning:
For each two ð10Þ columns in matrix Mvu, there must exist (at least) two different ð01Þ
columns preceding to each other. In other words: For each ð10Þ column in matrix
Mvu, the number of preceding ð01Þ columns must be strictly greater than the number
of preceding ð10Þ columns.
The matrix condition IOC, stated by Theorem 1, is called the intrinsic order
criterion, because it is independent of the basic probabilities pi and it intrinsically
depends on the relative positions of the 0s and 1s in the binary n-tuples u,v.
Theorem 1 naturally leads to the following partial order relation on the set {0,1}n
[1]. The so-called intrinsic order will be denoted by “ ”, and we shall write v u
(u v) to indicate that v (u) is intrinsically less (greater) than or equal to u (v).
Definition 1. For all u,v 2 {0,1}n
v u iff Prfvg Prfug for all set fpi gni¼1 s.t. ð2Þ
From now on, the partially ordered set (poset, for short) ({0,1}n, ) will be
denoted by In.
do not satisfy IOC (Remark 3). Thus, (0,1,1) and (1,0,0) are incomparable by
intrinsic order, i.e., the ordering between Pr{(0,1,1)} and Pr{(1,0,0)} depends on the
parameters {pi}3i¼1, as Example 2 has shown.
31 Ranking Intervals in Complex Stochastic Boolean Systems 401
n
n
0; .^
..;0 0 and 1; .^
. . ; 1 2n 1
are the maximum and minimum elements, respectively, in the poset In. Indeed, both
matrices
0 ... 0 . . . unu1
and
u1 ... un ... 1 1
1
satisfy the intrinsic order criterion, since they have no columns!.Thus, for all
0
u 2 {0,1}n and for all {pi}ni¼1 s.t. (2)
n n o n n o
Pr 1; .^
..;1 Prfðu1 ; . . . ; un Þg Pr 0; .^
..;0 :
Many different properties of the intrinsic order relation can be derived from its
simple matrix description IOC (see, e.g., [1–3]). For the purpose of this paper, we
need recall here the following necessary (but not sufficient) condition for intrinsic
order; see [2] for the proof.
Now, we present, in Fig. 1, the graphical representation of the poset In. The usual
representation of a poset is its Hasse diagram (see, e.g., [7] for more details about
posets and Hasse diagrams). This is a directed graph (digraph, for short) whose
vertices are the binary n-tuples of 0s and 1s, and whose edges go downward from u
to v whenever u covers v (denoted by u B v), that is, whenever u is intrinsically
greater than v with no other elements between them, i.e.,
402 L. González
0
|
1
|
0 2
| |
1 3 4
0 | |
| 2 5 8
0 | |
1 |
| 3 4 9
| 6
1 2 | |
|
| 5 7 10
3 | |
6 11 12
| |
7 13
|
14
|
15
The Hasse diagram of the poset In will be also called the intrinsic order
graph for n variables. For all n2, in [3] we have developed an algorithm for
iteratively building up the digraph of In from the digraph of I1. Basically, In is
obtained by adding to In1 its isomorphic copy 2n1 þ I n1 : A nice fractal
property of In!
In Fig. 1, the intrinsic order graphs of I1, I2, I3 and I4 are shown, using the
decimal numbering instead of the binary representation of their 2n nodes, for a more
comfortable and simpler notation. Each pair (u,v) of vertices connected in the
digraph of In either by one edge or by a longer descending path (consisting of
more than one edge) from u to v, means that u is intrinsically greater than v, i.e.,
u v. On the contrary, each pair (u,v) of non-connected vertices in the digraph of In
either by one edge or by a longer descending path, means that u and v are
incomparable by intrinsic order, i.e., u v and v u.
Looking at any of the four graphs in Fig. 1, we can confirm the properties of the
intrinsic order stated by both Example 5 and Corollary 1.
In the following two definitions, we present three subsets of {0,1}n related to each
binary n-tuple u 2 {0,1}n.
31 Ranking Intervals in Complex Stochastic Boolean Systems 403
Definition 2. For every binary n-tuple u 2 {0,1}n, the set Cu (the set Cu, respec-
tively) is the set of all binary n-tuples v whose occurrence probabilities Pr{v}
are always less (greater, respectively) than or equal to Pr{u}, i.e., according to
Definition 1, those n-tuples v intrinsically less (greater, respectively) than or
equal to u, i.e.,
Definition 3. For every binary n-tuple u 2 {0,1}n, Inc{u} is the set of all binary n-
tuples v intrinsically incomparable with u, i.e.,
n n n
^
C 0;...; 0 ¼ f0; 1gn ¼ Cð1;...;
^ 1 ; Inc
n
Þ 0; .^
. . ; 0 ¼ fg ¼ Inc 1; .^
..;1
Cu \ Cu ¼ fug: (6)
The sets Cu and Cu are closely related via complementary n-tuples, as described
with precision by the following definition and theorem (see [4] for the proof).
uc ¼ ðu1 ; . . . ; un Þc ¼ ð1 u1 ; . . . ; 1 un Þ:
The complementary set of a given subset S {0,1}n of binary n-tuples is the set of
the complementary n-tuples of all the n-tuples of S
Sc ¼ fuc j u 2 Sg:
c c
Cu ¼ Cu ; Cu ¼ ½Cuc c : (7)
404 L. González
(ii) The vector of positions of 0s of u is the vector of positions of its (nm) 0-bits,
displayed in increasing order from the left-most position to the right-most position,
and it will be denoted by
0
u ¼ i01 ; . . . ; i0nm n ; 1 i01 < <i0nm n; 0 m<n:
In [4], the author presents an algorithm for obtaining the set Cu, for each given
binary n-tuple u. Basically, this algorithm determines Cu by expressing the set
difference {0,1}nCu as a set union of certain half-closed intervals of natural
numbers (decimal representation of bitstrings). The next two theorems present
new, more efficient algorithms for rapidly determining Cu and Cu, using the binary
representation of their elements. Moreover, our algorithms allow us not only to
generate, but also to count the number of elements of Cu and Cu.
Theorem 3. Let u 2 {0,1}n, u6¼0, with (nonzero) Hamming weight wH{u} ¼ m (0 <
m n). Let u ¼ {i11,. . .,im1}n1be the vector of positions of 1s of u. Then Cu is the set
of binary n-tuples v generated by the following algorithm:
The Algorithm for Cu
(i) Step 1 (Generation of the sequences {j11,. . .,jm1}) :
For j11 ¼ 1 to i11 Do:
For j12 ¼ j11 þ 1 to i21 Do:
For j1m ¼ j1m1 þ 1 to im1 Do:
Write {j11,j21,. . .,jm1}
EndDo
EndDo
EndDo
31 Ranking Intervals in Complex Stochastic Boolean Systems 405
X X X
1 1 1
i1 i2 im
1
jC j ¼
u
2njm : (9)
j11 ¼1 j12 ¼j11 þ1 j1m ¼j1m1 þ1
v 2 Cu , u v ) m ¼ wH ðuÞ wH ðvÞ;
that is, the Hamming weight of every n-tuple v2Cu is necessarily greater than or
equal to the Hamming weight m of u. So, all n-tuples v of Cu must contain at least
m 1-bits.
First, note that, according to Definition 1, u v if and only if matrix Mvu satisfies
IOC. That is, either Mvu has no ð10Þ columns, or for each ð10Þ column in Mvu there exists
(at least) one corresponding preceding ð01Þ column. But, obviously, IOC can be
equivalently reformulated as follows: For each 1-bit in u there exists at least one
corresponding 1-bit in v, placed at the same or at a previous position. This reduces
the characterization of the elements v2Cu to the vectors of positions of 1-bits in u
and v and thus, according to the notation used in Definition 5-(i), we derive that v 2
Cu with wH ðvÞ ¼ m ¼ wH ðuÞ if and only if
Theorem 4. Let u 2 {0,1}n, u6¼2n 1, with Hamming weight wH(u) ¼ m (0 m <
0
n). Let u ¼ i10 ; . . . ; inm 0
n
be the vector of positions of 0s of u. Then Cu is the set of
binary n-tuples v generated by the following algorithm:
The Algorithm for Cu
(i) Step 1 (Generation of the sequences {j10,. . .,jnm0} :
For j10 ¼ 1 to i10 Do:
For j20 ¼ j10 þ 1 to i20 Do:
For jnm 0
¼ jnm1
0
þ 1 to inm 0
Do:
Write {j1 ,j2 ,. . .,jnm }
0 0 0
EndDo
EndDo
EndDo
(ii) Step 2 (Generation of the n-tuples v 2 Cu):
For every sequence {j10,. . .,jnm0} generated by Step 1, define the binary n-tuple
v ¼ (v1,. . .,vn ) as follows
8
< 0 if i 2 j1 ; . . . ; jnm ;
0 0
>
vi ¼ 1 if i= 2 j01 ; . . . ; j0nm ; i<j0nm ; (11)
>
:
2 j01 ; . . . ; j0nm ; i>j0nm :
0; 1 if i=
X
0
X
0
X
i1 i2 0
im
0
jCu j ¼ 2njnm : (12)
j01 ¼1 j02 ¼j01 þ1 j0nm ¼j0nm1 þ1
Proof. For proving this theorem, it is enough to use Theorems 2 and 3. More
precisely,
uc c due to the duality property stated by Theorem 2, we get that v 2 Cu iff v 2
c
C iff vc 2 Cu . Then the proof is concluded using the obvious fact that the 0-bits
and 1-bits in u and v become the 1-bits and 0-bits, respectively, in uc and vc. □
Remark 5. Note the strong duality relation between Theorems 3 and 4. The
statement of each theorem is exactly the statement of the other one after inter-
changing 1s and 0s, Cu and Cu. Indeed, due to Theorem 2,
one can determine the set
c c
Cu (Cu, respectively) by determining the set ½Cuc c ( Cu , respectively) using
Theorem 4 (Theorem 3, respectively).
4 Ranking Intervals
For each given binary n-tuple u 2 {0,1}n, the next theorem provides us with the
closed interval covering all possible values of the rank (position) of u in the list of
all binary n-tuples arranged by decreasing order of their occurrence probabilities.
31 Ranking Intervals in Complex Stochastic Boolean Systems 407
We call this interval “the ranking interval of u”. The following is the main result of
this paper.
Theorem 5 (The ranking interval). Let n 1 and u 2 {0,1}n. Then the ranking
interval of u is
where |Cu| and |Cu| are respectively given by Eqs. 12 and 9. Moreover, the length of
the ranking interval of u coincides with the number of binary n-tuples incomparable
by intrinsic order with u, i.e.,
Proof. On one hand, using Eq. 6 we have that u 2 Cu. Then, in the list of all
binary n-tuples arranged by decreasing order of their occurrence probabilities, at
least |Cu|1 binary strings are always below u. Thus, in that list, u is always among
the positions 1 (the first possible position) and 2n ðjCu j 1Þ (the last possible
position), i.e.,
u 2 ½ 1 ; 2n þ 1 jCu j : (15)
On the other hand, using again Eq. 6 we have that u2Cu. Then, in the list of all
binary n-tuples arranged by decreasing order of their occurrence probabilities, at
least |Cu|1 binary strings are always above u. Thus, in that list, u is always among
the positions |Cu| (the first possible position) and 2n (the last possible position), i.e.,
u 2 ½ jCu j ; 2n : (16)
First, the left-most inequality in Eq. 18, i.e., 1 |Cu| is obvious taking into
account that u 2 Cu (see Eq. 6).
Second, the right-most inequality in Eq. 18, i.e., 2n þ 1 jCu j 2n , that is, 1 |
C | is obvious taking into account that u 2 Cu (see Eq. 6).
u
Third, the central inequality in Eq. 18, i.e., jCu j 2n þ 1 jCu j, that is,
jCu j þ jCu j 2n þ 1 immediately follows from Eq. (6). That is, using the inclu-
sion-exclusion formula, we have
as was to be shown. □
The following example illustrates Theorems 3, 4 and 5.
Example 7. Let n¼5 and u ¼ 21 ð1; 0; 1; 0; 1Þ. Then, we have m ¼ wH ðuÞ ¼ 3,
n m ¼ 2, and
1 0
u ¼ i11 ; i12 ; i13 5
¼ ½1; 3; 5 15 ; u ¼ i01 ; i02 5
¼ ½2; 4 05 :
Using Theorems 3 and 4 we can generate all the 5-tuples v2Cu and all the 5-tuples
v2Cu, respectively. Results are depicted in Tables 1 and 2, respectively. The first
column of Tables 1 and 2, show the auxiliary sequences generated by Step 1 in
Theorems 3 and 4, respectively. The second column of Tables 1 and 2, show all the
binary 5-tuples v2Cu and v2Cu generated by Step 2 in Theorems 3 and 4, respec-
tively. The symbol “∗” means that we must choose both binary digits: 0 and 1, as
described by the last line of (8) and (11). According to (9) and (12), the sums of all
quantities in the third column of Tables 1 and 2, give the number of elements of Cu
and Cu, respectively, using just the first columns, so that we do not need to obtain
these elements by the second columns.
So, on one hand, regarding the bitstrings intrinsically comparable with u, from
Tables 1 and 2 we have
Cu ¼ f21; 22; 23; 25; 26; 27; 28; 29; 30; 31g; jCu j ¼ 10;
Cu ¼ f0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 16; 17; 18; 19; 20; 21g; jCu j ¼ 20
½ jCu j ; 2n þ 1 jCu j ¼ ½ 20 ; 23 :
5 Conclusions
For any fixed binary n-tuple u, two dual algorithms for rapidly generating the set Cu
(Cu, respectively) of binary n-tuples that are always (i.e., intrinsically) less (more,
respectively) probable than u have been presented. These algorithms, exclusively
based on the positions of the 1-bits (0-bits, respectively) of u, also allow one to
count the elements of Cu (Cu, respectively) with no need to previously obtain them.
From the cardinalities of the sets Cu and Cu, we have exactly obtained the ranking
interval for the binary n-tuple u, i.e., the interval of all possible positions (ranks) of
u in the list of all the 2n binary n-tuples arranged by decreasing order of their
occurrence probabilities. By the way, the length of the ranking interval for u, gives
us the exact number of binary n-tuples v intrinsically incomparable with u. Appli-
cations can be found in many different scientific or engineering areas modeled by a
CSBS.
References
1. L. González, A new method for ordering binary states probabilities in reliability and risk
analysis. Lect. Notes Comp. Sci. 2329, 137–146, (2002)
2. L. González, N-tuples of 0s and 1s: necessary and sufficient conditions for intrinsic order. Lect.
Notes Comp. Sci. 2667, 937–946 (2003)
3. L. González, A picture for complex stochastic boolean systems: the intrinsic order graph. Lect.
Notes Comput. Sci. 3993, 305–312(2006)
4. L. González, Algorithm comparing binary string probabilities in complex stochastic Boolean
systems using intrinsic order graph. Adv. Complex Syst. 10(Suppl. 1), 111–143 (2007)
5. L. González, D. Garcı́a, B. Galván. An intrinsic order criterion to evaluate large, complex fault
trees. IEEE Trans. Reliab. 53, 297–305 (2004)
6. W.G. Schneeweiss, Boolean Functions with Engineering Applications and Computer Pro-
grams (Springer, New York, 1989)
7. R.P. Stanley, Enumerative Combinatorics, vol. 1 (Cambridge University Press, Cambridge,
1997)
Chapter 32
Predicting Memory Phases
Michael Zwick
Abstract The recent years, phase classification has frequently been discussed as a
method to guide scheduling, compiler optimizations and program simulations. In this
chapter, I introduce a new classification method called Setvectors. I show that the new
method outperforms classification accuracy of state-of-the-art methods by approxi-
mately 6–25%, while it has about the same computational complexity as the fastest
known methods. Additionally, I introduce a new method called PoEC (Percentage of
Equal Clustering) to objectively compare phase classification techniques.
1 Introduction
It is well known that the execution of computer programs shows cyclic, reoccuring
behavior over time. In one time interval, a program may get stuck waiting for I/O,
in another time interval, it may likely stall on branch misprediction or wait for the
ALU (Arithmetic Logic Unit) to complete its calculations. These intervals of specific
behavior are called phases. Phase classification is the method that analyzes programs
and groups program intervals of similar behavior to equal phases [5, 7, 8, 12].
To identify phases, programs are split into intervals of a fixed amount of
instructions. Then, these intervals are analyzed by some method to predict their
behavior. Intervals showing similar behavior are grouped together to form a specific
class of a phase. Therefore, a phase is a set of intervals that show similar behavior
while discarding temporal adjacency. The phase information of a program can be
used to guide scheduling, compiler optimizations, program simulations, etc.
Several phase classification techniques have been proposed the recent years,
many of which rely on code metrics such as Basic Block Vectors [12] and Dynamic
M. Zwick
Lehrstuhl f€ur Datenverarbeitung, Technische Universit€at M€unchen, Arcisstr. 21, 80333 M€
unchen,
Germany
e-mail: [email protected]
Branch Counts [3]. Since code related methods only have low correlation with
memory hierarchy behavior, several memory related phase classification methods
have been proposed to predict L1 and L2 processor cache misses, such as wavelet
based phase classification [5], Activity Vectors [11] and Stack Reuse Distances [4].
In this chapter, I introduce a new phase classification technique called Setvector
method to predict L2 cache performance. On the basis of ten SPEC2006 bench-
marks, I show that the mean accuracy of the Setvector method outperforms the
Activity Vector method by about 6%, the Stack Reuse Distance method by about
18% and the wavelet based method by about 25%. Further, I introduce a new metric
called PoEC (Percentage of Equal Clustering) to objectively evaluate different
phase classification methods and make them comparable to one another.
The remainder of this chapter is organized as follows: Section 2 describes state-
of-the-art phase classification techniques, Section 3 presents the Setvector method,
Section 4 introduces PoEC as a methodology to evaluate phase classification
accuracy, Section 5 presents the results and Section 6 concludes this chapter.
Huffmire and Sherwood [5] use Haar wavelets [13] to perform phase classification.
First, they create 16 16 matrices for each interval of 1 million instructions.
Therefore, they split each set of 106 instructions into 20 subsets of 106 =20 ¼ 50; 000
instructions forming 20 column vectors. They determine the elements of every such
column vector by calculating m ¼ ððaddress%MÞ ð400=MÞÞ for each address in
the corresponding subset, where ‘%’ is the modulo operator and M ¼ 16k the modulo
size that has been matched to the L1 cache size. By iterating over each address of the
50k instructions, Huffmire and Sherwood fill up the rows of the column vectors
by summing up the occurences of each m (0m<400) in a histogram manner.
After having calculated each of the 20 400 1 column vectors, they scale the
resulting 400 20 matrix to a 16 16 matrix using methods from image scaling.
32 Predicting Memory Phases 413
In a second step, they calculate the Haar wavelet transform [13] for each 16 16
matrix and weight the coefficients according to [6].
In a third step, Huffmire and Sherwood apply the k-means clustering algorithm
[10] on the scaled wavelet coefficients and compare the clusters with the hitrates of
the corresponding intervals, gained by a cache simulator.
In my implementation of the wavelet technique, I followed Huffmire’s and
Sherwood’s description except for the following: I split each 106 instructions in
16 intervals of 64k instructions each to omit the scaling from 20 to 16 columns.
Additionally, I utilized the MCCCSim Simulator [14] that is based on Huffmire’s
and Sherwood’s cache simulator anyway. I implemented everything else as it as
been presented by [5].
Since the top-left element of the coefficient matrix corresponds to the mean
value of the original matrix, I also clustered all top-left elements of the coefficient
matrices and compared the results of the clustering process to the L2 hitrates of the
corresponding intervals.
As the wavelet transform seems not an obvious choice of algorithm for this
problem, yet it achieved good results shown by Huffmire and Sherwood, I decided
to replace the wavelet transformation by a SVD (Singular Value Decomposition)
M ¼ USVT in another experiment to probe if a more general method could find
more information in the data matrix. I clustered both columns and rows of U and V
respectively but could not find any impressive results, as I will show in Section 5.
Settle et al. [11] propose to use Activity Vectors for enhanced SMT (simultaneous
multi-threaded) job scheduling. The Activity Vectors are used like a phase classifi-
cation technique to classify program behavior with respect to memory hierarchy
performance. The Activity Vector method has been proposed as an online classifi-
cation method that relies on a set of on-chip event counters that count memory
accesses to so-called Super Sets. Note that Settle et al. include both access count
and cache miss information in their Activity Vectors. In my evaluation however,
I exclusively incorporate access count information.
I implemented the Activity Vector method in software and applied the same
tracefile data that I applied to all the other simulations mentioned in this chapter. To
use the Activity Vector method as a phase classification method, I clustered both the
vectors and the length of each vector and compared the clustering results with the
L2 cache performance of the corresponding intervals.
In Section 5, I show that the Activity Vector method on average achieves better
results than the wavelet based method.
Beyls and D’Hollander [1] propose to use the so-called Stack Reuse Distance as a
metric for cache behavior. They define the Stack Reuse Distance of a memory
414 M. Zwick
access as the number of unique memory addresses that have been referenced
since the last access to the requested data. In Section 5, I show that on average,
the classification performance of the Stack Reuse Distance method lies between the
wavelet and the Activity Vector method, whereas its calculation takes a huge
amount of time.
Although many other techniques for phase classification have been proposed such
as Basic Block Vectors [12], Local/Global Stride [8], Working Set Signatures [2]
etc., I omitted to compare the Setvector technique to those methods as it has been
shown that they are outperformed by other methods, for example the wavelet based
method [5].
In this section, I describe the Setvector based phase classification method. Setvec-
tors are as easily derived as they are effective: For all addresses of an interval and
an n-way set-associative cache, determine the number of addresses with different
key that are mapped to the same cache set. That means: Given a L2 cache with 32 bit
address length that uses b bits to code the byte selection, s bits to code the selection
of the cache set and k ¼ 32 s b bits to code the key that has to be compared to
the tags stored in the tag RAM, do the following:
l Extract the set number from the address, e.g. by shifting the address k bits to the
left and then unsigned-shifting the result kþb bits to the right.
l Extract the key from the address, e.g. by unsigned-shifting the address sþb bits
to the right.
l In the list for the given set, determine whether the given key is already present.
l If the key is already present, do nothing and process the next address.
l If the key is not in the list yet, add the key and increase the counter that
corresponds to that set.
More formally written: Starting with a tracefile
T ¼ fai j1 i tg (1)
that contains t memory addresses ai, 1it that are grouped into intervals of a fixed
amount of instructions, split the tracefile into a set of access vectors ai, each
representing an interval of several ai:
T ¼ ½a1 ac (2)
32 Predicting Memory Phases 415
Now, for each ai and caches with a row size of r byte and a way size of w byte,
derive the set vector
si ¼ ½s1 ss T (3)
by
a ða%wÞ ðða%wÞ%rÞ a
Si ja 2 ai ; ¼ i; 2= Si (4)
r r r
X
si ¼ minð2n 1; 1Þ (5)
a=r2Si
with ‘%’ representing the modulo operator and n the maximum number of bits
allowed to code the set vector elements, if there should be such a size constraint.
This way, each element of a set vector contains for each corresponding interval the
number of addresses that belong to the same cache set, but have a different cache
key – saturated by n, the number of bits at most to be spent for each vector element.
Due to this composition, the Setvectors directly represent cache set saturation, a
measure that is highly correlated with cache misses.
In Section 5, I show that on average, the Setvector method outperforms all
methods mentioned in Section 2.
Lau et al. [8] define the Coefficient of Variation (CoV) as a metric to measure the
effectiveness of phase classification techniques. CoV measures the standard devia-
tion as percentage of the average and can be calculated by
si
X
phases
averagei intervalsi
CoV ¼ : (6)
i¼1
total intervals
Huffmire and Sherwood adapt this metric by omitting the division by the
average, resulting in the weighted standard deviation
X
phases
si intervalsi
sweighted ¼ : (7)
i¼1
total intervals
Being derived from standard deviation, both CoV and sweighted denote better
clustering performance by smaller values. However, the CoV metric (as well as
sweighted) may describe the standard deviation of the L2 cache performance in each
phase, but not the correlation between L2 cache performance and the different
phases, what should be the key evaluation metric for phase classification. There-
fore, I developed the PoEC (Percentage of Equal Clustering) metric that can be
calculated as follows:
416 M. Zwick
Consider the cluster vector g as a vector that holds, for each index, the phase of
the corresponding 16 16 scaled matrix. In a first step, sort the elements of the
cluster vector g according to its phases, such that 8i21::indeces : gi giþ1 . Then, in a
second step, calculate the percentage of equal clustering by
Pindeces
ðgh;i ¼¼ gx;i Þ
PoEC ¼ 2 min i¼1
; 0:5 0:5 (8)
indeces
This way, high correlation between L2 cache performance and the cluster
vectors result in PoEC values near 1 and low correlation corresponds to values
near 0, with 0PoEC1.
Figures 1 (CoV) and 2 (PoEC) show the difference between those metrics by
clustering some SPEC2006 benchmarks in two phases (“good ones” and “bad ones”)
using the wavelet method and plotting the phases (each ring corresponds to one
interval) against the L2 hitrate of the corresponding intervals. As L2 cache hitrates
of the same magnitude should be classified into the same class, a good clustering
is achieved if one class contains higher hitrates and the other contains lower
hitrates, as it is the case for the “milc”, “soplex”, “lbm” and “bzip2” benchmarks.
Figure 1 shows the clustering of the SPEC2006 benchmark programs sorted by
their CoV value (calculated according to formula 6). While analyzing Figure 1, one
can observe the following: There are benchmarks that achieve good clustering, such
as “soplex”, “milc”, “bizp2” and “lbm”. And there are benchmarks that do not
cluster well at all, such as “hmmer”, “libquantum”, “gobmk”. But the point is: The
clustering quality does not fit the CoV value the plots are arranged by. Although not
plotted in this place, the sweighted metric shows similar behavior.
In Figure 2, the programs are sorted according to their PoEC value (calculated
according to formula 8). Although the clustering is the same, this time the clustering
quality does fit the PoEC value the plots are arranged by.
As the PoEC metric is obviously more applicable to evaluate clustering perfor-
mance, I decided to omit both sweighted and CoV and to perform the evaluation of
the phase classification techniques using the PoEC metric.
5 Results
Figure 3 shows the PoEC values for each of the mentioned methods for ten
SPEC2006 benchmarks. For the Activity Vectors, I clustered the vector as well
as the magnitude of the vector |Activity Vector|. For the Haar wavelet method, I
32 Predicting Memory Phases 417
0.90
0.94
0.85
0.85
0.92
0.85 0.80
0.60
0.75 0.60 0.40
0.65
0.40 0.20
1 2 1 2 1 2
0.60
0.70 0.75
0.40
0.60 0.65
0.20
0.50
0.55 0.00
1 2 1 2 1 2
0.60 0.60
L2 hitrate
0.02
0.50 0.40
0.40 0.01
0.20
0.30
0.00 0.00
1 2 1 2 1 2
Cluster Cluster Cluster
clustered both the scaled matrix and the left-top matrix element (Haar wavelet[0]
[0]). For the Setvectors, I clustered the magnitude of the Setvectors; for the Stack
Reuse Distances, I clustered the Stack Distance Vector. The results shown for the
418 M. Zwick
0.80
0.85
0.70 0.94
0.75 0.60
0.92
0.65 0.50
0.90
1 2 1 2 1 2
0.90 0.80
0.40
0.50 0.60
0.75
0.40
0.65 0.40
0.30
0.55 0.20
1 2 1 2 1 2
0.02
0.60
0.85 0.40
0.01
0.20
0.75 0.00 0.00
1 2 1 2 1 2
Cluster Cluster Cluster
SVD originate from the column space of U, that has been calculated from the scaled
matrices described above. Column/Rowspace of V didn’t achieve any better results.
PoEC values near 1 indicate good classification performance, PoEC values near
32 Predicting Memory Phases 419
0 indicate poor classification performance. The benchmark mcf for example shows
superior performance for the Activity Vector method, the wavelet method and the
Setvector approach and poor classification performance for the Stack Distance and
SVD method.
Figure 4 depicts the mean classification performance of each method averaged
over the ten SPEC2006 benchmarks. The Setvector approach outperforms all other
methods and achieves about 6% better classification performance than the next best
method, the Activity Vectors method, while the Stack Reuse Distance method shows
about 18% inferior performance than the Setvector method. While the wavelet
based method still shows fair results (about 75% of the performance of the Setvec-
tor method), the Singular Value Decomposition of the scaled matrix has apparantely
not been a good idea at all.
1.0
0.8
0.6
PoEC
0.4
0.2
0.0
r
er
cf
ilc
ay
re
ta
gc
bm
ip
m
lb
m
vr
as
64
bz
hm
go
po
h2
|Setvectors| 100%
SVD 9%
6 Conclusion
Within this chapter, I introduced a new method for phase classification called
Setvectors. The method is similar to the Activity Vector method proposed in [11],
but it differs in the way the vectors are obtained. While Settle et al. just count
accesses to Super Sets, the Setvector method calculates the number of accesses to
a set that reference a different key. I showed that the proposed Setvector method
outperforms state-of-the-art methods with respect to classification accuracy by
approximately 6–25%, having about the same computational complexity. As a
second contribution, I introduced the PoEC metric that can be used to objectively
evaluate phase classification methods in a more intuitive way than the known
metrics CoV and sweighted. Although I proved the better performance of the PoEC
32 Predicting Memory Phases 421
References
1. K. Beyls, E.H. D’Hollander, Reuse distance as a metric for cache behavior, in Proceedings of
the IASTED Conference on Parallel and Distributed Computing and Systems, 2001
2. A.S. Dhodapkar, J.E. Smith, Managing multi-configuration hardware via dynamic working set
analysis, in International Symposium on Computer Architecture (ISCA’02), 2002
3. E. Duesterwald, C. Cascaval, S. Dwarkadas, Characterizing and predicting program behavior
and its variability, in 12th International Conference on Parallel Architectures and Compila-
tion Techniques (PACT’03), 2003
4. C. Fang, S. Carr, S. Önder, Z. Wang, Reuse-distance-based miss-rate prediction on a per
instruction basis, in Proceedings of the 2004 Workshop on Memory System Performance, 2004
5. T. Huffmire, T. Sherwood, Wavelet-based phase classification, in Parallel Architectures and
Compilation Techniques (PACT’06), 2006
6. C. Jacobs, A. Finkelstein, D. Salesin, Fast multiresolution image querying, in Proceedings of
the 22nd Annual Conference on Computer Graphics and Interactive Techniques, 1995
7. J. Lau, J. Sampson, E. Perelman, G. Hamerly, B. Calder, The strong correlation between code
signatures and performance. International Symposium on Performance Analysis of Systems
and Software, 2005
8. J. Lau, S. Schoenmackers, B. Calder, Structures for phase classification. International Sym-
posium on Performance Analysis of Systems and Software, 2004
9. C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klausner, G. Lowney, S. Wallace, V.J. Reddi,
K. Hazelwood, Pin: building customized program analysis tools with dynamic instrumenta-
tion. Programming Language Design and Implementation, 2005
10. J. MacQueen, Some methods for classification and analysis of multivariate obervations, in
Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability,
vol. 1, pp. 281–297, 1967
11. Settle, A., Kihm, J.L., Janiszewski, A., and Connors, D. A. (2004). Architectural Support for
Enhanced SMT Job Scheduling, in Proceedings of the 13th International Conference of
Parallel Architectures and Compilation Techniques
12. T. Sherwood, E. Perelman, G. Hamerly, B. Calder, Automatically characterizing large scale
program behavior, in ASPLOS-X: Proceedings of the 10th International Conference on
Architectural Support for Programming Languages and Operating Systems, 2002
13. E. Stollnitz, T. DeRose, D. Salesin, Wavelets for computer graphics: a primer. IEEE Com-
puter Graphics and Applications, 1995
14. M. Zwick, M. Durkovic, F. Obermeier, W. Bamberger, K. Diepold, MCCCSim – a highly
configurable multi core cache contention simulator. Technical Report – Technische
Universit€ at M€
unchen, https://mediatum2.ub.tum.de/doc/802638/802638.pdf, 2009
Chapter 33
Information Security Enhancement to
Public–Key Cryptosystem Through Magic
Squares
1 Introduction
Today security is an important thing that we need to send data from one location to
another safely. As there is strong security, there is a great hacker and spire at the
other side. Therefore, many models and systems are looking for optimization of the
electronic connected-world. Cryptography accepts the challenges and plays the
vital role of the modern secure communication world. It is the study of mathemati-
cal techniques related to aspects of information security such as confidentiality,
G. Ganapathy (*)
Department of Computer Science, University of Bharthidasan, 620 024, India
e-mail: [email protected]
2 Methodology
l To encrypt the character, use the ASCII value of the character to determine the
numeral in the magic squareby considering the position in it. Let NP and NC
denote the numeral of the plaintext and cipher text respectively. Based on NPand
NCvalues, all plaintext and cipher text characters are encrypted and decrypted
respectively using RSA algorithm.
l To speed up the operations, perform them in parallel in a simulated environment.
For that, use Maui scheduler with back filling philosophy.
The methodology of Add-on Security Model is shown in Fig. 1
a
Clear Text
ASCII
value of the Clear Text
Determine the
Starting No., Generate
numeral value from Numeral
Seed No., Doubly Even the Magic Square Encryption
Cipher Text
and Magic that corresponds to Algorithm
Magic Square the position of
Square Sum ASCII value
b
Determine
the position ASCII
Decryption Numeral of the value of
Cipher Text the Clear Text
Algorithm numeral
value in the Clear
Magic text
Square
Fig. 1 Add-on wrapper Model (a) encryption process (b) decryption process
426 G. Ganapathy and K. Mani
called the magic constant or magic sum, M [5]. The magic constant of a normal
magic square depends only on n and has the value
nðn2 þ 1Þ
MðnÞ ¼ (1)
2
MS4_prop_sub i: ith 4th order property based MS obtained from MSB4 by using
the fundamental property of MS4magic square based on Spi, where pi¼ 1, 2, 3, and 4
Prop: properties of fundamentalMS4 with four character values
jj: concatenation
In this work, to generate the doubly even magic square, any seed number, starting
number, and magic sum may be used and the numbers generated will not be in
consecutive order. The algorithm 2.2.1 proposed by Gopinath Ganapathy, and Mani
[8] starts with building 4 4 magic square. Incrementally 8 8 and 16 16 magic
squares are built using 4 4 magic squares as building blocks.
2.2.1 Algorithm
2.2.2 Example
Based on the Algorithm 2.2.1 the first four MS4_subi, i ¼ 1, 2, 3 and 4 are generated
and they are shown in Tables 2 – 5.
Other magic squares MS8_sub2, MS8_sub3 and MS4_sub4 are generated in
this manner and they are concatenated so that they form MS16 which is shown
in Table 6.
Similarly other MS16 magic squares are generated by using suitable trans-
formations of the seed number. In this paper, only four MS16 magic squares are
generated.
square is one of a set of eight that are equivalent under rotation or reflection. In
order to generate different views of a magic square, the general format shown in
Table 7 is used.
l Normal
A magic square is said to be normal in which every row, column, and the main
and secondary diagonals sum to the magic sum. That is B þ C þ N þ O ¼ E þ H þ
I þ L ¼ F þ G þ J þ K ¼ A þ D þ M þ P ¼ MST4sum
430
Table 6 First MS16 using starting no. 4, seed no. 0100, and magic sum 12,345
1535 4 1531 16 26 28 1513 1519 74 76 1465 1471 1455 85 1451 96
1529 18 1533 6 1521 1511 34 20 1473 1463 82 68 1449 98 1454 86
12 1527 8 1539 30 24 1517 1515 78 72 1469 1467 93 1447 88 1459
10 1537 14 1525 1509 1523 22 32 1461 1475 70 80 90 1457 94 1446
1503 36 1499 48 1487 52 1483 64 1439 101 1435 112 1423 116 1419 128
1497 50 1501 38 1481 66 1485 54 1433 114 1438 102 1417 130 1421 118
44 1495 40 1507 60 1479 56 1491 109 1431 104 1443 124 1415 120 1427
42 1505 46 1493 58 1489 62 1477 106 1441 110 1430 122 1425 126 1413
1407 132 1403 144 1391 149 1387 160 1343 196 1339 208 1327 212 1323 224
1401 146 1405 134 1385 162 1390 150 1337 210 1341 198 1321 226 1325 214
140 1399 136 1411 157 1383 152 1395 204 1335 200 1347 220 1319 216 1331
138 1409 142 1397 154 1393 158 1382 202 1345 206 1333 218 1329 222 1317
1375 165 1371 176 186 188 1353 1359 1311 228 1307 240 250 252 1289 1295
1369 178 1374 166 1361 1351 194 180 1305 242 1309 230 1297 1287 258 244
173 1367 168 1379 190 184 1357 1355 236 1303 232 1315 254 248 1293 1291
170 1377 174 1366 1349 1363 182 192 234 1313 238 1301 1285 1299 246 256
G. Ganapathy and K. Mani
33 Information Security Enhancement to Public–Key Cryptosystem 431
l Pan-Magic
It has the additional property that the broken diagonals also sum to the magic sum.
That is B þ G þ L þ M ¼ D þ E þ J þ O ¼ C þ F þ I þ P ¼ A þ H þ K þ N ¼ C þ
H þ I þ N ¼ B þ E þ L þ O ¼ MST4sum. The magic squares depicted shown in
Tables 2 through 5 are normal and Pan Magic.
l Associative
A magic square is an associative, it has the additional property that the eight
symmetrically opposite the centre of the square shown in Table 2 are AP, BO, CN,
DM, EL, FK, GJ and HI having the magic sum magic constant MST4sum.
l Quadrant Associative
It has the property that all diagonally opposite pairs of numbers within the four
main quadrants sum to MST4sum. That is, the diagonally opposite pairs of numbers
within the four quadrants AF, BE, CH, DG, IN, JM, KP and LO are having the
magic sum MST4sum.
l Distributive
It has the property that each of the four integers in the set of numbers (1, 2, 3, 4),
and (5, 6, 7, 8) and (9, 10, 11, 12), and (13, 14, 15, 16) are located in a row and
column where none of the other three numbers in the set are located [9, 10].
In this work, to generate the doubly even magic square based on the properties
the algorithm 2.3.3 is used similar to algorithm 2.2.1 with a slight modification.
Apart from any starting number, and magic sum, the fundamental magic square
seed number 0000, and the four character value for the Prop variable are given as
input. The algorithm starts with by constructing 4 4 fundamental magic square
and there are sixteen 4 4 fundamental magic squares are generated. In each
magic square, the properties of fundamental magic square are applied based on
the cyclic left shift operation in the value of Prop variable. The algorithm is
shown in 2.3.3.
432 G. Ganapathy and K. Mani
2.3.3 Algorithm
Input: 4 digit seed number, starting Number, magic square property, and magic
squares sum
Output: Doubly Even Magic Square of order 16.
To generate 4 4 fundamental magic squares, the algorithm uses the steps from
1 to 5.b.1.3 illustrated in Algorithm 2.2.1. To generate further, the following steps
are used.
5.b.1.4 Case Spi in P. A, Q, D
‘P’: MS4_prop_sub i ← Pan-magic of MS4_base i
‘A’: MS4_prop_sub i ← Associativec of MS4_base i
‘Q’: MS4_prop_sub i ← Quadrant Associative of
MS4_base i
‘D’: MS4_prop_sub i ← Distributive of MS4_base i
end Case
5.b.1.5 prev← prevþ1
end for i
5.b.2 MS8_prop_sub j ←MS4_prop_sub 1jj MS4_prop_sub 2
jj MS4_prop_sub 3 jj MS4_prop_sub 4
5.b.3 case j in 2, 3, 4
2: Sp1← Sp2; Sp2← Sp3; Sp3← Sp4; Sp4← Sp1
3: Sp1← Sp3; Sp2← Sp4; Sp3← Sp1; Sp4← Sp2
4: Sp1← Sp4; Sp2← Sp1; Sp3← Sp2; Sp4← Sp3
end case j
5.b.4 Spi← Sp1jj Sp2jj Sp3jj Sp4, i ← 1, 2, 3, 4
end for j
5.c MSP16_count ←
MS8_prop_sub1jjMS8_prop_sub2jjMS8_prop_sub3jjMS8_prop_sub4
5.d Si←(Siþ rnd(10)) mod 8, i ¼ 1, 2, 3, 4
5.e count ← count þ 1
end while count
Since the third character is ‘Q’ i.e. quadrant associative, the MS4_prop_sub3 is
generated from MS4_sub3 and it is shown in Table 10.
Now, the fourth letter is ‘D’ i.e. distributive the MS4_prop_sub4 is generated
from MS4_sub4 and it is shown in Table 11. Thus, to form MS8_prop_sub1
concatenate all four MS4_prop_subi, I ¼ 1, 2, 3 and 4 (shown in Tables 8 through
11) and the first quadrant 8 8 magic square is shown in Table 12.
The second quadrant MS8_prop_sub2 magic square is generated by transform-
ing the Seed No. as Sp1← Sp2; Sp2← Sp3; Sp3← Sp4; Sp4← Sp1 and the ‘Prop’ value
is changed to ‘AQDP’, the second quadrant 8 8 magic square is generated from
the next four fundamental 4 4 magic squares shown in Table 13.
In order to get a proper understanding of the subject matter of this paper, let p ¼ 11,
q ¼ 17 and e ¼ 7, then n ¼ 11(17) ¼ 187, (p 1)(q 1) ¼ 10(16) ¼ 160. Now
d ¼ 23. To encrypt, C ¼ M7mod 187 and to decrypt M ¼ C23mod 187. Suppose the
message is to be encrypted is “BABA”. The ASCII values for A and B are 65 and 66
respectively. To encrypt B, the numerals which occur at 66th position in first
(Table 6) and third MS16 (not shown here) are taken because B occurs in first
and third position in the clear text. Similarly, to encrypt A, the numerals at 65th
position in second and fourth MS16 (not shown here) are taken. Thus NP(A) ¼ 42
and 48, NP(B) ¼ 36 and 44. Hence NC(B) ¼ 367mod 187 ¼ 9, NC(A) ¼ 427mod 187
¼ 15, NC(B) ¼ 447mod 187 ¼ 22, NC(A) ¼ 487mod 187 ¼ 157. Thus, for same A
and B which occur more than once, different cipher texts are produced. Similar
encryption and decryption operations can be performed by considering the numer-
als occur at the positions of 66 and 65 for the characters B and A respectively from
MS16_prop magic square.
4 Parallel Cryptography
Table 17 Encryption and decryption time using RSA on a pentium processor based on properties
of magic squares
File Size No. of processors
(MB) 1 2 4 8
E D T E D T E D T E D T
(ms) (ms) (ms) (ms) (ms) (ms) (ms) (ms) (ms) (ms) (ms) (ms)
1 362 405 767 560 607 1,167 502 515 1,017 450 447 897
2 700 707 1,407 737 756 1,493 590 599 1,189 514 530 1,044
3 1,332 1,370 2,702 1,073 1,097 2,170 753 672 1,425 610 605 1,215
4 2,601 2,618 5,219 1,700 1,741 3,441 1,084 1,100 2,184 765 776 1,541
E - encryption time, D - decryption time, ms - milliseconds
5 Experimental Result
The methodology proposed is implemented in visual Cþþ version 6.0. The time
taken for encryption and decryption of various file sized message in simulated
parallel environment using RSA public-key crypto system based on the properties
of magic squares is shown in Table 17. The simulation scenario configured in our
implementation consisting of 2, 4, and 8 processors.
From Table 17, we observe that as the file size is increased in double, encryption
and decryption time is also increased in double for single processor. Moreover, the
time taken for encryption and decryption is almost same. Parallel encryption and
decryption have more effect if the file size is increased.
6 Conclusion
References
1 Introduction
G. Murugesan (*)
Department of Computer Science and Engineering, Anna University, Chennai, 600 025,
Tamil Nadu, India
e-mail: [email protected]
The major classifications of Grids are computational grid, scavenged grid and data
grid. The first one is mainly concerned with computing power, the second classifi-
cation focuses on how the unused resources can be utilized and the last one is
concerned with data access capability.
The most challenging task in grid computing is the allocation of resources with
respect to the user application requirement; i.e. mapping of jobs to various
resources. This is a known NP-complete problem. For example mapping of 10
jobs on to 10 resources produce 1010 possible mappings. This is because every job
can be mapped to any of the resources. Another complexity in the resource alloca-
tion process is the lack of availability of information about the status of resources.
Much of the work was done on finding an optimal allocation of resources. Some of
the work used conventional strategies that were concerned with the overall system
performance but did not consider economics (prices) for allocating jobs to the
resources. On the other hand, a large number of projects use economic strategies
for allocating jobs. This work also follows the economic strategies for allocating
jobs to the resources. In our scenario, there are three classes of entities: Users,
Scheduler, and Resources. There are n users (also called as sources) S1, S2, . . ., Sn,
a Scheduler and m number of Resources (also called as Processors) R1, R2, . . ., Rm.
Each user i has Wi jobs and all the jobs are divisible jobs.
The users have jobs that need to be executed. The users send the jobs to the
scheduler which in turn identifies the resources with respect to the job requirement.
The resources represent the computing power of the grid and are where the users’
jobs get executed. Resource providers make a profit by selling computing power.
Users are the entities who can only send the job to the scheduler. Scheduler acts as a
mediator between the user and the resources. Finally resources are the entities that
just receive the jobs and process them.
While comparing the grid system with the system around us, it is found that the Grid
system has high similarity with the market. The market is a decentralized, competi-
tive and dynamic system where the consumer and the producer have their own
objectives. Based on this observation, economic models are introduced to the Grid
in order to optimize the resource management and scheduling problems. The basic
components of the market model are the producers, consumers and commodities,
and which is analogous to the resource owners, resource users and various comput-
ing resources in the Grid environment. The decision making parameter in the
market models are prices and quality of commodities. For example, a consumer
usually wants to get better services (e.g., a smaller makespan) with a budget as
small as possible, while a provider usually wants to get a higher resource utilization
to raise its profits.
The use of economic methods in Grid scheduling involves interacting processes
between resource providers and users, analogous to various market behaviors, such
34 Resource Allocation for Grid Applications: An Economy Model 441
as bargain, bid, auction and so on. Buyya et al. discusses some economic models
that can be applied to the Grid world, including the Commodity Market Model,
Tender/contract-net Model, and Auction Model.
Due to the introduction of economic model in Grid computing, new research
opportunities have arisen. Because the economic cost and profit are considered by
Grid users and resource providers respectively, new objective functions and sched-
uling algorithms optimizing them are proposed. There are several algorithms called
deadline and budget constrained (DBC) scheduling algorithms are presented which
consider the cost and makespan of a job simultaneously. These algorithms imple-
ment different strategies. For example, guarantee the deadline and minimize the
cost or guarantee the budget and minimize the completion time. The difficulties to
optimize these two parameters in an algorithm lie in the fact that the units for cost
and time are different, and these two goals usually have conflicts (for example, high
performance resources are usually expensive). Economic models are not only
useful when economic cost/profit is explicitly involved, but also to construct new
scheduling methods with traditional objectives.
Economic methods for scheduling problems are very interesting because of their
successes in our daily lives. Most of the models can only support relatively simple
Grid scheduling problems such as independent tasks. For more complex applica-
tions, such as those consisting of dependent tasks and requiring cross-site coopera-
tion, more sophisticated economic models might be needed. With our knowledge
most of the economic models are focused on feasible solutions with respect to the
deadline and budget constraints. In our work we initially focuses on independent
workload model and later focusing on dependent workload model to achieve both
feasible and optimal allocation with linear programming approach.
matrix and common fabric management policy. Therefore, hierarchical and decen-
tralized approaches are suitable for Grid resource and operational management.
Within these approaches, there exist different economic models for management
and regulation of supply-and-demand for resources.
S1 P1
S2 P2
S3 scheduler P3
(processing elements) to execute the jobs assigned by the scheduler. The other side
of the scheduler are a set of sources; grid users. The scheduler collects the load from
all the sources and distribute to a set of processors p1, p2, . . ., pn. Initially all the
loads are held by the scheduler. All the communications are starts from the
scheduler and there is no direct communication between the processors. For
simplicity here we are assuming that the scheduler is only communicating with
processors to distribute the loads and get back the result.
Here we are considering the communication delay (transmitting time) to send a
portion of load to a processor and the result returning time is negligible. The
processor starts processing only after receiving entire workload which is assigned
to them. Also we assume that processors having independent communication
hardware which allows for simultaneous communications and computations on
the previously received loads. Additional constraints may be imposed on the
processors to the existence of other more urgent computations or maintenance
periods the availability of processor pi may be restricted to some interval [ri, di].
Where ri be the release time of the processor pi and di be the deadline of the
processor pi. By such a restriction we mean that computations may take place only
in the interval [ri, di]. A message with the load may arrive or start arriving before ri.
We assume that computations start immediately after the later of the two events: ri
or the load arrival. The computation time must be fit between the later of the above
two events. Also the loads are received from different sources with different
capacity and each load become divisible without any restriction. Each load received
from different sources is divided into a set of different tasks (portion of workload).
Maximum of one task may be assigned or allotted to a processor. The load portion
depends upon the capacity of the processor. Suppose, if there are m number of
sources {S1, S2, . . ., Sm}and n number of processors {P1, P2, . . ., Pn}and the
workloads from each sources become L ¼ {L1, L2, . . ., Lm}. Where L1 be the
total workload received from the source S1 and so on. Each workload Li may be
divided into T1, T2, . . .. The load L can be reordered by the scheduler to achieve
good performance of the computation. The scheduler splits the workload into tasks
and sends them to processors to perform the specified process. Only a set of
processors may be used to perform the workload of a source.
We denote that aij be the size of the task assigned to the processor pj. It is
expressed in load units (e.g. in bytes). aij ¼ 0 implies that pj is not in the set of
processor selected to perform the process of ith source workload. The total work-
load from a source is the sum of the sizes of the workload parts. i.e. Saij ¼ Li. Not
only pj is selected by the scheduler, but also the sequence of activating the
processors in pj and the division of load Li into chunks aij. Here we consider the
processors as unrelated processors; its communication links and start-up time are
specific for the task. Similarly the processor computing rates depend on the
processor and the task.
Let zj be the communication rate of the link to processor pj perceived by task Tj.
Transferring the portion of workload unit aij to pj takes zjaij time units. Let tj be the
processing rate of processor pj perceived by task Tj. To process aij portion of load
by processor pj takes tjaij time units. Let cj the processing cost to process the potion
444 G. Murugesan and C. Chellappan
of workload Tj. The total processing cost to process a portion of workload aij by the
processor pj becomes cjaij cost units.
In this work we analyze the complexity of scheduling the divisible loads L1,
L2, . . . , Lm of sizes T1, T2, . . . on n parallel processors P1, P2, . . . , Pn which are
interconnected together. We assume that the processors have sufficient memory
buffers to store the received portion of the workloads and computations. All the
processor will start processing immediately after receiving their entire portion of
workloads. One processor can process more than one source’s portion of workload.
By constructing a schedule the scheduler decides on the sequence of the tasks,
the set of processors assigned to each portion of workloads, the sequence of
processor activation and the size of the load parts. Our objective is to minimize
the usage of the grid user cost. We assumed that there is no separate start-up time
for individual processors and there is no fixed cost to utilize the processors. All the
processors are dedicated processors. But practically it is not possible, to simplify
our model as well as reduce the number of variables and constraints. The following
notations are used to formulate the mathematical model.
PMinimize
P
cj aij xij
i j
Subject to
PP PP
1. zj aij xij þ tj aij xij di
Pi Pj Pi P
j
2. zj aij xij þ tj aij xij si
Pi Pj i j
3. cj aij xij bi
Pi j
4. aij ¼ oi
j
34 Resource Allocation for Grid Applications: An Economy Model 445
P
5. xij ¼ 1
i
6. 0
aij
7. xij ¼ f0; 1g
8. sj 0
9. zj ¼ 0
The objective is to minimize the total cost of the grid user those who are
assigning job to the grid system. The Eq. (1) represent the cost of all jobs that are
being assigned to a resource is the objective function. The Eqs. (1) through (7)
specifies the constraints used the mathematical model. The constraints (1) represent
the deadline associated with each sources. Constraints (2) match the workload
within the availability of resources. Constraints (3) are the budget for each source’s
workload. Constraint (4) represents the total workload of each sources involved in
the scheduling process. Constraints (5) makes sure that a portion of workload is
assigned to only one resource; i.e., there is no overlap between processing of
workloads. Constraint (6) makes sure that a portion of workload divided from the
total workload becomes a whole number. Constraint (7) is to set the binary value
either 0 or 1. The constraint (8) is a non-negativity constraints and the constraint (9)
we are assuming that there is no communication delay. But practically it is not
possible, for the simplicity of the model we assumed zj ¼ 0.
6 Experimental Results
Let us assume that the Grid system consists of five processors (resources) namely
P1, P2, P3, P4, and P5 with three sources S1, S2, and S3 are trying to utilize the grid
system to execute their workloads.
Table 1 shows the processors involved in the Grid system, the processing
capacity of each processor per unit workloads, the processing cost of each processor
to execute a unit workload and the available time of each processor. Table 2 shows
the details of the different sources which are trying to utilize the grid system, total
workload of each source and the budget allotted to each of the sources to complete
their workloads and the expected time to complete the process of each workload.
Using the details given in the table we have formed the mathematical model and
solved the equation using LINGO package. After execution of the mathematical
model, the maximum cost for processing all the three source workloads are Rs. 351.
Table 3 shows the details of workload allotment to the processors involved in the
process. From the table it is clear that the total workload of S1 is divided into three
parts, the total workload of S2 is divided into three parts and the total workload of S3
is divided into four parts and allotted into processors. Also it shows that the
completion time of each source’s workloads.
7 Related Works
Till date several grid scheduling algorithms have been proposed to optimize the
overall grid system performance. The study of managing resources in the Grid
environment started from 1960s. The economic problem [1] results from having
different ways for using the available resource, so as how to decide what the best
way to use them is. Utilization of Grid must be cheaper for the Grid user than
purchasing their own resources [2] and must satisfy their requirements. On the other
hand, resource providers must know if it is worth to provide their resources for
usage by the Grid users. Also the pricing of resources should not be per time unit or
slot (e.g. cost per minutes) [3]. Because it leads to big difference in speeds of
processors, so the price per unit time of a processor might be cheaper, but the user
must pay large amount of money due to slow processing resources. Moreover the
users have to know how many time units they need to finish their jobs. Thus the cost
of Grid user must be determined based on the tasks the resource is processing.
Deadline scheduling algorithm [4] is one of the algorithms which follow the
economic strategy. The aim of this algorithm is to decrease the number of jobs that
do not meet their deadlines. The resources are priced according to their perfor-
mance. This algorithm also has a facility of fallback mechanism; which mean that it
34 Resource Allocation for Grid Applications: An Economy Model 447
can inform the grid user to resubmit the jobs again and the jobs which do not met the
deadline of the available resources. Nimrod/G [5, 6] includes four scheduling
algorithms which are cost, time, conservative time and cost-time. Cost scheduling
algorithm try to decrease the amount of money paid for executing the jobs with
respect to the deadline. Time scheduling algorithms attempt to minimize the time
required to complete the jobs with respect to their budget allotment. The conserva-
tive time scheduling algorithm aims to execute the jobs within the stipulated budget
and the deadlines. The cost-time scheduling algorithm works similar to cost sched-
uling algorithm except that when there are two or more resources with the same
price, it employs time scheduling algorithm. It does not deal with co-allocation.
The effective workload allocation model with single source has been proposed [7]
for data grid system. Market-based resource allocation for grid computing (Gomaluch
and Schroeder) supports time and space shared allocations. Furthermore it supports
co-allocation. It is supposed that resources have background load which change with
time and that has the highest priority for execution, so they are not fully dedicated to
the grid. Gridway [8] is an agent based scheduling system. It aims to minimize the
execution time, total cost and the performance cost ratio of the submitted job. Market
economy based resource allocation in Grids [9] is an auction based user scheduling
policies for selecting resources were proposed. GridIs [10] a P2P decentralized
framework for economic scheduling using tender model. The author tries to perform
the process without considering the deadline and the algorithm is implemented with
the help of a variable called conservative degree, its value between 0 and 1.
The time and cost trade-off has been proposed [11] with two meta-scheduling
heuristics algorithms, that minimize and manage the execution cost and time of user
applications. Also they have presented a cost metric to manage the trade-off
between the execution cost and time. Compute power market [12] is architecture
responsible for managing grid resources, and mapping jobs to suitable resources
according to the utility functions used. Parallel virtual machine [13, 14] enables the
computational resources to be used as if they are a single high performance
machine. It supports both execution on single and multiple resources by splitting
the task into subtasks. Grid scheduling by using mathematical model was proposed
[15] with equal portion of load to all the processors; i.e., the entire workload
received from a source is equally divided and a portion of load is assigned to a
processor with the help of random numbers to divide the entire workload from a
source. The work closest to ours is [6] where the authors proposed the algorithm
that claims to meet the budget and deadline constraints of jobs. However, the
algorithm proposed is ad-hoc and does not have an explicit objective.
8 Conclusion
the resources are in static manner. This work can be extended for dynamic nature
also. We are in the process of dynamic arrival of loads and the resources. Also we
have assumed that there is sufficient buffer space available in all the resources. The
experimental result demonstrates the usefulness of this strategy. We need a system
to find out the execution time of a task and also the cost of usage of a processor/
resource. The execution time entirely depends upon the processor speed.
References
1. J. Nakai, Pricing computing resources: reading between the lines and beyond. Technical
Report, National Aeronautics and Space Administration, 2002
2. L. He, X. Sun, G.V. Laszewski, A qos guided scheduling algorithm for grid scheduling, 2003
3. L. He, Designing economic-based distributed resource and task allocation mechanism for self-
interested agents in computational grids, in Proceeding of GRACEHOPPER, 2004
4. A. Takefusa, S. Matsuoka, H. Casanova, F. Berman, A study of deadline scheduling for client-
server system on the computational grid, in HPDC’01: Proceedings of the 10th IEEE
International Symposium on High Performance Distributed Computing, pp. 406–415, 2001
5. R. Buyya, Economic-based distributed resource management and scheduling for grid computing.
PhD Thesis, Monash University, Melbourne, Australia, 2002
6. R. Buyya, D. Abramson, J. Giddy, Nimrod/g: An architecture for a resource management and
scheduling system in a global computational grid, HPC ASIA’2000, 2000
7. M. Abdullah, M. Othman, H. Ibrahim, S. Subramaniam, Load allocation model for scheduling
divisible data grid applications. J. Comput. Sci. 5(10), 760–763 (2009)
8. R.A. Moreno, A.B. Alonso-Conde, Job scheduling and resource management technique in
economic grid environments. European Across Grids Conference, pp. 25–32, 2003
9. S.R. Reddy Market economy based resource allocation in grids. Master’s Thesis, Indian
Institute of technology, Kharagpur, India. 2006
10. L. Xiao, Y. Zhu, L.M. Ni and Z. Xu, Gridis: An incentive-based grid scheduling, in IPDPS’05:
Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium,
Washington, DC, 2005, IEEE Computer Society
11. S.K. Garg, R. Buyya, H.J. Siegel, Scheduling parallel applications on utility grids: time and
cost trade-off management, in Proceedings of the Thirty-Second Australasian Computer
Science Conference (ACSC2009), Wellington, Australia, Conferences in Research and Prac-
tice in Information Technology (CRPIT), vol. 91
12. R. Buyya, S. Vazhkudai, Computer power market: towards a market oriented grid. CCGRID,
pp. 574–581, 2001
13. A. Beguelin, J. Dongarra, A. Geist, V. Sunderam, Visualization and debugging in a heteroge-
neous environment. Computer 26(6), 88–95 (1993)
14. V.P.V.M. Sunderam, A framework for parallel distributed computing. Concurrency Prac. Exp.
2(4), 315–340 (1990)
15. G. Murugesan, C. Chellappan, An optimal allocation of loads from multiple sources for Grid
Scheduling, ICETIC’2009, International Conference on Emerging Trends in Computing,
2009
16. R. Buyya, M. Murshed, D. Abramson, A deadline and budget constrained cost-time optimi-
zation algorithm for scheduling task farming applications on global grids, Technical Report
CSSE-2002/109, Monash University, Melbourne, Australia, 2002
17. J. Gomaluch, M. Schroeder, Market-based resource allocation for grid computing: A model
and simulation, Middleware workshops. pp. 211–218
18. G. Murugesan, C. Chellappan, An economic allocation of resources for multiple grid applica-
tions, in WCECS2009, Proceedings of the World Congress on Engineering and Computer
Science, vol I, San Francisco, CA, 2009
34 Resource Allocation for Grid Applications: An Economy Model 449
19. M. Othman, M. Abdullah, H. Ibrahim, S. Subramaniam, Adaptive divisible load model for
scheduling data-intensive grid applications: computational science, LNCS, 4487, 246–253
(2007)
20. S. Viswanathan, B. Veeravalli, T.G. Robertazzi, Resource-aware distributed scheduling
strategies for large-scale computational cluster/grid systems. IEEE Trans. Parallel Distributed
Syst.18: 1450–1461, 2007
21. Q. Xiao, Design and analysis of a load balancing strategy in data grids, Future Generation
Comput. Syst. 16, 132–137, 2007
Chapter 35
A Free and Didactic Implementation
of the SEND Protocol for IPv6
Abstract IPv6 adds many improvements to IPv4 in areas such as address space,
built-in security, quality of service, routing and network auto-configuration. IPv6
nodes use the Neighbor Discovery (ND) protocol to discover other nodes on the
link, to determine their link-layer addresses, to find routers, to detect duplicate
address, and to maintain reachability information about the paths to active neigh-
bors. ND is vulnerable to various attacks when it is not secured. The original
specifications of ND called for the use of IPsec as a security mechanism to protect
ND messages. However, its use is impractical due to the very large number of
manually configured security associations needed for protecting ND. For this
reason, the Secure Neighbor Discovery Protocol (SEND) was proposed. In this
work, we present Easy-SEND, an open source implementation of SEND that can be
used in production environment or as a didactic application for the teaching and
learning of the SEND protocol. Easy-SEND is easy to install and use, and it has an
event logger that can help network administrators to troubleshoot problems or
students in their studies. It also includes a tool to generate and verify Cryptographi-
cally Generated Addresses (CGA) that are used with SEND.
1 Introduction
IPv6 [1–3] (Internet Protocol version 6) is a solution to the problem of the shortage
of public IPv4 addresses that faces Internet. IPv6 adds many improvements to IPv4
in areas such as quality of service, routing and network auto-configuration. Even if
IPv6 has been around for more than 10 years now, there is a lack of IPv6 network
S. Chiu (*)
Universidad Central de Venezuela, Facultad de Ciencias, Escuela de Computación, Paseo Los
Ilustres, Urb. Valle Abajo, Caracas 1020, Venezuela
e-mail: [email protected]
specialists in Venezuela and around the world. Therefore, the training of IPv6
specialists has become an important issue. In the undergraduate program of Com-
puter Science at Central University of Venezuela (in Spanish: Universidad Central
de Venezuela), some courses have been upgraded or added to the curriculum to face
the problem. For example, Advanced Network Protocols (in Spanish: Protocolos
Avanzados en Redes) is a new course that was introduced to the curriculum of the
undergraduate program of Computer Science in 2005. Its objectives include the
understanding of IPv6 standards, such as the ND [4] (Neighbor Discovery) protocol
and the SEND [5] (Secure Neighbor Discovery) protocol.
Since ND [4] is supported by all the actual modern operating systems, a variety
of laboratories are done in the course (Advanced Network Protocols) to strengthen
student’s knowledge about this important protocol. However, we have been facing
the lack of support for SEND [4] (as stated is Section 5) from manufacturers and it
has been almost impossible for us to do laboratories to clarify the complex
procedures involved in SEND. Therefore, we decided to develop a new application
(Easy-SEND) from scratch that implements the SEND protocol, with good support
for the teaching and learning process. Its main goal is to be used as a didactic
application in advanced courses related to networks at Central University of
Venezuela. Additionally, Easy-SEND can be used in production networks where
security is important as a replacement of the ND protocol.
The rest of this research is organized as follows: An overview of ND is presented
in Section 2. Vulnerability issues for ND are discussed in Section 3. SEND is
presented in Section 4. Related works are viewed in Section 5. Easy-SEND is
introduced and justified in Section 6. Conclusions and future work are discussed in
Section 7.
The ND [4] (Neighbor Discovery) protocol solves a set of problems related to the
interaction between nodes attached to the same link. It defines mechanisms to
solution each of the following problems:
l Router discovery: During router discovery, a host discovers the local routers on
an attached link. This process is equivalent to ICMPv4 router discovery [6].
l Prefix discovery: How hosts discover the set of network prefixes that define
which destinations are on-link for an attached link.
l Parameter discovery: Through this process, nodes learn some operating para-
meters such as the link MTU (Maximum Transmission Unit) or the default hop-
limit value to place in outgoing packets.
l Address auto-configuration: How nodes automatically configure addresses
for an interface in either the presence or absence of an address configuration
server, such as a DHCPv6 [7] (Dynamic Host Configuration Protocol for IPv6)
server.
35 A Free and Didactic Implementation of the SEND Protocol for IPv6 453
Neighbor Discovery
Message Header
ND can suffer different attacks that can be classified in three types as follow:
l Impersonation/Spoofing: class of attacks in which a malicious node successfully
masquerades as another by falsifying data and thereby gaining an illegitimate
advantage. This type of attacks is easily made since there is no control over
MAC addresses and they can be change with little effort.
l DoS (Denial of Service): type of attacks in which a malicious node prevents
communication between the node under attack and all other nodes.
l Redirection: class of attacks in which a malicious node redirects packets away
from the legitimate receiver to another node on the link.
According to [10], the ND protocol suffers frequent attacks that include, but are
not limited to: Neighbor Solicitation Spoofing, Neighbor Advertisement Spoofing,
Neighbor Unreachability Detection Failure, Duplicate Address Detection DoS
Attack, Malicious Last Hop Router, Spoofed Redirect Message, Bogus On-Link
Prefix, Bogus Address Configuration Prefix, Parameter Spoofing, Replay Attacks,
and Neighbor Discovery DoS Attack.
with no human intervention. With IPsec, the key exchange can be done automati-
cally when hosts already have a valid IPv6 address. Without an initial IPv6 address,
the usage of IPsec can be quite tedious and impracticable. For these reasons, the
IETF (Internet Engineering Task Force) developed the SEND [5] (Secure Neighbor
Discovery) protocol.
SEND is a security extension of the ND protocol. It introduces new messages
(CPS and CPA) and options (CGA, Timestamp, Nonce, RSA Signature, Trust
Anchor and Certificate) to the ND protocol, as well as defense mechanisms
against attacks on integrity and identity. The main components used in the SEND
protocol are:
l Certification paths: anchored on trusted parties certify the authority of routers. A
host must be configured with a trust anchor to which the router has a certification
path before the host can adopt the router as its default router. CPS (Certification
Path Solicitation) and CPA (Certification Path Advertisement) messages are
used to discover a certification path to the trust anchor.
l Cryptographically Generated Addresses (CGA): are used to make sure that the
sender of a Neighbor Discovery message is the owner of the claimed address. A
public-private key pair is generated by all nodes before they can claim an
address. A new ND option, the CGA option, is used to carry the public key
and associated parameters.
l RSA Signature option: is used to protect all messages relating to Neighbor and
Router Discovery.
l Timestamp option: Provides replay protection against unsolicited advertise-
ments and redirects.
l Nonce option: Ensures that an advertisement is a fresh response to a solicitation
sent earlier by the node.
Similarly to the ND protocol, SEND uses ICMPv6 [8] messages. Two new
messages were added for the ADD (Authorization Delegation Discovery) process.
Table 2 shows the value of the Type field from the ICMPv6 message and a brief
description.
SEND defines two mechanisms (CGA and ADD) presented in the following
sections for securing the ND protocol.
Hash
Function
5 Related Works
Easy-SEND is a free and open source application developed in Java that implements
the SEND [5] (Secure Neighbor Discovery) protocol. It also includes a tool (CGA-
Gen) to generate and verify CGAs [13] (Cryptographically Generated Addresses).
We developed the application in the Linux user-space that does not require
modification at the kernel level. Easy-SEND works as a firewall between the
network interface card and the IPv6 stack, by using the ip6tables filtering rules.
The actual version is limited to the creation of a secure environment for IPv6 hosts;
that is, hosts are not able to participate in the Router Discovery process.
The architecture and the functionality of Easy-SEND are summarized in Fig. 3.
libipq3 provides a mechanism for passing packets out of the stack for queuing to
user-space, then receiving these packets back into the kernel with a verdict
1
http://www.docomolabs-usa.com/lab_opensource.html
2
http://sourceforge.net/projects/jsend
3
http://www.netfilter.org/projects
458 S. Chiu and E. Gamess
User space
User
Process
libipq
2
ip6tables
ip_queue
3
Netfilter
rules Packets out
no
Packets in drop?
1
kernel
Initially, ND messages are selected based on ip6tables rules (see Fig. 4) and sent
to ip_queue, a queue managed by libipq. From the first to the fifth line of Fig. 4,
ip6tables rules capture RS (type 133), RA (type 134), NS (type 135), NA (type
136), and Redirect (type 137) messages, respectively. Library libipq allows the
manipulation of ND packets (aggregation and verification of options) based on the
SEND specifications before the determination of the verdict (acceptation or rejec-
tion of the packets). Messages marked for rejection will be dropped. Message
marked for acceptation will be further processed.
Since library libipq was written in C, we used a wrapper, called Virtual Services
IPQ4 or VServ IPQ for short, which allows Java users to call the libipq native
functions from Java applications.
4
http://www.savarese.org/software/vserv-ipq
35 A Free and Didactic Implementation of the SEND Protocol for IPv6 459
Class SENDOPT is an abstract class where get and set methods are defined to
access and modify SEND options. Class CGA allows the generation and mani-
pulation of CGA addresses, as well as the validation of CGA options included
in ND messages. Methods of the RSASignature class permit the creation and
verification of digital signatures. TimeStamp and Nonce are classes with methods
to produce and handle timestamps for the protection against replay attacks. Class
Monitor is for the capture and manipulation of packets that arrive to the ip6tables
queue. The rules for the reception and transmission of packets are also defined in
class Monitor. NDMessage is a class for the aggregation (outgoing packets) and
removal (incoming packets) of SEND options in messages. Its methods automati-
cally update the checksum field. Class KeyManagement allows users to generate,
load and save RSA keys.
To validate our implementation of the SEND protocol, we make several test
experiments. For reasons of space, in this work we will only briefly describe two of
our experiments. In the first experiment, we setup a test-bed (see Fig. 6) where we
460 S. Chiu and E. Gamess
eth0
eth0
connected two PCs in an Ethernet LAN. Each PC had 512 MB of RAM, and we
installed Ubuntu 8.04 LTS (a community developed, Linux-based operating sys-
tem), Java 2SE 1.6.0_07 and Easy-SEND.
Fig. 7 shows the ND messages sent by PC1 and PC2 during the execution of a
ping command from PC1 to PC2. We can observe that Easy-SEND modifies the
original messages (NS and NA) to add SEND options (CGA, Timestamp, Nonce,
and RSA Signature). We used Wireshark [17] (a popular network analyzer formerly
known as Ethereal) to analyze the SEND protocol.
In the second experiment, we made interoperability tests between Easy-SEND and
the SEND implementation of DoCoMo USA labs. We made a test-bed similar to the
one shown in Fig. 6, but we installed the SEND implementation of DoCoMo USA
Labs in PC1 and Easy-SEND in PC2. We made different communication tests (FTP,
SSH, PING, TFTP, etc.) between the two PCs and had a perfect interoperability.
35 A Free and Didactic Implementation of the SEND Protocol for IPv6 461
Easy-SEND has a powerful event logger to record all the SEND events for
troubleshooting and learning purposes. It is based on Apache log4j5, a Java-based
logging framework. Our event logger has three messages levels (INFO, DEBUG,
and ERROR) that can be activated. INFO messages show information related to the
states and processes that occur in the application. DEBUG messages allow users to
get a hexadecimal dump of the messages sent or received by Easy-SEND. ERROR
messages are shown when abnormal situations occur.
Typically, logs can be displayed in real-time in a Unix shell. It is also possible to
redirect the logs to text files for later analysis. Our event logger can show many
information to users helping them in the troubleshooting or learning process. Fig. 8
1b be bd c4 5f 26 a4 c0 66 6b eb 46 73 44 fe 32
fe 80 00 00 00 00 00 00 00 30 81 9f 30 0d 06 09
2a 86 48 86 f7 0d 01 01 01 05 00 03 81 8d 00 30
81 89 02 81 81 00 b0 89 3b 51 88 d3 f2 3c 9b a0
98 4f 99 01 b4 5f de 81 89 b3 d6 ba 96 ff a7 05
b3 49 4c 28 ce 60 2e ba e7 f6 76 f4 c2 87 f9 51
36 be 08 12 ab c2 e5 00 50 8a b5 be fb 04 79 99
79 b4 ee 88 5b 45 b7 f1 88 a9 e2 e4 52 3a 75 9b
ea 94 87 38 56 49 8d 63 66 b6 78 1e d0 41 4a f5
25 e9 cf 69 50 9b f2 b9 68 91 a9 8c e6 8a 6f 61
8f 45 8d 40 6a fc a4 26 ae 1e a8 7d 8b 48 88 c2
20 b3 c3 e3 93 2b 02 03 01 00 01
60 00 00 00 00 20 3a ff fe 80 00 00 00 00 00 00
2c 8e 4f 5b 08 4b 80 c1 fe 80 00 00 00 00 00 00
20 ee 39 bb 94 e7 35 6a 87 00 7b a6 00 00 00 00
fe 80 00 00 00 00 00 00 20 ee 39 bb 94 e7 35 6a
01 01 00 0c 29 c4 87 be
5
http://logging.apache.org/log4j/1.2/index.html
462 S. Chiu and E. Gamess
shows the trace generated by packet 9 (a Neighbor Solicitation message) for the
capture of Fig. 7.
At the present time, Easy-SEND is the unique free and open source implementa-
tion of the SEND protocol that is active, since DoCoMo USA Labs is no longer
supporting its implementation. The source code of Easy-SEND can be downloaded
from SourceForge (a famous web-based source code repository) at http://sourceforge.
net/projects/easy-send To facilitate the learning and teaching process, a virtual
appliance is also available. A virtual appliance is a minimalist virtual machine
image designed to run under some sort of virtualization technology and aimed
to eliminate the installation, configuration and maintenance costs. Our virtual
appliance can be run with VMWare Player.6
Security aspects of IPv6 networks are not fundamentally different from IPv4 net-
works, therefore, many of the possible attacks to IPv4 protocols can also be done in
IPv6 protocols, and the ND protocol is not the exception. SEND has been developed
to minimize the attacks that can be done to IPv6 nodes during their auto-configura-
tion process. Unlike IPsec, SEND is more easy and practicable to be implemented.
Note that [18] proposes a new protocol called TRDP (Trusted Router Discovery
Protocol) to secure the router discovery process. Compared with the ADD (Autho-
rization Delegation Discovery) process introduced in the SEND protocol, TRDP
obviates the burdensome work for a host to parse the lengthy certification path,
improves efficiency of network communication between the router and hosts during
the router authentication process, and also reduces the exposure to attacks on both
hosts and the access router.
At Central University of Venezuela, SEND is an important topic in the syllabus
of the Advanced Network Protocols course. Instructors had a hard time teaching
SEND, so some laboratories were introduced to clarify the complex processes
associated to SEND. Initially, the SEND implementation of DoCoMo USA Labs
was used, but this implementation has been discarded since its debugging system
has some weaknesses and DoCoMo USA Labs announced that it will no longer
maintain the project. Easy-SEND was developed to face this situation.
Easy-SEND is a free and open source implementation of the SEND protocol
developed under the GNU General Public License in Java. It has a powerful event
logger with three levels of messages. It main goal is to be used for teaching and
learning purpose, but can also be used in a production environment. Since it is open
source, its source code can be enhanced or adapted by other researchers for specific
needs.
6
http://www.vmware.com/products/player
35 A Free and Didactic Implementation of the SEND Protocol for IPv6 463
At the present time, Easy-SEND is the unique open source project that imple-
ments the SEND protocol that is active. We plan to further develop it. Our goal is to
offer the application to other national and international universities to be used in
their curriculum for teaching the SEND protocol. As future work, we plan to
integrate to our application the process of Router Discovery with the ADD trust
mechanism, and extension fields to the CGA parameter data structure to support
different hash functions [19]. Also, the implementation of Easy-SEND in the Linux
user-space can not be considered as a final solution, so we will adapt our application
to the kernel to optimize the aggregation and the verification of SEND message
options. Finally, we want to port our application to Microsoft Windows operating
systems.
References
Abstract Nowadays, there are a wide variety of network benchmark tools, giving
researchers and network administrators many options to work with. However, this
variety tends to hinder the selection process of the appropriate tool. Furthermore,
sometimes users are forced to try several tools in order to find one that calculates a
desired gauge, so they have to learn how to manipulate different tools and how
to interpret the obtained results. This research offers a compilation of network
benchmark tools currently used, with the purpose of guiding the selection of one
tool over the others, by outlining their main features, strengths and weaknesses.
1 Introduction
K. Velásquez (*)
Universidad Central de Venezuela, Facultad de Ciencias, Escuela de Computación, Paseo Los
Ilustres, Urb. Valle Abajo, Caracas 1020, Venezuela
e-mail: [email protected]
2 Related Works
The interest of network benchmark tools has been very important in the Internet
community, to the point that Parker and Schmechel [2] wrote an RFC (Request For
Comment) to present some of them, when RFCs are usually used to specify
protocols. Botta et al. [3] present an exhaustive state-of-the-art survey on available
bandwidth estimation tools. They divided the tools in three categories: (1) end-to-
end capacity estimation tools, (2) available bandwidth estimation tools, and (3)
TCP throughput and bulk transfer capacity measurement tools. They also introduce
a tool called BET (Bandwidth Estimation Tool) and they compare it with other
performance tools, in terms of accuracy and total time used to complete the
measurement process. Ubik and Král [4] summarize their experience with band-
width estimation tools; they focus on finding the size and location of bottlenecks.
They present a classification of end-to-end bandwidth estimation tools based on a
number of properties, which include determining bandwidth (installed bandwidth)
vs. throughput (available bandwidth), sender only software vs. sender and receiver
software, etc. They also describe properties for a few selected tools, present the
results of measurement with one tool (pathload) on a high-speed scenario and
results of combined measurements with several tools over a real fast long-distance
network. Gupta et al. [5] perform an experimental comparison study of both passive
and active bandwidth estimation tools for 802.11-based wireless networks, and
conclude that for wireless networks a passive technique provides greater accuracy.
Strauss et al. [6] describe Spruce, a simple tool for measuring available bandwidth,
and then compare it with other existing tools over many different Internet paths.
Their study is based on accuracy, failure patterns, probe overhead, and implemen-
tation issues. Montesino [7] presents a comparative analysis of state-of-the-art
active bandwidth estimation techniques and tools. He offers a short overview of a
set of tests performed over different conditions and scenarios, which were done to
assess the performance of active bandwidth estimation tools. Mingzhe et al. [8]
present WBest, a wireless bandwidth estimation tool designed to accurately esti-
mate the available bandwidth in IEEE 802.11 networks, explaining that most of the
existing tools were not designed for wireless networks. They define the algorithm
employed by WBest and present a set of experiments and analysis of the results.
They also compare their tool with other tools like pathchirp [9] and pathload [10].
36 A Survey of Network Benchmark Tools 467
For our study, we selected seven different throughput and bulk capacity measure-
ment tools: Netperf, D-ITG, NetStress, MGEN, LANforge, WlanTV, and TTCP. We
chose these tools for their popularity and also because they are active projects.
Many performance tools available in Internet have no updated versions and seem to
be dead. These seven tools also offer different features, so they provided us with a
much wider range for our analysis.
Our goal is to present a clear description of the available tools that can help users
choose one that is best suited for a specific experiment. Additionally, we gathered
some desirable features that a throughput and bulk transfer capacity measurement
tool should have since our goal is to develop a new network benchmark tool from
scratch.
During our analysis, each necessary step, questions that arose, the efforts it took
to find the answers to them, features that were helpful or confusing, and the required
time were carefully recorded. Progress and experiences were discussed among the
authors.
According to [11], most of the tools included in our study belong to the group of
Throughput and Bulk Transfer Capacity (BTC) measurement tools, which are
benchmark tools that use large TCP and/or UDP transfers to measure the available
throughput in an end-to-end path. The experiences with each of the tools are
described below. For tools that require a Unix environment, tests were conducted
under Linux Debian 5.0 (Lenny) with kernel version 2.6.26. For Windows, tests
were performed under Windows XP Professional SP3.
3.1 Netperf
Netperf1 is an open source benchmark tool that can be used to measure various
aspects of networking performance. Its primary focus is on bulk data transfer and
request/response performance using either TCP or UDP and the BSD socket
interface.
Netperf is designed around the basic client-server model. There are two execu-
tables (netperf and netserver). The netserver program can be invoked by inetd (the
system daemon), or can be run as a standalone daemon. In the first method, users
must have administrator privileges; the second method implies that users must
remember to run the program explicitly. Unless users want to change the default
port (option -p) or want to work with IPv6 (option -6) instead of IPv4, the server is
invoked without options.
1
http://www.netperf.org
468 K. Velásquez and E. Gamess
Netperf is only supported by Unix platforms. It is possible to use IPv4 or IPv6 as the
network layer protocol, just by specifying the option -4 or -6 respectively. It allows
the usage of both TCP and UDP as the transport layer protocol.
3.2 D-itg
2
http://www.grid.unina.it/software/ITG/index.php
36 A Survey of Network Benchmark Tools 469
3
http://www.octave.org
470 K. Velásquez and E. Gamess
This tool can work in two modes: single mode and script mode. The single mode
allows users to generate a single flow of packets from a client (ITGSend) to the
server (ITGRecv). The script mode enables ITGSend to simultaneously generate
several flows from a single client. Each flow is managed by a single thread, and an
additional thread acts as master and coordinates the other threads. To generate n
flows, the script file (input file) must contain n lines, each of which is used to specify
the characteristics of one flow.
Execution is started via console (no GUI is offered) using different options
provided by the tool, which can be consulted with the -h option. Some configurable
parameters include the TTL (Time to Live), inter-departure time, payload size and
protocol type.
D-ITG is available for Unix platforms as well as Windows platforms. IPv4 and IPv6
are both supported as network layer protocols; in Unix, to select one or the other
users must specify the right type of IP address (IPv4 address or IPv6 address) with
the –a option in ITGSend. In Windows there are two different binary files, one for
IPv4 support and another one for IPv6 support.
By default, UDP is used as the transport layer protocol, but it is possible to use
TCP and even ICMP. Upper layer protocols supported include Telnet, DNS, and
RTP for VoIP applications.
3.3 NetStress
NetStress installation is very easy. Once the setup file was downloaded, we only had
to execute it and follow the installation assistant’s instructions.
On the official website there is a link to the NetStress help file that contains a
brief description of the tool and its purpose, system requirements, and descriptions
on how to run the server and the client. Additionally, it includes a section
4
http://www.performancewifi.net/performance-wifi/main/netstress.htm
36 A Survey of Network Benchmark Tools 471
explaining how to interpret the results. This help can also be accessed within the
application, in the Help menu choosing the Contents option.
NetStress was developed for Windows platforms. It employs IPv4 at the network
layer and TCP at the transport layer. It does not offer support for other protocols.
3.4 MGEN
Two packages are available for Linux platforms: source code and a precompiled
version. We installed the source files to guarantee system compatibility. We started
to uncompress the tar ball and used the command make –f Makefile.linux, since
there are several makefiles for Unix systems and one must be chosen according to
5
http://cs.itd.nrl.navy.mil/work/mgen
472 K. Velásquez and E. Gamess
the target system. For Windows platforms there is no need for installation, since the
ZIP file includes an executable file ready to use.
The distribution contains an HTML file with extensive documentation. It
explains the tool’s usage and the different options. It also offers several examples
on how to use the tool to evaluate performance.
Input files (configuration files) can be used to drive the generated loading patterns
over the time. A command-line option is also available.
Input files can be used to specify the traffic patterns of unicast and/or multicast
UDP/IP applications. Defined data flows can follow periodic (CBR), Poisson, and
burst patterns. These data flows can be modified during the experiment, since the
input file allows users to change a given data flow at specific times. Some fields of
the IP header can be set. When a multicast flow is defined, users can specify the
TTL (Time to Live) value. For both unicast and multicast flows, the ToS (Type of
Service) value can also be specified. For IPv6 flows, a Flow Label value can be
defined. For multicast flows, users can control when to join or leave the multicast
group, indicating the IP address of the multicast group to join or leave and the time
to do so.
Results are shown on standard output, or they can be redirected to a logfile for
later analysis. These results are only the report of the packets exchanged; no
additional information is given.
To obtain statistics, users must record the results in a logfile, which can be later
used as an input for the trpr6 (Trace Plot Real-time) program. trpr analyzes the
output of MGEN and creates an output that is suitable for plotting. It also supports a
range of functionalities for specific uses of the gnuplot7 graphing program. Impor-
tant results, such as the throughput, delivery latency, loss rate, message reordering,
and multicast join/leave latency can be calculated from the information in the
output logfile. However, it is left to users to do this calculation.
The updated version of the MGEN toolset, MGEN 4.0, provides support for Win32
platforms in addition to a broad base of Unix-based platforms, including MacOS X.
Several enhancements are planned, including support for TCP, since MGEN
currently only supports UDP. IPv4 and IPv6 can be used as the network layer
protocol.
6
http://pf.itd.nrl.navy.mil/protools/trpr.html
7
http://www.gnuplot.info
36 A Survey of Network Benchmark Tools 473
3.5 LANforge
LANforge is a tool that allows users to simulate networks and perform tests over
them. It includes a GUI that makes the testing process easier. There are several tests
that can be performed with this tool, including configuration of virtual routers (only
for the Linux version). Some of the results that can be obtained with this tool are:
bytes received and transmitted, packets received and transmitted, bits per second
(bps) received and transmitted, collisions and errors; these results are shown in text
and graphically, in real time.
8
http://www.candelatech.com/lanforge_v3/datasheet.html
474 K. Velásquez and E. Gamess
Users can configure many aspects of the test, including the number of packets to
send, interface type of the endpoint to simulate (ISDN, T1, modem, etc), and even
custom payloads can be defined. LANforge also incorporates a VoIP Call Generator
which currently supports H.323 and SIP (Session Initiated Protocol). The voice
payload is transmitted with RTP (Real-time Transport Protocol) which runs over
UDP. RTCP (Real-time Transport Control Protocol) is used for latency and other
accounting. Jitter buffers are used to smooth out network jitter inherent in RTP
traffic.
WAN links can also be simulated and tested. Various characteristics can be
added to the traffic flowing though them, including maximum bandwidth, latency,
jitter, dropped packets, duplicated packets, bit and byte errors, etc. Results are
reported as text and graphically, using a vertical bar graph.
The LANforge GUI has many tabs grouping different tests, and it can be
confusing trying to use it because of the many options offered. However, there is
a detailed description of each tab at the GUI User Guide that can be found at the
website. This guide shows several examples and screenshots that clarify the pro-
cess.
LANforge is available for Linux, Windows, and Solaris platforms (the Solaris
platform was not included in this research). Supported protocols include, but are
not limited to, raw Ethernet, MPLS, IPv4, IPv6, ICMP, OSPF, BGP, UDP, TCP,
FTP, HTTP, and HTTPS.
WLAN Traffic Visualizer9 (WlanTV for short) provides measurements of traffic load
and visualization of sequence of frames in IEEE 802.11 WLANs [4]. WlanTV is
published under the GPL terms. It is developed in Java and both source and JAR
distributions are available for download at the website.
WlanTV requires Wireshark10 (Windows) or TShark (Linux), and JRE 1.6 (Java
Runtime Environment) or later to build and run the program. Only standard Java
packets are needed. It uses TShark to parse the log files and to perform live captures.
9
http://sourceforge.net/projects/wlantv
10
http://www.wireshark.org
36 A Survey of Network Benchmark Tools 475
We installed WlanTV from the JAR distribution and used the command java –jar
wlantv.jar, which opens a GUI from which users can run the experiments.
Documentation is not very extensive. The distribution includes a very small
README file with a few instructions about system prerequisites and not many
instructions about installation and execution. However, an example of capture is
available for download at the website.
This tool does not use the client-server model. Only one computer is needed to
conduct the experiments. It sniffs the traffic of an IEEE 802.11 network and reports
the results of that capture. For the experiments, users can employ a file from a
previous capture, or they can start a new live capture. In the later option, users must
stop the live capture in order to observe the results; which include the frame count,
byte count, capture duration, transmission rate during the capture, detailed infor-
mation for each packet (protocols, length, addresses, etc.), and bandwidth distribu-
tion. Results are shown in text mode and graphically.
WlanTV is available for Linux and Windows platforms. This tool reports statistics
for 802.11 protocols.
3.7 TTCP
To install TTCP, gcc12 is needed to compile the file ttcp.c and generate the
executable ttcp, which includes both the sender and the receiver. Documentation
is offered via man pages, and also by invoking the tool without options.
11
ftp://ftp.eenet.ee/pub/FreeBSD/distfiles/ttcp
12
http://gcc.gnu.org
476 K. Velásquez and E. Gamess
Users must start the receiver and then start the transmitter, both via command-line.
The transmitting side sends a specified number of packets (option –n, 2048 by
default) to the receiving side. At the end of the test, the two sides display the
number of bytes transmitted and the time elapsed for the packets to travel from one
end to the other.
Results are shown on standard output. These results include the throughput and
an average of system calls. It is possible to change the units for the output, but they
have to be set at the beginning of the test.
TTCP is only supported on Unix platforms. However, some ports for Windows are
available (e.g. PCATTCP). IPv4 is used as the network layer protocol. It allows the
usage of both TCP and UDP as the transport layer protocol.
4 Comparative Analysis
Supported platforms Linux Linux, Windows Windows Linux, Windows Linux, Windows Linux, Windows Linux
Network protocols IPv4, IPv6 IPv4, IPv6, ICMPv4, IPv4 IPv4, IPv6 IPv4, IPv6, ICMPv4, IPv4, IPv6 IPv4
ICMPv6 ICMPv6
Transport protocols TCP, UDP TCP, UDP TCP UDP TCP, UDP TCP, UDP TCP, UDP
Reported results Throughput Delay, jitter Throughput Delay and Delay, jitter and Throughput Throughput
and throughput throughput throughput
User interface Console Console GUI Console GUI GUI Console
Sync required No No No No No – No
477
478 K. Velásquez and E. Gamess
only WlanTV does not introduce additional overhead to the network by injecting
traffic; however this also implies that this tool is not able to measure the throughput
and only reports results of the transmission rate for the captured packets during
the test.
We also noticed that WlanTV users must have root privileges for execution since
the tool requires the network interface card to be set in promiscuous mode. Also, we
noticed that most of the studied tools already have IPv6 support. Network through-
put is the most common reported result; followed by delay and jitter.
In relation to the user interface, only a few tools have a GUI (NetStress,
LANforge, and WlanTV). To ease the testing process, some tools (D-ITG and
MGEN) use an input file that contains the parameters and the streams description
for the tests, which is more flexible than the traditional command line arguments.
One last issue of great importance is the clock synchronization, especially when
measuring delays. Manual clock synchronization is not recommended due to of its
poor accuracy. One solution is to use NTP (Network Time Protocol); this requires
additional knowledge and configuration.
parameters to customize the experiment (buffer size and number) as well as a poor
protocol support.
For future work, we plan to design and implement our own network benchmark
tool that will incorporate the strengths of the evaluated tools, but eliminates their
weaknesses, following the client-server model. Our tool will be compliant with
RFCs 1242 [13], 2544 [14] and 5180 [15], where a set of recommendations are
suggested to develop benchmarks. One of our main interests is to offer support for
IPv6 protocol. Also, it will be distributed under the GNU General Public License,
allowing users to modify the source code for any particular requirement.
Among the features we plan to include in our tool is the ability to measure the
packet loss rate, throughput and RTT for different protocols (e.g. TCP, UDP, ICMP,
and IP). Tests also may be parameterized, allowing users to define custom traffic
generation that follow different models (random variables), including CBR, burst
traffic, Poisson, Exponential and Pareto. Also, users should be able to specify
values for some header fields, such as the TTL and ToS in IPv4, and the Traffic
Class, Hop Limit and Flow Label in IPv6.
As shown in our analysis, most of the tools do not have specific support for WiFi.
For IEEE 802.11, only end-to-end performance evaluation is offered. Users have no
way to obtain performance result (bandwidth, delay, packet loss rate) between a
mobile station and an access point (or wireless router). So we also plan to adapt the
tool that we will develop for use in access points. Since the shipped firmware of
access points (or wireless routers) does not allow users to customize them, several
free Linux-based firmwares (DD-WRT13, OpenWrt14, HyperWRT15, Tomato16)
were developed by the Internet community. We evaluated them and we decided
to use DD-WRT mega version 2.24, for its flexibility and because we were able to
successfully install it on an ASUS WL-500W wireless router. A cross compiler suite
(also called toolchain) is a set of tools that includes a compiler capable of creating
executable code for a platform other than the one on which the compiler is run.
Cross compiler tools are used to generate executables for embedded system or small
devices upon which it is not feasible to do the compiling process, because of the
limited resources (memory, disk space, computational power, etc). From the source
codes of different GNU packages (binutils, gcc, gþþ, glibc and uClibc), we created
the cross compiler suite that generates the appropriate executable code for our
ASUS WL-500W wireless router (MIPS ELF based wireless router). uClibc17 is a C
library for developing applications for embedded Linux systems. It is much smaller
than the GNU C Library (glibc), but nearly all applications supported by glibc also
work perfectly with uClibc as well. To test our cross compiler suite, we developed
several small applications for our wireless router and we observed that the code
13
http://www.dd-wrt.com
14
http://www.openwrt.org
15
http://sourceforge.net/projects/hyperwrt
16
http://www.polarcloud.com/tomato
17
http://www.uclibc.org
480 K. Velásquez and E. Gamess
generated by the cross compiler is much smaller when uClibc is used rather than
when glibc is used. This result is important due to the limited capacity of flash
memory of the wireless router, so we will use uClibc when possible, and glibc when
using advanced library functions not supported by uClibc.
Acknowledgment We would like to thank Candela Technologies for the trial version of their tool
(LANforge), which allowed us to include it in our study.
References
Abstract This chapter discusses the continuous effort to explore stock price and
trend prediction from finance perspective as well as from the integration of three
major research areas namely data mining, artificial intelligence and decision support.
These areas have been explored to design a hybrid stock price prediction model with
relevant techniques into the stock price analysis and prediction activities.
1 Introduction
Throughout the centuries and in various countries, many people had tried to predict
the movement of share prices and beat the market but no one can really accurately
predict the movement of a particular share prices for company listed in the stock
exchange. No one knows the futures; hence no one knows what will happen to a
company in the future where such uncertainty caused the movement of the share price
unpredictable. The advances and great movements in computing give implications to
finance and economics today. New area of research known as financial engineering or
computational finance is highly mathematical and cross-disciplinary field which
relies on finance, mathematics and programming. Thus it enables financial analyst
to analyze data efficiently. Much work can be done using mathematical model in
spreadsheet program but the more demanding work needs one to write a computer
program. This chapter presents the study on designing a decision model for invest-
ment strategy by utilizing financial methods and computation techniques.
The movement of the share price is unpredictable. There was a study done to
estimate and predict the movement of share prices by using statistics, math and
forecasting methods based on the historical share price data and this named as
Technical Analysis (TA). According to Rockefeller [1], TA has been around for
100 years and before the existence of computers, it was done only by professionals
who had access to real time price on the stock exchange.
There are tools and software created to automatically illustrates and generate
various graphs and perform various complex calculations in the TA. These tools
eliminate the haste of Financial Analyst in performing TA manually by paper
and pen in the past. With computer capabilities, now investors also perform TA
themselves with the help of appropriate software that help them in making their
trading and investment decision.
Other than assisting and making the TA process more efficient and effective,
IT field also brought a totally new perspective and thinking into stock analysis
through the researches and studies on the implementation of AI and DM concepts in
the stock analysis. For example, there were studies conducted on the combining the
Candlestick analysis (one form of the TA) with the Genetic Algorithms in stock
analysis [2]. In addition, Quah [3] stated that with the significant advancement in
the field of Artificial Neural Network (ANN), the generalization ability of the ANN
is able to create an effective and efficient tool for stock selection.
Investors face the highest risks compared to other form of financial investments
such as bond, Treasury bill and fixed deposit when they invest in the stock market.
Stock price fluctuates almost every second and most people see the share price
movement as unpredictable or in other term “random walk”. Some investors
involve in this activity mostly based on speculation where their aim is more to
obtaining capital gain rather than earning dividend as their investment return.
Investing based on speculation sometimes caused many individual investors had
their ‘hand burn’ where they lose their initial investment. Kamich [4] defined that
stock market is a private or public market for the trading of company stocks at an
agreed price. One of the main objectives of the company to be listed in the stock
market is to raise capital to fund future expansion.
If the investors able to purchase the correct share when the price at its lowest
range and it can be sold at a better price later, they will be able to earn big chunk of
money from the stock market. Of course, this is not easy to be done as no one able to
predict the future, as well as the movement of the share price accurately.
The attempt of analyzing the stock performance using financial theories can be
traced back up to late 1800s, where the oldest approach to common stock selection
and price prediction, TA is created and used [5]. Edward and Magee [6], stated that
37 Hybrid Stock Investment Strategy Decision Support System 483
throughout the years of stock market study, two distinct schools of thought has
arisen each with radically different methods of obtaining answers on what share to
buy and when to buy and sell the share. These two different schools of thought in
stock analysis are Fundamental Analysis (FA) and TA.
Jones [5] defined FA as a method of security valuation which involves analyzing
basic financial variables such as sales, profit margin, depreciation, tax rate, sources
of financing, asset utilization and other factors. Edward and Magee [6] notified that
FA relies heavily on statistics and people who performing FA will be looking
through the auditor’s reports, the profit-and-loss statement, balance sheet, dividend
records, and policies of the companies whose shares is under their observation.
They will also analyze business activities and daily news to estimate the company’s
future business condition. The investors who use FA will purchase stocks that are
viewed as underpriced by the analysts who believe that in the future, the share price
will increase to the level that it should be as computed in FA.
Another theory, TA is defined as the study of how securities prices behave
and how to exploit that information to make money while avoiding losses [1]. TA
focuses on the share price to assess and evaluate the demand and the supply for the
shares based on the market price itself and do not listen to chatter about securities.
Jones [5] claimed that technical analyst believes that the market itself is its own best
source of data. It is believed that all the investors’ reactions towards all the
information regarding the security already embedded in the share price.
According to Rockefeller [1], TA works because people constantly repeat
behavior under similar circumstances and TA is a forecasting method where it
uses past and current behavior (price) to predict future behavior (price). Concurrent
to this behavior repetition concept, Edward and Magee [6] noted that share price
move in trends and they tend to continue until something happens that will change
the supply and demand balance. As a conclusion, TA charts and analyzes the
historical share prices to reveal the pattern, formation and investor’s behavior and
interpret it to predict the possible future share price trend.
discover the non-linear relationship between financial variables and stock price
which cannot be done by the computerized rule-based expert system. In stock
prediction using ANN, the input will be historical data such financial variables
and the output of it will be the performance of stock.
TA is about find the pattern in the historical data to predict the future price
movement, therefore researchers found DM is a suitable technique to reveal the
hidden pattern in the historical data and predict the price trend. Both Y.Y. Shi and
Z.K. Shi [9] has conducted a study on clustering technique (one of DM techniques)
in stock prediction. In their studies, they identified that clustering technique is one
of the efficient methods for stock investment analysis and they also noticed the
weakness of this technique in stock prediction where constructed cluster might not
completely reflecting the characteristics of the stock. In the study, the idea of rules
mining of stock market using the statistical pattern recognition is proposed in order
to overcome the weakness in clustering techniques. From techno-index in TA, Shi
et al. [9] developed an algorithm of fuzzy kern clustering and tested this idea on
Shanghai and Shenzhen Stock Market historical data since 1997. The result of the
study clearly indicates that statistic rules in essential trends of the stock market and
implied rules can be recognized to a certain degree through the construction of
proper clustering algorithm [9].
The authors’ proposed model for stock price prediction is based on Decision
Support System (DSS) model by Turban et al. [10]. AI and DM are included in one
of the subsystem which is Knowledge based subsystem.
The authors have designed DSS model and architecture with some minor modifica-
tion for stock investment strategy. This model can be used to adapt AI and DM
elements into the system and utilizing TA and FA methods. The flow of the system
is shown in Fig. 1.
Based on the architecture that shown in Fig. 2, the flow of the system activities can
be divided into two which reflect the two main processes of the system. The two
main processes of the system are analyzing the raw financial data from TA concept
(TA process) and analyzing the financial data from FA concept (AI process) with
both processes have the same aim of predicting stock price and trends. The first flow
of activities will be started from database where it provides raw financial data to
DM component in knowledge-based subsystem, the output from DM component
37 Hybrid Stock Investment Strategy Decision Support System 485
Technical
Recommendation Pattern and price
Analysis
Component prediction
Component
Artificial
Intelligent
Data Mining
Component
Component
(Fundamental
Analysis)
Knowledge-Based Subsystem
Raw Financial
Data
together with raw financial data from database will be sent to TA component
in model management subsystem for further processing and the output of TA
component will be the input for Recommendation Component. The second flow
of activities will be from raw financial data to AI component in knowledge-based
subsystem. Finally the output from AI component will be sent to Recommendation
Component in model management subsystem.
TA component focuses on illustrating historical stock price data into the form of
graph as well as other TA indicators to interpret investors and market sentiment
in the effort of predicting the stock price movement and trend. Among the most
popular charting techniques that being used in TA are Line Graph, Open-High-
Low-Close chart and Japanese Candlestick chart. The mechanism proposed here is
the system that able to indentify and recognized pattern directly from the raw
financial data using rules generated from the underlying reasoning and interpreta-
tion in various TA techniques. In achieving this, TA component of the system
will use rule-based TA model that is constructed from underlying rules in various
TA charting techniques.
5.1 DM Component
Rockefeller [1] highlighted that the same TA method would not work in the same
stock analysis all the time. The same TA method that proven working on a
particular stock does not necessary mean the same method will also work in
other stocks. Therefore, instead of identifying and interpreting patterns from the
raw financial based on the rules generated from one TA method only, the system
will identify the patterns based on underlying rules in various TA methods. This
will reduce the dependency on a single TA method in analyzing a particular stock
as well as provide better reasoning and analysis capability in estimating future
trend of the stock as we compare the same pattern using different rules from
different techniques which give higher accuracy of the prediction. This system
will use the association rules mining to determine the accuracy and effectiveness
of TA methods in predicting price movement and trend for a particular stock.
Therefore, the flow of activities and information in analyzing the stock in TA
concept will start from database and end at recommendation component as
illustrated in Fig. 3
The first phase of TA process will be the financial raw data being mined using
the association rules mining. With association rules mining, all the underlying rules
that reflecting the interpretation of TA in stock price and trend prediction will be
mined by calculating their respective support and confidence values for a particular
stock using the historical price of the stock. By using association rules mining, the
system will be able to identify which association rules that actually work on that
particular stock based on the historical data stored in the database based on the
confidence and support. Those confidence and support value together with raw
financial data will be the input for TA component.
37 Hybrid Stock Investment Strategy Decision Support System 487
TA Component
Rule-based TA Model
Recommendation Component
In the rule-based TA model, the recent historical stock price movement and its
related information will be analyzed by all association rules to identify pattern. If
recent historical price information triggered more than one association rules, the
output from the association rules will be taken into consideration based on weight
that are determined based on the support and confidence level. If the triggered
association rules have a confidence level that is more than 0.50 and it’s the highest
among other triggered association rules, that association rules will have the highest
weight. On the other hand, if an association rule has the confidence level below than
0.50, it means that although the rule has been triggered in the past, the actual result
is different from the expected result. The rule has wrongly predicted the result more
than 50% based on historical data. This indicates that the association rule does not
work well with the stock, hence this association rule will receive lower weight.
Besides that, if an association rule is triggered has the support value of 0, it means
the rule never being triggered before in the past and the system will assign a new
confidence value of 0.5 for the associate rule because since the rule never triggered
before, hence the rule will have a 50% chance that it will predict correctly. If all the
triggered associate rules have confidence level below than 0.50 the system will notify
the user that prediction might have higher risk to be incorrect and the system would
still provide the stock trend prediction. If from all association rules, the predicted
stock trend is a mixture of up and down, the system will compute the likelihood of the
expected trend to be happening based on the expected trend that has the highest
accumulated weight which this process will be done by the Inference Engine in the
TA Component.
5.2 TA Component
Raw Financial
Data
Output from
Back-test
Data Mining
Component
Component
Inference
Engine
The first process would be in the Stock Trend Evaluation Component where the
latest two weeks historical data is used to sun through the underlying rules derived
from the Open-High-Low-Close chart and Japanese Candlestick chart. This process
will detect the pattern, gauge the investor’s sentiment on the stock and discover the
current trend of a particular stock. This component has the most association rules
compared to other components. The output for this process will be the trend of the
particular stock in the near future which will be uptrend, downtrend, indecision or
no trend. Example of association rules from this component illustrated in Fig. 5.
This component will evaluate either the stock has been overvalued or undervalued
using the Williams %R Indicator and Relative Strength Index. Williams %R
indicator is developed with the aim to assess either the particular stock is being
overbought or oversold. There will be two outputs from two indicators which
the result might be contradicted with one to another. This contradiction issue will
be sorted out in back-test component. The output for this process is the evaluation
37 Hybrid Stock Investment Strategy Decision Support System 489
Rule 1:- If the "high" is higher than previous day’s "high" for 3 consecutive day AND
"low" is higher than previous day’s "low" for 3 consecutive days AND
"close" is higher than previous day’s "close" for 3 consecutive days THEN
the stock is in uptrend.
Another component is used to identify any buying or selling signal generated based
on TA for that particular stock. There will be six TA methods being used to trace the
trading signals which are Weighted Multiple moving Average, Momentum, Engulfing,
Doji, Long Shadow and Gap. Unlike ‘Stock Price Evaluation Component’,
association rules in ‘Stock Trading Signal Component’ are not being triggered
all the time. There is high tendency that none of the association rules in this
component is being triggered most of the time because trend reversal itself does
not happen all the time and this component focuses on tracing trend reversal
that leads to the generation of trading signal. The output of this component will
be trading signal and forecasted stock trend. Trading signal is not generated
everyday for a particular stock and the same goes to the forecasted stock trend.
Some of the association rules from various indicators used in this component is
illustrated in Fig. 7.
The forth component in the TA component is used to evaluate the risks and the
noise level of a particular stock. Volatility is a measure of price variation which is
directly linked to risk level and noise level. Stock with high volatility means trading
is riskier but has more profit potential, while low volatility means less immediate
risk. Therefore, this component serves to evaluate the stock’s volatility level and
provides a warning if the volatility level is high because high volatility will cause
the system’s forecast and prediction less accurate due to the high noise level in the
stock movement.
490 C.Y. Chai and S.M. Taib
There are two indicators embedded in this component which are Average True
Range and Average Volume Indicator. The Average True Range is a useful measure
of volatility. The increase in Average True Range signifies that highs and lows
are getting farther apart which means volatility is rising and risk has increased. The
Average Volume Indicator is basically an indicator that shows the average of the
stock’s volume over a period. Volume is an important confirming indicator for any
forecasts especially trading signal where any trading signal generated without
accompanied by signification increase in volume is normally a false trading signal.
The output from this component will be the percentage of changes in the today’s
Average True Range as compared to the result from the previous day and the
percentage of changes in volume as compared to 10-days average volume.
Back-test component is one of the main parts in the TA component. Output from
the various components explained earlier might have contradicted forecasts that
even occurred within a particular component itself. Back-test component will
weight each output from all of the TA indicators based on the performance of
those indicators for that particular stock in the past where indicators that performed
the best in the past will be given the highest weight. This component receives an
important input from the DM component which is the support and confidence values
of each of the association rules used in the three components explained earlier based
on the historical stock price. All the outputs from Stock Trend Evaluation Compo-
nent, Stock Price Evaluation Component and Stock Trading Signal Component
together with their respective weights are sent to Inference Engine.
Inference Engine will produce the final decision on the various different forecasts
and predictions generated by other respective components. Inference engine works
37 Hybrid Stock Investment Strategy Decision Support System 491
based on all the forecasts and their respective weights. If there are contradict
forecasts incurred, those forecasts with higher weight will be chosen as the
decision. All of the outputs from four other components will be included because
each of the indicators in all the components are complementary to each other.
Verification of forecast done by indicators is very important to reduce the unprofit-
able trade resulted from false trading signal generated by a particular indicator. A
final recommendation will be generated by Inference Engine that includes Trading
Signal (Trading Signal is not generated everyday), Forecasted Stock Trend, Stock
Price Evaluation and risks level. Provided together is the possibility level for the
generated trading signal, forecasted stock trend and stock price evaluation which is
derived from the confidence level from each indicators.
5.2.7 AI Component
Both outputs from TA component and AI component are the inputs for the Recom-
mendation component. Forecasted Stock Trend, Stock Price Evaluation, risks level
and Trading Signal are the inputs obtained from TA component while 4-month
target stock market price is the input obtained from AI component. The main reason
that the output from AI does not undergo the back-test component like in TA
component is because the ANN itself has been trained using historical financial
data before producing the 4 month target stock price prediction. This component
task is to assess whether the 4 month target stock price is achievable or not based on
the predicted near future stock trend, evaluation of the current stock price as well as
492 C.Y. Chai and S.M. Taib
trading signals. Hence, it actually integrates both long term and short term forecast
for the stock and present it to the user. The final outputs from this component will be
the predicted near future stock trend to enable user to know the current and possible
trend of the stock with the historical accuracy that the prediction accurate, stock
price evaluation on either the stock price is reasonable, undervalued or overvalued
and with the historical accuracy, risks level to alert users on the possibility that the
system’s prediction is wrong due to high level of volatility, trading signal (buy or
sell signal) if there are trading signal generated for that stock and with historical
accuracy and finally the 4 month targeted stock price.
The recommendation will be provided together with all the outputs given by
various TA indicators and their historical accuracy in presenting the fine-grained
information to the users for their use in making trading decision making concurrent
with the role of the system as a Decision Support System. The system does not
dictate, but recommend. Any final decision is based on the user’s judgment and
evaluation themselves.
6 Conclusion
A study on the FA and TA has been done in order to understand how stock price
prediction works in Finance world as well as to create the TA Model and ANN
based on FA. The further study on DSS model and architecture is done to ensure
Stock Investment Strategy Decision Support System follows the actual basic
framework and model of a DSS. The combination of AI and DM is applied in
this hybrid model particularly in the knowledge-based subsystem to generate better
analysis of the historical data. The output from the system will be the result analysis
and recommendation to the user. The analysis will be generated by the TA compo-
nent and AI component where it will be presented to the users to aid them in their
trading decision making with the presentation of this fine-grained information.
However, it will only present the information and outputs derived from various
TA and FA techniques used in the system. The recommendation component will
judge, evaluate and provide trading recommendation based on the same outputs that
are presented to the user in the analysis.
References
7. A.Abraham, B. Nath, P.K. Mahanti, Hybrid Intelligent Systems for Stock Market Analysis
(Springer-Verlag Berlin Heidelberg, 2001)
8. J.Kamruzzaman, R.Begg, R. Sarker, Artificial Neural Networks in Finance and
Manufacturing (Idea Group Publishing, Hershey, PA, 2006)
9. Y.Shi, Z. Shi, Clustering Based Stocks Recognition (ACM Digital Library, 2006)
10. E.Turban, J.E.Aronson, T.P.Liang, R. Sharda, Decision Support System and Intelligence
Systems (Pearson Education, Upper Saddle River, NJ, 2007)
Chapter 38
Towards Performance Analysis of Ad hoc
Multimedia Network
During the last years, the evolutionary development of in-car electronic systems has
led to a significant increase of the number of connecting cables within a car. To
reduce the amount of cabling and to simplify the networking of dedicated devices,
currently appropriate wired bus systems are being considered. These systems are
related with high costs and effort regarding the installation of cables and accessory
components. Thus, wireless systems are a flexible and very advanced alterative to
wired connections. However, the realization of a fully wireless car bus system is
still far away. Though, cost-effective wireless subsystems which could extend or
partly replace wired bus systems are already nowadays conceivable. A promising
technology in this context is specified by the latest Bluetooth standard [1].
In the wireless networks, Bluetooth is one of the communication technologies
emerging as the de facto standard for “last-meter” connectivity to the traditional
fixed network infrastructure [2]. Bluetooth-enabled portable devices can interconnect
to form a particular incarnation of Personal Area Networks (PAN) called piconet,
which consists of one master and up to seven slaves. The master device has direct
K. Sharma (*)
Institue of Computer Science and Information Technology, Devi Ahilya University, Khandwa
Road, Indore, India
e-mail: [email protected]
visibility of all slaves in its piconet and can handle three types of communication
services, which in Bluetooth terminology are called logical transports: unicast packet-
oriented Asynchronous Connection-oriented Logical transports (ACL), broadcast
packet-oriented Active Slave Broadcast (ASB), and circuit-oriented Synchronous
Connection Oriented (SCO). Bluetooth logical transports have very different quality
characteristics, e.g., in terms of reliability and maximum throughput. It is also vital to
predict actual performance of Bluetooth systems so that it can be applied to the design
of a system.
The use of Bluetooth has been restricted to (safety) uncritical applications in
and around the car, e.g. communication and infotainment applications or applica-
tions regarding the exchange of pure car-specific information (e.g. control and
status data of the body electronics). Inside a car, Bluetooth allows the wireless
connection of a variety of car-embedded electronic devices such as control panels,
small displays or headsets with other electronic in-car systems. But beyond repla-
cing wires between in-car devices, the scope of the application of Bluetooth in
automotive environments is to ensure wireless interoperability between mobile
devices (e.g. PDA, notebook, mobile phone) and car-embedded devices (e.g.
navigation system, car radio, car-embedded phone). The main principle behind is
to allow devices to co-operate and share resources, and to control mobile devices
by using the car embedded user interface, or the other way round, to access car-
embedded systems by mobile devices. In this way, the functionality of an in-car
electronics environment can be greatly extended, and beyond that, the personaliza-
tion of the car and its services can be realized.
In addition, current implementations of the Bluetooth software stack do not
allow applications to exploit the limited performance functions included in the
specification in a portable way. The result is that the development of Bluetooth
operations in multimedia ad hoc applications currently depends on specific imple-
mentation details of the target Bluetooth hardware/software platform. This rele-
vantly complicates service design and implementation, limits the portability of
developed applications, and calls for the adequate modeling of performance para-
meters corresponding to potential ad hoc applications and services.
This chapter discusses the model and analysis for common ad hoc network
performance attributes for pervasive in-vehicle multimedia services for packet
based data communication.
piconet
Rear
Rear
Central Unit
Rear
Rear
system. The piconet shall enable sharing of iPhone contents or access to contents
from internet, if appropriate application framework is available at the infotainment
system.
The network contains a pure multimedia part, represented by Multimedia Bus,
and a control and external communication part, represented by Networking for
Automotive. Multimedia Bus represents the wired multimedia resources. External
multimedia resources can form an ad hoc network via the communication interfaces
of the vehicle network.
Bluetooth technology is based on a master-slave concept where the master
device controls data transmissions through a polling procedure. The master is
defined as the device that initiates the connection. A collection of slave devices
associated with a single master device is referred to as a piconet.
The master dictates packet transmissions within a piconet according to a time-
slot process. The channel is divided into time slots that are numbered according to
an internal clock running on the master. A time division duplex (TDD) scheme is
used where the master and slaves alternatively transmit packets, where even
numbered time slots are reserved for master-slave transmissions, while odd num-
bered time slots are reserved for slave-master transmissions.
Figure 2 provides an overview of the multimedia PAN inside the car with the
role of different nodes. The piconet here consists of a master, the infotainment
device, and two slaves, the smart phone (iPhone) and rear-seat entertainment
device. As soon as the infotainment system is up and running, its Bluetooth module
is ready to pair with other available device. Pairing with iPhone or with rear-seat
entertainment unit or with both establishes the network.
498 K. Sharma et al.
Master
Infotainment System
iPhone
Slave 2
Slave 1
Application Layer
Media Stream
Content
Application Synchronization Information Video
Service Interface MP3
Transport Layer
Media Stream
Node Discovery Application Transport Packets
Transport Handler Services
Communication Paired
[Broadcast / Multicast] Connections PDU Size
The ad hoc multimedia network consisting of Infotainment system and the slave
devices shall provide following services:
l Access to audio contents from iPhone to Infotainment system that could be
played and hearable on the vehicle’s sound system
l Access to video contents from iPhone to rear-seat entertainment unit via the
piconet master.
l Access to internet from rear-seat unit using iPhone via the piconet master
l Applications based on Information contents received by the iPhone to help safe
driving, such as weather information or traffic information
2 Performance Modelling
The main parameters that can influence the performance of the network described
in previous section are, basically,
l The number of application channels
l The offered traffic per application
l The application profile, defined by the objective parameters (thresholds) and
weights
The performance indicators that should be considered for this network are: the
packet delay, the packet error rate, the latency, and the throughput. Packet
transmission and reception are synchronized by the system clock (625 per s slot
interval). This paper focuses on throughput and delay performance in this point-
to-multipoint communication environment. We try to simplify and abstract the
system as much as possible while preserving the essence of the network which
affects the actual performance of the system.
The model considered here is that of a wireless ad hoc network with nodes assumed
either fixed or mobile. The network consists of a normalized unit area torus contain-
ing n nodes [9]. For the case of fixed nodes, the position of node i is given by Xi. A
node i is capable of transmitting at a given transmission rate of W bits/s to j if,
Xk Xj ð1 þ DÞXi Xj ;
Where D > 0, such that the node Xk will not impede Xi and Xj communication.
This is called the protocol model [9].
38 Towards Performance Analysis of Ad hoc Multimedia Network 501
For the case of mobile nodes, the position of node i at any time is now a function
of time. A successful transmission between nodes i and j is governed again by above
equation, where the positions of the nodes are time dependent. Time is slotted to
simplify the analysis. Also, at each time step, a scheduler decides which nodes are
sources, relays, or destinations, in such a manner that the association pair (source-
destination) does not change with time.
The multimedia network presented in previous section resembles to multihop
wireless ad hoc network, and therefore, can be modeled as a queuing network as
shown in Fig. 4a. The stations of the queuing network correspond to the nodes of the
a
p51(n)
p41(n)
4
2
p21(n) p14(n)
p12(n) p15(n)
p31(n)
5
3
p13(n)
λ
p(n)
Packets Generated
Packets Absorbed
Representation of Node
In order to model the delay, we consider one to five ad hoc multimedia applications
with ACL connections in the piconet. In this scenario, packet types are adaptively
selected among DM 1, DM3 and DM5 according to the amount of data waiting for
transmission in buffers. We consider only DM packets assuming that data packets
are vulnerable to bit errors due to error-prone wireless channel characteristics. To
ensure reliable data transmission, FEC (Forward Error Correction) and ARQ
(Automatic Repeat Request) [1] are employed. We simulated simple wireless
channel model, where BER (Bit Error Rate) is constant in a Simulation.
The evaluation of the probability of the queuing delay exceeding a threshold
Dth, the delay threshold, starts from the expression of the delay
X
Pq X
Nactive ðiÞ1
D ¼ Lij
i¼0 j¼0
where pq denotes the number of packets in the queue of the desired application,
Nactive(i) is the number of active applications during the transmission of packet
i, and lij is the length of the packet transmitted by application j during the ith round.
The limiting effect to the delay, for very high values, is determined by the
control imposed to the incoming traffic when the buffer occupancy gets close to
its limits.
Taking into account that the main purpose of this ad hoc network is to provide
access to multimedia contents, the throughput model has to reflect the character-
istics of the network traffic. Throughput performance is evaluated when there are
one or more slave device applications, for which an ACL or SCO connection is
established.
It is assumed that packets are always transmitted and received in the cor-
responding slots. In other words, the master device polls a slave device with an
38 Towards Performance Analysis of Ad hoc Multimedia Network 503
ðNactive Þl
r¼
m
3 Performance Evaluation
The performance of network has been evaluated when the applications on piconet
nodes and transferring audio or data packets. We present here the analysis based on
data packets.
The number of applications in the modelled network is relatively small and they are
assumed to transfer data traffic between the nodes in the piconet. For the data traffic,
this combination is expected to result in burst traffic streams in the network. The
voice traffic was simulated using a measured trace of PCM audio stream, but not
considered here.
Transmitted packets may be lost due to bit errors and is modeled with a constant
loss probability. All lost ACL packets are resent according to the Bluetooth ARQ
scheme. In all the simulations presented herein, the packet loss probability was set
to 103.
504 K. Sharma et al.
Average packet delay, time between arrival of a new packet (data) into a buffer for
transmission and reception of the packet at a receiver, is measured for each of traffic
load as the number of ACL connections changes.
Figure 5 presents the packet latency as a function of the offered traffic per
application for the network, where the number of applications is limited to 50,
the objective thresholds are packet error ERRth ¼ 103 and delay threshold Dth ¼
10 ms, and the average duration of the vertical handover procedure is assumed to be
100 ms.
The weights reflect the relative importance of each objective, according to the
type of service. The objective values are used as threshold to determine a perfor-
mance dissatisfaction value U on the basis of the weights assigned to the profile
parameters.
For low traffic and a profile where packet error EER has higher priority, the delay
can even exceed that of the abstract Bluetooth system; otherwise, the delay lies
between the performance of the ad hoc network and abstract Bluetooth network.
102
Bluetooth
Uth =.2 WD =.3 WEER =.3
Uth =.5 WD =.3 WEER =.3
101 Uth =.3 WD =.5 WEER =.5
Packet delay D [s]
100
10–1
10–2 EERth = 1e -3
Dth = 10 ms
10–3
105 106
Packet traffic [bit / s]
106
EERth =1e-3
Dth = 10 ms
105
Throughput [bit /s]
104
Uth = .2 WD = .3 WPER = .3
Uth = .5 WD = .3 WPER = .3
Uth = .3 WD = .5 WPER = .5
103
105 106
Packet traffic [bit / s]
4 Summary
This chapter presented the network model, delay model and throughput model for
ad hoc In-car multimedia network. We have modelled and evaluated the perfor-
mance of the multimedia piconet in Bluetooth supporting point-to-multipoint
communications. Our performance models provide a performance metric when
ACL slave applications are supported. An approximation for the packet error
probabilities has been used and the influence of the main parameters on the network
performance has been studied. In order to guarantee low delay requirements, the
number of application running simultaneously may need to be limited.
506 K. Sharma et al.
These results can serve as valuable inputs to the optimal design of Bluetooth
based in-car multimedia applications or interfaces with special throughput and
delay requirements.
References
1 Introduction
Data security and cryptographic techniques are essential for safety relevant appli-
cations. Cryptography keeps the message communication secure so that eavesdrop-
pers cannot decipher the transmitted message. It provides the various security
services like confidentiality, integrity, authentication, and non-repudiation. There
are several cryptographic algorithms available for both symmetric and public-key
cryptosystem [1]. Slow running cryptographic algorithms cause customer dissatis-
faction and inconvenience. On the other hand, fast running encryption algorithms
G. Ganapathy (*)
Professor and Head, Department of Computer Science, University of Bharthidasan, Trichy,
620 024, India
e-mail: [email protected]
lead high speed. To achieve this, fast exponentiation methods and high speed
custom hardware devices are needed.
Public-key cryptosystems like RSA, ElGamal often involve raising large
elements of some group fields to large powers. The performance and practicality
of such cryptosystems is primarily determined by the implementation efficiency of
the modular exponentiation. Fast exponentiation is becoming increasingly impor-
tant with the widening use of encryption. In order to improve the time requirements
of the encryption process, minimizing the number of modular multiplication is
essential. For example, to compute C ¼ xe mod n, based on paper-and-pencil
method, it requires (e 1) modular multiplication of x. i.e. x–x2–x3–xe1–xe.
Several authors have proposed the fast modular exponentiation like left-to-right,
right-to-left, multi-exponentiation by Interleaved exponentiation, sliding window
and window NAF exponential methods etc. [2]. But in this paper, in order to reduce
larger exponent into smaller an alternative approach based on sum of squares is
thought of because an integer is represented as several forms of sum of squares
Then, the addition chain is used to reduce the number of multiplications.
ECC was proposed in 1985 by Neal Koblitz and Victor Miller. It is an alternative
to the established cryptosystems like RSA, ElGamal, and Rabin etc. It guarantees all
the security services with the shorter keys. The use of shorter length implies less
space for key storage, less arithmetic cost and time saving when keys are transmitted.
These characteristics make ECC the best choice to provide security in wireless
networks. ECC has increased as evidenced by its inclusion in standards by in credited
standards organizations such as American National Standards Institute (ANSI),
Institute of Electrical and Electronic Engineers (IEEE), International Standards
Organization (ISO), and National Institute of Standards and Technology (NIST).
The security of ECC is based on the discrete logarithm problem over the points on an
elliptic curve. But, it is more difficult problem than the prime number problem of
RSA algorithm [3]. These two problems are closely related to the key length of
cryptosystems. If the security problem is more difficult, then smaller key length can
be used with sufficient security. This smaller key length makes ECC suitable for
practical applications such as embedded systems and wireless applications [4].
A vast amount of research has been conducted on secure and efficient imple-
mentation since then. All focus on scalar point multiplication that is kP, where k is a
scalar and P is a point on elliptic curve. Efficient hardware and software implemen-
tation of scalar point multiplication is the main research topic on ECC in recent
years. To encrypt and decrypt the message using any public key cryptosystem
like ECC, modular arithmetic plays a vital role and it is the key operation in modern
cryptology. Even though, many algorithms have been developed for faster imple-
mentation, none of the work reveals the use of fuzzy modular arithmetic to speed up
the encryption and decryption operations on ECC.
Fuzzy modular arithmetic was proposed by Wael Adi. The key idea used in
fuzzy modular arithmetic is not to compute the result exactly as in the traditional
modular arithmetic because the traditional modular arithmetic uses division
operation for modulo reduction m. Thus, instead of the full reduction, a pseudo
fuzzy randomized partial reduction is performed.
Towards the Performance Optimization of Public-key Algorithms 509
In this section, we present the representation of some integers based on the sum of
two, three, and four squares, the concept of addition chain which is used to find the
minimal number of multiplications required for an exponent, the mathematical
preliminaries of elliptic curve, addition of points in elliptic curve, and Fermat’s
theorem to find the modular inverse of an integer.
In this section, we explore integers that may (or may not) be expressed as a sum of
two, three and four squares [5–7].
The Theorems 1 and 2, and Corollaries 1 and 2 are useful to represent an integer in
the form of sum of two squares.
l Theorem 1 (Fermat)
An odd prime p is expressible as a sum of two squares if and only if p 1(mod 4)
l Corollary 1
Any prime p is of the form 4k þ 1 can be represented uniquely (aside from the
order of the summands) as a sum of two squares.
l Theorem 2
Let the positive integer n be written as n ¼ N2 m, where m is square-free. Then
n can be represented as the sum of two squares if and only if m contains no prime
factor of the form 4k þ 3.
510 G. Ganapathy and K. Mani
l Corollary 2
A positive integer n is representable as a sum of two squares if and only if each
of its prime factors of the form 4k + 3 occurs to an even power.
l Theorem 3
Any positive integer n can be represented as the difference of two squares if and
only if n is not of the form 4k + 2.
l Example
13 ¼ 22 þ 32 (We do not consider 13 ¼ 22 þ 32 as distinct from 13 ¼ 32 þ 22).
In this case, the total number of pairs (x, y) of integers such that x2 þ y2 ¼ n is 8. For
n ¼ 13, we get the pairs (2, 3) and (3, 2). This result is due to Fermat.
l Theorem 4
The Diophantine equation x12 þ x22 þ x32 ¼ n where n is a positive integer has
integral solutions if and only if n is not of the form 4k (8m þ 7).
l Theorem 5
No positive integer of the form 4n (8m þ 7) can be represented as the sum of
three squares.
l Example
The integer 14, 33, and 67 can be represented as sum of three squares.
14 ¼ 32 þ 22 þ 12
33 ¼ 52 þ 22 þ 22
67 ¼ 72 þ 32 þ 32
l Theorem 6 (Lagrange)
Any positive integer n can be written as the sum of four squares, some of which may
be zero.
l Theorem 7
Any prime p of the form 4m þ 3 can be expressed as the sum of four squares.
l Lemma 1 (Euler)
If the integers m and n are each the some of four squares, then m n is likewise
so representable.
Towards the Performance Optimization of Public-key Algorithms 511
l Example
To represent the integer 459 as sum of four squares, we have
459 ¼ 32.3.17 (Euler Identity)
¼ 32(12 þ 12 þ 12 þ 02)(42 þ 12 þ 02 þ 02)
¼ 32[(4 þ 1 þ 0 þ 0)2 þ (1 4 þ 0 0)2 þ (0 0 4 þ 0)2 þ (0 þ 0 1 0)2]
¼ 32[52 þ 32 þ 42 þ 12]
459 ¼ 152 þ 92 þ 122 þ 32
l If n 3 (mod 4), then n cannot be written as sum of two squares. More generally,
if n contains a prime factor p 3 (mod 4) raised to an odd power, then n cannot
be written as a sum of two squares.
l Example
78 ¼ 2 3 13 is such a number.
For the general case, when n is an arbitrary positive integer, a formula for the
number of pairs (x, y) of integers such that x2 þ y2 ¼ n was first found by Jacobi. It
is expressed in terms of the number of divisors of n, thus: Let the number of divisors
of n of the type 1 (mod 4) be d1(n), and let the number of divisors of n of the type 3
(mod 4) be d3(n). Then the number of pairs (x, y) of integers such that x2 þ y2 ¼ n is
equal to 4[d1(n) d3(n)].
l Example:
Take n ¼ 65. The divisors of 65 are 1, 5, 13, 65. These are all of the form 1
(mod 4), so d1(n) ¼ 4, d3(n) ¼ 0, 4 [d1(n) d3(n)] ¼ 16. The integer pairs
(x, y) for which x2 þ y2 ¼ 65 are (1, 8), (8, 1), (4, 7), (7, 4),
and these are indeed 16 in number. Or take n ¼ 39. The divisors of 39 are 1, 3,
13, 39, so that d1(n) ¼ 2, d3(n) ¼ 2, d1(n) d3(n) ¼ 0. And indeed there are no
pairs (x, y) of integers for which x2 þ y2 ¼ 39.
1 ¼ a0; a1 ; a2 ; . . . ; an ¼ e (1)
512 G. Ganapathy and K. Mani
1 ¼ a0; a1 ; a2 ; . . . ; an ¼ e (2)
For if any two a’s are equal, one of them may be dropped; and arrange the
sequence (1) into ascending order and remove terms >e without destroying the
addition chain property (2). The shortest length, r, for which there exists an addition
chain for e is denoted by l(r). Clearly, the problem of finding the shortest ones
becomes more and more complicated as r grows larger [8].
This section focus on the concept of elliptic curve, addition of two points in elliptic
curve, and scalar point multiplication.
Let p be a prime greater than 3 and let a and b be two integers such that 4a3 + 27b2 ¼ 6 0
(mod p). An elliptic curve E over the finite field Fp is the set of points (x, y) E Fp Fp
satisfying the Weierstrass equation
E : y2 ¼ x3 þ ax þ b (3)
together with point at infinity O. The inverse of the point P ¼ (x1, y1) is P ¼ (x1,
y1). The sum P + Q of the points P ¼ (x1, y1) and Q ¼ P ¼ (x2, y2) (where P, Q 6¼
O and P ¼ Q) is the point R ¼ (x3, y3) where
ð y2 y1 Þ
l¼ ; x3 ¼ l2 x1 x2 ; y3 ¼ ðx1 x3 Þl y1 : (4)
ð x2 x1 Þ
3x21 þ a
l¼ ; x3 ¼ l2 2x1 ; y3 ¼ ðx1 x3 Þl y1 : (5)
2y1
The point at infinity O plays a rule similar to that of the number 0 in normal
addition. Thus, P þ Q ¼ P, and P þ (P) ¼ O for all points P. The point on E
together with the operation of “addition” forms an abelian group [9]. Since the point
Towards the Performance Optimization of Public-key Algorithms 513
1. Q ! P
2. for j from l–1 to 0 by 1 do:
3. Q ! [2] Q
4. If kj ¼ 1 then
Q P+Q
5. end if
6. end for
It is done according to Fermat’s theorem, a–1 ¼ ap–2 mod p, if gcd (a, p) ¼ 1. In this
paper, we are interested the E defined over GF (p), p is a prime. Thus, Fermat’s
theorem is used to find multiplicative inverse modulo p. The multiplication inver-
sion can be performed by modular exponentiation of a by p 2 and it can be
realized by using the square and multiply algorithm [11].
The concept of fuzzy modular arithmetic for cryptographic schemes was proposed
by Wael Adi. As illustrated by Wael Adi [12, 13], in partial modulo reduction
instead of performing division, the division is replaced by repeated subtraction. For
that some random multiples of m is used. Since the operation used is not exact but
involves some random multiples of m from the value to be reduced modulo m, and
hence this approach is called fuzzy. The result of the process is not the rest of the
division usually computed, but another value and it can be used for calculation. The
numerical example of serial fuzzy modular multiplication is shown in Fig. 2.
The modulus m ¼ 13, a multiple of m i.e., m ¼ m·t ¼ 13·2 ¼ 26 is subtracted
each time. The 2’s complement of m is . . .1100110.
In Fig. 1, the conventional multiplication of two binary integers, say A ¼ 35, and
B ¼ 33 with m ¼ 13 is shown and the result is 11 (mod 13). Since, fuzzy modular
multiplication mainly focuses on repeated subtraction instead of division for modulo
reduction m, in this work m ¼ 2 13 ¼ 26 is considered and the process is shown in
Fig. 2. It is noted that subtraction is performed whenever the bit position in B is zero.
514 G. Ganapathy and K. Mani
Fig. 1 Conventional
multiplication A = (35)2 = × 100011 35 ×
B = (33)2 = 100001 33
100011 1155 = 11 (mod 13)
000000
000000
000000
000000
100011
10010000011
4.1 Pseudocode
4.2 Example
In order to understand the pseudocode, the example illustrated in various cases are
useful.
l Case 1: When e is a prime and e 1 mod 4
Suppose e is 29, then e 1 mod 4. Using sum of two squares, say
e ¼ 52 þ 22; x29 ¼ x25 þ 4 ¼ (x4)7x
we first evaluate y ¼ x4
Then, we form y1¼ y2 ¼ (x 4)2; y2 ¼ y12
x29 ¼ y * y1 * y2 * x
Thus, the whole process takes 7 multiplication, which is equal to shorter addition
chain as illustrated by Nareli Cruz-Cortes et al.
l Case 2: when e is a prime and e 3 (mod 4)
Suppose e is 11, and e is in the form of 4k þ 3, where k ¼ 1. It cannot be
expressed as sum of squares.
Thus, we form x11 ¼ x(x5)2
We first evaluate y ¼ x(x4) ¼ x(x2)2;
Then, we form x11 ¼ y2 * x which requires 5 multiplication
l Case 3: when e is not a prime and of the prime factor is of the form, p 3 (mod 4)
Suppose e is 78. Then, the factors of 78 are 2, 3, and 13. One of the prime factor,
say p ¼ 3 is of the form p 3 (mod 4). Thus, 78 cannot be expressed as a sum of
two squares. In this case, we have to consider a1l factors of 78.
516 G. Ganapathy and K. Mani
Thus, 78 ¼ 2 3 13
x78 ¼ ((x2)3)13
We first evaluate y1¼ x * x
y2 ¼ y1 * y1 * y1
x78 ¼ y213 ¼ y212y2
y3 ¼ y2 * y2
y4 ¼ y 36
x
78
¼ y4 * y2
Thus, the exponent 78 requires 8 multiplications.
l Case 4: when e is expressed as sum of three squares
Suppose e ¼ 27, then 27 ¼ 12 þ 12 þ 52
x27 ¼ x2(x5)5
Thus, the exponent 27 requires 6 multiplication
l Case 5: when e is expressed as sum of four squares
Suppose e ¼ 15, then 15 ¼ 12 þ 12 þ 22 þ32
x15 ¼ x2 · x4 · x9
¼ x2(x4)3x
¼ x x2(x4)3
Thus, the exponent 15 requires 5 multiplications.
Similar calculations can be performed other exponents also. The addition chain
for the exponents 11, 15, 27, 29, and 78 are shown in the Table 2.
Table 3 Addition of two points in EC using fuzzy modular arithmetic and Fermat’s theorem
Algorithm 2 EC point addition and doubling using fuzzy modular arithmetic
Input: p1¼ (x1,y1), p2 ¼ (x2,y2) and m Input: p1¼ (x1,y1), a and m
Output: p1 þ p2 ¼ p3 ¼ (x3,y3) Output: 2 p1 ¼ p3 ¼ (x3,y3)
1. Tl1 y2 y1 1. Tl1 3x21 þ a
2. Tl2 x2 x1 2. Tl2 2 y1
3. Tlm2 Tl2 m2 mod m 3. Tlm2 Tl2 m2 mod m
(Fermat’s Theorem) (Fermat’s Theorem)
4. T1
lm2 Tlm2 z1 m(z1m Tlm2 ) 4. T1
lm2 Tlm2 z1 m(z1 m Tlm2 )
5. l Tl1 T1 lm2 5. l Tl1 T1 lm2
6. Tx3 l2 x1 x2 6. Tx3 l2 2 x1
7. If Tx3 > m then 7. If Tx3 > m then
8. x3 Tx3 z2 m (z2 m Tx3 ) 8. x3 Tx3 z2 m (z2 m Tx3 )
Else Else
9. x3 Tx3 9. x3 Tx3
10. end if 10. end if
11. Ty3 (x1 x3) l y1 11. Ty3 (x1 x3) l y1
12. If Ty3 > m then 12. If Ty3 > m then
13. y3 Ty3 z3 m 13. y3 Ty3 z3 m
else else
14. y3 Ty3 14. y3 Ty3
15. end if 15. end if
Clear text P
(M) Cipher text C = (x, y) C
Imbedd M in Ep and
select the corresponding = Pe mod n P = Cd mod n
point say P = (x, y). = e × P mod n = d × C mod
P
M Reverse of imbedding P into M
multiplier etc. [16]. The main objective of this work is to perform modular opera-
tions without trail division because the hardware implementation of trial division is
an expensive. Thus, this work emphasizes fuzzy modular arithmetic as illustrated
by W. Adi no division is required and division is repeatedly replaced by subtraction
and hence the hardware implementation is relatively easy. Moreover, to perform
kP, repeated addition is used. To add two points of EC, in both formula modular
multiplication inversions is involved and it takes considerable amount of time. To
avoid it, Fermat’s Theorem is used in this paper which is illustrated in Section 2.3.2.
The algorithm which describes the EC point addition and doubling using Fuzzy
Modular Arithmetic and Fermat’s theorem is shown in Table 3 [17].
The proposed methodology to speed up the modular arithmetic is shown in
Fig. 3.
6 Conclusion
References
9. N. Koblitz, Elliptic curve cryptosystems. Math. Comput. 48(177), 203–209 (Nov 1982)
10. J. Lutz, A. Hasan, High performance FPGA based elliptic curve cryptographic co-processor.
ITCC 04, international conference on information technology coding and computing, vol. 2,
2004, p. 486
11. I. Blake, G. Seroussi, N.P. Smart, Elliptic Curves in Cryptography, (Ser. London Math. Soc.
Lecture Note Series, Cambridge University Press, New York, 1999)
12. W. Adi, Fuzzy modular arithmetic for cryptographic schemes with applications for
mobile security, IEEE, Institute of Technology Technical University of Braunschweig,
Braunschweig, 2000, p. 263–265
13. A. Hanoun, W. Adi, F. Mayer-Lindenberg, B. Soundan, Fuzzy modular multiplication archi-
tecture and low complexity IPR-protection for FPGA technology. IEEE, 2006, p. 325–326
14. N. Cruz-Cortes et al., Finding Optimal Addition Chain Using a Genetic Algorithm Approach,
LNCS, vol. 3801 (Spring Berlin/Heidberg, 2005), pp. 208–215
15. N. Koblitz, Elliptic curve cryptosystems. Math. Comput. 48(177), 203–209 (Nov 1982)
16. Y.-J. Choi, M.-S. Kim, H.-R. Lee, H.-W. Kim, Implementation and analysis of Elliptic Curve
Cryptosystems over Polynomial basis and ONB. PWAEST, 10, 130–134 (Dec 2005)
17. G. Ganapathy, K. Mani, Maximization of Speed in Elliptic Curve Cryptography Using Fuzzy
Modular Arithmetic over a Microcontroller based Environment, Lecture Notes in Engineering
and Computer Science WCECS (San Francisco, CA, 20–22 Oct 2009), pp. 328–332
Chapter 40
RBDT-1 Method: Combining Rules and Decision
Tree Capabilities
Abstract Most of the methods that generate decision trees for a specific problem
use examples of data instances in the decision tree generation process. This chapter
proposes a method called “RBDT-1” - rule based decision tree - for learning a
decision tree from a set of decision rules that cover the data instances rather than
from the data instances themselves. RBDT-1 method uses a set of declarative rules
as an input for generating a decision tree. The method’s goal is to create on-demand
a short and accurate decision tree from a stable or dynamically changing set of
rules. We conduct a comparative study of RBDT-1 with existing decision tree
methods based on different problems. The outcome of the study shows that in
terms of tree complexity (number of nodes and leaves in the decision tree) RBDT-1
compares favorably to AQDT-1, AQDT-2 which are methods that create decision
trees from rules. RBDT-1 compares favorably also to ID3 which is a famous method
that generates decision trees from data examples. Experiments show that the
classification accuracies of the different decision trees produced by the different
methods under comparison are equal.
1 Introduction
Decision Tree is one of the most popular classification algorithms used in data
mining and machine learning to create knowledge structures that guide the decision
making process.
The most common methods for creating decision trees are those that create
decision trees from a set of examples (data records). We refer to these methods as
data-based decision tree methods.
A. Abdelhalim (*)
Department of Electrical and Computer Engineering, University of Victoria, 3055 STN CSC,
Victoria, B.C.,V8W 3P6, Canada
e-mail: [email protected]
On the other hand, to our knowledge there are only few approaches that create
decision trees from rules proposed in the literature which we refer to as rule-based
decision tree methods.
A decision tree can be an effective tool for guiding a decision process as long as
no changes occur in the dataset used to create the decision tree. Thus, for the data-
based decision tree methods once there is a significant change in the data, restruc-
turing the decision tree becomes a desirable task. However, it is difficult to
manipulate or restructure decision trees. This is because a decision tree is a
procedural knowledge representation, which imposes an evaluation order on the
attributes. In contrast, rule-based decision tree methods handle manipulations in the
data through the rules induced from the data not the decision tree itself. A declara-
tive representation, such as a set of decision rules is much easier to modify and
adapt to different situations than a procedural one. This easiness is due to the
absence of constraints on the order of evaluating the rules [1].
On the other hand, in order to be able to make a decision for some situation we
need to decide the best order in which tests should be evaluated in those rules. In
that case a decision structure (e.g. decision tree) will be created from the rules. So,
rule-based decision tree methods combine the best of both worlds. On one hand
they easily allow changes to the data (when needed) by modifying the rules rather
than the decision tree itself. On the other hand they take advantage of the structure
of the decision tree to organize the rules in a concise and efficient way required to
take the best decision. So knowledge can be stored in a declarative rule form and
then be transformed (on the fly) into a decision tree only when needed for a decision
making situation [1].
In addition to that, generating a decision structure from decision rules can
potentially be performed faster than generating it from training examples because
the number of decision rules per decision class is usually much smaller than the
number of training examples per class. Thus, this process could be done on
demand without any noticeable delay [2, 3]. Data-based decision tree methods
require examining the complete tree to extract information about any single
classification. Otherwise, with rule-based decision tree methods, extracting infor-
mation about any single classification can be done directly from the declarative
rules themselves [4].
Although rule-based decision tree methods create decision trees from rules, they
could be used also to create decision trees from examples by considering each
example as a rule. Data-based decision tree methods create decision trees from data
only. Thus, to generate a decision tree for problems where rules are provided, e.g.
by an expert, and no data is available, rule-based decision tree methods are the only
applicable solution.
This chapter presents a new rule-based decision tree method called RBDT-1.
To generate a decision tree, the RBDT-1 method uses in sequence three differ-
ent criteria to determine the fit (best) attribute for each node of the tree, referred
to as the attribute effectiveness (AE), the attribute autonomy (AA), and the
minimum value distribution (MVD). In this chapter, the RBDT-1 method is
compared to the AQDT-1 and AQDT-2 methods which are rule-based decision
40 RBDT-1 Method: Combining Rules and Decision Tree Capabilities 523
tree methods, along with ID3 which is one of the most famous data-based
decision tree methods.
2 Related Work
There are few published works on creating decision structures from declarative
rules.
The AQDT-1 method introduced in [1] is the first approach proposed in the
literature to create a decision tree from decision rules. The AQDT-1 method uses
four criteria to select the fit attribute that will be placed at each node of the tree.
Those criteria are the cost1, the disjointness, the dominance, and the extent, which
are applied in the same specified order in the method’s default setting.
The AQDT-2 method introduced in [4] is a variant of AQDT-1. AQDT-2 uses five
criteria in selecting the fit attribute for each node of the tree. Those criteria are the
cost1, disjointness, information importance, value distribution, and dominance,
which are applied in the same specified order in the method’s default setting. In
both the AQDT-1 & 2 methods, the order of each criterion expresses its level of
importance in deciding which attribute will be selected for a node in the decision
tree. Another point is that the calculation of the second criterion – the information
importance – in AQDT-2 method depends on the training examples as well as the
rules, which contradicts the method’s fundamental idea of being a rule-based decision
tree method. AQDT-2 requires both the examples and the rules to calculate the
information importance at certain nodes where the first criterion – Disjointness – is
not enough in choosing the fit attribute. AQDT-2 being both dependent on the
examples as well as the rules increases the running time of the algorithm remark-
ably in large datasets especially those with large number of attributes.
In contrast the RBDT-1 method, proposed in this work, depends only on the rules
induced from the examples, and does not require the presence of the examples
themselves.
Akiba et al. [5] proposed a rule-based decision tree method for learning a single
decision tree that approximates the classification decision of a majority voting
classifier. In their proposed method, if-then rules are generated from each classifier
(a C4.5 based decision tree) and then a single decision tree is learned from these
rules. Since the final learning result is represented as a single decision tree,
problems of intelligibility and classification speed and storage consumption are
improved. The procedure that they follow in selecting the best attribute at each node
of the tree is based on the C4.5 method which is a data-based decision tree method.
The input to the proposed method requires both the real examples used to create the
1
In the default setting, the cost equals 1 for all the attributes. Thus, the disjointness criterion is
treated as the first criterion of the AQDT-1 and AQDT-2 methods in the decision tree building
experiments throughout this paper.
524 A. Abdelhalim and I. Traore
classifiers (decision trees) and the rules extracted from the classifiers, which are
used to create a set of training examples to be used in the method.
In [6], the authors proposed a method called Associative Classification Tree
(ACT) for building a decision tree from association rules rather than from data.
They proposed two splitting algorithms for choosing attributes in the ACT one
based on the confidence gain criterion and one based on the entropy gain criterion.
The attribute selection process at each node in both splitting algorithms relies on
both the existence of rules and the data itself as well. Unlike our proposed method
RBDT-1, ACT is not capable of building a decision tree from the rules in the absence
of data, or from data (considering them as rules) in the absence of rules.
In this section, we present the notations used to describe the rules used by our
method. We also present the methods used to generate the rules that will serve as
input to the rule-based decision tree methods in our experiments.
3.1 Notations
In order for our proposed method to be capable of generating a decision tree for a
given dataset, it has to be presented with a set of rules that cover the dataset. The
rules will be used as input to RBDT-1 which will produce a decision tree as an
output. The rules can either be provided up front, for instance, by an expert or can
be generated algorithmically.
Let a1 ; :::; an denote the attributes characterizing the data under consideration,
and let D1 ; :::; Dn denote the corresponding domains, respectively (i.e. Di represents
the set of values for attribute ai ). Let c1 ; :::; cm represent the decision classes
associated with the dataset.
The RBDT-1 takes rules as input and produces a decision tree as output. Thus, to
illustrate our approach and compare it to existing similar approaches, we use in
this chapter two options for generating a set of disjoint rules for each dataset. The
first option is based on extracting rules from a decision tree generated by the ID3
method, where we convert each branch – from the root to a leaf – of the decision
tree to an if–then rule whose condition part is a pure conjunction. This scenario
will ensure that we will have a collection of disjoint rules. We refer to these rules
as ID3-based rules.
40 RBDT-1 Method: Combining Rules and Decision Tree Capabilities 525
4 RBDT-1 Method
In this section, we describe the RBDT-1 method by first outlining the format of the
input rules used by the method and the attribute selection criteria of the method.
Then we summarize the main steps of the underlying decision tree building process
and present the technique used to prune the rules.
The RBDT-1 method applies three criteria on the attributes to select the fittest attribute
that will be assigned to each node of the decision tree. These criteria are the Attribute
Effectiveness, the Attribute Autonomy, and the Minimum Value Distribution.
P
m
m Cij ðDCÞ
i¼1
AEðaj Þ ¼ (2)
m
(where m is the total number of different classes in the set of rules).
The attribute with the highest AE is selected as the fit attribute.
Thus, the number of ADS_List that will be created for each attribute aj as well as
the number of MaxADS values that are calculated will be equal to pj . The MaxADSji
value as defined by Wojtusiak [8] is 3 m ðm 1Þ where m is the total number
of classes in Rji . We introduce the AA as a new criterion for attribute aj as given
in (5):
1
AAðaj Þ ¼ (5)
P
pj
AAðaj ; iÞ
i¼1
The AA for each of the attributes is calculated using the above formula and the
attribute with the highest AA score is selected as the fit attribute. According to the
above formula, AAðaj ; iÞ, equals zero when the class decision for the rule subset
examined corresponds to one class, in that case MaxADS¼ 0, which indicates that
a leaf node is reached (best case for a branch). AAðaj ; iÞ equals 1 when s equals
2 or when one of the attributes in the ADS_list has an ADS score equal to MaxADS
value (second best case). The second best case indicates that only one extra node
will be required to reach a leaf node. Otherwise AAðaj ; iÞ will be equal to 1 þ (the
difference between the ADS scores of the attributes in the ADS_list and the
MaxADS value) which indicates that more than one node will be required until
reaching a leaf node.
The MVD criterion is concerned with the number of values that an attribute has in
the current rules. When the highest AA score is obtained by more than one attribute,
this criterion selects the attribute with the minimum number of values in the current
rules. MVD criterion minimizes the size of the tree because the fewer the number of
values of the attributes the fewer the number of branches involved and consequently
the smaller the tree will become [1]. For the sake of simplicity, let us assume that
the set of attributes that achieved the highest AA score are a1 ; . . . ; aq ; 2 q s.
Given an attribute aj (where 1 j q), we compute corresponding MVD value as
shown in (7).
528 A. Abdelhalim and I. Traore
[
MVDðAj Þ ¼ Vij (7)
1im
In the decision tree building process, we select the fit attribute that will be assigned
to each node from the current set of rules CR based on the attribute selection criteria
outlined in the previous section. CR is a subset of the decision rules that satisfy the
combination of attribute values assigned to the path from the root to the current
node. CR will correspond to the whole set of rules at the root node.
From each node a number of branches are pulled out according to the total
number of values available for the corresponding attribute in CR.
Each branch is associated with a reduced set of rules RR which is a subset of CR
that satisfies the value of the corresponding attribute. If RR is empty, then a single
node will be returned with the value of the most frequent class found in the whole
set of rules. Otherwise, if all the rules in RR assigned to the branch belong to the
same decision class, a leaf node will be created and assigned a value of that decision
class. The process continues until each branch from the root node is terminated with
a leaf node and no more further branching is required.
In this section the RBDT-1 method is illustrated by a dataset named the weekend
problem which is a publicly available dataset.
5.1 Illustration
The Weekend problem is a dataset that consists of ten data records obtained from
[12]. For this example, we used the AQ19 rule induction program to induce the rule
set shown in Table 1 which will serve as the input to our proposed method RBDT-1.
AQ19 was used with the mode of generating disjoint rules and with producing
a complete set of rules without truncating any of the rules. The corresponding
40 RBDT-1 Method: Combining Rules and Decision Tree Capabilities 529
decision tree created by the proposed RBDT-1 method for the weekend problem is
shown in Fig. 1. It consists of three nodes and five leaves with 100% classification
accuracy for the data.
Figure 2 depicts the tree created by AQDT-1 & 2 and the ID3 methods consisting
of five nodes and seven leaves, which is bigger than the decision tree created by the
RBDT-1 method. Both trees have the same classification accuracy as RBDT-1. Due
to space limitations, we are unable to include here all of our work. We refer the
reader to our extended technical report on RBDT-1 [13] for more details on the
decision tree generation and discussion on tree sizes.
6 Experiments
Table 2 Comparision of tree complexities of the RBDT-1, AQDT-1, AQDT-2 & ID3 methods
using ID3-based rules
Dataset Method Dataset Method
Weekend RBDT-1 MONK’s 1 RBDT-1
Lenses RBDT-1, ID3 MONK’s 2 RBDT-1, AQDT-1 & 2
Chess ¼ MONK’s 3 ¼
Car RBDT-1, ID3 Zoo ¼
Shuttle-L-C ¼ Nursery RBDT-1
Connect-4 RBDT-1 Balance RBDT-1, ID3
Table 3 Comparison of tree complexities of the RBDT-1, AQDT-1, AQDT-2 & ID3 methods
using AQ-based rules
Dataset Method Dataset Method
Weekend RBDT-1 Monk’s2 RBDT-1
Lenses RBDT-1, ID3 Monk’s3 ¼
Zoo RBDT-1 Chess ¼
Car RBDT-1 Balance RBDT-1, ID3
Monk’s1 RBDT-1 Shuttle-L-C RBDT-1, AQDT-1 & 2
results in Table 2 are based on comparing the methods using ID3-based rules as
input for the rule-based methods. The ID3-based rules were extracted from the
decision tree generated by the ID3 method from the whole set of examples of each
dataset used. Thus, they cover the whole set of examples (100% coverage). The size
of the extracted ID3-based rules is equal to the number of leaves in the ID3 tree.
40 RBDT-1 Method: Combining Rules and Decision Tree Capabilities 531
7 Conclusions
The RBDT-1 method proposed in this work allows generating a decision tree from a
set of rules rather than from the whole set of examples. Following this methodo-
logy, knowledge can be stored in a declarative rule form and transformed into a
decision structure when it is needed for decision making. Generating a decision
structure from decision rules can potentially be performed much faster than by
generating it from training examples.
In our experiments, our proposed method performed better than the other three
methods under comparison in most cases in terms of tree complexity and achieves
at least the same level of accuracy.
References
1. I. F. Imam, R.S. Michalski, Should decision trees be learned from examples of from decision
rules? Source Lecture Notes in Computer Science, in Proceedings of the 7th International
Symposium on Methodologies, vol. 689. (Springer, Berlin/Heidelberg, 1993), pp. 395–404
2. J.R. Quinlan, Discovering rules by induction from large collections of examples, in Expert
Systems in the Microelectronic Age, ed. by D. Michie (Edinburgh University Press, Scotland,
1979), pp. 168–201
532 A. Abdelhalim and I. Traore
3. I. H. Witten, B.A. MacDonald, Using concept learning for knowledge acquisition, Int. J. Man
Mach. Stud. 27(4), 349–370 (1988)
4. R.S. Michalski, I.F. Imam, Learning problem-oriented decision structures from decision rules:
the AQDT-2 system, Lecture Notes in Artificial Intelligence, in Proceedings of 8th Interna-
tional Symposium Methodologies for Intelligent Systems, vol. 869 (Springer Verlag, Heidel-
berg, 1994), pp. 416–426
5. Y. Akiba, S. Kaneda, H. Almuallim, Turning majority voting classifiers into a single decision
tree, in Proceedings of the 10th IEEE International Conference on Tools with Artificial
Intelligence, 1998, pp. 224–230
6. Y. Chen, L.T. Hung, Using decision trees to summarize associative classification rules. Expert
Syst. Appl. Pergamon Press, Inc. Publisher, 2009, 36(2), 2338–2351
7. R.S. Michalski, K. Kaufman, The aq19 system for machine learning and pattern discovery: a
general description and user’s guide, Reports of the Machine Learning and Inference Labora-
tory, MLI 01-2, George Mason University, Fairfax, VA, 2001
8. J. Wojtusiak, AQ21 user’s guide. Reports of the Machine Learning and Inference Laboratory,
MLI 04-5, George Mason University, 2004
9. R.S. Michalski, I.F. Imam, On learning decision structures. fundamenta informaticae 31(1),:
49–64 (1997)
10. R.S. Michalski, I. Mozetic, J. Hong, N. Lavrac, The multi-purpose incremental learning
system AQ15 and its testing application to three medical domains, in Proceedings of AAAI-
86, Philadelphia, PA, 1986, pp. 1041–1045
11. F. Bergadano, S. Matwin, R.S. Michalski, J. Zhang, Learning two-tiered descriptions of
flexible concepts: the POSEIDON system. Mach. Learning 8(1), pp. 5–43 (1992)
12. A. Abdelhalim, I. Traore, The RBDT-1 method for rule-based decision tree generation,
Technical report #ECE-09-1, ECE Department, University of Victoria, PO Box 3055, STN
CSC, Victoria, BC, Canada, July 2009
13. A. Asuncion, D.J. Newman, UCI machine learning repository [http://www.ics.uci.edu/mlearn/
MLRepository.html]. University of California, School of Information and Computer Science,
Irvine, CA, 2007
Chapter 41
Computational and Theoretical Concepts
for Regulating Stem Cells Using Viral and
Physical Methods
1 Introduction
The transfer of genes into cells has played a decisive role in our knowledge of
modern cell biology and associated biotechnology especially in the field of regen-
erative medicine. It is an exciting new area of medicine that has attracted much
interest since the first submission of clinical trials. Preliminary results were very
encouraging and prompted many investigators and researchers. However, the
ability of stem cells to differentiate into specific cell types holds immense potential
for therapeutic use in gene therapy. Realization of this potential depends on
efficient and optimized protocols for genetic manipulation of stem cells. It is widely
recognized that gain/loss of function approaches using gene therapy are essential
and valuable for realizing and understanding specific functions in studies involving
stem cells.
Integrating all these aspects into a successful therapy is an exceedingly complex
process that requires expertise from many disciplines, including molecular and cell
biology, genetics and virology, in addition to bioinformatics, bioprocess
manufacturing capability and clinical laboratory infrastructure. Gene therapy deli-
vers genetic material to the cell to generate a therapeutic effect by correcting an
existing abnormality or providing cells with a new function. Researchers have
successfully induced differentiated cells that can behave like pluripotent stem
cells. These cells are artificially derived from a non-pluripotent cells, typically
adult somatic cells, by inserting certain genes. Induced Pluripotent Stem Cells are
believed to be identical to natural pluripotent stem cells in many respects, but the
full extent of their relation is still being assessed [1–4]. This new field holds the
realistic promise of regenerating damaged tissues, and empowers scientists to grow
them in vitro. This is a completely new concept compared to the traditional
medicine [5–7]. Whereas modeling of gene delivery systems for regulating stem
cell lineage systems is critical for the development of an integrated attempt to
develop ideas in a systematic manner, it has not been a research area that has
received the desired mount of attention. Over the last few years or so, there has been
a noticeable change in this respect, and there is now a growing awareness of
the need to use models and computer simulation to understand its processes and
behaviors.
Vectors are agents used to carry foreign genes into host cells that will produce the
protein encoded by those genes. They contain an origin of replication, which
enables the vector, together with the foreign DNA fragment inserted into it, to
replicate. The development of efficient model for vector systems is crucial in
supporting success of gene therapy [8–10]. The ideal vector for gene therapy
would introduce a transcriptionally regulated gene into all organs or tissues relevant
to the genetic disorder by a single safe application. However, it rapidly became
obvious that there is no universally applicable ideal vector for gene transfer; each
has its own advantages and disadvantages, see Table 1 [11–14]. In general, a vector
used for gene delivery would have at least the following characteristics: (i) speci-
ficity for the targeted cells; (ii) resistance to metabolic degradation and/or attack by
the immune system; (iii) safety, i.e., minimal side effects; and (iv) an ability to
41 Computational and Theoretical Concepts for Regulating Stem Cells 535
3 Proposed Model
Models are used particularly in the natural sciences and engineering disciplines
such as physics, biology, and electrical engineering and can be understood as a
representation of the essential aspects of a certain system, and description of its
behavior in order to presents its knowledge in usable form. This work applies the
idea of intelligent agents where its structure is defined as a specific environment in
which agents are situated. The Capabilities of agents include both ability to adapt
and ability to learn.
Adaptation implies sensing the environment and reconfiguring in response. This
can be achieved through the choice of alternative problem solving rules or algorithms,
or through the discovery of problem solving strategies. Learning may proceed through
observing actual data, and then it implies a capability of introspection and analysis of
behavior and success. Alternatively, learning may proceed by example and
41 Computational and Theoretical Concepts for Regulating Stem Cells 537
What is the
Environment
world like now?
Actions
Actuators
Fig. 1 Block diagram of a simple reflex agent. This type acts only on the basis of the current
percept. The agent function is based on the condition-action rule
State
Actions
Actuators
Fig. 2 Block diagram of a model-based reflex agent. This type can handle partially observable
environments by keeping track of the current state of its world
538 A.S. Adly et al.
State
What is the
How the world evolves
world like now?
Environment
What my actions do
What will happen if
I do this action?
Action to be
Goals
done
Actions
Actuators
Fig. 3 Block diagram of a goal-based agent. These agents are model-based agents, which store
information regarding desirable situations
Actions
Actuators
Fig. 4 Block diagram of a utility-based agent. It is possible to define a measure of how desirable a
particular state is. This measure can be obtained through the use of a utility function which maps a
state to a measure of the utility of the state
The motion for all agents is performed in a stepwise fashion over the space
defined by a regular 2-dimensional grid. Within the grid each object or molecule
occupies a square. The system development will be considered at discrete time
41 Computational and Theoretical Concepts for Regulating Stem Cells 539
Learning agent
Precepts
Performance Standard Sensors
Critic
Environment
Changes
Learning Performance
element element
Knowledge
Problem
Experiments Actions
Generator
Actuators
Fig. 5 Block diagram of a learning agent: Learning has an advantage that it allows the agents to
initially operate in unknown environments and to be-come more competent than its initial
knowledge alone might allow
l A virus has a glycoprotein spikes on its surface that helps it to enter or exit the
cell. The H spikes help a virus enter a cell, and the N spikes help it leave.
l After virus transcription, viral proteins are made in the cytoplasm using the host
cell’s ribosomes. Some of these viral proteins move to the nucleus to aid in viral
replication, others move to aid in virus assembly.
l Probability of infection is highly dependent on both viral propagation and
concentration.
l Applying electric pulses to a cell, a process called electroporation, create
transient pores in the plasma membrane that allow transport of traditionally
nonpermeant molecules into cells via both diffusion and electrophoresis.
l In order to successfully deliver non-permeant molecules into cells they must be
located within a critical distance during electroporation in order to reach the
plasma membrane before the pores are closed.
l Delivering non-permeant molecules into cells using electric pulsation depends on
several factors including the field magnitude, pulse duration, pulse interval, pore
size, molecules concentration, cell size, cell type and its cellular response.
l Cells differentiation and regeneration are dynamic phenomena, which are highly
related to time factors, interaction dependent and appear to be stochastic.
l Cell differentiation follows a hierarchical organization.
l Cells which have oscillatory chemical reactions within, could differentiate
through interaction with other cells.
l Differentiated state of a cell is preserved by the cell division and transmitted to
its offspring.
l During cell division, each offspring has two choices, either to preserve its parent
state or to change it, and the probability of each choice seems to depend also on
both its stability and differentiability.
l A kind of memory is formed through the transfer of initial conditions (e.g.
chemical compositions) to offspring.
l Cells with high level of stemness could lead to several distinct types of tissues,
these abilities decrease with lower levels.
l Stem cells normally reside in a specific micro-environmental niche. These cells
can migrate from one crypt to another within their system.
l Maturity is the capability level of a cell for being able to accomplish tasks and
functions and usually when it increases the stemness level decreases.
l The cell society as a whole is stabilized through cell-to-cell interactions e.g.
when the number of one type of cells is decreased by external removal, the
distribution is recovered by further differentiations, replications, renewal, and
regeneration.
l Each cell has its own internal dynamics and genetic switching according to its
state and condition.
l Interactions among cells are given by the diffusive transport of chemicals
between each cell and its neighboring according to their environment.
l Within each cell, a network of biochemical reactions also includes reactions
associated with genetic expressions, signaling, pathways, chemical concentra-
tions, and so on.
41 Computational and Theoretical Concepts for Regulating Stem Cells 541
4 Simulation Results
Stem cell lines vary in their characteristics and behavior not only because they are
derived from genetically outbred populations, but also because they may undergo
progressive adaptation upon long-term culture in vitro.
542 A.S. Adly et al.
Hence, the task is to model the dynamic processes that drive and control the
cellular attributes. Clearly, it is presently impossible to describe these processes in
any reasonable detail. Therefore, it will be necessary to propose a simplified basic
scheme of the cellular dynamics.
Therefore, different simulation scenarios were observed, each with different
results, and different error rates lies in the range of acceptable values in this domain
of application. We present the results for some of these simulations along with
comparisons to experimental results.
To validate utility and performance we attempt to simulate and observe 16
fundamentally different but important cellular phenomena for which experimental
measurements were available or for which results are well characterized. These
included: (1) Intracellular Signaling; (2) Signaling Ligands; (3) Transcription
Factors; (4) Cell Surface Receptors; (5) Cell Cycle; (6) Apoptosis; (7) DNA Repair;
(8) Protein Synthesis; (9) Protein Folding; (10) Protein Processing; (11) RNA
Binding; (12) Metabolism; (13) Transport; (14) Chromatin Regulators; (15) Cyto-
skeleton; (16) Adhesion. These processes span the range of most kinds of cellular
behavior, from simple chemical kinetics to more complex metabolism and genetic
circuits. For a number of these phenomena we investigate its utility in monitoring or
simulating the effects of finite numbers and stochasticity on certain processes.
For observing non-viral transfection effect we attempt to simulate the process of
electroporation of Chinese hamster ovary cells (CHO), which are spherical in
suspension with a mean diameter of 13.5F1.4 Am, that isn’t significantly different
from control cells (P ¼ 0.01) [21, 22]. After the aphidicolin (a reversible inhibitor of
nuclear DNA replication, used for blocking the cell cycle at early S phase) treatment,
cells synchronized in G2/M phase significantly increased in size, their diameter
reaching 17.1F1.55 Am. Indeed, in aphidicolin synchronized cells, synthesis of
proteins and lipids has been shown to be still present while cell cycle was blocked.
These syntheses led to an increase of cell volume, which is in agreement with
previous experimental values investigated by Muriel, et al. [21], and
Sukhorukov, et al. [22]. However, cells were pulsed under optimum conditions for
gene transfer. Ten pulses, lasting 5 ms, were applied. Under those conditions, 63% of
control cells were permeabilized at 0.8 kV/cm and 81% at 0.9 kV/cm (Fig. 6a). The
associated fluorescence intensity, related to the number of molecules incorporated
into the electropermeabilized cells (Fig. 6b), increased with an increase in the
electric field intensity. The amount of electroloaded molecules in permeabilized
cell increased with the electric field intensity, in agreement with previous experi-
mental results [21, 23]. The percentage of permeabilized cells and the permeabiliza-
tion efficiency for cells synchronized in G1 phase were slightly smaller than for
control cells (Fig. 6a, b). Cells synchronized in G2/M phase exhibited a one and a
half fold increase in the percentage of permeabilization at 0.8 kV/cm and a slight
increase at 0.9 kV/cm (Fig. 6a). This synchronization effect was more pronounced
when fluorescence intensities were compared. Electropermeabilized cells in G2/M
phase exhibited a two-fold increase in fluorescence intensity at 0.8 and 0.9 kV/cm
(Fig. 6b). However, this increase had to be associated with the fact that in G2/M
phase, cells had 4N instead of 2N chromosomes and therefore two times more sites
41 Computational and Theoretical Concepts for Regulating Stem Cells 543
a b
500
100
Fluorescence (a.u.)
Permeabilization %
80 400
60 300
40 200
20 100
0 0
0.8 0.9 0.8 0.9
E (kv / cm) E (kv / cm)
Control Cells Control Cells
Aphidicolin synchronized cells Aphidicolin synchronized cells
Sodium butyrate synchronized cells Sodium butyrate synchronized cells
Fig. 6 Simulation results: (a) Percentage of permeabilized cells. Cells were submitted to 10
pulses of 5 ms duration in pulsing buffer having propidium iodide. Permeabilization was deter-
mined based on total number of cells. (b) Associated mean fluorescence level of the permeabilized
cells. “Values represent means”
a b
Transduction Effieciency %
100
100
Transduction Effieciency %
90
80
70 80
60
50 60
40 ± ±
30 % 40 %
20
10
0 20
Cycle 1 Cycle 2 Cycle 3
0
Number of cycles Static Centrifugation
Fig. 7 (a) Effect of transduction cycle number on efficiency of transduction, error rate ¼ 11.64%.
(b) Static transduction versus centrifugational transduction, error rate ¼ 5.22%
for PI interaction [21, 24]. These simulation values were in agreement with previous
experimental values investigated by Muriel, et al. [21].
For observing viral transduction effect we attempt to simulate the process of self-
renewal and differentiation of Human Fetal Mesenchymal Stem Cells (hfMSCs)
after transduction with onco-retroviral and lentiviral vectors. Retroviral and lenti-
viral approaches offered the initial methodology that launched the field, and estab-
lished the technological basis of nuclear reprogramming with rapid confirmation
across integrating vector systems [25, 26]. However a static transduction of three
samples of first trimester fetal blood-derived hfMSCs from 9+1, 9+6, and 10+6 weeks
of gestation revealed a mean efficiency of 20.3% 7.2%, 38.6% 6.4%, and 47%
3.2% after 1, 2, and 3 cycles of transduction, respectively with an error rate ¼
11.64% (Fig. 6c, 7, 8 and 9). Simulating transduction under centrifugational forces
544 A.S. Adly et al.
a b
90 1800
80 1600
70 1400
60 1200
50 1000
40 800
30 600
20 400
10 200
0 0
3 6 11 22 3 6 11 22
Multiplicity of Infection Multiplicity of Infection
Fig. 8 (a) Percentage of lentiviral-transduced cells with varying MOI, error ¼ 5.4%. (b) Mean
fluorescence intensity with varying MOI after lentiviral transduction, error ¼ 9.8%
Cell Surface
RNA Binding Receptors
4% 9%
Cell Cycle
Protein 3%
Processing Protein Apoptosis
8% Folding Protein DNA Repair 1%
4% Synthesis 3%
5%
Fig. 9 A pie chart depicting the simulated average results of distribution within the HSC profile
for gene products with known or putative functions
References
1. A.L. David, D. Peebles, Gene therapy for the fetus: is there a future? Best Pract. Res. Clin.
Obstet. Gynaecol. 22(1), 203–218 (2008)
2. M. Baker, (2007-12-06). Adult cells reprogrammed to pluripotency, without tumors. Nature
Reports Stem Cells. Retrieved on 2007-12-11
3. R.S. Oliveri. Epigenetic dedifferentiation of somatic cells into pluripotency: cellular alchemy
in the age of regenerative medicine? Regen. Med. 2(5), 795–816 (Sept 2007)
4. P. Collas, C.K. Taranger, Toward reprogramming cells to pluripotency. Ernst Schering Res
Found Workshop. 2006;(60):47–67
5. J. Yu, J. Domen, D. Panchision, T.P. Zwaka, M.L. Rohrbaugh, et al. Regenerative medicine,
NIH Report, 2006
6. A. Atala, Recent developments in tissue engineering and regenerative medicine. Curr. Opin.
Pediatr. 18(2), 167–171, 2006
7. Y. Junying, J.A. Thomson, Regenerative Medicine, 2006
8. M. Colavito, M.A. Palladino, Gene Therapy, 1st edn. (Benjamin Cummings, Aug 2006)
ISBN-10: 0805338195
9. D.V. Schaffer, W. Zhou, Gene Therapy and Gene Delivery Systems (Springer, Feb 2006)
ISBN: 3540284044
10. A. Battler, J. Leor, Stem Cell and Gene-Based Therapy: Frontiers in Regenerative Medicine
(Springer, June 2007) ISBN: 184628676X
11. J. Phillips, C. Gersbach, A. Garcia, Virus-based gene therapy strategies for bone regeneration.
Biomaterials 28, 211–229 (2007)
12. Y. Yi, S.H. Hahm, KH. Lee, Retroviral gene therapy: safety issues and possible solutions.
Curr. Gene Ther.5, 25–35 (2005)
13. L.F. Maxfield, C.D. Fraize, J.M. Coffin, Relationship between retroviral DNA-integration-site
selection and host cell transcription. Proc. Natl. Acad. Sci. USA 102, 1436–41 (2005)
14. W. Weber, M. Fussenegger Pharmacologic transgene control systems for gene therapy. J Gene
Med 8(5), 535–556 (2006)
15. S. Mehier-Humbert, R.H. Guy, Physical methods for gene transfer: improving the kinetics of
gene delivery into cells. Adv. Drug Deliv. Rev. 57 733–753 (2005)
16. C. Capaccio, N.S. Stoykov, R. Sundararajan, D.A. Dean, Quantifying induced electric field
strengths during gene transfer to the intact rat vasculature. J. Electrostat. 67 652–662, (2009)
17. J.P. Roberts, Gene therapy’s fall and rise (again). Scientist 18(18), 22–24 (2004)
18. U. Bastolla, M. Porto, H.E. Roman, M. Vendruscolo, Structural Approaches to Sequence
Evolution: Molecules, Networks, Populations, 1 edn. (Springer, Jan 2007) ISBN-10:
3540353054
19. A.J. Nair, Introduction to Biotechnology and Genetic Engineering. Firewall/isp (May 2008)
ISBN: 8131803392
20. S.J. Russell, P. Norvig, Artificial Intelligence: A Modern Approach, 2nd edn. (Prentice Hall,
Upper Saddle River, NJ, 2003) ISBN: 0-13-790395-2
546 A.S. Adly et al.
21. M. Golzio, J. Teissie, M.-P. Rols, Cell synchronization effect on mammalian cell permeabi-
lization and gene delivery by electric field. Biochimica et Biophysica Acta 1563(2002),
23–28, (2002)
22. V. Sukhorukov, C. Djuzenova, W. Arnold, U. Zimmermann, J. Membr. Biol. 142 77–92
(1994)
23. M.P. Rols, J. Teissie, Biophys. J. 58 1089–1098 (1990)
24. H.A. Crissman, J.A. Steinkamp, Eur. J. Histochem. 37 (1993) 129–138, 1993
25. T.J. Nelson, A. Terzic Induced pluripotent stem cells: reprogrammed without a trace. Regen.
Med. (2009). doi:10.2217/rme.09.16
26. C.A. Sommer, M. Stadtfeld, G.J. Murphy et al. Induced pluripotent stem cell generation using
a single lentiviral stem cell cassette. Stem Cells (2009). doi:10.1634/stemcells.2008-1075
27. J. Chan, K. O’Donoghue, J. de la Fuente et al. Human fetal mesenchymal stem cells as
vehicles for gene delivery. Stem Cells 23, 93–102 (2005)
28. N.B. Ivanova, J.T. Dimos, C. Schaniel et al. A stem cell molecular signature (Sept 2002).
doi:10.1126/science.1073823
Chapter 42
DFA, a Biomedical Checking Tool for the Heart
Control System
1 Introduction
The healthy heart muscles can contract periodically and rhythmically, so the heart
can supply the blood to the entire body through the cardio-vascular system. Since
significant decrease or complete stop of the blood flow caused by heart’s illness
can immediately be lethal, the sick hearts are evidently facing death at every turn
more than the healthy heart. Regardless of advancement of medical technology,
T. Yazawa (*)
Department of Biological Science, Tokyo Metropolitan University, 1-1 Minami-Ohsawa,
Hachioji, 192-0397 Tokyo, Japan
e-mail: [email protected]
cardio-vascular failure especially life threatening attacks are still taking place
unpredictably in normally looking subjects. Gradually changing activity of cellu-
lar and tissue systems must be involved. Therefore, detection of “hidden” early
symptom of normally looking subjects is one of the main goals. For understand-
ing hidden information in the control system, nonlinear analysis has been pro-
posed to be an applicable method since decades ago. Indeed, the DFA is a method
that is potentially useful to diagnose a heart condition [1]. However, it has not
been appeared as a practical tool for the use in a bio-medical engineering and
clinical practice field. We have made our own DFA program (by K. Tanaka) [2].
We here demonstrate that our method can be useful to calculate the scaling
exponent for persons, who have an extra-systolic heartbeat, for persons who
have alternans-heartbeats, and for other types of heartbeats, including normal,
healthy hearts.
2 Methods
We made our own programs for measuring beat-to-beat intervals (by Tanaka) and
for calculating the approximate scaling exponent. The DFA program (by Tanaka)
can instantly calculate the scaling exponents if a time series data exist.
After recording EKG or finger pressure pulses, we first made the beat-to-beat
interval time series. Preferable data length could be from some hundreds to about
2,000 heartbeats. From the time series we calculated the approximate scaling
exponent. For preparing figures in this report, we presented (1) heartbeat-data by
plotting heart rates against time, which is the representation of the original data
used for the DFA, (2) he approximate scaling exponents calculated by the DFA, and
(3) a graph with one or sometime three least mean square regression lines. From the
graph, one can read an approximate slope to which the exponent corresponds
directly. While beating hearts show a fluctuating pattern, we hardly predict the
scaling exponent by eye-observation of such dynamic patterns visualized as the
42 DFA, a Biomedical Checking Tool for the Heart Control System 549
time series. Only a DFA program can do that. The scaling exponent reflects hidden
information carried by quantitative measures in a dynamically changing interval of
heartbeat and velocity of blood flow under the functional control of the autonomic
nervous system. An EKG-chart data cannot tell us what the scaling exponent is.
Mathematical procedures of DFA and explanation of biomedical meaning have
been documented elsewhere [1, 3].
3 Results
3.1 Extra-Systole
The subject, whose heart had an arrhythmia due to the ventricular extra-systole,
exhibited an abnormal record such as shown in Fig. 1. This is so called as premature
ventricular contractions (PVCs). We here show one example obtained from a
female subject age 58. We have over 20 subjects who exhibited the ventricular
extra-systole. All of them, and importantly with no exceptions, showed the same
results; that is, a lower exponent.
In the ventricle extra-systole, ventricle muscle generally tried to generate its own
rhythm before normal rhythmic excitation arrived to the ventricle. Therefore a
lower/smaller pulse, comparing to a normal pulse, was generated like a small pulse
in Fig. 1. But this PVC is considered by physicians as a not so serious problem of
the heart, if this happens less frequently. Thus, it is “benign” arrhythmia, though we
cannot agree with the idea, because of DFA results as shown below. If it may
happen a lot, like more than 10 times per 1 min, physicians may take great care of it
finally.
As shown in Fig. 2, this person’s extra-systole appeared less frequently, the
count of which was 12 within the span of the record. The period length of this
recording was for about 5,800 heartbeats, which corresponded to about 1.5 h.
Therefore, this person’s heart is “normal” in terms of a physician’s guideline.
However, we found out that our DFA’s results was that the subject’s heart shown
in Figs.1 and 2 exhibited low exponents, about 0.7. Followings are brief description
how we calculate the scaling exponents.
For the computation of the scaling exponents, at a final step, we need to calculate
the slope in the graph of Box-size vs. Variance as shown in Fig. 3. Here we used
Box-size across a range 100–1,000. Before this final step, there are procedures that
are much complex. In the mid-way of the DFA, the least-mean square methods
were involved which are linear-, quadratic-, cubic-, and bi-quadratic-fitting meth-
ods. Details of those “mid-way” procedures are not shown here. The graph Fig. 3 is
only the final step. The scaling exponents, being made after a measurement of such
a least-mean square fitting functions are indicated as inset. When we repeated
linear-, quadratic-, cubic-, and bi-quadratic fitting, we are finally able to obtain a
steady result of calculation. For example, there is no big difference between B and C
in Fig. 3. Consequently, we learn that the result B (and C) is the scaling exponent.
From this calculation, an approximate scaling exponent was finalized for this
subject. The figure indicates that the scaling exponent of this person is way down
below from the normal value (i.e., 1.0). We determined that the scaling exponent
for this heart is about 0.7.
This (0.7) is not normal. We were intrigued her heartbeats and she kindly
allowed us to measure finger pulses multiple times over the course of 6 years.
Figure 4 shows the result of our “automatic calculation” program. The data length
was about 7,000 beats. The scaling exponents shown here is 0.91 and 0.65. The
former value corresponds to 30–90 box-size and the latter to 70–240 box-size. In a
short window size, i.e., 30–90, her heart looks fine but in long window size, 70–240,
which is similar range to those shown in Fig. 3, we obtained a low scaling exponent,
0.65. Her body system is not perfect. Indeed, we never see the perfect 1/f rhythm in
her data.
The ‘skipping heartbeat’ makes the subject feel very uncomfortable. She
described that she was not feeling very well, even though the physician says it is
okay. It might be not very good psychologically. Needless to say, ventricular
tachycardia is a serious cause for a life threatening cardiac dysfunction. Impor-
tantly, this tachycardia is derived from randomly repetitive, very fast beatings, in
other words, a series of extra-systoles. Although the causes of the extra-systole have
Fig. 4 An example of automatic computation of the DFA. The same subject shown in Figs. 1
through 3. (a) Finger-pulse test, “*” An asterisk shows PVC. (b) About 7,000 heartbeats.
Sporadically appearing extra-systoles can be seen by downward swings. (c) DFA results at
different box size. (d) Slopes corresponding to the scaling exponents in (c). 58 years female
552 T. Yazawa et al.
We have examined DFA of an Alternans person (Fig. 5). The Alternans was
documented in 1872 by Traube. However, the alternans did not get particular
attention from doctors until recently, indeed before alternans was noticed as
harbinger of death. We finally found that alternans heartbeat always exhibited a
low scaling exponent when we measure heartbeats of animal models (crustacean
animals such as crabs and lobsters, n ¼ 13) and humans (n ¼ 8, five Japanese and
three Americans).
We have met a person who had a high scaling exponent, which was 1.5 at 30–60
box-size (Fig. 6). This man was tall but not fat, and apparently healthy. The time
series look like as being normal (Fig. 9b). However, his heart rate at rest was
relatively high (HR ¼ 70 per min, Fig. 9b) comparing to that of normal man (HR ¼
60 per min, Fig. 9a). We wondered why. We asked him a possible explanation, and
finally found out that he has two more brothers, who both had already died because
Fig. 6 A DFA example for a person who has a high scaling exponent. 59 years male
of detail-unknown heart problem. This high exponent might be some sign for a
certain heart or heart-control system problems, although we have no idea for the
reason. We consider that cardiac physicians and geneticists may identify the reason,
why the family has a potential risk, if they study his family.
The DFA revealed that middle age people often show a normal exponent or a little
lower exponent (Fig. 7). As shown in Fig. 7, the scaling exponents were unstable at
a different box size. We would say that this person’s heart could be normal, but
having a stressful life, because the DFA showed roughly 0.77 when measuring the
entire range of the box size. If a person is in perfect health, the person would have
an exponent of 1.0 at entire range of the box size.
554 T. Yazawa et al.
Fig. 9 Time series data of two persons. (a) Normal size healthy mail, age 53. This heartbeat looks
normal. This person’s EKG during this health check (Fig. 8) showed no problem with his heart, but
his scaling exponent was 0.8, slightly below than normal (1.0). The detailed examination of his
pulse record finally revealed that he had abnormal heartbeats. (b) A tall, close to 2 m high, healthy
mail, age 59. This time the series again looked kind of normal. But this person had a scaling
exponent of 1.5 (Fig. 6). Both (a) and (b) were recorded simultaneously at rest. Note that heart rate
of (b) is greater than that of (a) in average, though (b) is greatly taller than (a). Generally, big body
mass lowers heart rate but here not the case
For the medical examination of EKG, usually five or six pulses has been recorded
as shown in Fig. 8. In this record, the each wave form looks normal and also it
shows that there are no Q-T elongation and no S-T elevation. However, the DFA
revealed, that his heart exhibits a low scaling exponent, 0.8 (see Fig. 9a). So we
performed a detailed examination of his pulse record for a period of 2 h. And
finally we discovered that he had an abnormal heartbeat, such as an extra-systole
and even tachycardia too, although those events occurred rarely (data not shown).
The findings imply that his cardio-vascular control system must have some
problems. Even though we cannot tell what the physiological mechanism is at
the moment, DFA can find out the some physiological problem on cardio-vascular
system.
4 Discussion
To perform DFA we normally need a pretty long term recording of heartbeats [1].
On the other hand, for an ordinal EKG done for a hospital health check, it would
take a very short period of time. Indeed, a typical EKG needs only 6 beats or so, as
42 DFA, a Biomedical Checking Tool for the Heart Control System 555
We might conclude that the DFA has benefits. As a tool for diagnosing the
condition of the cardio-vascular system, DFA can find out something more than
those tests, which are not be able to be checked out by a simple traditional EKG.
Acknowledgment We are very grateful to all volunteers, for allowing us to test their heartbeats by
finger pulse tests. This research was supported by the grants 2008-JST04-065, H20DG407 NOMS,
and the grant TMU-San-Gaku-Ko-H20Project-D56I0106.
References
1. C-K. Peng, S. Havlin, HE. Stanley, AL. Goldberger, Quantification of scaling exponents and
crossover phenomena in nonstationary heartbeat time series. Chaos 5, 82–87 (1995)
2. T. Yazawa, K. Tanaka, T. Katsuyama, Neurodynamical control of the heart of healthy and
dying crustacean animals. Proceedings CCCT05, vol. 1 (Austin, TX, USA, July 24–27 2005),
pp. 367–372
3. T. Katsuyama, T. Yazawa, K. Kiyono, K. Tanaka, M. Otokawa, Scaling analysis of heart-
interval fluctuation in the in-situ and in-vivo heart of spiny lobster. Panulirus japonicus, Bull.
Univ. Housei Tama 18, 97–108 (2003) (Japanese)
4. J.S. Alexandrowicz, The innervation of the heart of the crustacea. I. Decapoda, Quat. J.
Microsc. Sci. 75, 181–249 (1932)
5. D.M. Maynard, Circulation and heart function. The Physiology of Crustacea, vol. 1
(Academic, New York, 1961), pp. 161–226
6. T. Yazawa, K. Kuwasawa, Intrinsic and extrinsic neural and neurohymoral control of the
decapod heart. Experientia 48, 834–840 (1992)
7. T. Yazawa, T. Katsuyama, Spontaneous and repetitive cardiac slowdown in the freely moving
spiny lobster, Panulirus japonicus. J. Comp. Physiol. A 87, 817–824 (2001)
8. J.P. Saul, Beat-to-beat variations of heart rate reflect modulation of cardiac autonomic
outflow. News Physiol. Sci. 5, 32–27 (1990)
9. W.J. Gehring, Master Control Genes in Development and Evolution: The Homeobox Story
(Yale University Press, New Haven, 1998)
10. I. Sabirzhanova, B. Sabirzhanov, J. Bjordahl, J. Brandt, P.Y. Jay, T.G. Clark, Activation of
tolloid-like 1 gene expression by the cardiac specific homeobox gene Nkx2-5. Dev. Growth
Differ. 51, 403–410 (2009)
11. J.L. Wilkens, Evolution of the cardiovascular system in Crustacea. Am. Zool. 39, 199–214
(1999)
12. M. Kobayashi, T. Musha, 1/f fluctuation of heartbeat period. IEEE Trans. Biomed. Eng. 29,
456–457 (1982)
Chapter 43
Generalizations in Mathematical Epidemiology
Using Computer Algebra and Intuitive Mechanized
Reasoning
1 Introduction
At the moment, we are at the edge of a possible biological problem. Some people
say that the nineteenth century was the century of chemistry, the twentieth was the
century of physics, and they say that the twenty-first will be the century of biology.
If we think, the advances in the biological field in the recent years have been
incredible, and like the physics and its atomic bomb, with biology could create
global epidemics diseases. Also the climate change could produce a new virus
better than the existing virus, creating an atmosphere of panic. For these reasons
and others, we think in a solution using mathematical models with computer
algebra and mechanized reasoning. Specifically we consider the SIR (Suscepti-
ble-Infective-Removed) model, with differential susceptibility and multiple kinds
of infected individuals. The objective is to derive three epidemic threshold
D.C. Cano
Logic and Computation Group, Engineering Physics Program, EAFIT University, Carrera 49 N
7 Sur, 50, Medellı́n, Suramérica, Colombia
e-mail: [email protected]
theorems by using the algorithm MKNW given in [1] and a little bit of mechanized
reasoning.
Briefly the MKNW runs on: Initially we have a system of ordinary non-lineal
differential equations S, whose coefficients are polynomial. We start setting all
derivates to zero for finding equilibrium; we solve the system finding the equilib-
rium point T. Then we compute the Jacobian Jb for the system S and replace T in S.
We compute the eigenvalues for Jb; from the eigenvalues we obtain the stability
conditions when each eigenvalue is less than zero. Finally we obtain the reproduc-
tive number for the system S in the particular cases. Using deductive reasoning we
obtain some theorems based on the particular cases.
The MKNW algorithm is not sufficient to prove the threshold theorems that will
be considered here and for this reason, it is necessary to use some form of
mechanized reasoning, specifically some strategy of mechanized induction.
The threshold theorem that we probe in Section 2 was originally presented in [2]
using only pen and paper and human intelligence. A first contribution of this paper
is a mechanized derivation of such theorem using CAS.
The threshold theorem to be proved in Section 3 is original and some particular
cases of this theorem were previously considered via CAS in [3, 4] and without
CAS in [5].
The threshold theorem to be proved in Section 4 is original and similar models
were before considered without CAS in [6].
We introduce the system for the SnIR epidemic model, which has n groups of
susceptible individuals and which is described by the next system of Eq. [2]:
d
Xi ðtÞ ¼ mðpi X0 Xi ðtÞÞ li Xi ðtÞ
dt
d Xn
YðtÞ ¼ lk Xk ðtÞ ðm þ g þ dÞ YðtÞ
dt k¼1
d
ZðtÞ ¼ gYðtÞ ðm þ eÞ ZðtÞ (1)
dt
li ¼ ai bZYðtÞ (2)
This is a system with (n þ 2) equations and each previous constant is defined like
it is shown:
m is the natural death rate.
g is the rate at which infectives are removed or become immune.
d is the disease-induced mortality rate for the infectives.
e is the disease-induced mortality rate for removed individuals.
ai is the susceptibility of susceptible individuals.
b is the infectious rate of infected individuals.
Z is the average number of contacts per individual.
Each function or group is defined as follow:
Xi(t) are the n groups of susceptible in the time equal t
Y(t) is the group of infectives in the time equal t.
Z(t) is the group of removed in the time equal t.
As a particular case we analyze the standard SIR model [7] which has just one
group of susceptible and is described in the next equation system:
d
X1 ðtÞ ¼ mðp1 X0 X1 ðtÞÞ l1 X1 ðtÞ
dt
d
YðtÞ ¼ l1 X1 ðtÞ ðm þ g þ dÞYðtÞ
dt
d
ZðtÞ ¼ gYðtÞ ðm þ eÞZðtÞ (4)
dt
X1 ¼ p 1 X0 ; Y ¼ 0 (5)
a1 Zp1 X0 b
<1 (10)
mþgþd
R0 < 1 (11)
Finally we find the basic reproduction number which it represents the condition
of equilibrium:
a1 Zp1 X0 b
R0 ¼ (12)
mþgþb
As another particular case we analyze the S2IR model where there are two groups of
susceptible and the equations for this system are:
d
X1 ðtÞ ¼ mðp1 X0 X1 ðtÞÞ l1 X1 ðtÞ
dt
d
X2 ðtÞ ¼ mðp2 X0 X2 ðtÞÞ l2 X2 ðtÞ
dt
d
YðtÞ ¼ l1 X1 ðtÞ þ l2 X2 ðtÞ YðtÞm gYðtÞ YðtÞd
dt
d
ZðtÞ ¼ gYðtÞ ðm þ eÞZðtÞ (13)
dt
Initially we find the infection-free equilibrium solution for the previous system:
X1 ¼ p 1 X0 ; X2 ¼ p 2 X0 ; Y ¼ 0 (14)
43 Generalizations in Mathematical Epidemiology 561
Equally we generate the Jacobian matrix for the equations system and substitut-
ing the infection-free equilibrium point in the Jacobian:
2 3
m 0 a1 Zp1 X0 b
6 7
4 0 m a2 Zp2 X0 b 5 (15)
0 0 a1 Zp1 X0 b þ a2 Zp2 X0 b m g d
Here we show the S3IR, the S4IR and S5IR models where there are three, four and
five groups of susceptibles, respectively. With these models we do the same
process, and we only show the basic reproductive number.
X0 bZða1 p1 þ a2 p2 þ a3 p3 þ a4 p4 þ a5 p5 Þ
R0 ¼ (22)
mþgþd
Theorem. For the equations system given by (1). The infection-free equilibrium is
locally stable if R0 < 1, and is unstable if R0 > 1, where:
P
n
X0 bZ ai pi
i¼1
R0 ¼ (23)
mþgþd
n
P
X0 bZ ai pi
i¼1
<1 (24)
mþgþd
The SnImR epidemic model is made by a group of equations which has n groups of
susceptible individuals and m groups of infected people, this system is illustrated in
the next equations:
!
d Xm
Xi ðtÞ ¼ mðpi X0 Xi ðtÞÞ ai Z bj Yj ðtÞ Xi ðtÞ
dt i¼1
!
d Xn
Yj ðtÞ ¼ Zbj Yj ðtÞ ai Xi ðtÞ ðm þ g þ dÞYj ðtÞ
dt i¼1
d
ZðtÞ ¼ gYj ðtÞ ðm þ eÞZðtÞ (25)
dt
Like in all cases, we analyze a particular case with one group of susceptibles and
two groups of infectives. The following equations describe this case:
!
d X2
X1 ðtÞ ¼ mðp1 X0 X1 ðtÞÞ a1 Z bj Yj ðtÞ X1 ðtÞ
dt j¼1
!
d X1
Y1 ðtÞ ¼ Zb1 Y1 ðtÞ bi Xi ðtÞ ðm þ g þ dÞY1 ðtÞ
dt i¼1
!
d X1
Y2 ðtÞ ¼ Zb2 Y2 ðtÞ ai Xi ðtÞ ðm þ g þ dÞY2 ðtÞ
dt i¼1
d
ZðtÞ ¼ gYj ðtÞ ðm þ eÞZðtÞ (26)
dt
mp1 X0
Y1 ¼ 0; Y2 ¼ 0; X1 ¼ ! (27)
P
2
m þ a1 Z bj Yj
j¼1
a1 Zp1 X0 b2 m g d < 0
a1 Zp1 X0 b1 m g d < 0 (29)
Moreover the inequalities in (29) can be written like the others cases as:
a1 Zp1 X0 b2
R0;2 ¼
mþgþd
a1 Zp1 X0 b1
R0;1 ¼ (30)
mþgþd
Here, we have the two basic reproductive numbers for SI2R model.
We analyze a particular case where we have two groups of susceptible and two
groups of infective, in addition we solve the system for the infection-free equilib-
rium and we find:
mp1 X0 mp2 X0
Y1 ¼ 0; Y2 ¼ 0; X1 ¼ ! ; X2 ¼ ! (31)
P
2 P
2
m þ a1 Z bj Yj m þ a2 Z bj Yj
j¼1 j¼1
In like manner that we obtained the last reproductive numbers, we obtain the two
basic reproductive numbers for S2I2R model:
a1 Zp1 X0 b2 þ a2 Zp2 X0 b2
R0;2 ¼
mþgþd
a1 Zp1 X0 b1 þ a2 Zp2 X0 b1
R0;1 ¼ (33)
mþgþd
43 Generalizations in Mathematical Epidemiology 565
Theorem. For the equations system given by (25). The infection-free equilibriums
are locally stable if the reproductive numbers of infection R0,j < 1, and is unstable if
R0,j > 1, with j from 1 to m, where:
n
P
X0 Z ai pi bj
i¼1
R0;j ¼ (34)
mþgþd
To prove the theorem, we used mechanized induction starting from the particular
results previously obtained in (30) and (33). Finally, we find the general solution for
the basic reproductive numbers for the SnImR model according with (Fig. 2).
At this moment, we are concerned in the analysis of the staged progressive SImR
epidemic model. This has m groups of infected; in this case the infection is staged
and progressive, which is described by next system:
d
XðtÞ ¼ mðx0 XðtÞÞ lXðtÞ
dt
d
Y1 ðtÞ ¼ lXðtÞ ðm þ g1 þ d1 ÞY1 ðtÞ
dt
d
Yj ðtÞ ¼ Yj1 Yj1 ðtÞ ðm þ gj þ dj ÞYj ðtÞ
dt
d
ZðtÞ ¼ gm Ym ðtÞ ðm þ eÞZðtÞ (35)
dt
with the restriction for j is: 2 j m. And where the rate of infection is:
!
X
m
l¼a bj Yj ðtÞ Z (36)
j¼1
This is a system with (m þ 2) equations and all the constants were described
before.
Now, we analyze a particular case with one group of susceptible and two groups of
infectives. The following equations describe this case:
d
XðtÞ ¼ mðx0 XðtÞÞ lXðtÞ
dt
d
Y1 ðtÞ ¼ lXðtÞ ðm þ g1 þ d1 ÞY1 ðtÞ
dt
d
Y2 ðtÞ ¼ l1 Y1 ðtÞ ðm þ g2 þ d2 ÞY2 ðtÞ
dt
d
ZðtÞ ¼ l2 Y2 ðtÞ ðm þ eÞZðtÞ (37)
dt
mx0
X¼ ; Y1 ¼ 0; Y2 ¼ 0 (38)
m þ aZb1 Y1 þ aZb2 Y2
We generate a Jacobian coming off the equations system and substituting the
infection-free equilibrium point:
m aZx0 b1 aZx0 b2
0 aZx0 b1 m g1 d1 aZx0 b2 (39)
0 g m g d2
1 2
From this polynomial, we obtain the basic reproduction number using the Routh-
Hurwitz theorem:
x0 aZðb1 d2 þ b1 m þ b1 g2 þ b2 g1 Þ
R0 ¼ (41)
ðm þ g2 þ d2 Þðm þ g1 þ d1 Þ
We analyze a particular case with three groups of infectives. We solve this system
in the same way that we did in the Section 4.1. For this model the basic reproduction
number that we find is:
R0 ¼ ðx0 aZðb1 d2 m þ b1 d2 l3 þ b1 ml3 þ b1 g2 m þ b1 g2 g3
þb1 g2 d3 þ b1 m2 þ b1 d2 d3 þ g1 b2 m þ g1 b2 g3 þ g1 b2 d3
þg1 b3 g2 þ b1 md3 ÞÞ=ððm þ g3 þ d3 Þðm þ g2 þ d2 Þðm
þg1 þ d1 ÞÞ (42)
Theorem. For the equations system given by (35). The infection-free equilibrium is
locally stable if the reproductive numbers of infection R0 < 1, and is unstable if R0
> 1, with j from 1 to m, where:
!
Pm Q
j1 Q
m
x0 aZ bj gk ðm þ gl þ dl Þ
j1 k¼1 l¼jþ1
R0 ¼ Q
m (43)
ðm þ gl þ dl Þ
l¼1
To prove the theorem, we used mechanized induction starting from the particu-
lar results previously obtained. To conclude, we find the general solution for the
basic reproductive numbers for the Staged Progressive SImR model according with
(Fig. 3).
Fig. 3 Inductive mechanized reasoning for the staged progressive SImR Model
568 D.C. Cano
5 Conclusions
We finally obtain three theorems which can help us to demonstrate that CASþMR
are important tools for solving problems in every situation that mathematics could
model. The theorems are useful to make strategies to fight against epidemic
diseases in the future biological dangers.
Due to use CAS, in our case “Maple 11”, we can proceed to solve the mathe-
matical problem and we can obtain results very fast that without them could take us
too much time.
The use of CAS+MR can help in teaching and learning the mathematics to
engineering, whose don’t have time and need to give quickly solutions. It can be
implemented in engineer programs.
Through the MR we already found the general forms for the infection free
equilibrium, we can see the importance of developing software it can do the
mechanized reasoning automatically.
Acknowledgments The authors would like to thank Prof. Dr. Eng. Andrés Sicard and Prof. Mario
Elkin Vélez for keeping company in this work in the Logic and Computation group, Prof. Eng.
Maurio Arroyave for supporting this work from the engineering physics program. They are also
very grateful for Prof. Dr. Eng. Félix Londoño for his help in the World Congress on Engineering
and Computer Sciences and the Student Organization and Ms. Angela Echeverri for the economi-
cal assistance in the trip to the congress. This research was support by the Logic and Computation
group at EAFIT University.
References
1. C.W. Brown, M.E. Kahoui, D. Novotni, A. Weber, Algorithmic methods for investigating
equilibria in epidemic modeling. J. Symb. Comput. 41, 1157–1173 (2006)
2. J.M. Hyman, J. Li, Differential susceptibility epidemic models. J. Math. Biol. 50, 626–644
(2005)
3. J.A.M. Taborda, Epidemic thresholds via computer algebra, MSV 2008, pp. 178–181, http://
dblp.uni-trier.de/rec/bibtex/conf/msv/Taborda08
4. D. Hincapié et al., Epidemic thresholds in SIR and SIIR models applying an algorithmic
method, Lectures Notes Bioinformatics, 5354, 119–130, 2008
5. S.B. Hsua, Y.H. Hsiehb, On the role of asymptomatic infection in transmission dyanamics of
infectious diseases, Bull. Math. Biol. 70, 134–155 (2008)
6. J.M. Hyman, J. Li, An intuitive formulation for the reproductive number for spread of diseases
in heterogeneous populations. Math. Biosci. 167, 65–86 (2000)
7. N.T.J. Bailey, The Mathematical Theory of Epidemics, 1957
Chapter 44
Review of Daily Physical Activity Monitoring
System Based on Single Triaxial Accelerometer
and Portable Data Measurement Unit
Mihee Lee, Jungchae Kim, Sun Ha Jee, and Sun Kook Yoo
Abstract Main objective of this pilot study was to present a method to convenient
monitoring of detailed ambulatory movements in daily life, by use of a portable
measurement device employing single tri-axial accelerometer. In addition, the
purpose of this review article is to provide researchers with a guide to understanding
some commonly-used accelerometers in physical activity assessment. Specially, we
implemented a small-size wearable data storing system in real time that we used
Micro SD-Memory card for convenient and long period habitual physical activity
monitoring during daily life. Activity recognition on these features was performed
using Fuzzy c means classification algorithm recognized standing, sitting, lying,
walking and running with 99.5% accuracy. This study was pilot test for our devel-
oped system’s feasibilities. Further application of the present technique may be
helpful in the health promotion of both young and elderly.
1 Introduction
Over the past two decades, a striking increase in the number of people with the
metabolic syndrome worldwide has taken place. This increase is associated with the
global epidemic of obesity and diabetes. With the elevated risk not only of diabetes
but also of cardiovascular disease from the metabolic syndrome, there is urgent
need for strategies to prevent the emerging global epidemic [1, 2]. Although the
metabolic syndrome appears to be more common in people who are genetically
susceptible, acquired underlying risk factors-being overweight or obese, physical
inactivity, and an atherogenic diet-commonly elicit clinical manifestations [3].
M. Lee (*)
Graduate Programs of Biomedical Engineering, Yonsei University, 262 Seongsanno,
Seodaemoon-Ku, Seoul 120-749, Korea
e-mail: [email protected]
1.3 Pedometers
The concept of a pedometer was first introduced by Leonardo Da Vinci 500 years
ago. Pedometers are inexpensive tools that measure the number of steps taken by
responding to the vertical acceleration of the trunk. Mechanical pedometers have a
level arm is triggered when a step is taken and a ratchet within the pedometer that
rotates to record the movement [13]. Electronic pedometers have a spring sus-
pended pendulum arm that moves up and down thereby opening and closing an
electrical circuit [7]. Output from the pedometer consists of number of steps taken,
distance walked (with stride information), and estimated number of calories
expended (with body weight considered) [13]. However, it is assumed that a person
expends a constant amount of energy per step regardless of the speed (e.g. Yamax
pedometer, 0.55 kcal · kg1 · step1) [7].
Vertical acceleration of the hip during walking varies from 0.5 to 8 m · s2,
however some pedometers do not register movement below 2.5 m · s2 or distin-
guish vertical accelerations above a certain threshold, and therefore are inaccurate
at slow or very fast walking speeds and during running [7, 14].
Limitations of the pedometer include insensitivity to: (1) static or sedentary acti-
vity, (2) isometric activity, (3) movement occurring with the arms, and (4) slow or fast
walking velocities [7, 13, 14]. In addition, they lack internal clocks and data storage
capability which makes an analysis of overall physical activity patterns difficult [7].
Pedometers are primarily utilized in health promotion and maintenance and may
provide valuable feedback to a participant concerning their level of activity. Advan-
tages of utilizing a pedometer include low cost, size, and compliance of subjects.
1.4 Accelerometers
Accelerometer is based on the assumption that limb movement and body accelera-
tion are theoretically proportional to the muscular forces responsible for the accel-
erations, and therefore energy expenditure may be estimated by quantifying these
accelerations [11, 13]. Interest in monitoring the acceleration of the body started in
the 1950s when Broubha and Smith (1958) suggested an association between the
integral of vertical acceleration versus time and energy expenditure [15].
572 M. Lee et al.
Acceleration is the change in velocity over time, and the degree of acceleration
detected provides an index of movement intensity. Accelerations increase from the
head to the feet and are generally the greatest in the vertical direction. Running
produces the greatest vertical direction accelerations (8.1–12 g) at the ankle and up
to 5 g at the back [16]. Bouten et al. (1996) recommends that accelerometers should
be able to measure accelerations up to 12 g for measurements occurring in daily
living activities and exercise. Processing and filtering is required to identify and
include accelerations that are outside the normal acceleration range of human
movement.
Low pass filters remove high frequency signals that may occur as a result
of external vibrations [17]. Factors which can influence accelerometer output
include the acceleration due to body movement and external vibrations (loose
straps, transportation) [18]. Most accelerometers are oriented to monitor the vertical
plane such that linear acceleration with movement is not recorded [19].
Accelerometers are worn while the participant performs different activities and the
counts from the monitor are regressed against a criterion measure of energy
expenditure (e.g. whole room calorimetry, indirect calorimetry, doubly labeled
water, or heart rate). Output from the monitors can be utilized to assess frequency,
duration and intensity of physical activity. Energy expenditure is predicted by
converting monitor counts into a unit of energy expenditure (MET, kcal · min1,
or kcal · kg · min1).
The characteristics of the population being studied and/or the specific activity may
affect the accuracy of the motion sensors [23]. The output of the accelerometer will
depend on the placement site (e.g. hip, wrist, ankle), the orientation relative to the
subject, the posture of the subject, and the activity being performed. Accelerometer
output is influenced by the placement of the monitors as body parts are differentially
active depending upon the activity. Placing the accelerometer on the limbs while
monitoring sedentary and daily living activities may produce more accurate results
than hip placement as the limbs are likely to reflect activities which occur in these
circumstances. The primary acceleration which occurs during walking or running is
in the vertical direction, therefore placing the accelerometer at a site which reflects
acceleration at the center of the body mass (e.g. hip) is likely to be more accurate than
the limbs. The velocity of movement can also have an effect on the relationship
between accelerometer counts and energy expenditure.
movement, its relatively low cost, ability to store large amounts of data over
extended periods of time, small size and minimal participant discomfort [27].
These findings indicate that differences between uniaxial, triaxial, and omnidi-
rectional accelerometry devices are minimal and all three provide reasonable
measures of physical activity during treadmill walking. Furthermore, the inclusion
of stride length in accelerometry based energy expenditure prediction equations
significantly improved energy expenditure estimates.
The purpose of this study was to present a method to convenient monitoring of
detailed ambulatory movements in daily life, by use of a portable measurement
device employing single tri-axial accelerometer. Specially, we implemented a
small-size wearable data store system in real time that we used Micro SD-Memory
card (Secure Digital memory card) for convenient and long period habitual physical
activity monitoring during daily life. In this work, the performance of activity
recognition algorithms under conditions akin to those found in real-world settings
is assessed. Activity recognition results are based on acceleration data collected
from single tri-axial accelerometer placed on subjects’ waist under semi-naturalistic
conditions for pilot test.
Li Ionic Vcc(+3.3 V)
AU6337
Battery (SD card
controller)
Charge
Controller Micro SD
Memory card
Subject PC
The data for these experiments were gathered in an unsupervised pilot study in which
healthy young (age 24–33) subjects performed a variety of activities in the three times
on outdoor conditions. Characteristics of the participants are presented in Table 1.
We put the acceleration measuring sensor system on the left waist of the sub-
jects, and measured change in acceleration signal according to change in ambula-
tory movement and physical activities. In the experiment performed in this
research, the change of acceleration was measured while the subject was repeating
postures such as standing, sitting, lying, walking and running. A representatives set
of routine data is shown in Fig. 2.
576 M. Lee et al.
Fig. 2 Representative data from the daily routine for each of the three axes of the tri-axial device
While the movements and postures contained within the routine are by no means a
complete set of all possible activities that a given person might perform, they do form
a basic set of simple activities which form an underlying structure to a person’s daily
life, and are likely to provide a great deal of information in terms of the person’s
balance, gait and activity levels if they can be accurately identified.
Features were computed on 512 sample windows of acceleration data with 256
samples overlapping between consecutive windows. At a sampling frequency of
100 Hz, each window represents 5.2 s. Maximum acceleration, mean and standard
deviation of acceleration channels were computed over sliding windows with 50%
overlap has demonstrated success in past works. The 512 sample window size
enabled fast computation of FFTs used for some of the features. The DC feature for
normalization is the mean acceleration value of the signal over the window. Use of
mean of maximum acceleration features has been shown to result in accurate
recognition of certain postures and activities.
3 Results
This section describes the experiments and experimental results of the human
posture recognition system. In the pilot test, a subject continuous posture change
including standing, sitting, lying, walking and running. In the experiment, each
posture was recognized third.
44 Review of Daily Physical Activity Monitoring System 577
Acknowledgments This study was supported by a grant of the Seoul R&BD Program, Republic
of Korea (10526) and the Ministry of Knowledge Economy (MKE) and Korea Industrial
Technology Foundation (KOTEF) through the Human Resource Training Project for Strategic
Technology.
References
1. P. Zimmet, K.G. Alberti, J. Shaw, Global and societal implications of the diabetes epidemic.
Nature 414, 782–787 (2001)
2. S.M. Grundy, B. Hansen, S.C. Smith Jr, J.I. Cleeman, R.A. Kahn, Clinical management of
metabolic syndrome: report of the American Heart Association/National Heart, Lung, and
Blood Institute/American Diabetes Association conference on scientific issues related to
management. Circulation 109, 551–556 (2004)
3. R.H. Eckel, S.M. Grundy, P.Z. Zimmet, The metabolic syndrome. Lancet 365, 1415–28
4. P.D. Thompson, D. Buchner, I.L. Pina, et al., Exercise and physical activity in the prevention
and treatment of atherosclerotic cardiovascular disease: a statement from the Council on
Clinical Cardiology (Subcommittee on Exercise, Rehabilitation, and Prevention) and the
Council on Nutrition, Physical Activity, and Metabolism (Subcommittee on Physical
Activity). Circulation 107, 3109–3116 (2003)
5. J. Tuomilehto, J. Lindstrom, J.G. Eriksson, et al., Prevention of type 2 diabetes mellitus by
changes in lifestyle among subjects with impaired glucose tolerance. N. Engl. J. Med. 344,
1343–1350 (2001)
6. Y. Ohtaki, M. Susumago, A. Suzuki, et al., Automatic classification of ambulatory movements
and evaluation of energy consumptions utilizing accelerometers and a barometer. Microsyst.
Technol. 11, 1034–1040 (2005)
7. D.R. Bassett Jr. Validity and reliability issues in objective monitoring of physical activity.
Res. Q Exerc. Sport 71, S30–S36 (2000)
44 Review of Daily Physical Activity Monitoring System 579
8. C.L. Craig, A.L. Marshall, M. Sjostrom, A.E. Bauman, et al., International physical activity
questionnaire: 12-country reliability and validity. Med. Sci. Sports Exerc. 35, 1381–1395
(2003)
9. K.M. Allor, J.M. Pivarnik, Stability and convergent validity of three physical activity assess-
ments. Med. Sci. Sports Exerc. 33, 671–676 (2001)
10. M.J. LaMonte, B.E. Ainsworth, C. Tudor-Locke, Assessment of physical activity and energy
expenditure, in Obesity: Etiology, Assessment, Treatment and Prevention, ed. by R.E. Andersen
(Human Kinetics, Champaign, IL, 2003), pp. 111–117
11. C.V.C. Bouten, W.P.H.G. Verboeket-Van Venne, et al., Daily physical activity assessment:
comparison between movement registration and doubly labeled water. J. Appl. Physiol. 81,
1019–1026 (1996)
12. U.S. Department of Health & Human Services, Physical Activity and Health: A Report of the
Surgeon General (U.S. Department of Health and Human Services, Centers for Disease
Control and Prevention, National Center for Chronic Disease Prevention and Health Promo-
tion, The President’s Council on Physical Fitness and Sports, Atlanta, GA, 1996)
13. P.S. Freedson, K. Miller Objective monitoring of physical activity using motion sensors and
heart rate. Res. Quart. Exerc. Sport 71, 2129 (2000)
14. H.J. Montoye, H.C.G. Kemper, W.H.M. Saris, R.A. Washburn, Measuring Physical Activity
and Energy Expenditure (Human Kinetics, Campaign, IL, 1996)
15. R.K. Dishman, R.A. Washburn, D.A. Schoeller, Measurement of physical activity. Quest. 53,
295–309 (2001)
16. A. Bhattacharya, E.P. McCutcheon, E. Shvartz, J.E. Greenleaf, Body acceleration distribu-
tion and O2 uptake in humans during running and jumping. J. Appl. Physiol. 49, 881–887
(1980)
17. G.J. Welk, Physical Activity Assessments for Health-Related Research (Human Kinetics,
Champaign, IL, 2002)
18. C.V.C. Bouten, A.A.H.J. Sauren, M. Verduin, J.D. Janssen, Effects of placement and orienta-
tion of body-fixed accelerometers on the assessment of energy expenditure during walking.
Med. Biol. Eng. Comput. 35, 50–56 (1997)
19. K.Y. Chen, D.R. Bassett, The technology of accelerometry-based activity monitors: current
and future. Med. Sci. Sport Exerc. 37(11), S490–S500 (2005)
20. E.L. Melanson, P.S. Freedson Physical activity assessment: a review of methods. Crit. Rev.
Food Sci. Nutr. 36, 385–396 (1996)
21. T.G. Ayen, H.J. Montoye Estimation of energy expenditure with a simulated threedimensional
accelerometer. J. Ambul. Monit. 1(4), 293–301 (1988)
22. K.R. Westerterp, Physical activity assessment with accelerometers. Int. J. Obes. 23(Suppl 3),
S45–S49 (1999)
23. B.G. Steele, B. Belza, K. Cain, C. Warms, J. Coopersmith, J. Howard, Bodies in motion:
monitoring daily activity and exercise with motion sensors in people with chronic pulmonary
disease. J. Rehabil. Res. Dev. 40(Suppl 2) 45–58 (2003)
24. M.J. Lamonte, B.E. Ainsworth, Quantifying energy expenditure and physical activity in the
context of dose response. Med. Sci. Sports Exerc. 33, S370–S378 (2001)
25. R.K. Dishman, R.A. Washburn, D.A. Schoeller, Measurement of physical activity. Quest. 53,
295–309 (2001)
26. K.R. Westerterp, Physical activity assessment with accelerometers. Int. J. Obes. 23(Suppl 3),
S45–S49 (1999)
27. M.J. Mathie, A.C.F. Coster, N.H. Lovell, B.G. Celler, Accelerometry: providing an integrated,
practical method for long-term, ambulatory monitoring of human movement. Physiol. Meas.
25, R1–R20 (2004)
28. C.V.C. Bouten, K.T.M. Koekkoek, M. Verduin, R. Kodde, J.D. Janssen, A triaxial acceler-
ometer and portable data processing unit for the assessment of daily physical activity. IEEE
Trans. Biomed. Eng. 44(3):136–147 (1997)
580 M. Lee et al.
29. A.K. Nakahara, E.E. Sabelman, D.L. Jaffe, Development of a second generation wearable
accelerometric motion analysis system. Proceedings of the first joint EMBS/BMES confer-
ence, 1999, p. 630
30. K. Aminian, P. Robert, E.E. Buchser, B. Rutschmann, D. Hayoz, M. Depairon, Physical
activity monitoring based on accelerometry. Med. Biol. Eng. Comput. 37, 304–308 (1999)
31. M.J. Mathie, N.H. Lovell, C.F. Coster, B.G. Celler, Determining activity using a triaxial
accelerometer, in Proceedings of the Second Joint EMBS/BMES Conference, 2002,
pp. 2481–2482
Chapter 45
A Study of the Protein Folding Problem
by a Simulation Model
Omar Gaci
Abstract In this paper, we propose a simulation model to study the protein folding
problem. We describe the main properties of proteins and describe the protein folding
problem according to the existing approaches. Then, we propose to simulate the
folding process when a protein is represented by an amino acid interaction network.
This is a graph whose vertices are the proteins amino acids and whose edges are
the interactions between them. We propose a genetic algorithm of reconstructing
the graph of interactions between secondary structure elements which describe the
structural motifs. The performance of our algorithms is validated experimentally.
1 Introduction
O. Gaci
Le Havre University, 25 rue Phillipe Lebon, 76600 Le Havre, France
e-mail: [email protected]
Several tens of thousands of protein sequences are encoded in the human genome.
A protein is comparable to an amino acid chain which folds to adopt its tertiary
structure. Thus, this 3D structure enables a protein to achieve its biological func-
tion. In vivo, each protein must quickly find its native structure, functional, among
innumerable alternative conformations.
The protein 3D structure prediction is one of the most important problems of
bioinformatics and remains however still irresolute in the majority of cases. The
problem is summarized by the following question: being given a protein defined by
its sequence of amino acids, which is its native structure? In other words, we want
to determine the structure whose amino acids are correctly organized in three
dimensions in order to this protein can achieve correctly its biological function.
Unfortunately, the exact answer is not always possible that is why the research-
ers have developed study models to provide a feasible solution for any unknown
sequences. However, models to fold proteins bring back to NP-Hard optimization
problems [2]. Those kinds of models consider a conformational space where the
modeled protein tries to reach its minimum energy level which corresponds to its
native structure.
Therefore, any algorithm of resolution seems improbable and ineffective; the
fact is that in the absolute no study model is yet able to entirely define the general
principles of the protein folding.
The first observation of spontaneous and reversible folding in vitro was carried
out by Anfinsen [3]. He deduced that the native structure of a protein corresponds
45 A Study of the Protein Folding Problem by a Simulation Model 583
2.2 Motivations
The existing models for the protein folding problem study depend, amongst other
things, on the way that the native structure is supposed be reached. Either, a protein
folds following a preferential folding path [9], or a protein folds by searching the
native state among an energetic landscape organized as a funnel.
584 O. Gaci
The first hypothesis implies the existence of preferential paths for the folding
process. In the simplest case, the folding mechanism is comparable to a linear
reaction. Thus, when the steps are enough specifics, only a local region of the
conformational space will be explored. This concept is nowadays obsolete since we
know the existence of parallel folding paths.
The second hypothesis defines the folding by the following way (Dill, 1997):
a parallel flow process of an ensemble of chain molecules; folding is seen as more like
trickle of water down mountainsides of complex shapes, and less like flow through a single
gallery.
Fig. 1 Evolution in the description of folding paths in an energy landscape. Top, the protein
folding according to the Anfinsen theory: a protein can adopt a large number of conformations.
Bottom-left, a protein folds by following only one specific path in the conformational space.
Bottom-right, from a denatured conformation, a protein searches its native structure whose energy
level is minimum in a minimum time
45 A Study of the Protein Folding Problem by a Simulation Model 585
Many systems, both natural and artificial, can be represented by networks, that is,
by sites or vertices bound by links. The study of these networks is interdisciplinary
because they appear in scientific fields like physics, biology, computer science or
information technology.
These studies are lead with the aim to explain how elements interact with each
other inside the network and what the general laws which govern the observed
network properties are.
From physics and computer science to biology and social sciences, researchers
have found that a broad variety of systems can be represented as networks, and that
there is much to be learned by studying these networks. Indeed, the studies of the
Web [10], of social networks [11] or of metabolic networks [12] contribute to put in
light common non-trivial properties of these networks which have a priori nothing
in common. The ambition is to understand how the large networks are structured,
how they evolve and what are the phenomena acting on their constitution and
formation.
In [13], the authors propose to consider a protein as an interaction network
whose vertices represent the amino acids and an edge describes a specific type of
interaction (which is not the same according to the object of study). Thus, a protein,
molecule composed of atoms becomes a set constituted by individuals (the amino
acids), by interactions (to be defined according to the study) which evolves in a
particular environment (describing the experimental conditions).
The vocabulary evolves but the aim remains the same, we want to better
understand the protein folding process by the way of the modeling. The interaction
network of a protein is initially the one built from the primary structure. The goal is
to predict the graph of the tertiary structure through a discrete simulation process.
define the contact between two amino acids. Our notion is based on spatial
proximity, so that the contact map can consider non-covalent interactions. We
say that two amino acids are in contact if and only if the distance between them
is below a given threshold. A commonly used threshold is 7 Å´ [1] and this is the
value we use.
Consider a graph with N vertices (each vertex corresponds to an amino acid) and
the contact map matrix as incidence matrix. It is called contact map graph. The
contact map graph is an abstract description of the protein structure taking into
account only the interactions between the amino acids.
First, we consider the graph induced by the entire set of amino acids participat-
ing in folded proteins. We call this graph the three dimensional structure elements
interaction network (3DSE-IN), see Fig. 2.
As well, we consider the subgraph induced by the set of amino acids participat-
ing in SSE. We call this graph SSE interaction network (SSE-IN) (see Fig. 2).
In [15] the authors rely on amino acid interaction networks (more precisely they
use SSE-IN) to study some of their properties, in particular concerning the role
played by certain nodes or comparing the graph to general interaction networks
models. Thus, thanks to this point of view the Protein Folding Problem can be
tackle by the graph theory.
To manipulate a SSE-IN or a 3DSE-IN, we need a PDB file which is transformed
by a parser we have developed. This parser generates a new file which is read by the
GraphStream library [16] to display the SSE-IN in two or three dimensions.
In this section, we treat proteins as amino acid interaction networks (see Fig. 2). We
describe a bio-inspired method we use to fold amino acid interaction networks. In
particular, we want to fold a SSE-IN to predict the motifs which describe the
secondary structure.
The concept of genetic algorithms has been proposed by John Holland [17] to
describe adaptive systems according to biological process.
The genetic algorithms are inspired from the concept of natural selection pro-
posed by Charles Darwin. The vocabulary employed here is the one relative to the
evolution theory and the genetic. We speak about individuals (potential solutions),
populations, genes (which are the variables), chromosomes, parents, descendants,
reproductions, etc.
45 A Study of the Protein Folding Problem by a Simulation Model 587
Fig. 2 Protein 1DTP SSE-IN (top) and the 1DTP 3DSE-IN (bottom). From a pdb file a parser we
have developed produces a new file which corresponds to the SSE-IN graph displayed by the
GraphStream library [16]
genetic heritage between generations must help to produce individuals which are
better and better adapted to correspond to the optimal solution.
In previous works [18], we have studied the protein SSE-IN. We have identified
notably some of their properties like the degree distribution or also the way in
which the amino acids interact. These works have allowed us to determine criteria
discriminating the different structural families. We have established a para-
llel between structural families and topological metrics describing the protein
SSE-IN.
Using these results, we have proposed a method to deduce the family of an
unclassified protein based on the topological properties of its SSE-IN, see [19].
Thus, we consider a protein defined by its sequence in which the amino acids
participating in the secondary structure are known. Then, we apply a method able to
associate a family from which we rely to predict the fold shape of the protein. This
work consists in associating the family which is the most compatible to the
unknown sequence. The following step is to fold the unknown sequence SSE-IN
relying on the family topological properties.
To fold a SSE-IN, we rely on the Levinthal hypothesis also called the kinetic
hypothesis. Thus, the folding process is oriented and the proteins don’t explore their
entire conformational space. In this paper, we use the same approach: to fold a SSE-
IN we limit the topological space by associating a structural family to a sequence
[19]. Since the structural motifs which describe a structural family are limited, we
propose a genetic algorithm (GA) to enumerate all possibilities.
In this section, we present a method based on a GA to predict the graph whose
vertices represent the SSE and edges represent spatial interactions between two
amino acids involved in two different SSE, further this graph is called Secondary
Structure Interaction Network (SS-IN) (see Fig. 3).
Fig. 3 2OUF SS-IN (left) and its associated incidence matrix (right). The vertices represent the
different a-helices and an edge exists when two amino acids interact
45 A Study of the Protein Folding Problem by a Simulation Model 589
4.3 Dataset
Thereafter, we use a dataset composed by proteins which have not fold families
in the SCOP v1.73 classification and for which we have associated a family in [19].
Our GA uses the common genetic operators and also a specific topological operator.
The crossover operator uses two parents to produce two children. It produces
two new chromosomes and matrices. After generating two random cut positions,
(one applied on chromosomes and another on matrices), we swap respectively the
both chromosome parts and the both matrices parts. This operator can produce
incidence matrices which are not compatible with the structural family, the topo-
logical operator solve this problem.
The mutation operator is used for a small fraction (about 1%) of the generated
children. It modifies the chromosome and the associated matrix. For the chromo-
somes, we define two operators: the two position swapping and the one position
mutation. Concerning the associated matrix, we define four operators: the row
translation, the column translation, the two position swapping and the one position
mutation.
These common operators may produce matrices which describe incoherent
SS-IN compared to the associated sequence fold family. To eliminate the wrong
cases we develop a topological operator.
590 O. Gaci
4.6 Algorithm
Starting from an initial population of chromosomes from the associated family, the
population evolves according to the genetic operators. When the global popula-
tion fitness cannot increase between two generations, the process is stopped, see
Algorithm 1.
The genetic process is the following: after the initial population is built, we
extract a fraction of parents according to their fitness and we reproduce them to
produce children. Then, we select the new generation by including the chromo-
somes which are not among the parents plus a fraction of parents plus a fraction of
children. It remains to compute the new generation fitness.
When the algorithm stops, the final population is composed of individuals
close to the target protein in terms of SSE length distribution because of the
choice of our fitness function. As a side effect, their associated matrices are
supposed to be close to the adjacency matrix of the studied protein that we want
to predict.
In order to test the performance of our GA, we pick randomly three chromo-
somes from the final population and we compare their associated matrices to the
45 A Study of the Protein Folding Problem by a Simulation Model 591
sequence SS-IN adjacency matrix. To evaluate the difference between two matri-
ces, we use an error rate defined as the number of wrong elements divided by the
size of the matrix. The dataset we use is composed of 698 proteins belonging to the
All alpha class and 413 proteins belonging to the All beta class. A structural family
has been associated to this dataset in [19].
The average error rate for the All alpha class is 16.7% and for the All beta class
it is 14.3%. The maximum error rate is 25%. As shown in Fig. 4, the error rate
strongly depends on the initial population size. Indeed, when the initial popula-
tion contains sufficient number of individuals, the genetic diversity ensures better
SS-IN prediction. When we have sufficient number of sample proteins from the
associated family, we expect more reliable results. Note for example that when
30
All alpha dataset
20
Error Rate
10
0
[1
[6
[1
[1
[2
-5
-1
1-
6-
1-
]
0]
15
20
[
]
Initial population
30
All beta dataset
20
Error Rate
10
0
[1
[6
[1
[1
[2
-5
-1
1-
6-
1-
]
0]
[
5]
0]
Initial population
Fig. 4 Error rate as a function of the initial population size. When the initial population size is
more than 10, the error rate becomes less than 15%
592 O. Gaci
the initial population contains at least ten individuals, the error rate is always less
than 15%.
5 Conclusions
In this paper, we present a simulation model to study the protein folding problem.
We describe the reasons for which this biological process is a problem not yet
solved.
We summarize relative works about how to fold an amino acid interaction
networks. We need to limit the topological space so that the folding predictions
become more accurate. We propose a genetic algorithm trying to construct the
interaction network of SSEs (SS-IN). The GA starts with a population of real
proteins from the predicted family. To complete the standard crossover and muta-
tion operators, we introduce a topological operator which excludes the individuals
incompatible with the fold family. The GA produces SS-IN with maximum error
rate about 25% in the general case. The performance depends on the number of
available sample proteins from the predicted family, when this number is greater
than 10; the error rate is below 15%.
The characterization we propose constitutes a new approach to the protein
folding problem. Here we propose to fold a protein SSE-IN relying on topological
properties. We use these properties to guide a folding simulation in the topological
pathway from unfolded to folded state.
References
11. S. Wasserman, K. Faust, Social network analysis: methods and applications. Structural
Analysis in the Social Sciences, vol. 8 (Cambridge University Press, Cambridge, 1994)
12. H. Jeong, B. Tombor, R. Albert, Z.N. Oltvai, A.-L. Barabàsi, The large-scale organization of
metabolic networks. Nature 407(6804), 651–654 (2000)
13. N.V. Dokholyan, L. Li, F. Ding, E.I. Shakhnovich, Topological determinants of protein
folding. Proc. Natl. Acad. Sci. USA 99(13), 8637–8641 (2002)
14. A. Ghosh, K.V. Brinda, S. Vishveshwara, Dynamics of lysozyme structure network: probing
the process of unfolding. Biophys. J. 92(7), 2523–2535, (2007)
15. U.K. Muppirala, Z. Li, A simple approach for protein structure discrimination based on the
network pattern of conserved hydrophobic residues. Protein Eng. Des. Sel 19(6), 265–275
(2006)
16. A. Dutot, F. Guinand, D. Olivier, Y. Pigné, GraphStream: A Tool for bridging the gap between
Complex Systems and Dynamic Graphs, Proc of EPNACS: Emergent Properties in Natural
and Artificial Complex Systems, Dresden, Germany, 137–143 (2007)
17. J.H. Holland, Adaptation in Natural and Artificial System (MIT Press, Cambridge, MA, 1992)
18. O. Gaci, Building a parallel between structural and topological properties. In Advances in
Computational Biology (Springer, 2010)
19. O. Gaci, Building a topological inference exploiting qualitative criteria. Evol. Boinformatics
(2010)
Chapter 46
Analysing Multiobjective Fitness Function
with Finite State Automata
Abstract This research analyses and discusses the use of Multiobjective fitness
function to evolve Finite State Automata. Such automata can describe system’s
behavior mathematically in an efficient manner. However system’s behavior must
highly depend on its input-output specifications. Genetic Programming is used, and
the fitness function is built to guide the evolutionary process in two different cases.
First case: Single point fitness function is used where the only focus is on the
correctness of the evolved automata. Second case: multiobjective fitness function is
used since every real-world problem involves simultaneous optimization of several
incommensurable and often competing objectives. Multiobjective optimization is
defined as a problem of finding a Finite State Automata which satisfies: parsimony,
efficiency, and correctness. It has been presented that for large and complex
problems it is necessary to divide them into sub problem(s) and simultaneously
breed both sub-program(s) and a calling program.
1 Introduction
Nada M.A. Al Salami (1971) Assistance Professor in Management Information System Depart-
ment, of Al Zaytoonah University, Amman, Jordan. She interested in the theory of computer
science and evolutionary algorithms
N.M.A.A. Salami
Department of Management Information Systems, Faculty of Economic and Business, Al
Zaytoonah University of Jordan, 130, Amman, 11733, Jordan
e-mail: [email protected]
between different designs. One then could, for example, choose to create three
different cars according to different marketing needs: a slow low-cost model which
consumes least fuel, an intermediate solution, and a luxury sports car where speed is
clearly the prime objective. Evolutionary algorithms are well suited to multi
objective optimization problems as they are fundamentally based on biological
processes which are inherently multiobjective [1–3]. After the first pioneering work
on multi objective evolutionary optimization in the 1980s by Schatner [4, 5],
several different algorithms have been proposed and successfully applied to various
problems, for more details see [6, 7]. In this research, a new multiobjective
evolutionary algorithm is analyzed and discussed; it is developed to deal with
complex system. Since every real life problem are dynamic problem, thus their
behaviors are much complex. Complex systems often include chaotic behavior [8]
(the classic example of chaos theory is “the Butterfly effect”) which is to say that
the dynamics of these systems are nonlinear and difficult to predict over time, even
while the systems themselves are deterministic machines following a strict
sequence of cause and effect. Genetic programming [9–11] suffers from many
serious problems that make it very difficult to predict chaotic behavior. Natural
chaotic systems may be difficult to predict but they will still exhibit structure that is
different than purely random systems [12] for more details see [13–15]. Such
chaotic behavior of real live problem is reduced when the induction process is
based on the meaning of the low-level primitives rather than their structure.
The meaning of a program P is specified by a set of function transformation from
states to states, as given in [12, 16]; hence P effects a transformation on a state
vector X, which consists of an association of the variable manipulated by the
program and their values. A Program P is defined as 9-tuples, called Semantic
Finite State Automata (SFSA): P ¼ (x, X, T, F, Z, I, O, g, Xinitial), where: x is the
set of system variables, X is the set of system states, X¼ {Xinitial, - - - -, Xfinal}, T is
the time scale: T ¼ [0, 1), F is the set of primitive functions, Z is the state transition
function, Z ¼ {(f, X, t): (f, X, t) E F X T, z(f, X, t) ¼ (X, t)}, I is the set of
inputs, O is the set of outputs, g is the readout function, and Xinitial is the initial state
of the system: Xinitial E X.
All sets involved in the definition of P are arbitrary, except T, and F. Time scale
T must be some subset of the set [0, 1) of nonnegative integer numbers, while the
set of primitive function F must be a subset of the set CL(FL) of all computable
functions in the language L and sufficient to generate the remainder functions. Two
features characterize state transition function:
P (x, X, T, F, Z, 1, 0, Xinitial, g)
P (xXTFZI, O, Xinitial, g)
where
x x, Xinitial E X, then there exit *f E F, z E Zf, E F, and z EZ, and h is a
function defined over Z with value in X is defined as follows:
2 Evolutionary Algorithm
On the basis of the theoretical approach sketch in the above section, the evolution-
ary algorithm is defined as 7-tuples: (IOS, S, F, a1, Tmax, b, y), as given in [12, 16].
IOS is establishing the input-output boundaries of the system. It describes the inputs
that the system is designed to handle and the outputs that the system is designed to
produce. An IOS is a 6-tuples: IOS ¼ (T, I, O, Ti, TO, Z). Where T, is the time scale
of IOS, I is the set of inputs, O is a set of outputs, Ti is a set of input trajectories
defined over T, with values in I, TO, is a set of output trajectories defined over T,
with values in O, and Z is a function defined over Ti whose values are subset of TO;
that is, Z matches with each given input trajectories the set of all output trajectories
that might, or could be, or eligible to be produced by some systems as output,
experiencing the given input trajectory. A system P satisfies IOS if there is a state X
of P, and some subset U not empty of the time scale T of P, such that for every input
trajectory g in Ti, there is an output trajectory h in TO matched with g by Z such
that the output trajectory generated by P, started in the state X is:
Refers to the written form of a program as far as possible independent from its
meaning. In particular it concerns the legality or well-formedness of a program
relative to a set of grammatical rules, and parsing algorithms for the discovery
of the grammatical structure of such well-formed programs. S is a set of rules
governing the construction of allowed or legal system forms.
Each function must be coupled with its effect on both the state vector X, and the
time scale T of the system. Some primitive functions may serve as primitive
building blocks for more complex functions or even sub-systems.
Tmax and b parameters are merits of system complexity: size and time, respectively.
It is important to note that there is a fundamental difference between a time scale T
and an execution time of a system. T represents system size, it defines points within
the overall system, whereas, b, is the time required by the machine to complete
system execution, hence it is high sensitive to the machine type.
developing methods for making programs more reliable: Systematized testing, and
Mathematical proof.
Our works use systematized testing approach as a proof plane. The usual method
for verifying that a program is correct by testing is by choosing a finite sample of
states X1, X2, . . ., Xn and running P on each of them to verify that: P(X1) ¼ f(X1),
P(X2) ¼ f(X2), . . ., P(Xn) ¼ f(Xn). Formally, if testing approach is used for system
verification, a system proof is denoted u ¼ (a2, d), where a2 is a positive real
parameter defining the maximum accepted error from testing process. a2 focus on
the degree of generality, so that a1, and a2, parameters suggest a fundamental
tradeoff between training and generality. On the other hand, d represents a set of test
cases pairs (Oi, Ki), where Ki is a sequence of initial state Xinitial and input Ii.
In addition to using the idea of sub-system functions, i.e., sub-FSA, for complex
software it is better to divide the process of system induction into sub-system(s) and
main-system inductions. Sub-system induction must be accomplished with several
objectives; first one is that a suitable solution to sub-problem must determine a
solution to the next higher level problem. Second is to ensure that the figure of merit
of the sub-system have relationships to the figure of merit of the top-level problem.
The third objective is to ensure specific functional relationships of sub-system proof
plans to the system proof plan of the top-level problems.
3 Evolutionary Process
The basic idea for single objective EAs is to imitate the natural process of biological
evolution. The problem to be solved is therefore described using a SFSA with
certain number of parameters (design variables). One then creates a group of
(n > 0) different parameter vectors and considers it as a population of individuals.
The quantity is called the population size. The quality of a certain SFSA (i.e. an
individual in the population) is expressed in terms of a scalar valued fitness function
(objective function). Depending on whether one wants to minimize or maximize the
objective function, individuals (i.e. parameter vectors) with lower or greater fitness
are considered better, respectively. The algorithm then proceeds to choose the best
individuals out of the population to become the parents of the next generation
(natural selection, survival of the fittest). In this work we always try to minimize
the objective function, i.e. search to find individual with lower fitness value. In this
case, learning parameter a1 must be selected to the minimum accepted degree
of matching between an IOS, and the real observed behavior of the SFSA over the
time scale, TX. Learning parameter a1 is used ultimately to guide the search
process.
Within the context of the suggested mathematical approaches, to automatically
generate a system means search to find an appropriate SFSA satisfying IOS
46 Analysing Multiobjective Fitness Function with Finite State Automata 601
efficiently, with regard to learning and complexity parameters. Then, proof plan u
must be applied to that SFSA for further assessing its performance and correctness.
If that SFSA behaves well with u, it may be considered as a solution or approximate
solution to the problem, else, some or all terms in the statement of the problem of
system induction must be modified, and the process is repeated until a good SFSA is
found, or no further revisions can be made. The search space in Evolutionary
algorithm is the space of all possible computer programs described as 9-tuples
SFSA. Within the context of the suggested mathematical approaches, to automati-
cally generate a system means search to find an appropriate SFSA satisfying IOS
efficiently, with regard to learning and complexity parameters. Then, proof plan u
must be applied to that SFSA for further assessing its performance and correctness.
If that SFSA behaves well with u, it may be considered as a solution or approximate
solution to the problem, else, some or all terms in the statement of the problem of
system induction must be modified, and the process is repeated until a good SFSA is
found, or no further revisions can be made. The search space in Evolutionary
algorithm is the space of all possible computer programs described as 9-tuples
SFSA. The following equation was used to express the quality of a SFSA (i), where
0 < i <¼ n:
XTx
0
fitness ðiÞ ¼ a j¼0
j T ð j Þ R ð j Þj (6)
ðb biÞ (7)
Where: d1, d2, and d3 are weight parameters: (d2, d3) hd1i ¼ 0, bi is the run time
of individual i, Ti is the time scale of the individual i, and Rj is the actual calculated
input trajectory of individual j. Since the Main objective is to satisfy the IOS, the
first weight parameter in Eq. (7), i.e. d1 is always greater than d2 and d3, and grater
than or equal to 1. These values are selected by expert when the algorithm is running
many times. In addition the values of d2 and d3 are selected with respect to different
factors concerning: hardware type, required complexity, problem nature, and other.
In all cases they must be small real numbers greater than or equal to zero. Table 1,
gives different setting for these weight parameters, when the value is equal to 0 it
means this objective is not considered in the evolutionary process. Also if it equal to
1 it means the effect of this objective is not either decreased or decreased. It is clear
that the first setting for the parameters represent single point fitness function, as
Where: M: is the population size. Eq. (8) is also adjusted so that the adjusted
fitness lies between 0 and 1:
1
fitness ðiÞ ¼ 00 (9)
fitness ðiÞ
Three types of points are defined in each individual: transition, function, and
function arguments. When structure-preserving crossover is performed, any point
type anywhere in the first selected individuals may be chosen as the crossover point
of the first parent. The crossover point of the second parent must be chosen only
from among points of this type. The restriction in the choice of the second crossover
points ensures the syntactic validity of the offspring.
Unfortunately, when we deal with complex systems and real live problem, strong
feedback (positive as well as negative) and many interactions exist: i.e. chaotic
behavior. Thus, we need to find a way to control chaos, understand, and predict
what may happen long term. In these cases input and output specifications are self
organized, which mean that trajectory data are collected and enhanced over time,
when genetic generation process runs again and again. With high trajectory infor-
mation converge to the solution in best than these populations with little trajectory
information. Although trajectory data are changed over time, but by experiment, it
still sensitive to initial configuration (sensitivity to the initial conditions). There is a
fundamental difference between a crossovers occurring in a sub-SFSA versus one
occurring in the main-SFSA. Since the later usually contains multiple references to
the sub-SFSA(s), a crossover occurring in the sub-SFSA is usually leveraged in the
sense that it simultaneously affects the main-SFSA in several places. In contrast, a
crossover occurring in the main-SFSA provides no such leverage. In addition,
because the population is architecturally diverse, parents selected to participate in
the crossover operation will usually possess different numbers of sub-SFSA(s). The
proposed architecture-altering operations are: Creating sub-SFSA, Deleting sub-
SFSA, Adding Variables, and Deleting Variables.
604 N.M.A.A. Salami
4.2 Performance
If every run was successes to obtain a solution, the computational effort required to
get the solution depends primarily on four factors: population size M, number of
generation g (g must be less than or equal to the maximum number of generation G),
the amount of processing required for fitness measure over all fitness cases (we
assume that the processing time to measure the fitness of an individual is its run
time), and the amount of processing required for test phase e. If success occurs on
the same generation of every run, then the computational effort E would be
computed as follows:
E¼Mge (10)
Since the value of e is too small with respect to other factors, we shall not
consider it. However, in most cases, success occurs on different generations in
different runs, then the computational effort E would be computed as follows:
E ¼ M gavr b (11)
where gavr is the average number of executed generations. Since we use a probabi-
listic algorithm, thus the computational effort is computed in this way: first deter-
mining the number of independent runs R needed to yield a success with a certain
probability, second, multiply R by the amount of processing required for each run.
The number of independent runs R required to satisfy the success predicate by
generation i with a probability z which depends on both z and P(M, i), where z is the
probability of satisfying the success predicate by generation i at least once in R runs
defined by:
P(M, i) is the cumulative probability of success for all the generations between
generation 0 and generation i. P(M, i) is computed after experimentally obtaining an
estimate for the instantaneous probability Y(M, i) that a particular run with a popula-
tion size M yields, for the first time, on a specified generation i, an individual is
satisfying the success predicate for the problem. This experimental measurement of
Y(M, i) usually requires a substantial number of runs. After taking logarithms, we find:
logð1 zÞ
R¼ (13)
logð1 rðM; iÞÞ
The computational effort E, is the minimal value of the total number of indivi-
duals that must be processed to yield a solution for the problem with z probability
(ex: z ¼ 99%):
E ¼ M ðg þ 1Þ b R (14)
46 Analysing Multiobjective Fitness Function with Finite State Automata 605
Where *g is the first generation. The computational effort ratio, RE, is the ratio
of the computational effort without sub-SFSA to the computational effort with
sub-SFSA:
5 Conclusion
References
1. K.C. Tan, E.F. Khor, T.H. Lee, Muliobjective Evolutionary Algorithms and Applications
(Springer-Verlag, London limited, 2005
2. E. Zitzler, K. Deb, L. Thiele, Comparison of multiobjective evolutionary algorithm: empirical
result. Evol. Comput. 8(2), 173–195 (2000), (Massachustts Institute of Technology)
606 N.M.A.A. Salami
A B
Abdallah, I.B., 271 Bai, Y., 353
Abdelhalim, A., 521 Balch, T., 20
Abler, R., 85 Ball Mill, 312, 314, 316, 317
Abou, S.C., 283, 311 Bansel, R., 145
Accelerometer, 569–578 Bashah, N., 85
Accuracy, 83, 84, 144–148, 150–152, 154, 184, Basic reproductive number, 561, 564, 565, 567
187, 300, 362, 416–419, 492, 529 Battery electric vehicle, 227–241
Actuator dynamics, 214, 215, 217 Bednar, J., 131
Adaptive refinement, 158 Begg, R., 483
Adaptive selection, 112, 114–116, 502 Ben-Abdallah, I., 271
Addition chain, 507–518 Benchmarks, 112, 412, 416, 419, 465–480
Ad hoc network, 495–506 Beyls, K., 413
Adi, W., 513 Bezier, 31–45
Adly, A.S., 533 Billinghurst, M., 361
Adly, M.S., 533 Biological transport, 297
Ahmed, A.M., 85 Biomedical systems, 547–556
Akiba, Y., 523 Biped robot, 213–224
Almuallim, H., 523 Bit rate, 385, 387, 388, 391–394, 469
Al Salami, N.M.A., 595 Bluetooth, 495–497, 503–506
Analog to digital converter, 62, 63 Botta, A., 466
Anfinsen, C.B., 582 Brache, M., 197
ANFIS-GRID, 145, 147, 152–154 Breast cancer, 341–342, 348, 350
Ant colony optimization, 111–119 Budiarto, R., 83
Anti-windup, 257, 258, 260, 261, 263, 264
Arnold, W., 542 C
Aronson, J.E., 484 Calder, B., 415
Artificial neural network, 72, 73, Cano, D.C., 557
482–484, 491 Cao Jine, 122
Assimacopoulos, A., 361 Cascón, J.M., 157
Association rules mining, 312–314, 319–322, Chai, C.Y., 481
486, 487 Chandra, M.G., 373
Audio visual features, 374, 382 Chang, K., 298
Automatic annotation, 373, 375, Chan, J., 545
379–380, 382 Chellappan, C., 439
Autonomous vehicle, 31–32, 45 Chen, D., 271
Averaged model, 172–176 Chen, J.-S., 274
607
608 Index
González, E., 121 IPv6, 451–463, 467, 468, 470, 472, 474, 476,
González, L., 397 478, 479
Goose, S., 361, 365 Ivanova, N.B., 545
Government, 97–108
Gragger, J.V., 169 J
Grammatical evolution, 131–142 Janiszewski, A., 413
Graphical user interface, 63–64, 471 Jassar, S., 143
Greedy mechanism, 111–119 Java, 359–370, 457, 458, 460, 462, 474
Grid scheduling, 440, 441, 445, 447 Jee, S.H., 569
Group delay, 353–358 Jianhua, Y., 86
Gulbinowicz, Z., 183 Jones, C.P., 483
Gupta, D., 466
K
H Kaashoek, F., 466
Hammer, D., 298 Kaheil, Y., 71
Hamming weight, 399, 404–406 Kamich, B.M., 482
Haptics, 2, 6, 7, 11, 13, 14 Kamruzzaman, J., 483
Hasan, M., 227 Kandil, O.A.D., 533
Haumer, A., 169 Kaneda, S., 523
Haupt, R., 270 Katabi, D., 466
Head-related impulse responses (HRIR), Katsuyama, T., 547
364–366 Kauffman, R., 145
Heartbeat, 548–552, 554, 555 Kennedy, J., 74
Heger, J., 269 Kennel, R., 197
Herberlein, L.T., 84, 86 Khalil, A., 71
Heuristic method, 48, 53–55 Kihm, J.L., 413
He, X., 298 Kim, J., 569
Hildebrandt, T., 269 Kinicki, R., 466
Hjelsvold, R., 361 Knapsack problem, 52, 53
Holland, J.H., 586 Kodlahalli, S., 361
HRIR. See Head-related impulse responses Kozak, J., 183
(HRIR) Král, A., 466
Huang, S.S., 84 Kulkarni, M., 283
Huckaby, E.D., 243 Kumar, A., 59
Huffmire, T., 412
Human spacecraft interaction, 1–14 L
Hybrid intelligence, 85–86, 92–93 Labella, T.H., 19
Hydraulic system, 283–288, 293 Laplace distribution, 134–136, 139–141
Lasserre, J.B., 271
I Lau, J., 415
Ibrahim, M.S., 533 Launder, B.E., 246
Imam, I.F., 526 L2 cache performance prediction, 412
In-car multimedia, 496–500, 505 Lee, M., 569
Incomparable binary n-tuples, 398, 407, 409 Levenberg–Marquardt, 198, 201–202, 205, 207
Inferential model, 143–145, 147, 154 Levinthal, C., 583
Inoue, A., 257 Liang, T.P., 484
Input saturation, 257–268 Liao, Z., 143
Intelligent service robot, 17–28 Liquid crystal display (LCD), 60, 62, 67, 68
Intensification and diversification, 114, Loh, R.N.K., 213
116, 119 Long-term variability, 71
Interaction networks, 582, 585–586, 588, 592 Losses, 40, 73, 123, 170, 172–180, 237, 264,
Intrinsic order, 397–409 328, 387, 389, 391–393, 395, 469, 472,
Inverse reference model, 216–217 479, 483, 503, 512, 570, 572
610 Index