Motion Recognition and Generation by Combining
Reference-Point-Dependent Probabilistic Models
Komei Sugiura and Naoto Iwahashi
Abstract— This paper presents a method to recognize andgenerate sequential motions for object manipulation such as
placing one object on another or rotating it. Motions are learned
using reference-point-dependent probabilistic models, which arethen transformed to the same coordinate system and combined for motion recognition/generation. We conducted physicalexperiments in which a user demonstrated the manipulationof puppets and toys, and obtained a recognition accuracy of
63% for the sequential motions. Furthermore, the results ofmotion generation experiments performed with a robot arm
are presented.

I. I NTRODUCTION
The recognition of motions has gained considerable interest from the computer vision, robotics, and ubiquitous
computing communities [5], [9]. In the robotics community,
one of the most important applications of motion recognition
is imitation learning [1], [6]. Imitation learning research explores methods to teach a robot new motions by user-friendlymeans of interaction. In the previous studies, machine learning algorithms such as Forward-Inverse Relaxation Model[8], Gaussian mixture models (GMMs) [2], hidden Markov
models (HMMs) [4], and recurrent neural networks [10], [13]have been used for motion learning.
For robots aimed at household environments, motions suchas “to put the dishes in the cupboard” are fundamental,
but difﬁcult to realize. This is because the desired motion
depends on the size and shape of the dishes, as well as thoseof the cupboard, and also on whether the cupboard has adoor. In [5], the difﬁculties involved in learning such motions
are discussed. Ogawara et al. proposed a method in which
the relative trajectories between two objects are modeled by
HMMs [11]. Furthermore, we have proposed a motion learning and generation method that is based on reference-pointdependent HMMs, which enabled the learning of motions
such as rotating an object, drawing a spiral, and placing apuppet on a box [3], [14].
In this paper, we propose a novel method that recognizes
and generates sequential motions for object manipulationsuch as placing an object on another (place-on) and moving
it away (move-away). In this method, motions are learned
using reference-point-dependent probabilistic models, which
are then transformed and combined. These composite probabilistic models are used for the recognition of the sequential
Komei Sugiura and Naoto Iwahashi are with Spoken Language
Communication Research Laboratories, ATR, and with the National
Institute of Information and Communications Technology, 2-2-2
Hikaridai, Seika, Soraku, Kyoto 619-0288, Japan. {komei.sugiura,naoto.iwahashi}@atr.jp

Fig. 1.

Hardware platform used in the experiments.

motions performed by a user. Moreover, motions can be generated from the composite probabilistic models in accordancewith user instructions, which can then be performed by arobot arm. Fig. 1 shows the hardware platform used in thisstudy. The system has multimodal interfaces such as a stereo
vision camera and a microphone.
The rest of this paper is organized as follows: Section II
ﬁrst states the problem addressed herein, brieﬂy reviews related work, and introduces our method. Section III describes
the motion recognition and generation method in detail. The
experimental results for the recognition and generation ofsequential motions are presented in Section IV. Section V
discusses some problems of our method, and Section VI
concludes the paper.
II. L EARNING R EFERENCE -P OINT-D EPENDENTM OTIONS
A. Reference-Point-Dependent Motions
Motions such as “place-on” and “raise” are dependent onreference points. Let us take the example shown in the lefthand ﬁgure of Fig. 2. The ﬁgure depicts a camera image inwhich the green puppet is moved along the dotted line. Whenthe reference point is the blue box, we can provide a label“place-on” to the trajectory. However, the label must be “letthe green puppet jump over the green box (jump-over)” when
the reference point is the green box.
In cognitive linguistics, a trajector is deﬁned as a participant (object) that is focused on. A landmark has a secondary
focus and a trajector is characterized with respect to alandmark. Words representing spatial relationships such as“away” and “left of” are described in terms of a relationshipbetween a trajector and a landmark [7].

Fig. 2. Left: Example shot of an image stream. The user is manipulating thegreen puppet. The dotted line represents the trajectory. Right: Preprocessedvisual features obtained from the image stream.

Now, we consider the problem of learning reference-pointdependent motions in the framework of imitation learning[1], [6] by a robot. Here, clustering manipulation trajectories
and mapping them to a verb are not sufﬁcient for thelearning if the trajectories are considered only within thecamera coordinate system. For simplicity, we assume thatthe mapping between the camera coordinate system andthe world coordinate system is given, and that the user’sutterances are accurately recognized.
Regier investigated a model describing the spatial relationship between two objects [12]. He proposed to model verbs
as the time evolution of the spatial relationship between a
trajector and a landmark. In [11], the relative trajectories
between two objects are modeled by using probabilistic
models. The probabilistic models are used for the generationof manipulation trajectories.
In contrast, we have proposed a machine learning method
for learning object-manipulation verbs by reference-pointdependent probabilistic models [3], [14]. The method estimates (1) the reference point, (2) intrinsic coordinate system
type, which is the type of coordinate system intrinsic to averb, and (3) probabilistic model parameters of the motionthat is considered in the intrinsic coordinate system. Let us
consider two examples, “raise” and “move-closer” (Fig. 3).
We can reasonably assume that the reference point of “raise”
is the trajector’s center of gravity. The intrinsic coordinate
system can be a Cartesian coordinate system, as shown in theleft-hand ﬁgure. In the case of “move-closer,” another typeof intrinsic coordinate system is necessary. In this case, thex axis of the coordinate system passes through the centers ofgravity of the trajector and the landmark. Before we describe
the proposed method, in the next subsection, we brieﬂy
introduce the basic concepts and notations of the learning
method for reference-point-dependent motions.

Fig. 3. Relationship between trajector/landmark, a reference point, andan intrinsic coordinate system. The spheres, ellipsoids, and box represent
objects, and the arrows represent the axes of the intrinsic coordinate systems.
Left: “raise.” The small sphere is the trajector, and the reference point is its
center. The x axis of the intrinsic coordinate system is horizontal. Right:“move-closer.” The direction of the x axis is toward the trajector from thelandmark.

of reference points, Rl , as follows:
Vl = (Yl , Rl ),(1)
Yl = {y l (t)|t = 0, 1, ..., Tl } ,
(2)
£
¤
>
y l (t) = xl (t)> , ẋl (t)> , ẍl (t)> ,
(3)
© r¯
ª
l¯
Rl = {O l , xl (0), xcenter } , x rl = 1, 2, ..., |Rl | ,(4)where xl (t), ẋl (t), and ẍl (t) denote the position, velocity,
and acceleration of the trajector, respectively; Tl denotes theduration of the trajectory; and O l denotes the set of the static
objects’ centers of gravity. The operator | · | represents thesize of a set. The reason why O is included in R is thatthe static objects are candidate landmarks. We also include
the ﬁrst position of the trajector, xl (0), in R so that we
can describe a motion concept that is dependent only on
the object’s trajectory. Additionally, the center of the camera
image, xcenter , is added to R to describe motion concepts
that are independent of the positions of the objects.
We assume that there are K types of intrinsic coordinate
systems, and these are provided by the designer. We denotethe type of the intrinsic coordinate system by k. k corresponds to a verb, and the reference point corresponds to each
Vl . We obtain the estimated intrinsic coordinate system forthe lth data from the estimation of k and the reference point
xrl .
r
Let Ck (x l ) Yl denote the trajectory in the intrinsic coordinate system Ck (xrl ). Henceforth, parameters in a particular
coordinate system are written in a similar manner. Now, theindex series of reference points, r = {rl |l = 1, 2, ..., L}, thetype of the intrinsic coordinate system, k, the parameters ofa probabilistic model regarding trajectories, λ, are searched
for using the following maximum likelihood criterion:(r̂, k̂, λ̂) = argmax

B. Motion Learning by Reference-PointDependent Probabilistic Models

r,k,λ= argmax
Consider that L kinds of learning data are given for averb. Let Vl denote the lth learning data. Vl consists of the
motion information of the trajector, Yl , and the candidate set

r,k,λ

L
X
l=1
L
X

log P (Yl |rl , k, λ),rllog P (Ck (x ) Yl ; λ),

(5)

(6)

l=1

where ˆ· represents estimation. In [14] and [3], the solution
to Equation (6) is explained in detail.

III. C OMBINATION OF R EFERENCE -P OINT-D EPENDENT
HMM S
A. Transformation of HMMs
Now we consider the problem of the recognition and generation of sequential motions based on composite referencepoint-dependent HMMs. In speech recognition, HMMs areusually combined by simply aligning them, since they sharethe same coordinate system. In contrast, in HMM-based
speech synthesis, the coordinate systems used in the training
phase, C, and that used in the trajectory generation phase,
C 0 are sometimes different. In such cases, the trajectories are
generated in C and are then transformed from C to C 0 .
However, in neither ways can we combine two referencepoint-dependent HMMs. This is because the jth HMM
parameters are dependent on the (j − 1)th HMM parameters(Fig. 4). Fig. 5 illustrates an example of the process of
combining two reference-point-dependent HMMs. To combine HMMs corresponding to “raise” and “move-closer,”the output probability distributions of each HMM must betransformed since they represents distributions on different
coordinate systems.

as well as position data. For safety reasons, changes in thevelocity and acceleration data should be continuous. It istherefore important to obtain smooth trajectories of ẋ and ẍ
when combining two HMMs. Let us consider a case in whichverbs dependent only on velocity information, e.g. “throw,”
are to be combined. If two HMMs were simply aligned togenerate the composite trajectory, the velocity changes might
be discontinuous in this case. In contrast, our method, which
is described in detail below, generates a smooth trajectory.
Now we consider the problem of obtaining a composite
HMM from the transformation and combination of referencepoint-dependent HMMs. Let λ(j) and C (j) denote the parameters and the intrinsic coordinate system, respectively, ofthe jth HMM, which is a left-to-right HMM. The output
probability density function of each state is modeled bya single Gaussian. The mean position vector at state s,C (j)µx (s), is transformed by the following homogeneoustransformation matrix:·W¸µx (s)=1¸ · (j)
¸
·
(j)
(j−1)
W
C
(Sj−1 )R Wµx
µx (s) − C µx (1)
C (j)
, (7)
1
0
1
(j = 1, 2, ..., D,

Fig. 4. Schematic of the combination of two reference-point-dependent
HMMs. W represents the world coordinate system.

s = 1, 2, ..., Sj )(j)where CW
to the(j)R denotes the rotation matrix from C
world coordinate system W . Furthermore, s = 0 and s =Sj + 1 are deﬁned as the initial and ﬁnal states of the jth(j)HMM, respectively. The mean vector of velocity, µẋ (s),(j)
and the mean vector of acceleration, µẍ (s), are rotated byusing the rotation matrix CW(j)R.
However, the diagonal items of covariance matrices for
position are approximated as follows:(j)diag WΣx (s) = diag C Σx (s),

(8)

(j)

where WΣx (s) and C Σx (s) denote the covariance matrices
at state s in coordinate systems W and C (j) , respectively.
The non-diagonal items of the matrices are equal to zero.
The matrices for velocity and acceleration are transformedby the same simple approximation. We do not perform arotation of the covariance matrix because the HMM-based
trajectory generation method [15] we use does not deal withfull covariance matrices.
B. Recognition of Motion Sequences by Composite HMMs
Fig. 5. Example of transformation for the combination of two HMMs,“raise” and “move-closer.” Each dotted circle represents the variances ofthe output probability distribution at each state of a left-to-right HMM. The
direction of state transition is indicated by the color darkness. The intrinsic
coordinate system for “move-closer” is transformed so that the x axis passes
through both the landmark (the reference point of “move-closer”) and thelast position of the HMM in “raise.” The dotted line represents the composite
trajectory.

An advantage of transforming intrinsic coordinate systems
is the smoothness of the composite trajectories. In our
method, velocity and acceleration data are used for learning

Recognition of sequential motions by reference-pointdependent HMMs can be formalized as the problem ofobtaining the most likely probabilistic model for trajectory
Y under the condition that verbs, the intrinsic coordinate
systems corresponding to verbs, and the HMM parameters
corresponding to the verbs are given. Here, let V = {vi |i =1, 2, ..., |V |} denote a set of verbs, λi denote HMM parameters corresponding to verb vi , and ki denote the index of
intrinsic coordinate systems corresponding to verb vi .
Suppose that the trajectory of an object, Y, andthe candidate set of reference points, R, are obtained
from an image stream (c.f. Section II-B). Let (i, r) =(i(1) , i(2) , ..., i(D) , r(1) , r(2) , ..., r(D) ) denote a D-tuple ofverb-landmark pairs. We obtain a composite HMM ΛD (i, r)from the method explained in Section III-A since the coordinates of the reference points are obtained from R andr(j). The maximum likelihood index sequence of the verblandmark pairs, (î, r̂), is searched for through the following
equation:(î, r̂) = argmax P (Y|i, r, D, R)

(9)

i,r,D

= argmax P (Y|ΛD (i, r))

(10)

i,r,D

C. Generation of Motion Sequences by Composite HMMs
Now we consider the problem of generating trajectories
of sequential motions from composite HMMs. Suppose thata static image and the index of the trajector are given. As in
Section II-B, we extract the candidate set of reference points,
R. Our proposed method deals with two types of motion
generation: 1) explicit instruction and 2) target instruction.
1) Explicit Instruction: The trajectory corresponding to
the index sequence of the verb-landmark pairs, (i, r), is
obtained as follows:Ŷ = argmax P (Y|rtraj , QD (i), r, R)Y= argmax P (Y|xrtraj , QD (i), ΛD (i, r)),
Y

(11)
(12)

where QD (i) denotes the state sequence of the HMM corresponding to verb vi , and xrtraj denotes the initial positionof the trajector. The method explained in [15] provides
the maximum likelihood trajectory from the unknown state
sequence QD (i).
2) Target Instruction: Next we consider the problem ofobtaining the index sequence of verb-landmark pairs, (î, r̂),which affords the maximum likelihood trajectory Ŷ frominitial position xrtraj to the goal position xgoal . We obtain(Ŷ, î, r̂) by conditioning the right side of Equation (12) withxgoal and then adding (i, r) to the search arguments:(Ŷ, î, r̂) = argmax P (Y|xrtraj , xgoal , QD (i), ΛD (i, r)),
Y,i,r,D

where the number of combined HMMs, D, is a constant thatacts as a search depth parameter. We obtain the solution by
applying Tokuda’s method [15] as well.
IV. E XPERIMENTS
A. Experimental Setup
The experiments were conducted with a Mitsubishi Heavy
Industries PA-10 manipulator with seven degrees of freedom(DOFs). The manipulator was equipped with a BarrettHand,a four-DOF multiﬁngered grasper. The user’s movements
were recorded by a Bumblebee 2 stereo vision camera at
a rate of 30 [frame/s]. The size of each camera image was
320 × 240 pixels. The left-hand ﬁgure of Fig. 2 shows anexample shot of an image stream, and the right-hand ﬁgureshows the internal representation of the image stream. All the
motion data used for learning and recognition were obtained
from physical devices. In addition, motion generation results

were examined in an environment using the manipulator andphysical objects such as puppets and toys.
Motions were taught by the user in a learning phase beforehand, and they were ﬁxed throughout the motion recognition/generation experiments. During the learning phase,the user taught verbs to the robot by uttering them anddemonstrating their trajectories. The following verbs wereused for learning.
raise, move-closer, move-away, rotate, place-on,
put-down, jump-overFor each verb, the number of training data, L = 9.
Fig. 6 illustrates some example trajectories in the training
set. In the ﬁgure, verbs and the estimated type namesof the intrinsic coordinate systems are shown below thecorresponding ﬁgures. We deﬁned the following types of
intrinsic coordinate systems:
C1 A coordinate system with its origin at the landmark
position. C1 is a transformed camera coordinate system.
The x axis is inverted in case the x coordinate of
the original position of the trajector is negative after
transformation.
C2 An orthogonal coordinate system with its origin at thelandmark position. The direction of the x axis is fromthe landmark toward the trajector.
C3 A translated camera coordinate system with its origin
at the original position of the trajector.
C4 A translated camera coordinate system with its origin
at the center of the image.
We set the maximum search depth parameter Dmax as
Dmax = 3 throughout the motion recognition/generation
experiments. In addition, we do not consider collisions
between objects in the motion generation experiments.
B. Result (1): Motion Recognition
The user was presented with six pairs of randomly chosenverbs, and performed the motions sequentially. The manipulation trajectories and the positions of the static objects wererecorded to obtain a test set. For each pair, ﬁve different
object settings were given. Therefore, the size of the test set
was 30.
Fig. 7 illustrates example trajectories in the test set. In
the ﬁgures, the top three recognition results for each scene
are shown. The bracketed pairs and numbers represent theestimated sequences of verb-landmark pairs and the log
likelihood, respectively.
We can see that a correct recognition result was obtained
for the left-hand ﬁgure of Fig. 7. On the other hand, thecorrect recognition result for the right-hand ﬁgure does nothave the maximum likelihood. This is considered to be dueto the approximation used earlier ( Equation (8) ). Here, thepoint is that only C2 requires a rotation of the covariancematrix to be combined. And in this case, the correct verblandmark sequence contains “move-away,” which is a C2
verb.
Table I shows the number of correctly recognized samples.
The column labeled “n-best” stands for the number of correct

TABLE I
N UMBER OF CORRECTLY RECOGNIZED SAMPLES .

“place-on” (C1 )“jump-over” (C1 )“move-closer” (C2 )“move-away” (C2 )“raise” (C3 )“put-down” (C3 )“rotate” (C3 )Fig. 6.

Test set(1) rotate + rotate(2) move-away+move-closer(3) place-on + place-on(4) rotate + jump-over(5) rotate + move-away(6) move-closer + place-on
Total

Fig. 9.

1-best
5
3
3
4
2
2
19/30
(63%)

2-best
5
3
5
4
4
4
25/30
(83%)

3-best
5
3
5
4
4
5
26/30
(87%)

Generated trajectory in the explicit instruction mode.

Examples of training data.

answers contained in top n recognition results. The accuracyof 1-best, 2-best, and 3-best recognition results are 63%,83%, and 87%. In the table, we obtain an accuracy of 80%(12 / 15) for sequences (1), (3), and (4). This is reasonable
since we have obtained an accuracy of 90% for the recognition of single motions in preliminary experiments. However,
we obtain an accuracy of 47% (7 / 15) for sequences (2),(5), and (6) which contains at least one C2 verb. This result
also supports the fact that the approximation (Equation (8))
deteriorated the recognition accuracy.

1. [place-on, 3] [place-on, 2] : -22.04
2. [jump-over, 2] [place-on, 2] : -23.79
3. [place-on, 3] [move-away, 3] : -28.79

1. [move-away, 2] : -22.18
2. [rotate] [move-away, 2] : -22.65
3. [rotate] : -25.06

Fig. 7. Examples of test set. The recognition results for each scene areshown below the corresponding ﬁgure. Left: “place object 1 on object 3,
then place object 1 on object 2.” Right: “rotate object 1, then move object
1 away from object 2.”

C. Result (2): Motion Generation
Fig. 9 shows an example trajectory generated by the
proposed method. The solid line represents the trajectory

generated in the explicit instruction mode. The input for the
explicit instruction mode was as follows:• trajector ID = 2• verb-landmark pairs = [move-away, 1] [jump-over, 4][move-closer, 4]
From Fig. 9, we can see that the proposed method has
generated an appropriate trajectory. To support this, themanipulator is shown performing the generated trajectory is
shown in Fig. 8.
For the target instruction mode, the top three trajectories
are shown in the Fig. 10. The trajector ID was set to 1, andthe goal position used is indicated in the ﬁgure. In the ﬁgure,the solid, broken, and dotted lines represent the best, secondbest, and third-best trajectories, respectively. Furthermore,
the top three verb-landmark pairs are shown in the ﬁgure.
V. D ISCUSSION
Now we discuss two causes for the deterioration in therecognition accuracy.
The ﬁrst one is that sequential motions performed byusers tend to be smoothly combined. However, the likelihood for such motions is not always high. This is because
the trajectory in the training set always starts from pause(ẋl (0) = 0), and therefore, the composite HMMs containstates representing pauses between motions.
We think that this problem can be solved by using pause
HMMs. In this case, a sequence of HMMs comprising a motion HMM sandwiched between pause HMMs are trained1 .
1 In speech recognition, a sequence of HMMs corresponding to silence(silB), phoneme, and silence (silE) are sometimes used for the training of
single phonemes.

Fig. 8.

Sequential photographs of the manipulator executing the trajectory shown in Fig. 9.

and Technology Foundation, and the National Institute ofInformatics.
R EFERENCES

goal

1

1. (solid line) [jump-over, 3] [move-closer, 2] : -16.45
2. (broken line) [jump-over, 3] : -18.66
3. (dotted line) [place-on, 3] [move-closer, 2] : -24.00
Fig. 10.

Generated trajectories in the target instruction mode.

Furthermore, we can obtain a composite HMM by aligning
the HMMs of pause, motion A, motion B, and pause andthereby combine two motions.
Another problem is that Equation (8) does not consider thefull covariance matrices, so the rotation of coordinate systems is ignored. As stated above, we think this approximation
deteriorated the recognition accuracy for the C2 verbs. In
the future work, we will perform the rotation of covariancematrices.
VI. C ONCLUSION
Within environments shared by humans and machines, it isimportant that machines be able to report their internal states
to humans in a comprehensive manner. For example, it iscritical to the safety of people working around machines thata robot functioning in the same area be able to communicate
what it will do next. In this paper, we have described amethod to (1) learn motions grounded in real world actions,(2) combine them to recognize human motions, and (3)combine them to generate motions in accordance with user
instructions.
VII. ACKNOWLEDGMENTS
This research was partially supported by the Ministry of
Education, Science, Sports and Culture, Grant-in-Aid for
Scientiﬁc Research (C), 20500186, 2008, Tateishi Science[1] C. Breazeal and B. Scassellati, “Robots that imitate humans,” Trends
in Cognitive Science, vol. 6, pp. 481–487, 2002.
[2] S. Calinon and A. Billard, “Incremental learning of gestures byimitation in a humanoid robot,” in Proceedings of the ACM/IEEEInternational Conference on Human-Robot Interaction, 2007, pp. 255–
262.
[3] T. Haoka and N. Iwahashi, “Learning of the reference-point-dependent
concepts on movement for language acquisition,” in PRMU2000-105,
2000, pp. 39–46.
[4] T. Inamura, I. Toshima, H. Tanie, and Y. Nakamura, “Embodied
symbol emergence based on mimesis theory,” International Journalof Robotics Research, vol. 23, no. 4, pp. 363–377, 2004.
[5] V. Krüger, D. Kragic, A. Ude, and C. Geib, “The meaning of action:a review on action recognition and mapping,” Advanced Robotics,
vol. 21, no. 13, pp. 1473–1501, 2007.
[6] Y. Kuniyoshi, M. Inaba, and H. Inoue, “Learning by watching:extracting reusable task knowledge from visual observation of human performance,” IEEE Transactions on Robotics and Automation,
vol. 10, no. 6, pp. 799–822, 1994.
[7] R. W. Langacker, Foundations of Cognitive Grammar: Theoretical
Prerequisites. Stanford Univ Pr, 6 1987.
[8] H. Miyamoto, S. Schaal, F. Gandolfo, H. Gomi, Y. Koike, R. Osu,
E. Nakano, Y. Wada, and M. Kawato, “A kendama learning robot
based on bi-directional theory,” Neural Networks, vol. 9, no. 8, pp.
1281–1302, 1996.
[9] T. Moeslund and E. Granum, “A survey of computer vision-based
human motion capture,” Computer Vision and Image Understanding,vol. 81, no. 3, pp. 231–268, 2001.
[10] T. Ogata, M. Murase, J. Tani, K. Komatani, and H. G. Okuno, “Twoway translation of compound sentences and arm motions by recurrent
neural networks,” in Proceedings of the 2007 IEEE/RSJ International
Conference on Intelligent Robots and System, 2007, pp. 1858–1863.
[11] K. Ogawara, J. Takamatsu, H. Kimura, and K. Ikeuchi, “Generation ofa task model by integrating multiple observations of human demonstrations,” in Proceedings of the 2002 IEEE International Conferenceon Robotics and Automation, 2002, pp. 1545–1550.
[12] T. Regier, The Human Semantic Potential: Spatial Language andConstrained Connectionism. Bradford Books, 9 1996.
[13] Y. Sugita and J. Tani, “Learning semantic combinatoriality from theinteraction between linguistic and behavioral processes,” Adaptive
Behavior, vol. 13, no. 1, pp. 33–52, 2005.
[14] K. Sugiura and N. Iwahashi, “Learning object-manipulation verbs forhuman-robot communication,” in Proceedings of the 2007 workshop
on Multimodal interfaces in semantic interaction, 2007, pp. 32–38.
[15] K. Tokuda, T. Kobayashi, and S. Imai, “Speech parameter generationfrom HMM using dynamic features,” in Proceedings of International
Conference on Acoustics, Speech, and Signal Processing, 1995, pp.
660–663.