16
Article DOI: 10.1111/exsy.12043 Qualitative bifurcation diagrams Hector Rodriguez, 1 Arthur M. Farley, 2 Juan J. Flores 1 and Andrzej Proskurowski 2 (1) Division de Estudios de Postgrado, Facultad de Ingenieria Electrica, Universidad Michoacana de San Nicolas de Hidalgo, Morelia, Mexico E-mail: [email protected], [email protected] (2) Computer and Information Sciences Department, University of Oregon, Eugene, OR 97403, USA E-mail: [email protected], [email protected] Abstract: We explore the use of qualitative reasoning to predict the behaviour of a dynamical system given a change in one of its parameters based upon a qualitative representation of its bifurcation diagram. We present three algorithms to perform this task. The rst algorithm generates a qualitative representation from a quantitative representation of the bifurcation diagram of the system. The second uses the qualitative representation to simulate the behaviour of the system given a sequence of parameter adjustments or perturbations. The third algorithm solves the opposite, control problem: it determines what parameters to change to take the system from an initial to a given goal state. The rst algorithm segments a quantitative bifurcation diagram into MSs having the same qualitative behaviour. These MSs are then interconnected into a relational network. The network is used by the other two algorithms to simulate and plan the behaviour of the system from an initial situation. We present examples illustrating the qualitative representations and the behaviours of the simulation and planning algorithms for dynamical systems of one parameter. Keywords: articial intelligence, knowledge representation, reasoning about action and change, qualitative reasoning 1. Introduction The goals of science and engineering are to understand, to predict and to control the behaviour of the world. To accomplish these goals, models that represent relevant aspects of real-world phenomena have been developed. One form these models take is what we call dynamical systems, which are used to represent and understand how complex systems change over time. There are different types of dynamical system models: discrete, continuous, linear and non-linear. Continuous dynamical systems are often modelled by a set of differential equations (Strogatz, 1994). Dynamical systems are models that exhibit changes with time. Traditionally, a system's behaviour can be derived either by solving differential equations or by simulation. To represent the changes the system undergoes through time, models are formulated in terms of state variables and their derivatives and parameters that may also be functions of time. We often assume that the system's topology does not change. However, this is not true for many complex systems. The mass of a rocket changes as it burns fuel, the characteristics of an electrical machine change as it ages, the load of an electrical power system changes during the day, and so on. Changes in such parameters, sometimes even if they are innitesimal, may cause a dynamical system to exhibit totally different qualitative properties. For instance, a damped mass-spring system may stop oscillating if the damping increases. Changes in the topology of the phase space representation of the dynamical system are known as bifurcations; the values of the parameters for which a bifurcation occurs are called bifurcation points (Strogatz, 1994). A bifurcation point occurs in a dynamical system when its qualitative behaviour changes as a result of the variation in one or more of its parameters. A bifurcation diagram is the graphic representation of a dynamical system that plots all the bifurcation points. Sometimes, the complete solution of a dynamical system is complex, inaccurate, or too costly to compute. Some applications have been developed that generate a bifurcation diagram of the dynamical system without solving a differential equation. Those applications generate the bifurcation diagram from a set of differential equations without solving them mathematically (Barrera et al ., 2008; Flores et al ., 2010). Earlier research in qualitative reasoning developed qualitative representations and reasoning algorithms that provided solutions in qualitative terms (de Kleer & Brown, 1984; Forbus, 1984; Kuipers, 1986; Sacks, 1990; Lee & Kuipers, 1993; Kuipers, 1994). Although some of these research projects dealt with dynamical systems and performed some kind of qualitative reasoning with phase portraits, none of them dealt specically with bifurcations or performed any qualitative reasoning based on bifurcation diagrams. In one related approach, Yip's approach deals with discrete dynamical systems and generates phase space portraits by intelligently guiding the numerical simulations performed to complete the phase portrait with as many features as possible (Yip, 1987). Yip mentions that bifurcations are detected when they notice a change in the phase portrait; however, neither the bifurcations, bifurcation points, nor bifurcation diagrams are modelled or used in reasoning. The qualitative reasoning system developed here, called qualitative bifurcation diagram (QBD), is based on the earlier work of Flores et al. (Flores & Proskurowski, 2006). Their reasoning system started from a given, qualitative repre- sentation of a dynamical system and performed a qualitative simulation to obtain a prediction of the behaviour of the system. QBD extends Flores et al.'s work in several ways. First, the qualitative representation of bifurcation diagrams © 2013 Wiley Publishing Ltd Expert Systems, September 2014, Vol. 31, No. 4 319

Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

ArticleDOI: 10.1111/exsy.12043

Qualitative bifurcation diagrams

Hector Rodriguez,1 Arthur M. Farley,2 Juan J. Flores1

and Andrzej Proskurowski2(1) Division de Estudios de Postgrado, Facultad de Ingenieria Electrica, Universidad Michoacana de San Nicolas deHidalgo, Morelia, MexicoE-mail: [email protected], [email protected](2) Computer and Information Sciences Department, University of Oregon, Eugene, OR 97403, USAE-mail: [email protected], [email protected]

Abstract: We explore the use of qualitative reasoning to predict the behaviour of a dynamical system given a change in one of its parametersbased upon a qualitative representation of its bifurcation diagram. We present three algorithms to perform this task. The first algorithmgenerates a qualitative representation from a quantitative representation of the bifurcation diagram of the system. The second uses thequalitative representation to simulate the behaviour of the system given a sequence of parameter adjustments or perturbations. The thirdalgorithm solves the opposite, control problem: it determines what parameters to change to take the system from an initial to a given goal state.The first algorithm segments a quantitative bifurcation diagram into MSs having the same qualitative behaviour. These MSs are theninterconnected into a relational network. The network is used by the other two algorithms to simulate and plan the behaviour of the system froman initial situation. We present examples illustrating the qualitative representations and the behaviours of the simulation and planningalgorithms for dynamical systems of one parameter.

Keywords: artificial intelligence, knowledge representation, reasoning about action and change, qualitative reasoning

1. Introduction

The goals of science and engineering are to understand, topredict and to control the behaviour of the world. Toaccomplish these goals, models that represent relevantaspects of real-world phenomena have been developed.One form these models take is what we call dynamicalsystems, which are used to represent and understand howcomplex systems change over time. There are different typesof dynamical system models: discrete, continuous, linearand non-linear. Continuous dynamical systems are oftenmodelled by a set of differential equations (Strogatz, 1994).

Dynamical systems are models that exhibit changes withtime. Traditionally, a system's behaviour can be derived eitherby solving differential equations or by simulation. To representthe changes the system undergoes through time, models areformulated in terms of state variables and their derivatives andparameters that may also be functions of time.We often assumethat the system's topology does not change. However, this is nottrue formany complex systems. Themass of a rocket changes asit burns fuel, the characteristics of an electrical machine changeas it ages, the load of an electrical power system changes duringthe day, and so on. Changes in such parameters, sometimes evenif they are infinitesimal, may cause a dynamical system toexhibit totally different qualitative properties. For instance, adampedmass-spring systemmay stop oscillating if the dampingincreases. Changes in the topologyof thephase space representationof the dynamical systemare knownas bifurcations; the values of theparameters for which a bifurcation occurs are called bifurcationpoints (Strogatz, 1994).

A bifurcation point occurs in a dynamical system when itsqualitative behaviour changes as a result of the variation inone or more of its parameters. A bifurcation diagram is the

graphic representation of a dynamical system that plots allthe bifurcation points. Sometimes, the complete solution of adynamical system is complex, inaccurate, or too costly tocompute. Some applications have been developed that generatea bifurcation diagram of the dynamical system without solving adifferential equation. Those applications generate the bifurcationdiagram from a set of differential equations without solving themmathematically (Barrera et al., 2008; Flores et al., 2010).

Earlier research in qualitative reasoning developed qualitativerepresentations and reasoning algorithms that providedsolutions in qualitative terms (de Kleer & Brown, 1984; Forbus,1984; Kuipers, 1986; Sacks, 1990; Lee & Kuipers, 1993;Kuipers, 1994). Although some of these research projects dealtwith dynamical systems and performed some kind of qualitativereasoning with phase portraits, none of them dealt specificallywith bifurcations or performed any qualitative reasoning basedon bifurcation diagrams. In one related approach, Yip'sapproach deals with discrete dynamical systems and generatesphase space portraits by intelligently guiding the numericalsimulations performed to complete the phase portrait with asmany features as possible (Yip, 1987). Yip mentions thatbifurcations are detected when they notice a change in the phaseportrait; however, neither the bifurcations, bifurcation points,nor bifurcation diagrams are modelled or used in reasoning.

The qualitative reasoning system developed here, calledqualitative bifurcation diagram (QBD), is based on the earlierwork of Flores et al. (Flores & Proskurowski, 2006). Theirreasoning system started from a given, qualitative repre-sentation of a dynamical system and performed a qualitativesimulation to obtain a prediction of the behaviour of thesystem. QBD extends Flores et al.'s work in several ways.First, the qualitative representation of bifurcation diagrams

© 2013 Wiley Publishing Ltd Expert Systems, September 2014, Vol. 31, No. 4 319

Page 2: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

has been improved; the new representation solves problemsencountered in its previous version and permits the produc-tion of more accurate results. In particular, the inclusion ofthe transition table, indicating where the system goes inresponse to different external events, facilitates the simulationand control algorithms. The resulting transition graph is akind of envisionment (Johan De Kleer, 1984) of possibletrajectories the system can traverse in the bifurcation diagram.Second, QBD extends the earlier work by automating thetranslation of a quantitative bifurcation diagram into aqualitative form. Third, the simulation of the impacts ofsystem events and control actions on qualitative systembehaviour is performed by a more robust and improvedalgorithm. Finally, the development of control plans thatcan create desired changes in a qualitative system's state is acompletely new feature. At present, the qualitative represen-tation and the three algorithms presented in this article workwith dynamical systems of one parameter.

The remainder of the paper is organized as follows.Section 2 defines the problems we are addressing; namely,the qualitativization of the quantitative input data, and thequalitative analysis (simulation) and control of a dynamicalsystem. Section 3 describes a qualitative representation forbifurcation diagrams. Section 4 describes the methodologyused to generate the qualitative representation from a givenquantitative form. Section 5 presents an algorithm forqualitative simulation based on the developed representation.Section 6 presents algorithms for qualitative control planning,determining a sequence of actions that will move a system to adeserted state. Some conclusions and possible directions forfuture work are given in Section 7.2.2.

2. Problem definition

Qualitative bifurcation diagram takes as input the quan-titative data contained in a bifurcation diagram (bifurcationpoints). This quantitative information does not facilitate thereasoning process needed to determine the behaviour of thesystem as the parameter changes with time. To perform anyqualitative reasoning on bifurcation diagrams, we need totake the quantitative data into a qualitative form, suitable toperform the reasoning tasks we have in mind. In conclusion,the problems we address in this paper are the following:

• Given the set of points of a quantitative bifurcationdiagram, translate it into a qualitative bifurcation diagram.

• Given a qualitative representation of a bifurcation diagramand the dynamics of the system, determine the behaviour ofstate variable x as a result of perturbations and changes inparameter r.

• Given a qualitative representation of a bifurcation diagram,a systems' initial and a goal state, determine the changesrequired to take the system from the initial to a goal state.

We rely on the following assumptions regarding dynamicalsystems (Flores & Proskurowski, 2006): all variables andfunctions involved in the process are continuous and continu-ously differentiable. The variation of the system's parametersis much slower than the transient time to stabilize the systemafter a perturbation. According to the definition of landmark(Section 3), perturbations always occur at landmarks of r. If

we need a perturbation to occur in between two landmarks,we simply create another landmark between them and letthe perturbation occur at the new landmark. Perturbationsare small enough so as not to cross other fixed points. If wedo not make this assumption, the behaviour of the systemwould depend on the relative magnitude of the perturbationwith respect to the distance to the next fixed point in thedirection of the perturbation. This last assumption may nothold if a perturbation occurs infinitesimally close to abifurcation point. Implementation of the system without thisassumption, would lead to branching in the prediction ofbehaviour, that is, at any perturbation, we would need toconsider cases where its magnitude would not reach, exactlymeet, or pass each landmark in the direction of theperturbation.

This paper deals with continuous dynamical systems thatcan be modelled by ordinary differential equations (ODEs).An ODE is an equation of the form F t; x; dxdt ;…; d

nxdnt

� � ¼ 0 ,whose solution, function f(t), must satisfy the originalequation, that is,

F t; f tð Þ; df tð Þdt

;…;dnf tð Þdnt

� �¼ 0

� �

A phase portrait includes all qualitative features thatdistinguish a dynamical system. Such characteristics includefixed points (attractors and repellers), nullclines, limit cyclesand for more complex (chaotic) systems, even strangeattractors (Lee&Kuipers, 1993). Let us consider the non-linearsystem represented by x ¼ x2 � 1. If we plot x against x, weobtained a plot like that of Figure 1. Note, this is a flow plot,not a phase portrait. In the flow plot of Figure 1, trajectorieslie on the x-axis, pointing to the right when x > 0, and to theleft when x < 0, as indicated by the arrows.When x ¼ 0, thereis no flow; the places x* where x ¼ 0 are called fixed points.There are three kinds of fixed points: stable attractors (solidblack dots), unstable repellers (open circles) and semi-stable(half is open circle and half is solid).

In all fixed points the derivative is zero, but there is adifference between stable and unstable equilibrium. We saythat x* is a stable fixed point if all trajectories that start nearx* approach it as t→∞. On the other hand, a fixed point x*

is unstable, if all trajectories that start near it are driven awayfrom it.

First-order systems are very simple systems, but theyexhibit interesting features when their parameters change with

Figure 1: Unidimensional flow for a first-order system.

© 2013 Wiley Publishing Ltd320 Expert Systems, September 2014, Vol. 31, No. 4

Page 3: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

time. The qualitative structure of the phase portraits canchange when we allow parameters to vary. Fixed points canbe created or destroyed, or their stability can change. Thequalitative changes in the topology of a phase portrait, dueto the change in parameters are called bifurcations, and thevalue of the parameters where a bifurcation occurs is calledbifurcation points.

Figure 2 shows the phase portraits for equation x ¼ rxþx3 � x5 , for different values of parameter r, and Figure 3shows its respective bifurcation diagram (BD). Also notethat there is a region where the values of r make the linear,and cubic terms dominate over the quintic term. For largervalues of r, the quintic term dominates, yielding aninteresting region where three fixed points coalesce intoone, and the stable fixed point at the origin changes stability.

Bifurcation analysis has a large number of applications inscience and engineering. Those applications range fromradiation in lasers, outbreaks in insect populations, electronics,electrical power systems, and so on (Strogatz, 1994).

To define the behaviour of the system, it is necessary tocreate a qualitative representation of the bifurcationdiagram. This qualitative representation must capture allthe essential characteristics of the bifurcation diagram. Weuse the qualitative representation to determine the behaviourof the system.

3. Qualitative representation of bifurcation diagrams

Qualitative reasoning is the area of artificial intelligence researchthat creates approximate representations of continuous aspectsof the world, such as space, time and magnitude, and supportsreasoning with as little exact information as possible. The goalof qualitative reasoning is to arrive at useful conclusions abouta system when precise information about the system is notavailable or is not necessary. This information about the systemcorresponds to amodel of the system (the numerical informationof the system may or may not be known). The problem is to

select the essential characteristics of the system and put them ina given representation.

To reason about a situation or a system, it is usuallynecessary to model the system. To create a model, it isnecessary to identify the relevant objects of the system andtheir relationships within the system. Besides identifying therelevant objects, it is necessary to determine their essentialcharacteristics. Once the identification of the essential objectsand their characteristics is performed, it is necessary to putthis information into a given representation.

A qualitative representation of a system is a descriptionof the system's essential characteristics. It is obvious thatthere is no single, right or best qualitative representation.Instead, there exists a spectrum of choices, each with theirown advantages and disadvantages for a particular task.What all of them have in common is that they providea notation for describing and reasoning about continuousproperties of the physical world in a discrete fashion.

Forbus (1997) proposes that two key aspects of a qualitativerepresentation are its resolution and its compositionality.Resolution concerns the level of information detail in arepresentation, which is an issue because one goal of

2 1 1 2x

10

5

5

10

(a) r = −1

x

(b) r = −0.2

1.5 1.0 -0.5 0.5 1.0 1.5 -1.5 -0.5 0.5 1.0 1.5x

-1.0

-0.5

0.5

1.0

(c) r = 0

x

x.

(d) r = 1

0.5 1.0 1.5

0.5

1.0

-1.0

-0.5

0.5

1.0

− − −−

− -1.0− −−

1.5− 1.0− 0.5−0.5−

1.0−

x.

Figure 2: Behaviour of x ¼ rxþ x3 � x5 for different values of r.

Figure 3: Bifurcation diagram for x ¼ rxþ x3 � x5.

© 2013 Wiley Publishing Ltd Expert Systems, September 2014, Vol. 31, No. 4 321

Page 4: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

qualitative reasoning is to understand how little information issufficient to draw useful conclusions. Compositionalityconcerns the ability to combine representations for differentaspects of a phenomenon or system to create a representationof the phenomenon or system as a whole. Compositionality isan issue because one goal of qualitative physics is to formalizethe modelling process itself.

The main components of a dynamical system arevariables, parameters and constraints. Because we are star-ting from a bifurcation diagram, we do not need to representthe structure of the system (the constraints). A bifurcationcan thus be described in terms of the values of its statevariables and parameters at different points in time. Atany point in time, the value of each variable or parameteris specified in terms of its relationship with a totally orderedset of landmark values and its direction of change. The set oflandmark values is called a quantity space.

The qualitative value of a variable can be a landmark or anopen interval between landmarks. The qualitative direction ofa variable is the sign of its derivative, in this case, related tochange in another variable. A landmark is a symbolic namefor a particular qualitative value (whose numerical valuemay or may not be known) that breaks a continuous set ofvalues into regions with different qualitative characteristics.

In BD, we plot the system's state variable x versus theparameter value r. Generally, x is not a function of r (inthe strict mathematical sense), so we need to represent BDas a relation.

The qualitative representation of BD, QBD, is a tuple offour elements <V,QS,BDS,T>:

• V is a set of the variables of the dynamical system.

�V ¼ x; rf g

• QS is a set of the qualitative quantity spaces, one for eachvariable in V.

�QSx ¼ x0; ; x1; ; x2;…; ; xnf g�QSr ¼ r0; ; r1; ; r2;…; ; rnf g

• BDS is a set of segments that defines BD.

�BDS ¼ S0; ; S1; ; S2; ::; ; Snf g�Si ¼ xn; ; rmf g; xk; ; rlf g; nature; directionf gf g�nature ε s ¼ stable; u ¼ unstablef g�direction ε þ ¼ positive slope;� ¼ negative slopef g

• T is a set of all possible transitions for each Segment in S.

�T ¼ Upf g; Downf g; Leftf g; Rightf gf gA QBD is comprised of a set of qualitative segments of a

given BD. Each segment is considered to be a qualitative line;a line has beginning and end points, a qualitative slope, andin this case, each line has its own nature (i.e. is stable orunstable). Each segment may have segments beyond both ofits ends Left or Right. Unstable segments can also haveneighbours given possible perturbations Up or Down. Thetransitions of each segment define the next segment that thesystemwill follow in case of an event (perturbation, derailment,

fall off, etc.). With these directed connections betweensegments, a qualitative simulation can be produced byfollowing paths through the model along segments and acrosstransitions. These explicit representations of transitions extendthe earlier representation (Flores & Proskurowski, 2006).

A BD is a set of points that represent solutions of thedifferential equations under different conditions. There arestable, unstable and semi-stable fixed points. (A semi-stablefixed point may be stable from above, or from below.) Forinstance, the points at the intersections of segments S1 andS2 (and S0 and S3) of Figure 11(b) (Section 7.2) are fixedpoints where the derivative of the segment tends to infinity.Those fixed points are semi-stable; point p1 is stable fromabove and unstable from below (see Figure 4). Because thequalitative nature of those points is different than those oftheir neighbouring segments, unstable points would formsegments by themselves. Given that the determination of aquantitative BD is performed by a succession of discrete steps,the likelihood of capturing those points in the quantitativebifurcation diagram is very low. For the sake of completenessof the QBD, those semi-stable points could be included in therepresentation; nevertheless, their inclusion would not changethe outcome of the qualitative simulation. For instance, inthat example, if the system started at segment S1, with rdecreasing, when the system reached the left end of S1, itundergoes a derailment, ending up in segment S4. Now, letus assume point p1 is included n the representation. Thesystem transitions to point p1 and instantaneously after, itundergoes a derailment, jumping to segment S4.

The derived behaviour of the system does not change withthe inclusion of the semi-stable point (and its correspondingsegment), and the simulation output (Table 5) would includean unnecessary transition to that region. Given the earlierdiscussion, we decided not to include semi-stable points inthe representation.

S1

S2

r2

x3

Figure 4: A semi-stable fixed point.

© 2013 Wiley Publishing Ltd322 Expert Systems, September 2014, Vol. 31, No. 4

Page 5: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

4. Qualitative representation generation

In this section, we describe the algorithm that generates thequalitative representation of BD, taking as input itsquantitative representation. The algorithm represents asignificant extension of earlier work, which required users toinput a qualitative model. The input our system accepts isthe set of points from a quantitative BD along with the stab-ility associated to each fixed point. Specifically, we acceptinputs generated by the system of Flores and Lopez (Floreset al., 2010), but our system could easily be adapted to useoutputs from other applications that generate dynamicalsystem BDs, such as XPPAUT (Ermentrout et al., 2003).

The pseudocode for the algorithm for qualitativerepresentation generation (QRG) is shown as Algorithm 1.Given the quantitative data of BD, QRG proceeds to breakthe information into connected subsets, where the pointsappear to be part of a partial function (Section 4.1). BD isusually not a function, but may have a number of operatingregions for a given parameter value. Each connected subsetis then broken into smaller subsets, first regions and thenmonotonic segments (MS) (Section 4.2); all the pointscontained in an MS have the same qualitative behaviour(i.e. sign of slope and nature). Because the input may haveimprecision or errors, there can be small gaps in theinformation and, therefore, a lack of continuity betweensegments. We glue nearby segments together to re-establishthe underlying continuity (Section 4.3). Finally, there maybe small differences between the ends of one segment andthe beginning of another due to imprecision of data; thealgorithm performs a final adjustment, so the repre-sentations of segments fit together (Section 4.4). Once thequalitative segments of the BD have been defined, thetransitions between segments (Section 4.5) are generated,determining behavioural links to other segments.

4.1. Segmenting the bifurcation diagram

The algorithm starts from the points in the quantitative BD(PointsBD). These points are generally not a function,1 andtherefore, we cannot treat them as such. It is useful to breakthe set of points into subsets, where all the points in a givensubset are a function. To solve this problem, subsets aregenerated by taking all the points that can be observed inthe succeeding discussion. That is, taking the minimumvalue of x for every value of r.

Figure 5(a) shows an example of the BD for a systemdefined by the differential equation ˙x ¼ rxþ x3 . InFigures 5(a–b), we remove and store all the points of theBD that can initially be observed from the succeedingdiscussion. We repeat this action (Figure 5(c)) until nopoints remain.

The way quantitative data is generated does notguarantee that the points are continuous; there may bevalues of r for which not all fixed points of the system weredetermined. That produces discontinuous streams of data,where for those indeterminate values of r a data item istaken from a different segment; therefore, it is necessary tocheck distances between neighbouring points, and discardpoints that are too far away. When we are filtering the lastlayer of points, and x was not determined for a value of r,no data is inserted in its place, creating holes in thesegments. In either case, a segment with discontinuities orholes has to be recognized and reassembled back togetherto form a single BDS.

4.2. Monotonic segments

Given the subsets of points obtained in the first step, aqualitative derivative is determined for each point containedin each subset. The subsets are segmented into regionshaving the same qualitative behaviour; each such region iscalled MS. To obtain the qualitative slope of each point,we use a qualitative noise filter developed by Kay et al.(2000). This filter produces a qualitative derivative for eachpoint of the subset, and operates by applying a qualitativekernel function to a window of fixed size, that is slid acrossthe subset. The kernel function determines the slopes of allthe points contained in a subset (positive, negative orunknown). Given all the slopes, we traverse that subsetsearching for the points where the slope or stability changesfrom one point to the next. We take all the points found bythe search into new subsets before finding any points withdifferent slopes or stabilities. This action is repeated untilno points remain. As noted above, all the points containedin each new subset have the same slope and stability andconstitute an MS.

An MS is represented by its beginning and end, its nature(stable or unstable), and its qualitative behaviour (positive,zero or negative slope). The stability of a point is given as partof the input.

1f(x) is a function if for every value of x, the value of f is uniquely defined. In BDs, there are values of the parameter r for which x can be multiplied.

© 2013 Wiley Publishing Ltd Expert Systems, September 2014, Vol. 31, No. 4 323

Page 6: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

Figure 6 shows an example of a subset that has beenbroken into two MSs. One MS has a positive slope andthe other one has a zero slope.

4.3. Gluing segments

In the previous steps, the algorithm works withquantitative data (at a quantitative level). In this step,the system works with the initial and final points of eachMS (at a qualitative level). The qualitative segmentsproduced by the previous step may leave gaps betweenthe segments (see Figure 7), due to imprecision and coarsegranularity of the initial quantitative information. BD isto be continuous in time, that is, there must be no gapsbetween segments.

In addressing the gaps issue, two cases can be distinguished:(a) several adjacent segments separated by holes genuinelyform a single segment, and they must be glued into a singleone and (b) two adjacent segments separated by a hole behavedifferently, and must be maintained separated.

In the first case, a sequence of segments that belongtogether are glued to form a single segment. These segmentsare not immediately adjacent, but at one extreme of onesegment, there is the extreme of another segment, close

enough to be considered part of the same one. If bothsegments have the same qualitative behaviour, the regionsare merged into one. Figure 8 shows an example of the holesproduced by the qualitativization of a segment of BD andthe result of merging two segments when the segments havethe same qualitative behaviour.

The second case occurs when the extremes of a pair ofsegments are very close, but their natures or slopes are notthe same. In this case, each segment is extended until thesegments meet, maintaining their slope and nature. Figure 9shows an example of this case.

4.4. Setting the landmarks

After gluing segments together to re-establish continuity,we generate the qualitative representation defined inSection 3. Each end point of an MS has associated r andx values. These values are given symbolic names, calledlandmarks, and are stored in the corresponding variable'squantity space in order of their quantitative magnitudes.

A quantity space is a set of landmarks ordered bymagnitude, that is, the value of the i+1st landmark isgreater (in magnitude) than the ith landmark. The realquantitative value of each landmark may or may not beknown; that value is discarded anyway, because the systemonly needs an order relation between landmarks. Anexample of a quantity space is QSx={x0,x1,…,xn}, wherex0< x1…< xn.

The only case where the system does not know the realvalue of each landmark is when performing the planningalgorithm. This is because at the time of the search of thedescriptor, new landmarks are generated, whose realvalues are not known. It is only known that the newlandmark is between two landmarks whose real valuesare known.

4.5. Transitions

To analyze or simulate a dynamical system, we must knowhow the system will behave when a parameter r varies. Weneed to specify the actions occurring to r; however, thatdescription will not include time explicitly. We are not

-2 0 2r

-1

0

1

-1

0

1

x

(a)-2 0 2

r

x

(b)-2 0 2

r

-1

0

1

x

(c)

Figure 5: (a–c) Segmentation of a BD.

Figure 7: Due to imprecision in initial information, thebifurcation diagram is not continuous in time.

(a) (b)

Figure 6: The points of a subset (a) before and (b) afterbeing broken into two monotonic segments.

(a) (b)

Figure 8: Bifurcation diagram with gaps or holes (a) beforeand (b) after gluing the segments.

© 2013 Wiley Publishing Ltd324 Expert Systems, September 2014, Vol. 31, No. 4

Page 7: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

interested in the precise value of time when the eventshappen, but in the order in which they happen. In thequalitative case, we want to know what MSs the system willtraverse and the order of the transition events, given anincrease or decrease in the value of a parameter or given aperturbation to a state variable.

If the system is at a stable fixed point and aperturbation is induced, the system will return to the samestable fixed point. If the system is at an unstable fixedpoint, a positive perturbation occurs, and there exists astable fixed point above it, then the system will transitionto that fixed point. If there is no such stable fixed pointabove, the system will go to infinity (is said to blow up).A similar behaviour occurs for negative perturbations,with an unstable system moving to a stable point below,or to minus infinity.

The other type of event that may occur is what we call afall-off. When the system is at a stable fixed point andparameter r increases or decreases, the system will travelalong the segment to which the fixed point belongs. If thesegment ends before the change in the parameter hascompleted, then there is no other fixed point along thatsegment, that is, at that state. The system will transitionto the nearest attracting fixed point or to infinity. A moredetailed explanation of these events can be found in thework of Flores et al. (Flores & Proskurowski, 2006).

The procedure generate transitions of Algorithm 1analyzes every MS and determines the possible transitions,given either perturbations Up or Down, or fall-off at theends of a segment.

Figure 10 shows an example of an artificial QBD used toillustrate the generation of possible transitions in a BD. Inthe diagram, we assume the segment S0 is unstable.Consider three situations by which the system will move toa fixed point that does not belong to segment S0. If apositive perturbation occurs between the landmarks r0 andr3, the system will go to the fixed point above the pointwhere the perturbation occurs, that is, segment S1. If thesystem is at a stable fixed point in segment S1, andparameter r grows from r0 towards r4, the system willremain at segment S1 until reaching r3. Because segmentS1 ends at that point, the system will fall-off to segment S3

at r3. Table 1 shows all possible transitions for BD ofFigure 10.

5. Qualitative simulation

Given a qualitative representation of BD, we can simulatethe behaviour of the represented system in response toperturbations and changes in its parameter r. Given an

initial state x of the system, at some point on a segment ofthe bifurcation diagram, we can trace how the system willmove along the bifurcation diagram as r moves fromlandmark to landmark or to a point between existinglandmarks. We can also simulate the effects of perturbationsto the system. Let D (a parameter's change descriptor) be alist of actions indicating successive values of r that thesystem parameter will attain, plus any perturbations andtheir directions, either + , or� , made to the system. Thepseudocode for performing qualitative simulation is shownin Algorithm 2.

r0r1r2 r3

x0

x1

x2

x3

(a) (b)r0 r1 r2

x0

x1

x2

Figure 9: Two nearby segments that are not to be merged into one because of their different qualitative nature – (a) before and(b) after filtering.

S

SS

S

S

S

r0 r1 r2 r3r

4 r5

x0

x1

x2

x3

x4

x5

x6

Figure 10: Artificial qualitative bifurcation diagram used toillustrate the representation of transitions (stable and unstablesegments are represented by solid and dashed lines, respectively).

Table 1: Transitions of the bifurcation diagram in Figure 10

Segment Up Down Left Right

S0 {S1,{r0,r3}} {} {} {}{S3,{r3,r4}}{S5,{r4,r5}}

S1 {} {} {} S3S2 {S3,{r1, r3}} {S1,{r1, r3}} {} {}S3 {} {} S1 S5S4 {S5,{r2, r4}} {S3,{r2, r4}} {} {}S5 {} {} S3 {}

© 2013 Wiley Publishing Ltd Expert Systems, September 2014, Vol. 31, No. 4 325

Page 8: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

The input to QSimulation is a QBD Q, a position inQ (Scurrent, rcurrent), a descriptor (D), and the history ofmovements of the simulation (H). Changes in D arestored in the form of a landmark if the system goesfrom the actual state to the position that indicates thelandmark. A parameter change in D is represented asa landmark value to which the parameter is to beadjusted. For the case of a positive or negativeperturbation a + or� is stored. Initially, the history (H)is empty; the simulation is performed by successivelyremoving the first element of D, until it becomes empty.If the removed element is a perturbation, function

NextStatePerturbation determines the next segment thesystem will reach. If the current segment Scurrent isunstable, the next segment is determined by consultingthe transition table, T, in Q. If Scurrent is stable, thesystem will remain in the same segment. In either case,the parameter value r is unchanged. The algorithmupdates the segment, appends the perturbation changeto the history (Append(H, Perturbation(Scurrent,Snew,rcurrent,a))) and continues with the next action indicatedby the descriptor D.

If the element removed from D indicates a new value afor the parameter r, there is an increase or decrease in r.

© 2013 Wiley Publishing Ltd326 Expert Systems, September 2014, Vol. 31, No. 4

Page 9: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

If the current segment Scurrent is not stable, then aDerailment will occur. The system will move to anotherfixed point, at a segment defined by the functionNextStateDerailment. It then re-inserts action a at thefront of D, so that we try to reach a again, because wemoved to another segment before reaching a. Thederailment that occurred is added to the history (Append(H, Derailment(Scurrent,Snew,rcurrent))), before consideringthe next element of D. If a describes a point that is withinthe bounds of the current segment (a ε Scurrent ), which isa stable segment or segment with slope zero, the value ofparameter r will change to a (rnew= a), within segmentScurrent, with the value of x changing according to thedirection of change of r and the slope of Scurrent.

In the remaining case, if the new value a of r, is notwithin the extent of segment Scurrent, the system state willchange to another segment. Upon reaching the end of thecurrent segment, the system state will transition toanother segment; function FindNextSegment determinesthe new segment using the transition table T. Currentstate is updated to (Snew, rnew), and this transition isadded to the history (Append(H, Follow(Scurrent,rcurrent,rnew))). If there is no neighbouring segment in thatdirection, a fall-off occurs; the system adds the fall-offto the history. The system inserts the action ‘move to a’at the first position of D, because parameter r has notyet reached a. Then, we repeat the same process, eitherremaining within the segment, if a is within the reachof the segment, or falling off again, until eventually rreaches a.

When D becomes empty, the algorithm returns thehistory H, recorded during the simulation. History Hrepresents what occurs in the system from applying thedescriptor D. In the history, we use Follow to indicatethat the parameter continues along a given segment fromone position to another, Perturbation to indicate that aperturbation event occurs at a defined position, fall-offto indicate that the system has reached the end of theMS it was at, and it is transitioning to another MS inthe same direction, and Derailment to indicate that aderailment occurs in the system, moving from onesegment to another at a defined position. We use rbehaveand xbehave to specify if the variable x or the parameterr is incremented, decremented or remain in the samesituation. Table 2 shows the set of events considered insimulation by QBD.

Section 7 presents applications of the simulation algorithmto two example systems.

6. Control planning using qualitative bifurcation diagrams

The simulation algorithm derives the qualitative behaviourof a system when a given series of actions is applied from agiven initial state. The planning problem for a dynamicalsystem is that of determining the inverse mapping: givenan initial state and a goal state, find a sequence of actionsthat will move the system from the initial to the goal state,if it is possible. More specifically, the problem solved bythe planning algorithm (Algorithm 3) is finding adescriptor D that takes the system from a given initialposition (i.e. a segment and r value) to a given finalposition in the QBD.

The planning algorithm (Algorithm 3) receives as input aqueue, a final state and a QBD. Every object inserted in thequeue has the form {Scurrent, rcurrent, States, anext, Path},where Scurrent is a qualitative state (a segment of theQBD), rcurrent is a landmark value of the parameter withinthat state, and anext is the next action to be taken from theposition {Scurrent,rcurrent}. States are the qualitative statesvisited before by the current plan, which is used to preventloops in plans; Pathcurrent is the descriptor of actions takenso far for this plan.

Prior to invoking the algorithm, an object {Sinitial,rinitial, Nil, Nil, Nil} is enqueued on to Queue. Thealgorithm starts by checking the queue. If it is empty,then the algorithm could not find a plan to obtain tothe final position rend and halts. If Queue is not empty,the algorithm considers the first object from the Queue.The algorithm discontinues its search in the currentdirection if the current segment Scurrent is contained inStates, as a looping plan has been detected. If the systemhas reached the final position rend, the algorithm willreturn Pathcurrent of the current search object. If thesystem is in the final qualitative segment, and thissegment is stable, the algorithm needs only to move tothe final parameter value. The algorithm adds the actionto the final position (rend) to Pathcurrent and returns theresulting Pathnew.

If the system is not in the final qualitative segment, theplanning algorithm updates its state to Snext and rnextwithin the QBD by calling procedure PerformAction whenanext is not Nil; the variable anext is only Nil on the firstcall to Planning from the initial state. The functiongetActions searches in QBD for neighbour segments thatthe system could reach from the current segment, referringto the Transitions of the QBD. The function searches fromthe current state to find possible actions that will changethe qualitative state of the system. For example, if thesystem is in a stable segment, applying a positive ornegative perturbation will not be useful as the system willsimply return to the segment where the perturbation tookplace. For every possible direction and action, thealgorithm pushes a new object onto the Queue thatincludes the new action a to be taken. After this has beencarried out, the algorithm Planning is called recursivelywith the updated Queue to start the same process again.By placing possible plan states in the queue andconsidering them in that order, the planning algorithmexecutes a breadth-first search for a control plan,guaranteeing a shortest plan in terms of the number ofcontrol operations.

Table 2: List of events that can be recorded in the history H

Event Description

Follow[Scurrent, rinitial, rfinal,rbehave, xbehave]

The system continues alongthe segment from rinitial to rfinal

Fall-off[Scurrent,Sfinal,rcurrent, xbehave]

Fall-off from Scurrent toSfinal at rcurrent

Derailment[Scurrent,Sfinal,rcurrent, xbehave]

Derailment occurs fromScurrent to Sfinal at rcurrent

Perturbation[Scurrent,Sfinal,rcurrent, rbehave]

Perturbation occurs at rcurrent,take the system fromScurrent to Sfinal

© 2013 Wiley Publishing Ltd Expert Systems, September 2014, Vol. 31, No. 4 327

Page 10: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

7. Results

The three algorithms proposed in this article were testedwith several examples; in this article, we include two of thoseexamples. The first example corresponds to the systemdefined by the differential equation ˙x ¼ rxþ x3 � x5 , andthe second one corresponds to the Morris–Lecar model,which is a biological neuron model. In this section, we showthe results of the three algorithms applied to the twoexamples.

7.1. Example 1: a simple dynamical system

The first example corresponds to the model defined by thedifferential equation ˙x ¼ rxþ x3 � x5 . Figure 11(a) showsthe BD corresponding to this dynamical system. For thisthe example, the input data (BD points) were obtainedfrom the application presented in the study of Floreset al. (2010).

To predict the system's behaviour, it is necessary togenerate the qualitative representation of the BD.Following Algorithm 1, we obtain the qualitativerepresentation of the BD. The graphic version of thequalitative representation is illustrated in Figure 11(b). InFigure 11(b), we observe that each segment is labelled bya symbolic name. The dashed segments are unstable, andthe continuous ones are stable.

Tables 3 and 4 show the qualitative representation ofthe BD of Figure 11. Table 3 describes the variables, thequantity space and the segments of the BD. Table 4describes all the possible transitions that each segmentcan reach.

7.1.1. Simulation algorithm Once the QBD was producedby the qualitativization algorithm, we are ready to predictthe behaviour of the system. To make a prediction, it isnecessary to define an initial position, and the controlsequence applied to parameter r (descriptor). For this

© 2013 Wiley Publishing Ltd328 Expert Systems, September 2014, Vol. 31, No. 4

Page 11: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

example, the simulation starts at r6, located in Segment S2;the system undergoes the changes described as D={r4,r5,�,r2}, which means that parameter r will decrease fromr6 to r4, then increase from r4 to r5; in r5, there will occur anegative perturbation, and finally, the parameter r willdecrease to r2.

Figure 12 shows the behaviour of the system afterapplying the changes described by D. As we can see, thesystem starts at unstable segment S2. When parameter rmoves to r4, the system first experiences a derailment tosegment S4. When we arrive to segment S4, the systemstays in that segment until it reaches r4. When r increasesto r5, the system follows the same segment until reachingr2. In that position segment S4 ends and segment S5

begins. The system follows segment S5 up to r5, where anegative perturbation occurs. Segment S5 is unstable, sothe system moves to the segment S3 at position r5. Whenparameter r decreases, the system follows the samesegment until r2. Table 5 presents the output history forthe simulation.

7.1.2. Planning algorithm To illustrate the planning algo-rithm and derive the descriptor needed to take this systemfrom segment S1 at r= r5, to a final state in segment S3 at

3 2 1 1 2 3

1.5

1.0

0.5

0.5

1.0

1.5

(a) Quantitative representation of the BD.

r1r4r0 r6r2 r5 r3

x0

x1

x2

x3

x4

(b) Qualitative representation of the BD

Figure 11: Quantitative data (a) and the qualitative representation (b) of the bifurcation diagram defined by x ¼ rxþ x3 � x5.

Table 3: Qualitative representation of the bifurcation diagramof Figure 11(b)

Variables {r,x}

Quantity space QSr {r0,r1,r2,r3}QSx {x0,x1,x2,x3,x4}

BDS S0 {{r1,x1},{r2,x2},{+,u}}S1 {{r1,x3},{r3,x4},{+,s}}S2 {{r1,x3},{r2,x2},{�,u}}S3 {{r1,x1},{r3,x0},{�,s}}S4 {{r0,x2},{r2,x2},{0,s}}S5 {{r2,x2},{r3,x2},{0,u}}

Transitions See Table 4

Table 4: Transitions of the bifurcation diagram of Figure 11(b)

Segment Up Down Left Right

S0 {S4,{r1, r2}} {S3,{r1, r2}} {} {}S1 {} {} S4 {}S2 {S1,{r1, r2}} {S4,{r1, r2}} {} {}S3 {} {} S4 {}S4 {} {} {} S5S5 {S1,{r2, r3}} {S4,{r2, r3}} S5 {}

x3

x2

x1

x0

r1r4r0 r6 r2 r5

Figure 12: Graphic output of the qualitative simulation forexample 1.

Table 5: The output after applying the simulation algorithm toexample 1

Action Description

1 Derailment[S2,S4,r6,�] A derailment occurs from S2to S4 at position r6. The valueof x is decremented.

2 Follow[S4,r6,r4,�,0] The system follows from r6to r4 in the segment S4. r isdecremented (�).

3 Follow[S4,r4,r2,+,0] The system follows from r4to r2 in segment S4. r isincremented (+).

4 Follow[S5,r2,r5,+,0] The system follows from r2to r5 in the segment S5. r isincremented (+).

5 Perturbation[S5,S3,r5,�] A perturbation occurs from S4to S2 at position r5. The valueof x is decremented (�)

6 Follow[S3,r5,r2,�,+] The system follows from r5 tor2 in the segment S3. r isdecremented (�), and x isincremented.

© 2013 Wiley Publishing Ltd Expert Systems, September 2014, Vol. 31, No. 4 329

Page 12: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

position r5. Table 6 shows these initial conditions. Afterapplying the planning algorithm, we obtain the descriptorand a new quantitative space. During the search process,new landmarks are generated; as the algorithm movesbetween qualitative state segments, it generates arbitrarylandmarks within those segments. Table 7 shows the resultsof the planning algorithm.

To verify the results of the planning algorithm, we submitthe results of the planning algorithm to the simulationalgorithm. Table 8 shows the results of the simulationalgorithm. We can observe from Tables 6 and 8 that the QSis not the same. This is because the planning algorithmgenerates new landmarks at search time. The graphic resultscan be observed in Figure 13.

7.2. Example 2: the Morris–Lecar system

The second example corresponds to the Morris–Lecarmodel. This model is a two-dimensional reduced excitationmodel applicable to systems having two non-inactivatingvoltage-sensitive conductances developed by CatherineMorris andHarold Lecar. This system of equations describesthe relationship between membrane potential and theactivation of ion channels within a neuron's membrane.The potential depends on the activity of the ion channels,and the activity of the ion channels depends on the voltage(Tsumoto et al., 2006). The Morris–Lecar equations aredefined by

CdV

dt¼ I þ gl El � Vð Þ þ gkw Ek � Vð Þ þ gcam∞ Vð Þ Eca � Vð Þ

(1)dw

dt¼ w∞ Vð Þ � wð Þλw Vð Þ (2)

For this example, the input data were obtained from theapplication XPPAUT (Ermentrout et al., 2003). Figure 14shows the BD corresponding to this dynamical system. Asmentioned earlier, to predict the system's behaviour, it isnecessary to generate the qualitative representation of theBD. Following Algorithm 1, we obtain the qualitativerepresentation of the BD. The graphic version of thequalitative representation is illustrated in Figure 15. Thedashed segments are unstable, and the continues ones arestable.

Tables 9 and 10 show the qualitative representation of theBD of Figure 14. Table 9 describes the variables, thequantity space and the segments of the BD. Table 10describes all the possible transitions that each segment canreach.

7.2.1. Simulation algorithm To make the simulation, it isnecessary to define an initial position in the system and thecontrol sequence that the parameter I will go through(descriptor). In this example, we start at segment S4, locatedat I10. The actions that the system will suffer are defined asD={I11,I5,�,I9}. Like mentioned earlier, it means that theparameter I will be decreased to I11, then it will be increasedto I5. A negative perturbation occurs at this point. To finallyincrease the parameter to I9.

Figure 16 shows the behaviour of the system afterapplying the changes described by D. Table 11 presents theoutput history for the simulation.

Table 6: Input of planning algorithm for example 1

Initial state {S1,r5}Final state {S3,r5}

Table 7: The output after applying the planning algorithm inthe example 1

D= {r10,r11,�,r5}QSfinal={{r0,r4,r10,r1,r2,r11,r5,r3},{x0,x1,x2,x3,x4}}

r0 r4 r10 r1 r2 r11 r5 r3

x0

x1

x2

x3

x4

Figure 13: Graphic representation of the output of thesimulation for the planning example.

0.05 0.10 0.15 0.20 0.25

0.4

0.2

0.2

Figure 14: Bifurcation diagram of the Morris–Lecar system.

Table 8: Output of the simulation algorithm for the planningexample

Action

1 Follow[S1,r5,r1,�,�]2 Falloff[S1,S4,r1,�]3 Follow[S4,r1,r10,�,0]4 Follow[S4,r10,r2,+,0]5 Follow[S5,r2,r11,�,0]6 Perturbation[S5,S3,r11,�]7 Follow[S3,r11,r5,+,�]

© 2013 Wiley Publishing Ltd330 Expert Systems, September 2014, Vol. 31, No. 4

Page 13: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

7.2.2. Planning algorithm For the planning example, it isnecessary to specify an initial state and a final state. For thisexample, we start at segment S13 at I3, and our finaldestination is segment S10 at position I9 (Table 12 showsthese initial conditions). After applying the planningalgorithm, we obtain the descriptor and a new quantitativespace. During the search process, new landmarks aregenerated; as the algorithm moves between qualitative statesegments, it generates arbitrary landmarks within thosesegments. Table 13 shows the results of the planningalgorithm.

Again, to verify the results of the planning algorithm, wesubmitted the results of the planning algorithm to thesimulation algorithm. Table 14 shows the results of thesimulation algorithm. The graphic results can be observedin Figure 17.

From both examples, we observe that using thequalitative representation of the BD, it is possible tosimulate the behaviour of the system in qualitative terms.For the simulation, it is necessary the qualitativerepresentation of the system, an initial point to start and acontrol sequence (descriptor) of its parameter; the planningalgorithm is used to determine the changes need to takethe system from one initial state to a goal state in the system.The planning algorithm generates the control sequence(descriptor) for parameter r or I, which takes the systemfrom the initial state to the desired state. To verify the resultsof the planning algorithm, we apply the simulationalgorithm to the results it produces.

8. Conclusions

In this work, we present three algorithms that together allowus to describe and control the behaviour of a dynamicalsystem using qualitative reasoning. The first algorithmtransforms a given dynamical system described in numericalterms into a qualitative representation of a BD. The secondand third algorithms (simulation and planning) use thisqualitative representation of the system to perform theirrespective tasks.

Figure 15: Qualitative representation of the bifurcation diagram of the Morris–Lecar system.

Table 9: Qualitative representation of the bifurcationdiagram of Figure 11

Variables {I,V}

Quantity space QSI {I0,I1,I2,I3,I4,I5,I6,I7,I8}QSV {V0,V1,V2,V3,V4,V5,V6,V7,V8,V9,

V10,V11}BDs S1 {{I1,V0},{I1,V0},{+,u}}

S2 {{I1,V0},{I2,V2},{+,s}}S3 {{I2,V1},{I7,V3},{+,s}}S4 {{I0,V4},{I2,V2},{�,u}}S5 {{I3,V5},{I4,V6},{+,u}}S6 {{I4,V6},{I6,V7},{�,u}}S7 {{I6,V7},{I6,V7},{�,s}}S8 {{I6,V7},{I7,V3},{�,u}}S9 {{I0,V4},{I3,V5},{+,u}}S10 {{I6,V7},{I8,V8},{+,s}}S11 {{I6,V7},{I7,V10},{+,u}}S12 {{I2,V9},{I2,V9},{�,s}}S13 {{I2,V9},{I5,V11},{+,s}}S14 {{I5,V11},{I7,V10},{�,s}}

Transitions See Table 10

Table 10: Transitions of the bifurcation diagram of Figure 15

Segment Up Down Left Right

S1 {} {} {} {}S2 {} {} {} S3S3 {} {} S2 S10S4 {} {S2,{I1, I2}} {} {}S5 {S13,{I3, I5}} {S3,{I3, I5}} {} {}S6 {S14,{I5, I6}} {S3,{I5, I6}} {} {}S7 {} {} {} S10S8 {S10,{I6, I7}} {S3,{I6, I7}} {} {}S9 {} {} {} {}S10 {} {} S7 {}S11 {S14,{I6, I6}} {S10,{I6, I7}} {} {}S12 {} {} {} S13S13 {} {} S12 S14S3 {} {} S13 S10

© 2013 Wiley Publishing Ltd Expert Systems, September 2014, Vol. 31, No. 4 331

Page 14: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

The first algorithm generates a qualitative representation ofa BD (QBD) from a given quantitative representation. Thisalgorithm starts from a quantitative BD and segments it intoqualitative regions. All the points contained in a region havethe same qualitative behaviour. A qualitative filter is used to

obtain the qualitative slope of each point in the diagram.Withthe qualitative slope, it is possible to segment the diagram.Due to imprecisions in the given quantitative information,some adjustments in the segmentation are made. Based uponthe qualitative regions, one can determine the possibletransitions, finding all changes from each segment underdifferent perturbations or changes to the driving parameter.

Given a QBD, the simulation algorithm needs only tofollow paths described in the transitions table. It is not onlypossible to simulate the behaviour of the system given aninitial situation and control sequence but also to determinea control sequence (plan) that takes a system from an initialto an end point. Given an initial state and control sequence,the simulation describes the system's behaviour inqualitative terms, that is, how it moves from qualitativestate (segment) to qualitative state, driven by the controlsequence. Through a typical problem solving search process,the planning algorithm is able to discover control sequencesthat can take a system from an initial to a final qualitativestate, when such a path exists.

Figure 16: Graphic output of the qualitative simulation for Morris–Lecar model example.

Table 11: The output after applying the simulation algorithmto example 1

Action Description

1 Derailment[S4,S2,I10,�] A derailment occurs from S4to S2 at position I10. Thevalue of v is decremented.

2 Follow[S2,I10,I11,�,�] The system follows from I10to I11 in the segment S2. I isdecremented (�).

3 Follow[S2,I11,I2,+,+] The system follows fromI11 to I2 in segment S2.I is incremented (+).

4 Falloff[S2,S3,I2,�] The system fall-offs from S2to S3 at the position I2.

5 Follow[S3,I2,I5,+,+] The system follows from I2to I5 in segment S3. I isincremented (+).

6 Perturbation[S3,S3,I5,�] A perturbation occurs fromS3 to S3 at position I5.

7 Follow[S3,I5,I7,+,+] The system follows from I5to I7 in the segment S3. I isincremented (+), and V isincremented.

8 Falloff[S3,S10,I7,+] The system fall-offs fromS3 to S10 at the position I7.

9 Follow[S10,I7,I9,+,+] The system follows from I7to I9 in the segment S10. Iis incremented (+), andV is incremented (+).

Table 12: Input of the planning algorithm in the Morris–Lecar model example

Initial state {S13,I3}Final state {S10,I9}

Table 13: Output of the planning algorithm in the Morris–Lecar model example

D={I20,I21,I9}QSfinal={{I0, I1, I, 11, I10, I2, I3, I4, I5, I20, I6, I7, I21, I9, I8},{V0,V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11}}

Table 14: Output of the simulation algorithm for the Morris–Lecar in the planning example

Action

1 Follow[S13,I3,I5,+,+]2 Follow[S14,I5,I20,+,�]3 Follow[S14,I20,I7,+,�]4 Falloff[S14,S10,r7,�]5 Follow[S10,I7,I21,+,+]6 Follow[S10,I21,I9,+,+]

© 2013 Wiley Publishing Ltd332 Expert Systems, September 2014, Vol. 31, No. 4

Page 15: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

In terms of complexity, QBD traverses D; during thistraversal, each action can only result in a finite number (atmost the number of segments) of steps. The worst casecomplexity of the algorithm is O(|D|× |S|), but it wouldexpect be of the order of O(|D|). (D is the action descriptorlist and S is the set of MSs in the BD.) The planningalgorithm performs a depth first search, so will find a pathif it exists. Planning will visit every segment of the QBD,trying all actions at each segment. By recording the visitedstates, we can avoid the exponential growth of this searchwhen we repeat searches starting at previously visitedsegments. So, by pruning the search procedure, the resultingcomplexity for the planning algorithm is of order O(|S|).

The system QBD has been tested with a dozen ofcontinuous systems, taken from books and from applicationareas such as Electrical Engineering, Chemistry, Economicsand Biology. In this report, we are presenting one examplefrom Strogatz and one application example from the areaof Biology.

The methodology and all three algorithms have beenimplemented in MATHEMATICA (Wolfram Research,Champaign, IL); all the outcomes and plots presented forthe examples were produced by the implementation. Theimplementation and examples can be downloaded fromhttp://dep.fie.umich.mx/~juan/qbd. The site will be usefulfor researchers that desire to know the behaviour of adynamical system from its BD.

In future work, we intend to generalize the dimensionality ofthe qualitative representation of aBD to two ormore parameters.

Acknowledgements

The present work has been developedwhile Hector Rodriguezwas on an academic stay at the University of Oregon andfinished while Juan Flores was on sabbatical at the sameuniversity. They thank the department of Computer andInformation Sciences at the University of Oregon for all theresources and accommodations that made their visits at theUniversity of Oregon and this work possible. Hector alsowants to thank CONACYT for the grant received, withoutthe grant, the stay had not been possible.

References

BARRERA, J., J.J. FLORES and C.R. FUERTE-ESQUIVEL (2008)Plotting of complete bifurcation diagrams using a dynamicenvironment particle swarm optimization algorithm, inIC-AI, 399–406.

DE KLEER, J. and J.S. BROWN (1984) A qualitative physics based onconfluences, Artificial Intelligence, 24(1–3), 7–83.

ERMENTROUT, B., A. MAHAJAN and Reviewer (2003) Simulating,analyzing, and animating dynamical systems: a guide toXPPAUT for researchers and students, Applied MechanicsReviews, 56(4), B53.

FLORES, J.J., R. LÓPEZ and J. BARRERA (2010) Particle swarmoptimization with gravitational interactions for multimodal andunimodal problems, in MICAI (2), 361–370.

FLORES, J.J. and A. PROSKUROWSKI (2006) Qualitative reasoningand bifurcations in dynamic systems, in MICAI, 259–271.

FORBUS, K.D. (1984) Qualitative process theory, Artificial Intelli-gence, 24(1–3), 85–168.

FORBUS, K.D. (1997) Qualitative reasoning, in The Computer Scienceand Engineering Handbook, 715–733. Boca Raton, FL: CRC Press.

JOHAN DE KLEER, J.S.B. (1984) A qualitative physics based onconfluences, Artificial Intelligence, 24(1–3), 7–83.

KAY, H., B. RINNER and B. KUIPERS (2000) Semi-quantitativesystem identification, Artificial Intelligence, 119(1–2), 103–140.

KUIPERS, B. (1986) Qualitative simulation, Artificial Intelligence,29(3), 289–338.

KUIPERS, B. (1994) Qualitative Reasoning - Modeling and Simulationwith Incomplete Knowledge. MIT Press., Cambridge, MA

LEE, W.W. and B. KUIPERS (1993) A qualitative method to constructphase portraits, in AAAI, 614–619.

SACKS, E. (1990) A dynamic systems perspective on qualitativesimulation, Artificial Intelligence, 42, 349–362.

STROGATZ, S.H. (1994) Nonlinear Dynamics and Chaos: withApplications to Physics, Biology, Chemistry, and Engineering(Studies in Nonlinearity). Studies in nonlinearity. Perseus BooksGroup., New York

TSUMOTO,K., H. KITAJIMA and T. YOSHINAGA (2006) Bifurcations inMorris–Lecar neuron model, Neurocomputing, 69(4–6), 293–316.

YIP, K.M. (1987) Extracting qualitative dynamics from numericalexperiments, in Proc. 7th National Conf. on Artificial Intelligence(AAAI-87), AAAI Press/TheMIT Press., Cambridge, MA, 665–671.

The authors

Hector Rodriguez

Hector Rodriguez obtained his BEng degree inComputational Systems Engineering from Tecnologico de

Figure 17: Graphic representation of the execution of the results of the planning algorithm for the Morris–Lecar model.

© 2013 Wiley Publishing Ltd Expert Systems, September 2014, Vol. 31, No. 4 333

Page 16: Qualitative bifurcation diagramsdep.fie.umich.mx/produccion_dep/media/pdfs/00235_qualitative_bifurca.pdf · Qualitative bifurcation diagram takes as input the quan-titative data contained

Morelia in 2006. He is a doctoral student at UniversidadMichoacana since 2010, and he expects to graduate in2014. His research work deals with applications of ArtificialIntelligence to Electrical Engineering.

Arthur M. Farley

Arthur M. Farley received a BS degree from RennselaerPolytechnic Institute in 1968 and graduated from CarnegieMellon University with a PhD in Computer Science in1974. Since then he has been a faculty member in theDepartment of Computer and Information Science at theUniversity of Oregon. His research interests have been inartificial intelligence and graph theoretical models ofcommunication networks. Related to artificial intelligence,he has conducted research on problem solving and planning,qualitative reasoning, models of argumentation andartificial evolution. In networks, his research has consideredissues of efficient network design for both messagedissemination and robustness of network connection as wellas basic questions in graph theory.

Juan J. Flores

Juan J. Flores obtained a BEng degree in ElectricalEngineering from the Universidad Michoacana in 1984.

In 1986, he obtained an MSc degree in Computer Sciencefrom the Instituto Politecnico Nacional. In 1997, heobtained a PhD degree in Computer Science from theUniversity of Oregon, USA. He is a full time professor atthe Universidad Michoacana since 1986. His researchwork deals with Artificial Intelligence and its applicationsto Electrical Engineering, Computer Security andFinancial Analysis.

Andrzej Proskurowski

Andrzej Proskurowski educated at Warsaw University ofTechnology, Stanford University, and the Royal Instituteof Technology in Stockholm, where he earned hisdoctorate in 1974, Dr Proskurowski has been on ComputerScience faculty at the University of Oregon since 1975. Heis an associate editor of the international journalsNetworks and Frontiers of Computer Science, has servedon the editorial board of Applications Matematicae andalso as guest editor of several special volumes of DiscreteApplied Mathematics and Parallel Processing Letters. Hehas served as an organizer and a member of ProgramCommittees of several international workshops andconferences on combinatorics, graph theory, algorithmsand networks.

© 2013 Wiley Publishing Ltd334 Expert Systems, September 2014, Vol. 31, No. 4