user-interaction in constraint satisfactionosullb/uics-03/uics2003proceedings.pdf · dealing with...

108
Workshop Notes Third International Workshop on User-Interaction in Constraint Satisfaction Held in conjunction with the Nineth International Conference on Principles and Practice of Constraint Programming, CP-2003 Kinsale, County Cork, Ireland September 2003 Editors Barry O’Sullivan and Eugene C. Freuder Cork Constraint Computation Centre Department of Computer Science University College Cork, Ireland.

Upload: others

Post on 16-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Workshop Notes

Third International Workshop on

User-Interaction in Constraint Satisfaction

Held in conjunction with the

Nineth International Conference onPrinciples and Practice of Constraint Programming, CP-2003

Kinsale, County Cork, IrelandSeptember 2003

Editors

Barry O’Sullivan and Eugene C. Freuder

Cork Constraint Computation CentreDepartment of Computer ScienceUniversity College Cork, Ireland.

Page 2: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker
Page 3: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Preface

User-interaction issues arise both for users of constraint programming languagesand for users of constraint-based applications. The former need assistance inbuilding models and tailoring solvers. The latter need assistance in specifyingproblems and understanding results. Successful user-interaction is the key tofully exploiting advances in constraint solving abilities.

This Third International Workshop on User-Interaction in Constraint Satisfac-tion should be of interest to researchers who wish seek a deeper understandingof the technical issues associated with supporting user-interaction for constraint-based applications, languages or environments. The workshop should also be ofinterest to industrialists interested in the state-of-the-art in the area.

These workshop notes comprise 7 papers. Amongst the topics addressed bythese papers are: visualizing explanations; question-generation in interactiveconstraint-based systems; explanations for global constraints; tree-driven au-tomata for interactive constraint processing; formal models of interaction inconstraint satisfaction; applications of interactive constraints to real-world prob-lems; and tradeoff analysis for interactive constraint-based configurators.

We would like to acknowledge the Workshop Programme Committee for theirassistance in reviewing submissions for suitability for inclusion in the workshopnotes. Also, we would like to acknowledge the assistance of the CP-2003 Work-shop Chair, Christian Bessiere, the CP-2002 Conference Chair, James Bowen,and the CP-2002 Program Chair, Francesca Rossi, for their support and assis-tance.

August 2003 Barry O’Sullivan and Eugene C. FreuderCork Constraint Computation Centre

i

Page 4: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Organizing Committee

Barry O’Sullivan (Chair), University College Cork, Ireland.Eugene C. Freuder, University College Cork, Ireland.

Programme Committee

Alan Borning, University of Washington, USA.Ken Brown, University of Aberdeen, UK.Helene Fargier, Laboratoire IRIT, Universite Paul Sabatier, France.Gerhard Friedrich, Universitat Klagenfurt, Austria.Pascal van Hentenryck, Brown University, USA.Ulrich Junker, ILOG, France.Narendra Jussien, Ecole des Mines de Nantes, France.Pearl Pu, EPFL, Switzerland.Francesca Rossi, University of Padova, Italy.Helmut Simonis, Parc Technologies Ltd, UK.

ii

Page 5: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Contents

Page

Visualizing explanations to exhibit dynamic structure in constraint problems 1– Mohammad Ghoniem, Narendra Jussien and Jean-Daniel Fekete

Question-Generation in Interactive Constraint Processing 16– James Bowen and Stewart Cummins

Challenging explanations for global constraints 31– Guillaume Rochart, Narendra Jussien, and Francois Laburthe

Compiling CSPs into tree-driven automata for interactive solving 44– Helene Fargier and Marie-Catherine Vilarem

Channel Theory for User-Interactions in Constraint Satisfaction and Design 56– Makoto Kikuchi, Ichiro Nagasaka, and Mutsunori Banbara

CSPs at Work: Relevance of Interaction Modules to Deploy Applications 70– Amedeo Cesta, Gabriella Cortellessa, Angelo Oddi and Nicola Policella

User-Involved Tradeoff Analysis in Configuration Tasks 85– Pearl Pu, Boi Faltings, and Pratyush Kumar

iii

Page 6: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Visualizing explanations to exhibit dynamicstructure in constraint problems?

Mohammad Ghoniem1, Narendra Jussien1, and Jean-Daniel Fekete2

1 Ecole des Mines de Nantes4, rue Alfred Kastler – BP 20722F-44307 Nantes Cedex 3 – France

{Mohammad.Ghoniem,Narendra.Jussien}@emn.fr2 INRIA – Unite de recherche FutursBatiment 490, Universite de Paris Sud

F-91405 Orsay Cedex – [email protected]

Abstract. In this paper, we introduce new visualization tools for expla-nations generated during search in a constraint program. Explanationsare a very powerful tool for exhibiting dynamic interactions and relationsappearing only during search. Moreover, we show that classical informa-tion that can be gathered in standard solvers does not allow retrievingthis dynamic behavior thus advocating for the embedding of explanationswithin existing constraint solvers.

1 Introduction

Explanation-based constraint programming [9] has proven to be effective bothfor improving search algorithms (as in mac-dbt [11] and decision-repair [12])and providing user interaction tools (as in the coins systems [15], or in [6]).

In this paper, we would like to go one step further and show how adaptedvisualization tools used on explanations generated during search can help un-derstand constraint solving: discovering static or dynamic structure betweenconstraints or variables emerging during search, discovering inefficient decisions,observing hard resolution steps, etc.

We implemented the generic trace defined in the oadymppac project [14]within the palm solver [10] and developed a set of visualization tools that weintroduce in this paper. We claim that using the information contained in theexplanation network helps discover information that is not available when look-ing only at the structure of the solved problem and even when looking at domainreductions as they are performed during search. Moreover, our tools provide in-sights into the dynamics of search (as opposed to static exploration of conflictsor search procedures as introduced for example in [16]) and help understand thedeep relations dynamically appearing between constraints or variables duringsearch.? This work has been partially supported by the French rntl project oadymppac

[14].

Page 7: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

This paper is organized as follows: after some definitions related to expla-nations, we present the philosophy of our visualization tools. Next, various ex-amples illustrate the interest of explanations for dynamic analysis of constraintprogram.

2 Explanations for constraint programming

Solving constraint satisfaction problems is often based upon chronological back-tracking algorithms. The main disadvantages of these algorithms are well known:the thrashing phenomenon due to the impossibility to remember past failure con-ditions and to the poor relevance, in general, of getting back to the last choicepoint.

2.1 Definition

To compensate thrashing, explanation-based solutions were proposed in the lit-erature [7, 9]. An explanation contains enough information to justify a decision(throwing a contradiction, reducing a domain. . . ): it is composed of the con-straints and the choices made during the search which are sufficient to justifysuch an inference.

Definition 1 (Explanation) An explanation of an inference (X ) consists ofa subset of original constraints (C′ ⊂ C) and a set of instantiation constraints(choices made during the search: d1, d2, . . . , dk) such that:

C′ ∧ d1 ∧ . . . ∧ dn ⇒ X

C′ ∧ d1 ∧ . . . ∧ dn is called an explanation-set.

An explanation-set e1 is said to be more precise than explanation-set e2 ifand only if e1 ⊂ e2. The more precise an explanation, the more useful it is.

2.2 Explanation-based algorithms

Thanks to information about propagation, algorithms such as dynamic backtrack-ing (dbt [7]) know all the instantiations that imply a contradiction, and so, itis able to determine which instantiation should be undone (not necessarily thelast one). The instantiation order is then modified to undo this instantiation andonly this one (keeping non related inferences made in between).

A drawback of dynamic backtracking is that it does not take advantage ofpropagation techniques. mac-dbt is an algorithm which allows to maintain arc-consistency (mac [17]) within dbt. This algorithm offers advantages from bothfiltering and repairing techniques but requires that all filtering decisions areexplained (contrarily to dynamic backtracking that only needs explanations forcontradictions). Moreover, since the cancelled decisions are not always the lasttaken choice, the implementation of an explained constraint must support theremoval of constraints (or the addition of values to domains) and not only back-tracking.

Page 8: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

2.3 Computing explanations

The most interesting explanations are those which are minimal regarding in-clusion. Those explanations allow highly focused information about dependencyrelations between constraints and variables. Unfortunately, computing such anexplanation can be exponentially costly. We claim that a good compromise be-tween precision and ease of computation is to use the solver embedded knowledgeto provide interesting explanations[9]. Indeed, constraint solvers always know,although it is scarcely explicit, why they remove values from the domain ofthe variables. By making that knowledge explicit, quite precise and interestingexplanations can be computed.

For example, let us consider two variables v1 and v2 whose domains are both{1, 2, 3}.

– Let c1 be a first decision constraint: c1 : v1 ≥ 3. Let us assume that thefiltering algorithm in use is 2B-consistency filtering. The constraint c1 leadsto the removal of {1, 2} from the domain of v1. An explanation for the newdomain {3} of v1 is thus {c1}.

– Let c2 be a second constraint: c2 : v2 ≥ v1. Value 1 and value 2 of v2 have nosupport in the domain of v1, and thus c2 leads to the removal of {1, 2} fromv2. An explanation of the removal of {1, 2} from v2 will be: c1 ∧ c2 becausec2 precipitates that removal only because previous removals occurred in v1

due to c1.

3 Visualization tools

We introduce here some recent visualization tools that we used to exploit expla-nation-related information in constraint networks.

3.1 An alternate representation of graphs

So far, visualization of networks has mainly focused on node-link diagrams be-cause they are popular and well understood. However, node-link diagrams donot scale well: their layout is slow and they become quickly unreadable whenthe size of the graph and link density increase.

In this paper, we present a recent technique that uses adjacency matricesinstead of node-link diagrams to interactively visualize and explore large graphs,with thousands of nodes and any number of links. This technique relies on thewell known property that a graph may be represented by its connectivity matrix,which is an N by N matrix, where N is the number of vertices in the graph,and each row or column in the matrix stands for a vertex. When two verticesVi and Vj are linked, the corresponding coefficient mij in the matrix is set to 1,otherwise it is set to 0.

From a visualization standpoint, not only do we switch on or off the celllocated at the intersection of Vi and Vj , but we use color coding as well when

Page 9: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker a link. Unlike node-link diagrams, matrix-based representa-tions of graphs do not suffer from link and node overlappings. Virtually everylink (out of the N2/2 links) in the graph can be seen separately (see figure 1).With this technique, we can show as many links as the display hardware resolu-tion allows, roughly 2 million pixels on a regular 1600× 1200 display. Moreover,advanced information visualisation techniques such as dynamic queries [2], fish-eye lenses [3] and excentric labels [5] enhance the exploration of large graphsand push the matrix-based visualization one step further in coping with largenetworks.

Fig. 1. Representing a graph with 220 vertices and 6291 links using a node-link classicaldiagram (left) and an adjacency matrix (right). The matrix view is produced by ourtools. A fisheye magnifies the central part of the display. Notice that the node-linkdiagrams in this paper are produced by neato, an open-source graph layout programprovided by AT&T. It relies on the force-directed layout algorithm of Kamada andKawai [13].

The main tradeoff of such a technique lies in the fact that vertices are nolonger represented by a unique graphic symbol, they are rather distributed onboth axes of the matrix. This is why users may often need some training be-fore they get familiar with the matrix metaphor. Further investigation of thistechnique in terms of human-computer interaction is still required though, inorder to assess more formally its advantages and weaknesses compared to thetraditional node-link metaphor.

3.2 Making sense of graphs

Making sense out of network data often depends on the ability to understandits underlying structure. Therefore, cluster detection has been an active topicof research for a long time. Many works have concentrated on data analysistechniques in order to aggregate the graph into its main components. From a

Page 10: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

different standpoint, Bertin [1] has shown that the discovery of the underlyingstructure of a graph can be achieved through successive permutations over therows and columns of the grid representing it. This idea relies on the fact thatthe rows and columns of a matrix can be ordered according to a given criterion,which is another advantage of the matrix metaphor as ordering the vertices andlinks in a node-link diagram is not straightforward.

In our tools, we achieve clustering through successive permutations of rowsand columns according to two generic algorithms (a hierarchical agglomerativealgorithm and a partition-based algorithm). Other domain-specific algorithmscan be fit in our system effortlessly e.g. algorithms tailored for constraint pro-gramming graphs. In the following, we will present our early experiments inmaking use of matrix-based visualizations with constraint programming graphs.

4 Experiments

We present here our first experiments with the visualization tools describedearlier. We first show how to confirm intuition or information that could bededuced from the static structure of the problem on a toy problem involvingthe allDifferent constraint. Second, solving that same toy problem for allsolutions we show how some new information could be gathered. Finally, wepresent some early results obtained on an scheduling optimisation problem. Inall the experiments, we compare our explained system with what can be deducedfrom a non explained system.

4.1 Visualization parameters

In the following, we display information using two main representations:

– An undirected constraint-constraint graphContraints ci and cj are connected in three different ways:• representing static structure information: ci is related to cj if ci reduced a

variable shared with cj . This relation represents the fact that the activityof ci will awake cj in the future. Only an explained constraint solver cantell if the awakening is only due to ci and if it will add informationto the constraint store (reducing domains). This graph will be denotedcc-direct.

• representing dynamic relations from the static structure of the problem:ci is related to cj each time ci reduces a variable and if cj and ci share anycommon variable. This relation states that all constraints cj with theirpast effects are helping ci adding information to the constraint store.This is a kind of a posteriori explanation-based information. That is allthat can be inferred from an non explanation-based constraint solver.This graph will be denoted cc-static.

• representing the explanation network: ci is related to cj if ci and cj

appear in the same explanation during computation. This relation rep-resents the fact that ci and cj concurrently worked to provide new in-formation to the solver. It represents some dynamic structure appearing

Page 11: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

during computation as constraints cooperate to solve the problem. Thisgraph will be denoted cc-explain.

Notice that these graphs, being undirected, will result in symmetric matrices.– A directed variable-variable graph

Variables vi and vj are connected in two different ways:• representing static structure information: vj has an impact on vi if vi has

been modified by a constraint c which has been posted upon vj . Thisrepresents the static relations between variables. No more informationcan be computed from a non explanation-based constraint solver. Thisgraph will be denoted vv-direct.

• representing the explanations network: vj has an impact on vi if vi hasbeen modified because of the set of constraints e and vj is a variableupon which a constraint c ∈ e has been posted. This represents realvariable impact as it can be inferred from explanations. This graph willbe denoted vv-explain.

Notice that graphs, being directed, will result in possibly non symmetricmatrices. Moreover, we will represent them in such a way that variables ontop of the matrix are considered to impact variables on the left of the matrix.

All relations in those graphs are weighted with the number of times therelation can be established throughout computation. This helps modifying thestatic structure with dynamic information pointing out active relations. Moreprecisely, we keep a full history of activity within the graph. In this way, we candynamically query the graph for links that are active within a user-controlledtime range and compare the amount of activity between links in that range. Theuser may visualize the activity in the graph throughout the whole resolutionprocess or in a smaller time range whose bounds and extent are interactivelyparameterized. By sweeping the time range from the beginning to the end ofthe history, the user may play back the resolution process and see which linksare established, when, and how often. Our tools also support user-defined timeslices. Simply put, a time slice is a time range between two events of interest.For instance, in our experiments, we were interested in activity between pairsof successive solutions. Our system computes the relevant time slices and allowsthe user to jump between successive time slices through direct interaction too.

4.2 A toy problem: retrieving known information

A first example involves 13 variables: a1, a2, a3, b1, b2, b3, d1, d3 whose domainis [1, 3] and c1, c2, c3, c4, c5 whose domain is [1, 5]. Five constraints are postedon these variables: three allDifferent constraints on respectively all the ai

(constraint c00001), all the bi (constraint c00004) and all the ci (constraint c00002)and two allDifferent constraints relating the sets of variables, respectively ond1,c2 and d3 (constraint c00003) and on a1, b1, c1, and d1 (constraint c00005).

We are looking for the first solution to this problem. Constraint propagationis not powerful enough to exhibit a solution without any enumeration. Nineenumeration constraints need to be added in order to reach a solution. We willtherefore report 14 constraints on the following graphs.

Page 12: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

What are we looking for ? Looking at the problem itself, one can deducethat c00002 and c00003 have to interact to provide a solution because they sharea variable. However, constraint c00001 and c00004 should not be hard to satisfy,they share variables with other constraints but they are quite easy to satisfy. Thehard part of the problem should be represented by the set {c00002, c00003, c00005}.Regarding search, obviously early choices (i.e. small constraint index) shouldhave a long impact on late choices as they should be used to lead search.

Regarding variables, as constraints c00001 and c00004 should not be hard tosatisfy, variables a2, a3, b2, and b3 should not have much impact during search.This is probably the only information that can be identified just by looking atthe problem.

Constraint-constraint graphs We report in figure 2 the three constraint-constraint graphs that can be obtained using the trace3 generated by our solver.According to the cc-direct graph, constraints c00012 (enumeration constraintassigning the value 2 to variable c2) and c00013 (enumeration constraint assigningthe value 1 to variable c3) are strongly related to c00002 and c00003. We observe thesame apparent relation between constraints with c00005 and c0006 (enumerationconstraint assigning the value 1 to variable c4). But, none of our intuitions canbe confirmed here (except for the strong links between c00002, c00003, and c00005.

The cc-static graph gives some more information. Indeed, in this graph,constraints c00004 and c00001 are not related to the other allDifferent con-straints (except c00005) as expected. However, the dynamic structure that wewould like to appear between enumeration constraints is not apparent here. Onlythe cc-explain graph gives the full information: links between the allDifferentconstraints, and more importantly the strong impact of early enumeration con-straints (c00009) compared to late ones (c00014). Moreover, some structuring in-formation appear: obviously enumeration constraint c00008 (and similarly con-straint c00010) has not helped search (it had almost no subsequent relations withother constraints). Notice that some of this information may be inferred fromthe classical representation of graphs as shown in figure 3 in which c00005 appearswith a central role whereas constraints c00001, c00004, c00008, and c00010 play aperipheral role.

As we can see, the explanation graph is able to provide both structure anddynamic information about search in this toy example. Let us now have a lookat the variable-variable graphs reported on figure 4.

Variable-variable graphs The vv-direct graph of figure 4 confirms thata2, a3, b2, and b3 have a limited impact on other variable during the searchof the first solution to this toy problem. Notice that this graph also suggeststhat variable a1 has no impact on a2 which is quite odd. Moreover, the staticstructure of the problem suggests that decisions on ci variables should impact b2

and b3 variables which is also unexpected. The vv-explain gives us the correct4

3 Remember that we used the generic oadymppac trace format (see [14]).4 In the sense that it confirms intuitions about the problem.

Page 13: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

cc-direct cc-static cc-explain

Fig. 2. A toy problem (first solution): constraint-constraint graphs. The darker thedot, the more often the constraints are related.

Fig. 3. A toy problem (first solution): a classical representation of the cc-explain

graph

Page 14: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

view about resolution: a2, a3, b2, and b3 have no impact on the other variablesof the problem. Moreover, a1, b1, and finally d1 seem to be the first enumeratedvariables as they are used to reduce all the other variables. Finally, it seems hardto satisfy the constraint c00003 as all the ci interact a lot during search. Moreover,ci variables only impact other ci variables as expected. All the noise, on the upperpart of the vv-direct matrix is obliterated by the precise information providedby the explanations.

vv-direct vv-explain

Fig. 4. A toy problem (first solution): variable-variable graphs

4.3 A toy problem: new information

Keeping the same problem, now we would like to discover some informationabout search when computing all the 1152 solutions to the problem. At the endof the process, 45 constraints have been posted i.e. the 5 original constraints and40 possibly reused enumeration constraints.

4.4 Constraint-constraint graphs

Figure 5 reports the different constraint-constraint graphs that can be obtainedfrom the resolution trace. As we can see, the cc-direct graph tend to showstrong relations between enumeration constraints (in the middle of the matrix)that cannot be explained. If we consider reduction-time relations, the cc-staticgraph shows that those relations do not really exist, but only the explanationgraph cc-explain gives the correct perspective on what happens: as expected,early enumeration constraints have a great impact on all the search. Moreover, aclustered view (see figure 6) of that same matrix clearly shows that only roughlyhalf the enumeration constraints have an important role during search: many ofsuch enumeration constraints come from the fact that they correspond to theonly choice left.

Page 15: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Retrospectively, the relations appearing in the cc-direct graph can be ex-plained by the fact that they are enumeration constraints posted on the samevariable (different values) that clearly cannot interact during search as only oneof them is active at any given time of the search.

cc-direct cc-static cc-explain

Fig. 5. A toy problem (all solutions): constraint-constraint graphs

cc-explain clustered

Fig. 6. A toy problem (all solutions): a clustered matrix representation of a constraint-constraint graph

4.5 Variable-variable graphs

As for constraint-constraint graphs, explanation-based variable-variable graphs(see figure 7) both:

Page 16: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

– reduce the noise of the static structure of the problem: see how all ci variablesseem to have an impact on all bi variables in the vv-direct representationand how the vv-explain representation show that it is not the case at all(only decisions made on c1 have an impact).

– exhibit hidden information: indirect impact of a1 (and a2) and b1 (and b2)on the ci.

vv-direct vv-explain

Fig. 7. A toy problem (first solution): variable-variable graphs. The *dummy* variableis used to generate new solutions and should not be considered as part of the problem.

4.6 Resolution dynamics

Another interesting use of our visualisation tools is to observe the dynamics ofsearch. Figure 8 shows time slices between different solutions among the 1152identified ones. The first column shows how the first solution is obtained. Werecognize the cc-explain graph of figure 5 (with a different scale for intensity).As we can see in the second column, getting from solution #2 to #3 only in-volves working on the ci variables (variable-variable representation: bottom) butsome new enumeration constraints have been introduced to be able to producethat solution (constraint-constraint representation: top). On the third column,a completely new solution is found (modifying bi variables) whereas no new con-straint is introduced: only old enumeration constraint are used. On the fourthcolumn, new symmetrical solutions are generated on the ci variables whereason the last column more variables are modified (ci, bi, and di). For that lastsolution, new constraints are introduced and activated.

Such a representation should give interesting insight on what is really happen-ing during search: which constraints are active, what dynamic relations appearbetween variables, etc.

Page 17: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

getting sol.#1 sol.#2 to #3 sol.#24 to #25 sol.#30 to #31 sol.#48 to #49

Fig. 8. A toy problem (all solutions): cc-explain and vv-explain subgraphs for dif-ferent solutions during search.

4.7 Open-shop scheduling problems: exhibiting structure

Our last reported experiments were done on open-shop scheduling problems.

Open-shop scheduling as CSP Classical scheduling shop problems, for whicha set J of n jobs consisting each of m tasks (operations) must be scheduled on aset M of m machines, can be considered as csp5. One of these problems is calledthe open-shop problem [8]. For this problem, operations for a given job may besequenced as wanted but only one at a time. We will consider here the buildingof non-preemptive schedules of minimal makespan6.

The open-shop scheduling problem is NP-hard as soon as min(n, m) ≥ 3.This problem although quite simple to enunciate is really hard to solve optimally:instances of size 6× 6 (i.e. 36) variables remain unsolved !

Solving open-shop scheduling problems As reported in [12], using explanation-based algorithms to solve open-shop scheduling problems can be very effective.We used here a complete version of decision-repair to solve a 4×4 instance ofthe problem. This problem is structured as follows: 32 definition constraints areposted (they related each task to the beginning and the end of the scheduling),then 264 unary-resource related constraints (each machine and job is consideredas a unary resource7 used by the relevant tasks). During search, 102 enumeration

5 The variables of the csp are the starting dates of the tasks. Bounds thus representthe least feasible starting time and the least feasible ending time of the associatedtasks.

6 Ending time of the last task.7 We use here task-intervals [4] to efficiently manage those resource.

Page 18: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

constraints are needed in order to find the optimal solution and prove its optimal-ity. Notice that the construction structure is clearly apparent in the cc-directgraph reported in figure 9: part a represents the definition constraints, and partb represents the machine-related resource management constraints, while partc represents the job-related resource management, and part d represents theenumeration constraints.

Learning from search In figure 9, we report the different constraint-constraintgraphs that can be obtained from the trace of the search. As we can see, theconstruction structure of the problem (cc-direct and cc-static) is not thestructure that is really used through computation as reported in the cc-explaingraph. When looking at the clustered version of the graphs in figure 10, wecan see that unrelated constraints during search (in cc-explain) are staticallystrongly related which helps determine the dynamic structure of the problem andpossibly explains the high-performance of explanation-based algorithms. Similarinformation can be exhibited from the variable-variable graphs (figure 11).

cc-direct cc-static cc-explain

Fig. 9. Open-shop scheduling: constraint-constraint graphs

5 Conclusion

We introduced in this paper new visualization tools well suited for exploring re-lations between constraints and variables through explanations. We showed howexplanations could provide much more insight about how search is performed ina constraint program than classical representations of the static structure of thesolved problem.

A lot of work remains to be done especially on the interpretation of graphsand providing navigation tools (in the constraint network, between solutions,etc.) in our main tool.

Page 19: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

cc-direct cc-static cc-explain

Fig. 10. Open-shop scheduling: clustered constraint-constraint graphs. We applied oncc-direct and cc-static the same row and column order as pictured on cc-explain.

vv-direct vv-explain

Fig. 11. Open-shop scheduling: variable-variable graphs.

Page 20: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

References

1. J. Bertin. Semiology of Graphics: Diagrams, Networks, Maps. University of Wis-consin Press, 1983.

2. S. Card, J. Mackinlay, and B. Shneiderman. Readings in Information Visualiza-tion: Using Vision to Think, chapter Dynamic Queries, pages 235–261. MorganKaufmann, San Francisco, USA, 1999.

3. M. S. T. Carpendale and C. Montagnese. A framework for unifying presentationspace. In Proceedings of the 14th annual ACM symposium on User inter-facesoftware and technology (UIST’01), pages 61–70, November 2001.

4. Y. Caseau and F. Laburthe. Improving clp scheduling with task intervals. In P. V.Hentenryck, editor, Proc. of the 11th International Conference on Logic Program-ming, ICLP’94, pages 369–383. MIT Press, 1994.

5. J.-D. Fekete and C. Plaisant. Excentric labeling: Dynamic neighborhood labelingfor data visualization. In K. Ehrlich and W. Newman, editors, Proceedings ofthe International Conference on Human Factors in Computing Systems (CHI 99),pages 512–519. ACM, May 1999.

6. E. C. Freuder, C. Likitvivatanavong, and R. J. Wallace. A case study in explanationand implication. In CP2000 Workshop on Analysis and Visualization of ConstraintPrograms and Solvers, 2000.

7. M. Ginsberg. Dynamic backtracking. Journal of Artificial Intelligence Research,1:25–46, 1993.

8. T. Gonzales and S. Sahni. Open-shop scheduling to minimize finish time. Journalof the Association for Computing Machinery, 23(4):665–679, 1976.

9. N. Jussien. e-constraints: explanation-based constraint programming. In CP01Workshop on User-Interaction in Constraint Satisfaction, Paphos, Cyprus, 2001.

10. N. Jussien and V. Barichard. The PaLM system: explanation-based constraintprogramming. In Proceedings of TRICS: Techniques foR Implementing Constraintprogramming Systems, a post-conference workshop of CP 2000, pages 118–133,Singapore, September 2000.

11. N. Jussien, R. Debruyne, and P. Boizumault. Maintaining arc-consistency withindynamic backtracking. In Principles and Practice of Constraint Programming (CP2000), number 1894 in Lecture Notes in Computer Science, pages 249–261, 2000.

12. N. Jussien and O. Lhomme. Local search with constraint propagation and conflict-based heuristics. Artificial Intelligence, 139(1):21–45, July 2002.

13. T. Kamada and S. Kawai. An algorithm for drawing general undirected graphs.Information Processing Letters, 31(1):7–15, 1989.

14. OADYMPPAC. Tools for dynamic analysis and debugging of constraint programs.http://contraintes.inria.fr/OADymPPaC, 2001. RNTL project.

15. S. Ouis, N. Jussien, and P. Boizumault. k-relevant explanations for constraintprogramming. In FLAIRS’03: Sixteenth international Florida Artificial IntelligenceResearch Society conference, pages 192–196, St. Augustine, Florida, USA, May2003. AAAI press.

16. P. Pu and D. Lalanne. Interactive problem solving via algorithm visualization. InProceedings of the IEEE Symposium on Information Visualization (InfoVis 2000),pages 145–154, Salt Lake City, Utah, October 2000.

17. D. Sabin and E. Freuder. Contradicting conventional wisdom in constraint satis-faction. In A. Borning, editor, Principles and Practice of Constraint Programming,volume 874 of Lecture Notes in Computer Science. Springer, May 1994. (PPCP’94:Second International Workshop, Orcas Island, Seattle, USA).

Page 21: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

������������ ������� ������������ � ��� ������������� �"!#�� �������$� ��&%'���(�)���*�� �+

,.-0/�132547698:6<;�=>-@?5A0BCBCDE6.FG�HJILK�MONQP�HJR3N�S7T�UVS7P�IXW:NQHYM5Z:[J\]HJR^[JH`_^a)U�U5_bUVS7MQcb_XdeMQHJfgK7RXh

i7j>kml:n�oqp7rtsQu@kOv�w�xyxbz�r^u`{�|qvyu.kew^vyv@k}z`p

~$�t�J�J���L�7�`���t� \g�}NQ\]R^���S7MQc S`RC\]R3NQHYM�K�[YNQ\]�yH�[JS`R^�}NOM�K7\]R3N�I:MQS3[JHJ�O�O\]RX�$�LK��5�bHYHJR�XK7�OH�h�S7R�K��O[JHJRLK�MQ\]S�\]R����^\g[���NQ�XH�P$K�[��^\]RXH�\]R^T�HYMQ� NQ�^H�[JS`R^�OH��3WXHJR^[JHJ��S7T[��XS7\g[YHJ�5P$K7h^H��3�$NQ�XH�WX�OHYM��X\gR S7NQ�^HYM��S7M�h:�J_XNQ�^H�\]RqNQH�M�K7[YNQ\]S`R�\]��WX�OH�MO��hqMQ\]�yHJR.�d R�NQ�^\g�)IXK7IbHYM�_0�VH�K`h^h:MQHJ�O��K�R�K�f]NQH�MQRLK�NQ\]�yH��O[JHJRLK�MQ\]S����XHYMQH¡NQ�XH�\]R3NQHYM�K�[YNQ\]S`R\]�VP$K�[��^\]RXHY� h:MQ\]�yHYR.¢�NQ�XH�P$K7[��X\]R^H�MQHJ�qW^HJ�}NQ�J_`TEMQS`P£NQ�XH�WX�OH�M�_y\]R^T�S7MQP$K�NQ\]S7R$NQ�XK�N\¤N5RXHJH�h:�¥NQS��OS`f]�yH¡K�I^MQS7�Xf]HJP¦NQ�LK�N��XK7�¥I^MQHJ�q\]S`W^�Of]� �bHJHJR�IbS`�OH�hC�3��NQ�XH)WX�OH�M��d R�ILK�MONQ\][JW^fgK�M�_y�VH5K7hXhqMQHJ�O�*NQ�^HN�K7�Oc�S�T<P�\gR^\]P�\g§Y\gR^��NQ�XH�RqWXP¡�bHYM�S7T.�3WXHY�}NQ\gS7RX�NQ�XK�N�NQ�XH�P$K�[��^\]RXH�P¡WX�}N�K��Oc0�

¨ ©Xª¥«b¬0­)®¡¯�°@«0±Q­¥ª²´³ 1:6<F�µ�¶J8qD�6XµV6<4�µQ2�1:¶Y·�D¸F�8�µ�¶YDE¹0º�4�»e¼¾½�¿�½JÀ�Á�Â3D�6 2)Ã<D ³ ÃC¼ÄD�F�8�µ�A<¹0ºE4�1:Å@;b1^BC8:DE6.F�Â3¿#D�F8�µ�A<¹0ºE4�1qÅ*¹<8q¶J8qBC4�µY4�¶JF�Â^478 ³ Ã�1qÅ�2)Ã0D ³ Ã(B�8yÆ�8:FYF�A<B�4¡Ç38qº�A047F¥Åm¶�1^B#µ�Ã04 ³ 1^¶�¶Y47F�¹.1^6<;bD�60È;b1:B�8qD�6�DE6ɼ¾Â*8:6<;�ÀÊD¸F$8ËF�4�µ$1qÅ ³ 1^6<FQµY¶Y8:DE6XµJF�Ât4`8 ³ ÃÌ1qÅ�2)Ã0D ³ ÃɶY47F�µ�¶YD ³ µYF�µYÃ04�Ç38qº�A047Fµ�Ã<8qµCB�8yÆÉF�DEB A0ºgµJ8q60471:A<F�º�ÆÌÍ@4Ë8:FYF�A<B�4`;�ÍLÆ�8�F�A0ÍbÎ�µ�A<¹0ºE4�1:Å�µ�Ã04�¹<8:¶Y8:BC4�µ�47¶YF�DE6Ï¿Ð-Ñ�Ã04)13Ç:47¶Y8:ºEºL604�µQ251^¶�· ³ 1:6<F�µ�DEµ�A0µ�47F7Â:D�6C4�Ò>4 ³ µ7Â^8:6CDE6Xµ�476<F�DE1^6<8qº0F�¹.4 ³ DEÓ ³ 8qµ�D�1:6�Åm1:¶58�F�4�µ�1qŵ�A0¹0º�47F7Ô:4`8 ³ ÃCµYA0¹0º�4�DE6(µ�Ã0D¸F¥F�4�µ¥Ã.8:FµYÃ04¡FY8qBC4)º�4�60È:µ�Ã(8:F5¿Õ8q6.;C¹0¶�13ÇLD¸;b47F�8^F�F�D�È:60BC4�6XµJFÅm1:¶5µ�Ã04 ³ 1^¶�¶Y47F�¹.1^6<;bD�60È�¹<8:¶Y8:B�4�µ�47¶YF5F�A ³ Ã(µ�Ã<8qµ�8:ºEº.µ�Ã04 ³ 1^6<F�µ�¶J8qD�6^µJF�8q¶Y4¡FY83µYD�F�Ó<4`;t-XÑ�Ã<4F�4�µ¡2)Ã0D ³ à ³ 1^6XµY8qD�6<F¡8qº�º�µ�Ã<47F�4$µ�A<¹0ºE4`F�1:Å ³ 1^6<F�D¸F�µ�4�6Xµ�Ç38:ºEA04�8:FYF�D�È:6<B�476XµYF)D¸F ³ 8qº�ºE4`;�µ�Ã<4ÖØ×<ÙOÚ�×.Ù 1:Å¥µ�Ã<4�604�µQ2�1:¶Y·>-�ÛÐ8q6LÆ�;bDEÒ>4�¶Y4�6Xµ�Åm1:¶YBCF$1qÅ ³ 1:6<F�µ�¶J8qD�6Xµ$F�8qµ�D¸FQÅe8 ³ µ�D�1:6̹0¶Y1:Í0º�4�BÜ ?�=bÝ�Þ>Ã<8yÇ:4�Í@4�476�;bD¸FQµYDE6<È:A0D¸F�Ã<47;t-`Ñ�Ã04¥BC1^F�µ ³ 1:BCBC1:6�1:604^Â�µYÃ045ß�àL47BC¹0ºEDEÓ ³ 83µ�D�1:6�?�=bÝÂ2)DEº�º�Í@4�¶�47ºE47Çy8:6Xµ�D�69µ�Ã0D¸F�¹<8:¹.47¶7Ô0DEµ ³ 8:6áÍ@4$;b4�Ó<6047;�8^F�Åm1:º�ºE132�F7â

ã Ú ä�×.ÖØÙ Öeåq×Ìæ3ç�è@é<Ú�ê�ëLÚ�ì�í@î]Ö ä�ïJð3Ù�Öeå3×´ñ*ò0ó)ôõ DEÇ^4�6Ë8�604�µQ2�1:¶Y·Ð»e¼¾½�¿�½JÀ�Á�â<¶�4�µ�A0¶Y6�60DEºtDEŵ�Ã04�D�6Xµ�476^µ)1:Å�» ¼�½Y¿Ð½JÀ�Á�D¸F4�BC¹bµQÆ>Ô01:µ�Ã047¶�2)D¸F�4^Âb¶�4�µ�A0¶Y6�F�1^B�4�µYA0¹0º�4�Åm¶�1^Böµ�Ã04�D�6Xµ�476^µ`-

² 601:µ�Ã047¶ ¹0¶Y1:Í<ºE47B�2)Ã0D ³ ÃÉ2)D�ºEº�Í.4á¶�47ºE47Ç38q6Xµ�D�6ɵ�Ã0D¸F ¹<8q¹@4�¶`Â�µYÃ04áߥ6LA0BC4�¶J83µ�D�1:6÷?�=bݳ 8q69Í@4$;b4�Ó<6<47;�8:F�Åm1^ºEº�132�F�â

ã Ú ä�×.ÖØÙ Öeåq×�ø:ç�è@é<Ú�ê�×<ùbì�Ú�úYð3Ù�Öeå3×÷ñVò0ó)ôõ DEÇ^4�6Ë8�604�µQ2�1:¶Y·Ð»e¼¾½�¿�½JÀ�Á�â<¶�4�µ�A0¶Y69µ�Ã04�D�6Xµ�4�6Xµ)1qÅ)»e¼¾½�¿�½JÀ�Á�-ÛË1^F�µ�¶Y47F�478:¶ ³ Ã�1:6 ³ 1:6<F�µ�¶J8qD�6Xµ�¹<¶�1 ³ 4`F�F�D�60È 8:ºEÈ^1:¶YDgµYÃ0B�F5Ã.8:F�Í.474�6�;bD�¶�4 ³ µ�4`;á8qµ ³ 1:60Î

F�D¸FQµY4�6 ³ Æ�¹0¶�1^¹<8qÈX83µYDE1^691^¶�8qµ�F�478:¶ ³ Ã�-@Ñ�Ã<83µ�2�1:¶Y· ³ 8q6ÐÍ@4 ¶Y4�ÈX8q¶J;b47;�8^F¡8^F�F�A0BCDE6<Èá8qA0ε�1:6<1:BC1:A<FB�8 ³ Ã0DE6<4�¹<¶�1 ³ 4`F�F�D�60È<ÂyD�6�2)Ã<D ³ Ã�µ�Ã<4)A<F�47¶�È:D�Ç:4`FV8$?�=bݾµY1�µ�Ã04)B�8 ³ Ã<DE604)8:6<;2�8:DgµJF�Åm1:¶)DEµ)µ�1�¶Y4�µ�A<¶�6�8CF�1^ºEAbµYDE1^6�µY1�µ�Ã04�È^DEÇ^4�69¹0¶�1^Í0º�4�B�-ûO6�¶Y4 ³ 476Xµ*Æ:4`8q¶JF�Â`Ã0132�4�Ç^4�¶`Â�µ�Ã<4�¶Y45Ã<8^F�Í@4�476 D�6 ³ ¶�4`8:F�DE60È¡DE6XµY4�¶Y47F�µ*D�6 D�6Xµ�4�¶J8 ³ µ�D�Ç:4 ³ 1:60Î

FQµY¶Y8:DE6Xµ�¹0¶Y1 ³ 47FYF�DE60È.-<ü)4`F�4`8q¶ ³ ÃáD�6˵�Ã<D�F¡8q¶Y478CÃ<8^F)Í.474�6ÐÍ.8:F�47;91:6Ð8�F ³ 476<8q¶YDE1�D�6Ë2)Ã0D ³ Ã

Page 22: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

µ�Ã04�A<F�4�¶�È^DEÇ^47F*µ�1�µ�Ã<4�B�8 ³ Ã0DE6<4�8�?�=bÝÌ2)Ã0D ³ Ã�µYÃ04�A<F�4�¶�8q6.;�B�8 ³ Ã<DE6045µ�Ã<4�6 ³ 1:Î�1^¹.47¶Y8qµ�4DE6÷F�1:º�ÇLDE6<È�� ����-��01:¶ 4�à08qBC¹0º�4:Â*DE6�F�1:BC4�F�ÆbFQµY4�B�F$Í.8:F�47;�1:6�µYÃ0D¸F�F ³ 4�6.8q¶YDE1.Âtµ�Ã04áA<F�4�¶�ÎBC8 ³ Ã0D�604$;bA01 ³ 8q6�Í.4�¶Y4�ÈX8q¶J;b47;98:F�¹@4�¶�Åm1:¶YBCDE6<È(Û ² ?¥Î µQÆL¹@4$F�4`8q¶ ³ Ã�âXµ�Ã04�A<F�47¶�8:FYF�D�È:6.FÇy8:ºEA<47F µ�1¾604�µQ2�1:¶Y·�¹<8q¶J8qBC4�µY4�¶JF$2)Ã0D�º�4�µYÃ04áB�8 ³ Ã0DE6<4áB�8qD�6XµY8:DE6<F�8q¶ ³ Î ³ 1^6<F�D�F�µ�476 ³ Æ>Ô�DEŵ�Ã04áBC8 ³ Ã0D�604CÓ<6<;0F 8q6ÉD�6 ³ 1^6<F�D�F�µ�476 ³ Æ^Â�µ�Ã<4(A<F�4�¶ ;04 ³ D¸;b4`F$2)Ã0D ³ ÃÉ1qÅ)Ã0D¸F$¹0¶Y4�ÇLD�1:A<F�8:F�ÎF�D�È:60BC476^µJF�µ�1 ³ Ã.8q60È^4:ÂbÃ04�8^F�F�D�È:6<F)8C60472 Ç38:ºEA04�µY1�µ�Ã<4$¹<8q¶J8qBC4�µ�4�¶�D�6LÇ:1:º�Ç:4`;á8:6<;9µ�Ã<4¹0¶�1 ³ 47FYF ³ 1:6Xµ�D�6LA047F7-

� DgµYÃ0DE6´µYÃ0D�F�Ó.4�º¸;÷1:Å�D�6Xµ�4�¶J8 ³ µ�D�Ç:4 ³ 1:6.FQµY¶Y8:DE6XµC¹0¶�1 ³ 47FYF�D�60È<ÂÇ38q¶YD�1:A<F µ�Ã<4�BC47FCÃ<8yÇ^44�Ç:1^ºEÇ^47;t-��01^¶ 4�à08qBC¹0º�4:ÂF�1^B�49¶Y47F�478q¶ ³ Ã��^ �<Â��<Â����}Â*Ã<8^F 8^;0;b¶Y47FYF�4`;�µ�Ã<4áD¸F�F�A0491qÅ�4�àLι0º�8:6<83µYDE1^6ÐÈ:47604�¶J83µYDE1^6�Â<2)Ã<D ³ ÃÐD�6LÇ:1^ºEÇ^47F�µYÃ04 B�8 ³ Ã0DE6<4�4�àb¹0º¸8qD�60D�60È(µY1(µYÃ04 A.F�47¶�2)ÃLÆË8³ 4�¶�µY8:DE6˹.8q¶J8qBC4�µY4�¶�B A<F�µ7Â@1:¶�B�8yÆ�601qµ`Â<Ã<8yÇ^4�8 ³ 4�¶�µY8qD�6ÐÇ38qº�A04^-.Ñ�Ã047¶�4 Ã<8:F¡8qº¸F�1(Í@4�476F�1^B�4C¶Y47F�478:¶ ³ ÃË1^6¾¹0¶Y1 ³ 4`F�F�DE6<ÈáÈ^4�6047¶Y8:ºED���4`;ËA<F�4�¶�Î�D�60¹0AbµJF�Ât2)Ã<4�¶Y4 µYÃ04CA<F�4�¶�D�F�8:ºEº�132�47;µ�1�8:FYF�47¶�µ�601qµ��QA<F�µ$8�Ç38qº�A04�Åm1:¶�8á¹<8q¶J8qBC4�µ�4�¶�Í0Abµ$8:6¾8q¶YÍ0DEµ�¶J8q¶YÆ ³ 1:6.FQµY¶Y8:DE6Xµ¡Í@4�µQ2�4�476¹<8q¶J8qBC4�µY4�¶JF�� ����-

��4�Ç^4�¶�µ�Ã047ºE4`F�F7Â�8qº�º)µYÃ0D�F�251^¶�· 1:6ÏD�6^µY4�¶J8 ³ µ�D�Ç:4 ³ 1^6<FQµY¶Y8:DE6Xµ(¹0¶Y1 ³ 4`F�F�DE6<ÈÌÃ.8:F�Ã<8^;Ï8³ 1:BCBC1:6 ³ Ã<8:¶Y8 ³ µ�47¶�D¸F�µ�D ³ â^µ�Ã04�B�8 ³ Ã<DE604�D�6bÅm4�¶JF ³ 1^6<F�4��XA04�6 ³ 47F�1qÅ ³ Ã01^D ³ 47F�B�8:;b4�ÍLÆ�µ�Ã<4A<F�47¶7Ô<µ�Ã<8qµ¡D¸F�Â<µ�Ã04 B�8 ³ Ã0D�604$¶Y478 ³ µYF)µ�1(D�60DEµ�D¸83µ�D�Ç:4`F)µJ8q·:476ËÍLÆ�µYÃ04�A<F�4�¶`-<ûO6е�Ã0D¸F�¹<8:¹.47¶7Â254(8^;0;b¶Y47FYF�8:6É8qºEµ�4�¶Y6<8qµ�D�Ç:4�F ³ 4�6<8:¶�D�1<Â>1^604�DE6�2)Ã0D ³ Ã̵�Ã04�DE60DEµ�D¸83µYDEÇ^4�D�F�µJ8q·^4�6�ÍLÆе�Ã<4BC8 ³ Ã0D�604:-Ñ�1(D�º�ºEA<F�µ�¶J83µY4: ³ 1:6.F�D¸;b4�¶�µ�Ã04�Åm1:º�ºE132)D�60È(F�DgµYA<83µYDE1^6�Â<Í<8^F�4`;�1:6ËB�8q¹ ³ 1:º�1:A0¶YD�60È<-<Ñ�Ã<4

A<F�47¶�È^DEÇ^47F�µYÃ04�B�8 ³ Ã<DE604 8 ³ 1^6<FQµY¶Y8:DE6Xµ�604�µQ251^¶�·áDE6�2)Ã0D ³ Ãе�Ã04$¹.8q¶J8qBC4�µY4�¶JF)¶�47¹0¶Y47F�4�6Xµ³ 1:A<6^µY¶�D�47F�1^69F�1:BC4�B�8q¹9DE6�8q6�83µYº�8^F�µ�Ã<8qµ�µYÃ04�A<F�4�¶�Ã<8^F�DE69Ã0D¸F)Ã<8q6.;tÂb2)Ã0D�ºE4�µ�Ã<4 ³ 1:60ÎFQµY¶Y8:DE6XµYF�¶Y4�¹0¶Y47F�4�6Xµ�D�604��XA<8:ºEDEµQÆ ³ 1^6<F�µ�¶J8qD�6^µJF�Í.4�µQ25474�6 ³ 1:A<6^µY¶�D�47F¡µYÃ<83µ�8:¶�4 ³ 1^6^µYDEÈ^A01:A.F1:6еYÃ04CB�8q¹�-tÑ�Ã04CA<F�4�¶¡µ�47ºEº¸F�µ�Ã04CB�8 ³ Ã<DE604 2)Ã<83µ�¶J8q60È^4�1:Å ³ 1^ºE1^A0¶YF�8q¶Y4�A.F�4`;�1^6е�Ã<4BC8:¹�Ô�µYÃ0D�F(Í.4 ³ 1:BC4`F�µ�Ã04Ð;b1^B�8qD�6 Åm1^¶�478 ³ à ¹<8:¶Y8:BC4�µ�47¶CDE6´µ�Ã<4Ë604�µQ2�1:¶Y·>-�Ñ�Ã04�6´µ�Ã<4A<F�47¶ ³ Ã<1X1XF�4`F¥F�1:BC4 ³ 1:A06Xµ�¶YÆC1:6�µYÃ04�BC8:¹�8q6.; ³ Ã<8qº�º�4�60È^47F�µYÃ04�BC8 ³ Ã0D�604�µY1 ;b4�µ�4�¶YBCDE6<42)Ã<83µ ³ 1:º�1:A0¶�D¸F)A<F�47;áDE69µ�Ã<4$83µ�º¸8:F�Åm1^¶�µ�Ã0D¸F�µJ8q¶YÈ:4�µ ³ 1:A06Xµ�¶YÆ:-0Ñ�Ã<4�BC8 ³ Ã0D�604 ³ 8q6<601qµ`Âb1qų 1:A<¶YF�4:ÂtF�4�4 µ�Ã04�83µYº�8^F�Í0Abµ�Dgµ�D¸F�8qº�ºE132�47;˵�1Ë8:F�·�µ�Ã04CA<F�4�¶��XA04`FQµYDE1^6<F�-�=L¹@4 ³ DgÓ ³ 8qº�º�Æ:ÂtDEµ³ 8q6á8:F�·�µYÃ04�A<F�4�¶�2)Ã<8qµ ³ 1^ºE1^A0¶�D¸F¥A.F�4`;�DE6(µ�Ã04�83µYº�8^F�Åm1:¶�8q6LÆ ³ 1^A06Xµ�¶YÆ:Â^8:¹<8q¶�µ�Åm¶Y1:B#µ�Ã<4µY8q¶YÈ:4�µ ³ 1:A06Xµ�¶YÆ:-tÑ�Ã04�¹@1:D�6^µ`Ât1qÅ ³ 1:A0¶JF�4:Â@D�F¡µ�Ã.83µ�µ�Ã04�B�8 ³ Ã0D�604�D�F�4�àL¹@4 ³ µ�4`;еY198^F�·Ð8^FÅm4�2��^A<47F�µ�D�1:6<F)8^F�¹.1XF�F�DEÍ<ºE4^-?51:6<F�D�;04�¶58�F�D�BC¹0ºE4�Ç:47¶YF�D�1:6C1qÅtµYÃ0D�F�F�DgµYA<83µYDE1^6�Â^D�6LÇ:1^ºEÇLD�60È$1:6<ºEÆ�µ�Ã<¶�474 ³ 1^ºE1^A0¶JF Ü ¶Y47;tÂ

È:¶Y4�4�6�8:6<;�Í0º�A04`Þ�8q6<;÷8ËB�8q¹É2)Ã0D ³ à ³ 1^6XµY8qD�6<F�1^60º�Æ�Åm1^A0¶ ³ 1:A06XµY¶�D�47F Ü ² A<F�µ�¶YD¸80 õ 4�¶�ÎBC8:6LÆ:Â.=L2)DEµ �74�¶Yº�8:6<;98q6<;9û}µY8:ºEÆ0Þ�Ô0µ�Ã<4$8:;���8 ³ 4�6 ³ Æ�¶Y4�º¸83µYDE1^6<F�DE6�µYÃ0D¸F)B�8q¹Ë8q¶Y4�F�Ã0132)6�D�6�*D�È:A<¶�4� Ü 8^Þ�-�=LA0¹0¹@1^F�4�µ�Ã<8qµ�µ�Ã04CA<F�4�¶�Ã.8:F�8:F�·:4`;˵�Ã<4�B�8 ³ Ã0DE6<4 µY1Ë;b4�µY4�¶YB�D�604C2)Ã<8qµ³ 1:º�1:A<¶VD¸FA<F�47;�D�6�µYÃ04�83µYº�8^FVÅm1:¶�û}µY8:ºEÆ^-! �132 BC8:6LÆ"�XA047F�µ�D�1:6<FV2�1:A0º¸;�µ�Ã04)B�8 ³ Ã<DE604�Ã<8yÇ^4µ�1Ð8:F�·ÐµYÃ04(A<F�4�¶$#%� Ã.83µ ³ 1:A06Xµ�¶YƾF�Ã01^A0º�;ÌDEµ 8:F�·¾8:Í.1^Abµ�Ó<¶JFQµ$#á=bÃ01:A0º¸;ÌDgµ�8:F�·¾8qÍ@1:A0µ1:604�1qÅVµ�Ã<4 ³ 1:A<6^µY¶�D�47F5µYÃ<83µ)µY1:A ³ Ã�û}µY8:ºEÆ&#ûO6 Åe8 ³ µ`Âqµ�Ã<4�B�8 ³ Ã0D�604�604747;�8^F�·$1^60º�Æ 1^604'�XA047F�µ�D�1:6)( DEµ5F�Ã01:A0º¸;C8:F�·$Åm1^¶�µ�Ã04 ³ 1:º�1:A<¶

1qÅ õ 47¶�B�8:6XÆ^ÂyÅm1:¶Vµ�Ã<4�Åm1:º�ºE132)D�60È�¶�4`8:F�1:6�- õ 4�¶YB�8q6LÆ�B�A.FQµ�Ã<8yÇ^4�8�;bDEÒ@47¶�476Xµ ³ 1:º�1:A0¶VÅm¶Y1:B² A<F�µ�¶YD�8 8q6<;9=L2)DEµ ��47¶�º¸8q6.;tÂ^2)Ã<1^F�4 ³ 1:º�1:A0¶JF�B A<FQµ�Í@4�;bDEÒ>4�¶Y4�6Xµ5Åm¶Y1:BÄ4`8 ³ Ã(1:µ�Ã047¶7-Xû}µY8:ºEÆB�A<F�µ�8qº¸F�1�Ã<8yÇ^4�8C;bDEÒ>4�¶Y4�6Xµ ³ 1^ºE1^A0¶�Åm¶�1^B ² A.FQµY¶�D¸8C8q6<;�=L2)DEµ ��47¶�º¸8q6.;t-.=LD�6 ³ 4�µYÃ04�¶Y4�8q¶Y41:60º�Æ�µ�Ã<¶�474 ³ 1:º�1:A<¶YF7ÂLû}µY8qº�Æ(B A<FQµ�Ã.8yÇ:4¡µ�Ã04$FY8qBC4 ³ 1^ºE1^A0¶)8:F õ 4�¶YB�8q6LÆ:-

Page 23: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Germany

Austria

Italy

Switzerland

Germany

Italy

Switzerland

Austria1

Austria2

Austria3

(a) Graph-structured map (b) Multiple-image tree

����� ���X��� K7ICS�T�UVHJR3NOM�K7f � W:MQS`IbH

Ñ�Ã04�µY8^F�·Ì¹@1^F�47;�µY1˵�Ã04áB�8 ³ Ã0D�604�8:Í.13Ç^4(D�F 8q6É4�àb8:BC¹0ºE4á1qÅ�8 ³ º�8^F�F�1qÅ�¹0¶Y1:Í0º�4�B2)Ã0D ³ Ã92�4 ³ 8qº�º.µYÃ04¡¹bµ�D�B�8qº��¡A04`FQµYDE1^60DE6<ÈC=XµY¶Y8qµ�47È:Æ Ü ��=<Þ�¹0¶Y1:Í<ºE47BÕ8q6<;á2)Ã0D ³ à ³ 8:6Í.4$;b4�Ó<604`;98^F�Åm1:º�ºE132�F7-

ã Ú ä�×.ÖØÙ Öeåq×��qç�è@é<Ú���í>Ù ÖØì�ð3î���ù<Ú���Ù Öeåq×<ÖØ×���ò@Ù ú�ðqÙ}Ú�����ñ*ò0ó)ôõ DEÇ^4�6Ë8�604�µQ2�1:¶Y·Ð»e¼¾½�¿�½JÀ�Á�2)Ã01XF�4�D�6^µY4�6Xµ�D¸F)601:60Î�47B�¹0µQÆ�8q6<;98 µ�A0¹<ºE4��Ä1:ŵY8:¶�È^4�µ)¹<8q¶J8qBC4�µ�4�¶JF�DE6Ë¿�Â0¶�4�µ�A0¶Y6áµ�Ã04$F�B�8qº�ºE4`FQµ�µ�A<¹0ºE4�� 1:Å*µYÃ04�¹<8q¶J8qBC4�µ�4�¶JFDE6Ë¿(Î��ÄF�A ³ Ã�µYÃ<83µ`Â0DEÅ*µYÃ04�Ç38qº�A047F�1:Å8:ºEº>µYÃ04�¹<8q¶J8qBC4�µ�4�¶JF�DE6�� 2�4�¶Y4�·L60132)6�µ�Ã047¶�4�2�1:A<º�;áÍ.4�1^60º�Æ(1:604�¹@1^FYF�D�Í0º�4 ³ 1:6.F�D¸FQµY4�6Xµ)Ç38qº�A04�Åm1:¶)4`8 ³ Ã91qÅ�µYÃ04¹<8q¶J8qBC4�µ�4�¶JF�DE6 ��-"!

ûO6£µ�Ã<4¾4�àb8:BC¹0ºE4¾µY8^F�· 8:Í.13Ç^4:Â5µ�Ã04�F�4�µ#� ³ 1^6^µJ8qD�6047;£1:60º�Æ 1:604�µY8:¶�È^4�µá¹.8q¶J8qBC4�µY4�¶`Âû}µY8qº�Æ:Â�8q6.;ϵ�Ã04¾µ�A<¹0ºE4$� ³ 1:6XµY8:DE604`; 1:6<ºEÆ´1:604 �XA047F�µ�D�1:6£¹.8q¶J8qBC4�µY4�¶` õ 4�¶YB�8q6LÆ:-5ûO6È:4�6<4�¶J8qº�ÂqÃ0132�4�Ç:47¶7Âqµ�Ã047¶�4 ³ 1:A0º¸;�Í@4¡F�4�Ç^4�¶J8qºbµJ8q¶YÈ:4�µ5¹<8q¶J8qBC4�µY4�¶JF�D�6%�'8q6.;�µ�Ã04¡1:¹bµYDEB�8qº�^A<47F�µ�D�1:60D�60È�FQµY¶Y8qµ�47È:Æ�� ³ 1^A0º¸; ³ 1:6XµY8:DE6�8CF�4��^A<4�6 ³ 4�1:ÅF�4�Ç^4�¶J8qº �XA047F�µ�D�1:6.F�-

��1qµY4�µ�Ã<8qµ�µ�Ã04�¹0¶�1��Q4 ³ µ�D�1:6�1qÅ@µ�Ã04�6<4�µQ2�1:¶Y·$DE6XµY4�6Xµ�1:6Xµ�1�µYÃ04�¹<8:¶Y8:B�4�µ�47¶YFD�6&� BC8yƳ 1:6XµJ8qD�6÷B�A<ºgµYDE¹0º�4�µ�A<¹0ºE4`F�-�ûO6 µ�Ã<494�à08qBC¹0º�4�8:Í.13Ç^4:Â*µ�Ã04�¹0¶Y1!�Q4 ³ µYDE1^6÷1qÅ¡µ�Ã04�604�µQ251^¶�·DE6Xµ�476Xµ�1^6^µY1��('*)7û}µJ8qº�Æ�+ ³ 1^6^µJ8qD�6<F�8�F�4�µ�1qÅ�µYÃ0¶�474 F�DE6<È:º�4�µ�1^6bÎ�µ�A0¹0º�47F�)`¶7Â@È<Â@Í,+^Â>4`8 ³ Ã1qÅ�2)Ã0D ³ Ã(D¸F�8�¹@1^FYF�D�Í0º�4 ³ 1:6<F�D�F�µ�476Xµ5Ç38qº�A04¡Åm1:¶5µ�Ã04�F�D�60È^ºE4�µY8q¶YÈ:4�µ5¹<8:¶Y8:BC4�µ�47¶5D�6��(-Xû}Å-�³ 1:6XµJ8qD�6<F�1:6<ºEÆ�1:604 �^A<47F�µ�D�1:6�¹<8:¶Y8:B�4�µ�47¶7Âq8^F�D�6Cµ�Ã04¡4�à08qBC¹0º�4�8qÍ@13Ç:4^Âyµ�Ã04�µY8^F�·�1qÅ ³ 1^B�ι0Abµ�D�60È�8q6Ð1^¹bµ�D�B�8qºFQµY¶Y8qµ�47È:Æ9D�F¡478^F�D�4�¶�µ�Ã<8:6�2)Ã047¶�4 B�A0ºEµ�D�¹0º�4 �XA04`FQµYDE1^6<F�8:¶�4 604�4`;b47;tÂÍ.4 ³ 8qA.F�4^Â.D�6еYÃ04 º¸83µ�µ�47¶ ³ 8:F�4:Â@478 ³ Ã�1qÅ�µ�Ã<4�;bDEÒ>4�¶Y4�6Xµ�Ç38:ºEA<8qµ�D�1:6<F¡D�6е�Ã<4�¹0¶Y1!�Q4 ³ µ�D�1:6�1qŵ�Ã04�604�µQ251^¶�·CD�6^µY4�6Xµ)1:6#�'B�8yÆ�¶Y4��XA0D�¶�4�8�;bDgÒ>4�¶Y4�6Xµ�F�4��XA04�6 ³ 4���-bûO6(µYÃ0D¸F�º�8qµ�µ�47¶ ³ 8^F�4^Â254$Ã.8yÇ:4$8CB�A<ºgµYDE¹0º�4�Î}¹0º�ÆáÈX8qBCD�60È(F�DEµ�A.83µ�D�1:6�(9DE6Ð;b47ÇLD�F�DE6<ÈCµ�Ã04 �^A<47F�µ�D�1:60D�60È(F�µ�¶J83µ�47È:Æ^µ�Ã04�F�ÆbF�µ�4�B�B�A.FQµ ³ 1:6.F�D¸;b4�¶¡;bDgÒ>4�¶Y4�6Xµ�¹@1^FYF�DEÍ0º�4�8:6<F�2�4�¶JF�µYÃ<83µ¡µ�Ã04 A<F�47¶ ³ 1^A0º¸;ËÈ:D�Ç:4�µY1µ�Ã04�Ç38q¶YD�1:A<F �XA047F�µ�D�1:6.F�µ�Ã04$F�ÆbFQµY4�B ³ 1:A0º¸;á¹.1XF�4^-ûO6(µ�Ã<4�¶Y47F�µ51:Å�µYÃ0D�F�¹<8:¹.47¶7ÂL2�4¡2)D�º�º.Åm1 ³ A<F�1:6. ��=(¹0¶Y1:Í0º�4�B�F�2)Ã04�¶Y4�µYÃ04�¶Y4�D�F�1:6<ºEÆ

1:604�µY8:¶�È^4�µ�¹<8:¶Y8:B�4�µ�47¶7-3Ñ�ÃLA<F7Â3254�¹0¶Y13ÇLD�;b4)8:6 4�àL¹<ºED ³ DEµ¥;b4�Ó.60DgµYDE1^6 1:Å.µYÃ0D¸F�F�¹@4 ³ D�8:º ³ 8^F�4^µ�Ã04$F�DE6<È:º�4�Î�µY8q¶YÈ:4�µ/ ��=�¹0¶Y1:Í0º�4�B�â

ã Ú ä�×.ÖØÙ Öeåq×�00ç�è@é<Ú�ò.ÖØ×1�:îEÚ327è<ðqú4�XÚ�Ù5�*í@Ù�ÖØìCðqî���ù<Ú6��Ù�Öeå3×<ÖØ×���ò@Ù úYð3ÙOÚ7����ñVòbó)ôõ DEÇ^4�6Ë8�604�µQ2�1:¶Y·Ð»e¼¾½�¿�½JÀ�Á�2)Ã01XF�4�D�6^µY4�6Xµ�D¸F)601:60Î�47B�¹0µQÆ�8q6<;98 µY8:¶�È^4�µ¹<8q¶J8qBC4�µ�4�¶98 2)Ã0D ³ Ã9D¸F)8�BC4�B�Í@4�¶�1qÅV¿�Â0¶Y4�µ�A<¶�6áµ�Ã04$F�B�8qº�ºE4`FQµ�µYA0¹0º�4:� 1qÅ

;�< �XH)�OH��3W^HJRX[JH�S7T�ILK�M�K7P�HYNQH�MQ��\gR%=¦\]�J_XNQ�^HJR._qNQ�^H�S`I:NQ\gP$K�f@�3W^HJ�}NQ\]S`RX\]R^���}NOM�K�NQHJ���3�

Page 24: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

µ�Ã04�¹.8q¶J8qBC4�µY4�¶JF5D�6 Ü ¿�Î�»4��Á�Þ)F�A ³ Ã9µ�Ã.83µ7Â<DgÅVµ�Ã04�Ç38:ºEA04`F�1qÅ8qº�ºtµ�Ã04¹<8q¶J8qBC4�µ�4�¶JF�DE6�� 2�4�¶Y4�·L60132)6�ÂLµ�Ã047¶�4�2�1:A0º¸;�Í@4�1:6<ºEÆá1:604�¹@1^FYF�D�Í0º�4³ 1^6<F�D¸F�µ�4�6Xµ)Ç38qº�A04�Åm1:¶ 8�-Ñ�Ã0D�F�·XD�6<;C1:Å ³ 1:6<F�µ�¶J8qD�6Xµ�Î}Í<8:F�47; ¹0¶Y1:Í0º�4�B D�F¥601qµ¥8�Åm¶�D�Ç:1^ºE1^A<F1:604^-^Ñ�Ã047¶�4�8:¶�4)B�8:6XÆ

4 ³ 1^601:BCD ³ 8:ºEº�Æ�1:¶�F�1 ³ D�8:ºEº�Æ$F�DEÈ^60DgÓ ³ 8q6XµDE6.FQµJ8q6 ³ 47F1qÅ.µ�Ã04)F�DE6<È:º�4�Î�µY8q¶YÈ:4�µ- ��=C?�=bÝ-^?51:60ÎF�D¸;b4�¶�BC47;0D ³ 8qº�;bD¸8qÈ:6<1^F�D�F7Â<Åm1^¶�4�à08qBC¹0º�4:- � ² Í@1b;bÆÐ1qÅ�;bD�8:È:601XFQµYD ³ 4�àb¹@4�¶�µ�D¸F�4 ³ 1^A0º�;¾Í@4¶�47¹0¶�4`F�476Xµ�47;É8^F 8 ³ 1^6<F�µ�¶J8qD�6^µ 604�µQ2�1:¶Y·¾D�6÷2)Ã<D ³ Ã÷µ�Ã04áµY8:¶�È^4�µ�¹<8:¶Y8:BC4�µ�47¶�¶Y4�¹0¶Y47F�4�6XµJFµ�Ã04�;bD¸F�4`8:F�4�8���D ³ µ�D�60ÈË8á¹.83µ�D�4�6Xµ`Ât2)Ã0DEº�4C1qµYÃ04�¶�¹<8:¶Y8:B�4�µ�47¶YF�¶Y4�¹0¶Y47F�4�6Xµ�µYÃ04�¶Y47F�A0ºgµJF�1qŹ.1XF�F�DEÍ<ºE4�;bD¸8qÈ:6<1^F�µ�D ³ µY47F�µYF�µ�Ã.83µ ³ 1^A0º�;�Í.4�¹@4�¶�Åm1:¶YBC47;á1:6�Ã<DEB�-<=LD�6 ³ 4�;bD¸8qÈ^601^F�µ�D ³ µ�47F�µYF³ 8q6´Í@4Ð;08q60È^4�¶Y1:A<F7ÂV4�àb¹.476<F�DEÇ^4�8:6<;��31:¶ µ�D�B�4�Î ³ 1:6<F�A0BCD�60È<Â�8:6 4�àL¹@4�¶�µ(;bD¸8qÈ:6<1^F�µ�D ³ D¸8q6µ�¶YDE4`F�µ�19B�D�60D�BCD �74Cµ�Ã04C6LA0B�Í@4�¶�1:Å¥µY47F�µYF�µ�Ã.83µ�Ã04 ³ 8:ºEº¸F¡Åm1:¶`- ² F�8q6<1qµ�Ã<4�¶�4�à08qBC¹0º�4�1qŵ�Ã04�F�D�60È:º�4�Î�µY8:¶�È^4�µ ��=Ð?�=bÝ ³ 1:6.F�D¸;b4�¶�8q6Ð8:Abµ�1^BC8qµ�4`;9µ�4�º�4�¹<Ã01:604�Î�Í.8:F�47;9DE6XµY4�¶J8 ³ µYDEÇ^4¹0¶�1b;bA ³ µ�F�4�º�4 ³ µYDE1^6Ì8:6<;�F�8:ºE4`F�F�ÆbF�µ�47B9- ����60132)º�47;bÈ^4�Åm1^¶�µ�Ã0D¸F$;b1^B�8qD�6 ³ 1:A0º¸;¾Í.4(¶Y4�¹0ζ�4`F�476^µY47;Ì8:F�8 ³ 1^6<FQµY¶Y8:DE6Xµ�604�µQ251^¶�·ËD�6¾2)Ã<D ³ Ã̵�Ã<4 µJ8q¶YÈ:4�µ�¹.8q¶J8qBC4�µY4�¶�¶�47¹0¶Y47F�4�6XµYF¡µ�Ã<4¹0¶�1b;bA ³ µ)2)Ã0D ³ ÃáÍ@47F�µ)B�474�µJF�8 ³ A<F�µ�1:BC47¶ F�604�4`;0F�Âb2)Ã<DEº�4�1qµ�Ã<4�¶)¹<8:¶Y8:B�4�µ�47¶YF5¶�47¹0¶Y47F�4�6XµF�8:ºED�4�6XµV8^F�¹@4 ³ µYF�1qÅbµ�Ã<4�F�DgµYA<83µYDE1^6$D�6$2)Ã0D ³ Ã�µ�Ã04 ³ A.FQµY1:BC4�¶*¹0¶�1^¹.1XF�4`FtµY1�A<F�4�µYÃ04¥¹0¶Y1b;bA ³ µµ�Ã<8qµ�Ã04�2)D¸F�Ã04`F�µ�1�¹0A0¶ ³ Ã<8:F�4:-<=LD�6 ³ 4$8 ³ A<F�µ�1^B�47¶�D¸F)ºED�·:47ºEÆ�µ�1(Ã.8q60ÈCA0¹ËD�6�Åm¶�A.FQµY¶Y8qµ�D�1:6DgÅ�Ã04�D�F�8^F�·^47;�µ�1L1¾B�8:6XÆ �^A<47F�µ�D�1:6<F7Â�8ÌF�A ³7³ 47FYF�ÅmA0º)F�ÆbF�µ�4�B 2)DEº�º)µ�¶YÆ�µ�1É8^F�·�8^F�Åm4�2�^A<47F�µ�D�1:6<F)8^F�¹.1XF�F�DEÍ<ºE4^-� �� ���±�����������¬0­���°���«L­��÷¯����^«0±Q­5ª! "��ª#��¬$�V«0±Q­¥ªûO6 µYÃ0D¸F¥F�4 ³ µYDE1^6�Â32�4)2)DEº�º ³ 1^6<F�D�;b47¶�1:6<4�8:¹0¹0¶Y1^8 ³ Ã$µ�1�È^4�6047¶Y8qµ�D�60È�8q6C1:¹0µ�D�BC8:º �XA047F�µ�D�1:60ÎDE60È�F�µ�¶J83µY4�È:Æ^- � Ã0DEº�4�DEµ�BC8yÆ�Í@4�¹0¶J8 ³ µ�D ³ 8qº>D�6 ³ 8:F�47F�2)Ã047¶�4�µYÃ04 ³ 1:6.FQµY¶Y8:DE6Xµ�604�µQ2�1:¶Y·�D�FF�B�8qº�º�ÂXDEµ)D�F�A06<ºED�·:47ºEÆCµY1�Í@4�A<F�4�ÅmA0º>Åm1:¶);b4`8qº�DE6<È 2)DEµ�Ã9¶�4`8qºEÎ�2�1:¶Yº¸;�F�DEµ�A<8qµ�D�1:6<F�2)Ã047¶�4¡µ�Ã<4³ 1:6.FQµY¶Y8:DE6Xµ�604�µQ251^¶�·bF�8:¶�4�ºED�·:47ºEÆáµ�1áÍ.4 �XA0DgµY4�Í0D�È<- ��47Ç:47¶�µYÃ04�º�47FYF�Â<254 ¹0¶�4`F�476Xµ�µ�Ã04C8q¹0ι0¶�1X8 ³ ÃáÍ.4 ³ 8qA.F�4�DEµ�DEº�º�A<FQµY¶Y8qµ�4`F�F�1^BC4 ³ 1:6 ³ 4�¹bµJF)2)Ã0D ³ ÃË8q¶YD�F�4¡D�6�µ�Ã<4�1qµ�Ã<4�¶�8q¹<¹0¶�1X8 ³ Ã04`Fµ�Ã<8qµ 2�4(2)DEº�º ³ 1:6.F�D¸;b4�¶`-�Ñ�Ã0498q¹0¹<¶�1X8 ³ Ã̶�47ºED�47F�1:6ɹ0¶YDE1^¶ ³ 1^BC¹0AbµY8qµ�D�1:6É1:Å)µ�Ã04áDE6Xµ�476Xµµ�Ã<8qµ�D�F�D�BC¹0ºED ³ DEµ�D�69µ�Ã04 ³ 1:6<F�µ�¶J8qD�6Xµ�604�µQ251^¶�·>-=LA0¹0¹@1^F�4еYÃ<83µ`Â�D�6 µYÃ04 ³ 1:6<F�µ�¶J8qD�6Xµ�604�µQ251^¶�· »e¼¾½�¿�½JÀ�Á�Åm1^¶�µYÃ04ÌBC8:¹bÎ ³ 1:º�1:A<¶�D�60È

4�à08qBC¹0º�4�254 ³ 1^6<F�D�;b47¶�4`; 8:Í.13Ç^4:Â`µ�Ã<4)¹<8q¶J8qBC4�µY4�¶JFVDE6�µ�A<¹0ºE4�¿ö8:¶�4�1^¶Y;b47¶�4`;�» õ 47¶�B�8q6LÆ^Â=L2)Dgµ ��47¶�º¸8q6<;� ² A<F�µ�¶YD¸80Â3û}µY8:ºEÆCÁ�-:Ñ�Ã<4)DE6Xµ�476Xµ�µ�Ã<8qµ�D�F�D�BC¹0º�D ³ DgµYºEÆC;b4�Ó.6047;�D�6 �VD�È:A0¶Y4� Ü 8XÞD�F7Â3µ�Ã<4�6� )�»&%3½('>½*)3½+%qÁ�Â@»&%3½*)3½('>½+%qÁ�Â@»,'>½+%3½*)3½('0Á�Â<»&'@½-)y½+%3½+'bÁ�Â<».)y½/%3½('>½*)�Á�Â<».)3½('>½+%3½*)�Á +^-qû}Å>µ�Ã<4F�ÆbF�µ�4�B ·L604�2 µ�Ã<8qµ)µ�Ã04 ³ 1:6Xµ�476XµYF)1:Å*µYÃ04�DE6XµY4�6Xµ�8q¶Y4�8:F��QA<F�µ�È:D�Ç:476�Â0DEµ ³ 1^A0º�; ³ 1:BC¹0AbµY4Åm¶�1^B µ�Ã0D¸F µ�Ã<8qµ7ÂVÅm1:¶C478 ³ Ã�¹@1^FYF�D�Í0º�4áÇ38qº�A04á1qÅ õ 47¶�B�8q6LÆ^ÂV1^60º�ÆÌ1^6049Çy8:ºEA<4áD¸F 8:ºEº�132�47;Åm1:¶�û}µY8:ºEÆ^-Xû}µ ³ 1:A0º¸;�8:º�F�1 ³ 1:BC¹0AbµY4�µYÃ<83µ`ÂLÅm1:¶�478 ³ Ã(¹.1XF�F�D�Í0ºE4�Ç38qº�A04�1qÅV=b2)Dgµ ��4�¶Yº¸8q6<;tÂXµQ2�1Çy8:ºEA<47F�8q¶Y4�8qº�ºE132�47;9Åm1^¶¡û}µJ8qº�Æ:-t=LD�B�D�º¸8q¶YºEÆ^Â<DEµ ³ 1:A0º¸;Ð8qº¸F�1 ³ 1^B�¹<Abµ�4�µ�Ã<8qµ�4`8 ³ Ã˹@1^FYF�D�Í0º�4Çy8:ºEA<4�1qÅ ² A<F�µ�¶YD�8�8^;bBCDgµJF�µQ2�1�Çy8:ºEA<47F�Åm1^¶)û}µY8qº�Æ:-.Ñ�Ã04�¶Y4�Åm1^¶�4^ÂLµ�Ã04�F�ÆbFQµY4�B 251^A0º�;9·L60132µ�Ã<8qµ7Â:DEÅ�DEµ¥2�8:6XµYFµY1$D�;04�6Xµ�DEÅmÆ�µYÃ04�Ç38qº�A04�1:Åtû}µY8qº�ÆC8:F �XA0D ³ ·LºEÆ�8:F�¹@1^FYF�D�Í0º�4:Â^Dgµ5F�Ã01^A0º�;�8^F�·8qÍ@1:Abµ õ 47¶�B�8q6LÆ^-021 W^M��VS7MQcÐ[�K7RÌ�bH�MQHJ�yK�M�h^H�h¾K7�$I^MQHYfg\]P�\]RLK�MO���}NQHJIX��NQSËh:HJ�yHJf]S7IX\]RX�9K9[JS`R^�}NOM�K7\]R3NO�e�LK7�OHJhK7I^I^MQSyK�[��CNQS�\]R3NQHYM�K�[YNQ\]�yH�h^\gK7�7RXS`�O\]�J�43É�^\]fgH)NQ�^HYMQH�\g�5K�fgK�MQ�7H¡H � \]�}NQ\]RX�$f]\¤NQHYM�K�NQW:MQH�S7RCMQWXf]HY��LK��OH�hÉh^\gK7�7RXS7�O\g�J_�NQ�^HCMQ\][��^HYM�H � I:MQHJ�O�O\]�yHJR^HJ�O� S�T�[JS`R^�}NOM�K7\]R3NQ� IbS7�OHJ����MQH�K�NQHYM I^MQS3[YHJ�O�O\]RX�[JS`P�I^f]H � \]N �3_q\]RCILK�MONQ\g[YWXfgK�M����XHYRC\¤N5[YS`P�HJ�NQS��3W^HJ�}NQ\]S`RC�7HJRXHYM�K�NQ\]S`R.�

5 d�R3NQHYM�K�[YNQ\]�yHI^MQSqh:WX[YN76(89-:<;=�>�?A@,B&89X_3K7��S`I^IbS`�OH�h¡NQS��OHJf]HJ[YNQ\]S`R<_y[JS�MOMQHJ�OIbS`RXh^�tNQS)K�P¡WXf¤NQ\]IXf]HY�N�K�MQ�7HYN 12C Z�U�ZED>�

Page 25: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Ñ�1$¹<¶�47¹<8q¶Y4)1:A0¶JF�4�º�Ç:47F�µ�1 ³ 1:6<F�D�;04�¶�µYÃ04�º¸83µY4�¶58:¹0¹0¶Y1^8 ³ Ã047F7Â3Dgµ�Dgµ�A<F�4�ÅmA0º.µ�1 ³ 8:F�µ�µYÃ0D�F8q¶YÈ:A0BC4�6Xµ�DE6̵Y4�¶YBCF�1:Å5¹0¶Y1:Í.8qÍ0D�ºEDEµ�D�47F�8:6<;Ì4�àb¹.4 ³ µY47;¾Çy8:ºEA<47F�1qÅ�;b1:B�8:DE6�F�D���4`F�-tû}Å�µ�Ã<4F�ÆbF�µ�4�B ·L604�2 µ�Ã.83µ)µ�Ã<4 ³ 1^6^µY4�6XµYF�1qÅVµ�Ã04$D�6Xµ�476^µ�8q¶Y4�8^F)È:D�Ç:476Ë8qÍ@13Ç:4:ÂbDEµ ³ 1:A0º¸;tÂ�� Ú���å3ú�Úð ���3ÖØ×���ðq× ����ù<Ú���Ù Öeåq× Â ³ 1^B�¹<Abµ�4�8q6(4�àb¹.4 ³ µ�4`;�;b1^B�8qD�6�F�D���4¡Åm1:¶�¹<8:¶Y8:B�4�µ�47¶¥û}µY8:ºEÆ�8qÅص�4�¶ºE4`8q¶Y60DE6<È µYÃ04�8:6<F�2�4�¶�µY1�478 ³ Ãá¹@1^FYF�D�Í0º�4�Ó<¶JFQµ �XA04`FQµYDE1^6�-��4�µ� % ��) Ü�� '��0Þ�;b47601qµY4�µ�Ã<4¹0¶�1^Í<8qÍ<DEº�DgµQÆ̵YÃ<83µ`ÂVDEÅ�µYÃ04�F�ÆbF�µ�4�B 8^F�·bF$Åm1:¶�µ�Ã04 ³ 1^ºE1^A0¶�1qÅ¡F�1:BC4 ³ 1:A06XµY¶�Æ � ÂVDgµ�2)D�ºEº¶�4 ³ 4�D�Ç:4�µYÃ04¾8:6<F�2547¶��>-5Ñ�Ã04Ð4�àb¹.4 ³ µ�4`; ;b1:B�8:DE6£F�D �74ËÅm1:¶áû}µY8:ºEÆÏ83ÅصY4�¶á8^F�·LD�60È�8qÍ@1:A0µõ 4�¶YBC8:6LÆ(D�F�% ��) Ü���� %��������%'�%qÞ�� �� % ��) Ü���� %!�"�����&'�'bÞ�� ��#�%���) Ü���� %�������� ' )�Þ$� &%=LDEBC¹0º�DEÅmÆXD�60ÈCµYÃ0D�F7Â02�4�È:4�µ

% ��) Ü���� %��"����� ' %3Þ��#�%���) Ü���� %��������%'�'0Þ$�#�% ��) Ü���� %��������%'�)�Þ2)Ã0D ³ Ã�4��^A.8qº¸F ^Â<F�DE6 ³ 4�µ�Ã04�¹0¶Y1:Í.8qÍ0D�ºEDEµ�D�47F�Åm1^¶�µ�Ã04$;0DgÒ>4�¶Y4�6Xµ�Ç38qº�A047F�1:Å õ 47¶�B�8q6LÆ(B A<F�µF�A0B�µ�1ËA<60DgµQÆ^-V=LD�BCDEº¸8q¶Yº�Æ:Â�µYÃ04(4�àL¹@4 ³ µ�4`;É;b1:B�8qD�6ÉF�D���4(Åm1:¶$û}µJ8qº�ƾ83ÅصY4�¶�8:F�·XD�60ÈË8qÍ@1:A0µ² A<F�µ�¶YD�8�D¸F

% ��) Ü�')(+*-, %�./� ' %qÞ0� �1� % ��) Ü�')(+*-, %�./� '�'bÞ�� �1�#�%���) Ü�'1(�*-, %�.2� '�)�Þ$� �2)Ã0D ³ à 4�Ç38qº�A<8qµ�47F µY1 �0-��VD�6<8qº�ºEÆ^ÂVµ�Ã04�4�àb¹@4 ³ µ�47; ;b1:B�8:DE6´F�D���4áÅm1:¶Cû}µY8:ºEÆÉ8qÅص�4�¶�8^F�·LD�60È8qÍ@1:Abµ¡=L2)DEµ �74�¶Yº�8:6<;tÂb2)Ã0D ³ Ã9D�F

�% ��) Ü�354 . ,76 '"%qÞ0� �1� % ��) Ü8354 . ,76 '"'bÞ$� �1� % ��) Ü8354 . ,76 ' )�Þ$� �8qº¸F�1�47Çy8:ºEA.83µ�4`Fµ�1 �b-:Ñ�ÃLA<F7ÂqµYÃ04�4�àb¹@4 ³ µ�47;�;b1:B�8qD�6�F�D���4^Â^8qÅص�4�¶58:F�·XD�60È�1^604 �XA047F�µ�D�1:6�ÂqD�FF�B�8qº�º�47F�µ�DEÅ�µ�Ã.83µ��^A<47F�µ�D�1:6�D¸F�8qÍ@1:Abµ õ 4�¶YB�8q6LÆ:->Ñ�Ã04�¶Y4�Åm1^¶�4^Â<µYÃ04CF�ÆbF�µ�4�B&·L60132�F�µ�Ã.83µ7ÂDgÅ�Dgµ�D¸F�DE6XµY4�¶Y47F�µ�47;¾D�6¾6<8:¶�¶Y132)D�60È(µYÃ04C¹.1XF�F�DEÍ<DEº�DgµYDE4`F�Åm1:¶�û}µJ8qº�Æ�8:F��XA0D ³ ·Xº�Æ�8^F¡¹@1^FYF�DEÍ0º�4:ÂDgµJF)Í.4`FQµ ³ Ã.8q6 ³ 4�1:ÅV;b1^DE6<ÈCF�1CD�F)µ�1�8:F�·�8qÍ@1:A0µ õ 47¶�B�8:6XÆ(Ó<¶YF�µ7-9 : �5; �=<�±�ª)>'«$�#� ©Xª¥«4��ª5«² ºEµ�Ã01^A0È:Ã�µ�Ã<4)¶Y8qµ�D�1:6<8:ºE45Åm1:¶ �XA04`FQµYDE1^6�F�4�º�4 ³ µ�D�1:6�È:D�Ç:476�8:Í.13Ç^4�2�8:F4�àb¹0¶�4`F�F�47;�DE6�µY4�¶YBCF1qÅ�µ�Ã04á4�àb¹@4 ³ µY47;É;b1^B�8qD�6�F�D���4CÅm1^¶$µ�Ã<4�µY8:¶�È^4�µ�¹<8:¶Y8:BC4�µ�47¶7Â>µYÃ04áFY8qBC4(8:¹0¹0¶Y1^8 ³ à ³ 8:6Í.4�4�àb¹0º¸8qD�604`;�Åm¶Y1:B 8Ì;bDEÒ@47¶�476^µ�¹@4�¶JF�¹@4 ³ µ�D�Ç:4^- �¾4 ³ 1^A0º¸;÷Ã<8yÇ^4�A<F�47;Ï=LÃ<8:60601^6 F�ûO6bÎÅm1:¶YBC8qµ�D�1:6ËÑ�Ã0471:¶YÆ � ?!��-@Ñ�Ã<83µ�D¸F7 ³ Ã01L1^F�D�60ÈCÍ.4�µQ25474�6 �XA047F�µ�D�1:6<F�1:6�µ�Ã<4$Í<8:F�D¸F�1qŵ�Ã047DE¶4�Ò>4 ³ µYDEÇ^4�604`F�F(DE6϶Y47;bA ³ DE6<ÈÉ4�6Xµ�¶Y1:¹LÆ�2�1:A0º¸;´ºE4`8:; µ�1É4�à08 ³ µYºEÆ÷µ�Ã04¾F�8:B�4 �XA04`FQµYDE1^60D�60ÈFQµY¶Y8qµ�4�È^Æ:-bûO6<;04�47;�Â<1:A<¶�A<F�4�1qÅ�4�àb¹@4 ³ µY47;Ë;b1^B�8qD�6�F�D���4�D�6 ³ Ã01L1^F�DE60È%�XA04`FQµYDE1^6<F)D¸F�F�D�BCDgκ�8:¶�µ�1�µ�Ã04�A.F�4�1:Å*4�6XµY¶�1^¹XÆ�¶�4`;bA ³ µYDE1^6áD�6#@�4 ³ D¸F�D�1:6�Ñ*¶�474�º�478:¶�6<DE60È � A��}-ûO6�Åe8 ³ µ`Â.8:6Ð8qºEµ�4�¶Y6<8qµ�D�Ç:4$8q¹<¹0¶�1X8 ³ Ãáµ�1(1^A0¶)µJ8:F�·�D¸F�¹0¶Y1:BC¹bµY47;�ÍLÆ�µYÃ04$1^Í<F�47¶�Ç38qµ�D�1:6

µ�Ã<8qµ ¡¹bµ�D�B�8qº �¡A<47F�µ�D�1:60D�60È�=XµY¶Y8qµ�4�È^Æ(È:47604�¶J83µYDE1^6áD�6 ³ 1^6<F�µ�¶J8qD�6^µ)604�µQ251^¶�·bF�D¸F�F�DEBCD�º�8:¶µ�1"@�4 ³ D¸F�D�1:6�Ñ*¶Y4�4B��478:¶�60D�60È.-@Ñ�Ã0D¸F�F�4 ³ 1^6<;Ð8q¹<¹0¶�1X8 ³ ÃËD¸F�º�D�·:4�º�Æ9µ�19Í.4�BC1:¶Y4�¹0¶J8 ³ µ�D ³ 8:ºµ�Ã<8:6�µYÃ04�Ó<¶JFQµ�8q¹<¹0¶�1X8 ³ Ã$Í@4 ³ 8qA<F�4�Dgµ¥;b1L4`F601qµ�¶Y4��XA0D�¶�4�·L60132)ºE4`;bÈ:4�1qÅ.µ�Ã04�D�6Xµ�4�6Xµ�1:Å<µ�Ã<4³ 1:6.FQµY¶Y8:DE6Xµ�604�µQ2�1:¶Y·>Ô`µ�Ã<8qµ¥D�F7Â3DEµ5;b1L47F601:µ�¶�4��XA0DE¶Y4�¹0¶YDE1^¶�F�1^ºEAbµYDE1^6 1:Å.µYÃ04�ß�6LA0BC47¶Y8qµ�D�1:6?�=bÝ-tûO6<F�µ�478^;tÂ�8:F�2�4�F�Ã<8:ºEº�F�4�4�Í@4�º�132�Â>µ�Ã0D¸F�F�4 ³ 1^6<;¾8:¹0¹0¶Y1^8 ³ Ãж�4��XA0DE¶Y47F�F�1:º�ÇLDE60Èáµ�Ã<4ß�àb4�BC¹0º�DgÓ ³ 83µYDE1^6C?�=bÝÂ32)Ã<D ³ Ã�D�F ³ 1:BC¹0AbµJ83µYDE1^6<8qº�ºEÆ�B�A ³ Ã�ºE4`F�FV4�àL¹@4�6.F�D�Ç:4�µ�Ã.8q6CF�1^ºEÇLD�60ȵ�Ã04$ߥ6XA<B�47¶Y8qµ�D�1:6Ë?�=bÝ-² ;04 ³ D¸F�DE1^6е�¶Y4�4 � A���D¸F�8(µY1L1:ºÅm1:¶ ³ º�8^F�F�DEÅmÆXD�60È9DE6.FQµJ8q6 ³ 47F¡Åm¶�1^B F�1:BC4 ¹@1:¹<A0º�8qµ�D�1:6�-

² 601^6bÎ�º�478qÅ�601b;b4$D�6˵�Ã04$µ�¶Y4�4�D¸F�8 �^A<47F�µ�D�1:6Ë2)Ã01XF�4 ³ Ã<DEº¸;b¶Y4�6Ð8q¶Y4 ³ 1^60604 ³ µ�4`;9µ�1(DEµ¡ÍLÆ

Page 26: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

47;bÈ^47F 2)Ã0D ³ à ³ 1:¶Y¶Y47F�¹.1^6<;̵�1�µ�Ã049¹.1XF�F�D�Í0ºE498q6<F�2�4�¶JF�Åm1:¶ µ�Ã<4��XA04`FQµYDE1^6�- ² º�4783Å�6<1L;04DE6÷µ�Ã04�µ�¶Y4�4�D¸F�8 ³ º¸8:FYF�DgÓ ³ 83µYDE1^6�- � Ã0476 8:6�DE6.FQµJ8q6 ³ 4(Åm¶Y1:B µ�Ã04á¹.1^¹0A0º¸83µYDE1^6�D�F�µ�1ÌÍ@4³ º¸8:FYF�DEÓ<47;�Â0Dgµ�D¸F�8:6<8qº�ÆbF�4`;98 ³�³ 1:¶J;bDE6<È�µY1Cµ�Ã04"�XA04`FQµYDE1^6<F)476 ³ 1^A06Xµ�4�¶Y47;98qº�1:6<È µYÃ04$¹<8qµ�Ã�ÂÅm¶�1^BÕµ�Ã<4$¶�1L1:µ�601b;b4:Â<µ�Ã<8qµ ³ 1:¶Y¶Y47F�¹.1^6<;(µY1�µ�Ã<4�8q6<F�2�4�¶JF52)Ã<D ³ Ã�µYÃ04�83µ�µ�¶YDEÍ<Abµ�4`F)1qŵ�Ã<4DE6<F�µY8:6 ³ 4�È:D�Ç:4�µ�1�µ�Ã04��XA047F�µ�D�1:6.F�Ô^µ�Ã0D¸F�¹<83µYÃ�47Ç:4�6XµYA<8qº�ºEÆCº�478^;0F5µ�1 8 º�4783ÅØÎ}601b;b4¡2)Ã0D ³ ÃáD�Fµ�Ã04 ³ º�8^F�F�DgÓ ³ 83µYDE1^6(Åm1^¶�µ�Ã04�D�6<F�µY8q6 ³ 4:-² 6<F�2547¶�D�60È �^A<47F�µ�D�1:6<F5¹.1XF�4`;(ÍLÆ(8$B�8 ³ Ã0DE6<4¡2)Ã0D ³ Ã�Ã.8:F�F�1^ºEÇ^47;CµYÃ04$=LDE6<È:º�4�ÎOÑ*8:¶�È^4�µ

��=C¹0¶Y1:Í0º�4�B ³ 8:6�Í.4 ³ 1^BC¹<8q¶Y47;C2)DEµ�Ã�µ�Ã04�¹0¶Y1 ³ 47FYF�ÍLÆC2)Ã0D ³ Ã�8�;b4 ³ D¸F�D�1:6(µ�¶Y4�4 ³ º�8^F�F�DEÎÓ<47F¡8q6�DE6.FQµJ8q6 ³ 4:-<Ñ�Ã04 ;b1:B�8qD�6�1qŵ�Ã<4�µY8:¶�È^4�µ�¹<8:¶Y8:B�4�µ�47¶)DE6�µYÃ04 ³ 1^6<F�µ�¶J8qD�6^µ)604�µQ251^¶�·³ 1:¶Y¶Y47F�¹.1^6<;0F¡µ�1�µYÃ04�¶Y8:60È:4C1:Å5¹@1^FYF�D�Í0º�4 ³ º¸8:FYF�DEÓ ³ 8qµ�D�1:6<F¡µYÃ<83µ$B�8yÆ�¶Y47F�A0ºEµ�Åm¶�1^B�8�;b4�γ D¸F�D�1:69µ�¶Y4�4$8:6<8qº�ÆbF�D¸F�1qÅ�8q6�D�6<F�µY8q6 ³ 4:-.Ñ�Ã04�601:60ΠµJ8q¶YÈ:4�µ)¹<8:¶Y8:BC4�µ�47¶YF�D�6�µ�Ã04 ³ 1:6<F�µ�¶J8qD�6Xµ604�µQ2�1:¶Y· ³ 1^¶�¶Y47F�¹.1^6<;�µY1�µ�Ã04�D�6<FQµJ8q6 ³ 4)83µ�µY¶�D�Í0AbµY47FVµYÃ<83µ¥8:¶�4�4�à08qBCD�6047; ÍLÆ�µ�Ã<4 �XA04`FQµYDE1^6601b;b47F�DE6�8Ð;04 ³ D¸F�DE1^6¾µY¶�474:-*ûO6ÉÅe8 ³ µ7Â�µYÃ04(¹@1:¹0A<º�8qµ�D�1:6É1qÅ)D�6<F�µY8q6 ³ 47F�2)Ã0D ³ Ã�8Ð;b4 ³ D�F�D�1:6µ�¶Y4�49D�F�F�A0¹0¹@1^F�47;�µ�1�Í.4 ³ 8q¹<8:Í0ºE491qÅ ³ º¸8:FYF�DEÅmÆLDE60È ³ 1^¶�¶Y47F�¹@1:6<;0F�µ�1¾µ�Ã<49D�6Xµ�476^µ�1:Å�µ�Ã<4³ 1:6.FQµY¶Y8:DE6Xµ56<4�µQ2�1:¶Y·@âX478 ³ Ã(µYA0¹0º�4�D�6áµ�Ã04 ³ 1^6<F�µ�¶J8qD�6^µ�604�µQ2�1:¶Y·CDE6XµY4�6Xµ ³ 1:6XµJ8qD�6<F�µYÃ04�;b4�ÎF ³ ¶�D�¹bµ�D�1:6¾1qÅ�8q6�D�6<F�µY8:6 ³ 4C8q6<;¾DEµYF ³ 1^¶�¶Y47F�¹@1:6<;bD�60È ³ º¸8:FYF�DEÓ ³ 8qµ�D�1:6 (�µ�Ã<4�Ç38:ºEA04^ÂtDE6¾µ�Ã<4µ�A0¹0º�4:ÂL1:Å�µ�Ã04¡µY8:¶�È^4�µ�¹<8q¶J8qBC4�µY4�¶ ³ 1:¶Y¶Y47F�¹.1^6<;0F�µY1�µYÃ04 ³ º¸8:FYF�DEÓ ³ 8qµ�D�1:6�Â^2)Ã0D�ºE4¡µ�Ã04�Ç38qº�A047F1qÅ�µYÃ04�601:6bÎ�µY8:¶�È^4�µ�¹<8q¶J8qBC4�µY4�¶JF ³ 1:¶Y¶�4`F�¹@1:6<;�µ�1 µ�Ã04�83µ�µ�¶YDEÍ<Abµ�4�Î�Ç38qº�A04`F¥1:Å�µ�Ã<4¡D�6<F�µY8q6 ³ 4:-

� Ã0DEº�4�;b4 ³ D¸F�D�1:6�µY¶�4747F ³ 1:A<º�;�Í@4 ³ 1:6<F�µ�¶YA ³ µY47;�B�8q6LA<8:ºEº�Æ:Â<µ�Ã047Æ98:¶�4�6<1:¶YBC8:ºEº�Æ ³ 1:60ÎFQµY¶�A ³ µ�4`; ÍLÆ´B�8 ³ Ã0DE6<4кE4`8q¶Y60D�60È÷8qº�È:1^¶�DEµ�Ã<BCF ³ 8:ºEº�47;�@¡4 ³ D�F�D�1:6£Ñ*¶�474 ��4`8q¶Y60D�60È÷8qº�È:1:ζ�DEµ�Ã0B�F�� A��}-L=LA ³ Ãá8q6á8qº�È:1:¶YDEµ�Ã0B#D�F�È^DEÇ^4�6(8 ��ðqì�í>îEÚ Åm¶Y1:B#µ�Ã<4¡¹@1:¹0A<º�8qµ�D�1:6�8:ºE1^60È$2)DEµ�Ã�ÂÅm1:¶�478 ³ Ã�BC47B�Í@4�¶�1qÅtµYÃ04�FY8qBC¹0º�4:ÂXDEµYF�8q¹0¹0¶Y1:¹<¶�D¸83µY4 ³ º¸8:FYF�DEÓ ³ 83µ�D�1:6�-��Ì4�Ã<8yÇ^4¡F�4�4�6(µ�Ã<8qµµ�Ã04�¹.1^¹0A0º¸83µYDE1^6(1qÅ�D�6<F�µY8:6 ³ 4`F�µY1�Í@4 ³ º�8^F�F�DgÓ.47;CÍLÆ(8�;b4 ³ D¸F�D�1:6(µ�¶Y4�4 ³ 1:¶Y¶�4`F�¹@1:6.;0Fµ�1 µ�Ã<4DE6Xµ�476Xµ�1:Å�8 ³ 1^6<F�µ�¶J8qD�6^µ�604�µQ2�1:¶Y·>-V=LD�6 ³ 4á8�;04 ³ D¸F�DE1^6ɵ�¶Y4�4áºE4`8q¶Y60DE6<Ⱦ8qº�È:1^¶�DEµ�Ã<B�604747;0F1:60º�ƾ8ËFY8qBC¹0º�4�1qÅ�µ�Ã<4�¹.1^¹0A0º¸83µ�D�1:6�Â�µ�Ã<D�F$F�A0È^È:47F�µYF�µYÃ<83µ 254(F�Ã01:A<º�;ÌÍ@4�8qÍ0º�4Cµ�1�È:4�60Î4�¶J83µ�4�8 ³ 1:6<F�µ�¶J8qD�6Xµ�Î}Í<8:F�47; �^A<47F�µ�D�1:60D�60ÈÐF�µ�¶J83µ�47È:ÆÐDEÅ)254�·L60132 1:60º�ƾ8ËFY8qBC¹0º�4C1qÅ�µ�Ã<4604�µQ2�1:¶Y·�DE6XµY4�6Xµ � -ûO6Ð1qµYÃ04�¶¡251^¶Y;0F7Â<D�6<F�µ�4`8:;Ë1:Å�¶�4��^A<DE¶YDE6<È�¹0¶�D�1:¶�F�1^ºEA0µ�D�1:6Ë1qÅ�µYÃ04Cß�6LA0BC4�¶J83µYDE1^6Ð?�=0Ý

Ü D�6 1:¶J;b4�¶CµY1 ³ 1:BC¹0A0µ�4˵YÃ04 ³ 1^B�¹<ºE4�µ�4ÐD�6Xµ�4�6Xµ�Þ�Â¥DEµáF�Ã01:A<º�;´Í@4˹.1XF�F�DEÍ<ºE4�µY1�ºE4`8q¶Y6´8:68q¹0¹0¶Y1:¹<¶�D¸83µY4 F�4�µ�1qÅ��XA04`FQµYDE1^6<F¡Åm¶�1^B 8�¶Y4�º¸83µYDEÇ^4�º�ÆËF�B�8qº�º�F�4�µ�1qÅ58:ºgµY4�¶Y6<83µYDEÇ^4�F�1:º�Abµ�D�1:6.Fµ�1˵YÃ04�ß�àb47B�¹<ºEDEÓ ³ 8qµ�D�1:6÷?�=bÝ�Ô*8q6�D�BC¹.1^¶�µJ8q6Xµ�¶Y4��XA0D�¶�47B�476Xµ7Â�1:Å ³ 1:A0¶JF�4^Â�D¸F�µ�Ã.83µ$µYÃ0D�FF�4�µ¡1qÅ�8qºEµ�4�¶Y6<8qµ�D�Ç:4�F�1:º�Abµ�D�1:6.F�F�Ã01:A0º¸;ËÍ@4 ¶Y4�¹<¶�4`F�476^µJ83µYDEÇ^4$1qÅ�µYÃ04 13Ç^4�¶J8qº�º�D�6^µY4�6Xµ¡1:Å�µ�Ã<4604�µQ2�1:¶Y·>-² 6�DE6LÇ^47F�µ�D�È^83µYDE1^6á1:ŵ�Ã0D¸F�8q¹<¹0¶�1X8 ³ Ã9D�F�¹<8q¶�µ�1qÅ1:A0¶�1:60È^1:D�60ÈC¶�4`F�4`8q¶ ³ Ã�-bÑ�Ã04$Í<8^F�D ³

D�;b4`8�D�F�8^F�Åm1:º�ºE132�F7âbA<F�4�¶�47¹.4`83µY47;áDE6LÇ:1 ³ 83µ�D�1:6.F51:Å8CF�478:¶ ³ Ã98qº�È:1:¶YDEµ�Ã0BöµY1CÓ<6<;�F�4�Ç:47¶Y8:º¶Y8:6<;b1:BCº�Æ(;bD¸FQµY¶�D�Í0AbµY47;�F�1^ºEA0µ�D�1:6<F�µY1 µYÃ04$ß�àb47B�¹<ºEDEÓ ³ 8qµ�D�1:6Ð?�=bÝ�ÔLµYÃ04�6�A<F�4�8�;b4 ³ D�F�D�1:6µ�¶Y4�4�ºE4`8q¶Y60DE6<Èá8qº�È:1^¶�DEµ�Ã<Bʵ�19ºE4`8q¶Y6�8á;04 ³ D¸F�DE1^6е�¶Y4�4 Åm¶Y1:Bʵ�Ã<D�F�FY8qBC¹0º�4 1:Å�µ�Ã<4�13Ç^4�¶J8qº�ºDE6Xµ�476Xµ�1:Å�µ�Ã<4 ³ 1:6<F�µ�¶J8qD�6Xµ¡604�µQ251^¶�·>- �¾4�8:¶�4�DE6LÇ^47F�µ�D�È^83µYDE6<È�A<FY8qÈ^4�1qÅ¥µ�Ã04�8q¹<¹0¶�1X8 ³ Ã04`F¹0¶�4`F�476Xµ�47;�D�6�� �0Â�����Åm1^¶�È:47604�¶J83µYDE6<È�¶Y8:6<;b1:B�F�1^ºEA0µ�D�1:6<F�µ�1�µYÃ04 ß�àL47BC¹0ºEDEÓ ³ 83µ�D�1:6�?�=bÝÂ8:F�¹<8:¶�µ)1qÅVµ�Ã<D�F�FY8qBC¹0º�4�Î}Í<8^F�4`;�8q¹<¹0¶�1X8 ³ Ã�µY1�È:47604�¶J83µYDE60È �XA047F�µ�D�1:6<DE60È�F�µ�¶J83µY4�È:D�47F7-¡A0¶)251^¶�·�1^6áº�478:¶�6<DE60È�8 �XA047F�µ�D�1:6<DE60È�F�µ�¶J83µY4�È:ÆCÅm¶Y1:B ¶Y8:6<;b1^B�º�Æ�È:47604�¶J83µY47;9F�1^ºEA0Î

µ�D�1:6<F¡µ�1áµ�Ã<4Cߥ6LA0BC4�¶J83µ�D�1:6�?�=bÝ£D¸F�Â>Ã0132�4�Ç^4�¶`Â@F�µ�D�º�ºVD�6ÌDgµJF¡4`8q¶YºEÆËF�µY8:È:47F7->Ñ�Ã04 ¶Y47F�µ�1qŵ�Ã0D¸F)¹<8:¹.47¶)¶�47¹.1^¶�µJF51^698C;bDEÒ>4�¶Y4�6Xµ�8q¹0¹<¶�1X8 ³ Ã�ÂX2)Ã04�¶Y4�1:A0¶)2�1:¶Y·�D¸F�ÅmA0¶�µYÃ04�¶�8^;bÇ38q6 ³ 47;t-

��� [�cqRXS���f]H�h^�7HJP�HJR3N�¢�NQ�X\]��S`�X�OH�MQ�`K�NQ\gS7R���K��*P$K7h^H�3��DtK�N�@K�RX�7fgH���h:W^MQ\]RX�)K5[JS`Rq�yHYMQ�QK�NQ\]S`R.�

Page 27: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

� ©Xª¥«4��ª5«��y±�ª�®#� � ��ª�®#��ª5« �÷¯�� �:«0±�­¥ª��E ���ª#��¬$�V«0±Q­¥ª=L1ËÅe8q¶`Â�2�4�Ã<8yÇ^4�1:AbµYºED�6047;ɵQ251Ð8:¹0¹0¶Y1^8 ³ Ã<47F�µ�1 �^A<47F�µ�D�1:6ÉÈ:47604�¶J83µYDE1^6�Ât1:6<4(1qÅ)2)Ã0D ³ ö�4��^A<DE¶Y47F�¹0¶YDE1^¶ ³ 1:BC¹0A0µY83µYDE1^6�1qÅ¥µYÃ04�604�µQ251^¶�·ËD�6Xµ�4�6Xµ Ü ÍXƾF�1^ºEÇLD�60È9µ�Ã04�ß�6LA0BC47¶Y8qµ�D�1:6?�=bÝ5Þ�2)Ã0DEº�4$µYÃ04�1:µ�Ã047¶�¶Y4��XA0D�¶�4`F)¹0¶YDE1^¶ ³ 1:BC¹0AbµJ83µ�D�1:6Ë1:Å¥8�¶J8q6<;b1^B�FY8qBC¹0º�4�Åm¶Y1:B�µ�Ã<4604�µQ2�1:¶Y· D�6Xµ�476^µ Ü ÍLÆ ³ 1^BC¹0Abµ�D�60ÈCF�47Ç:47¶Y8:º<¶J8q6<;b1^BCºEÆC;bD¸FQµY¶�D�Í0AbµY47;�F�1:º�AbµYDE1^6<F�µY1$µYÃ04�ß�àLÎ4�BC¹0º�DgÓ ³ 83µYDE1^6Ð?�=0Ý5Þ�-² 6Ï1:ÍLÇLDE1^A<F�8qB Í0DEµ�D�1:6�Â�µYÃ04�¶Y4�Åm1^¶�4^Â�D�F�µ�1�Ó<6<; F�1:BC4Ð8:¹0¹0¶Y1^8 ³ à 2)Ã0D ³ ÃÏ;01X4`F�601:µ

¶�4��^A<DE¶Y4C¹0¶�D�1:¶�·L60132)º�47;0È:4C1qÅ)8q6LÆй<8:¶�µ$1:Å5µYÃ04(604�µQ251^¶�·ËD�6Xµ�476^µ`Â*8:6�8:¹0¹0¶Y1^8 ³ Ã�2)Ã0D ³ Ã;b1L47F)601:µ�¶Y4��XA0D�¶�4�¹0¶YDE1^¶�F�1^ºEA0µ�D�1:6�4�Ç^4�6�1qŵ�Ã<4�ß�àb4�BC¹0º�DEÓ ³ 8qµ�D�1:6Ð?�=bÝÂ<º�4�µ¡8:ºE1^604�¹0¶YDE1^¶F�1^ºEAbµYDE1^6á1:Å*µYÃ04$ß�6LA0BC47¶Y8qµ�D�1:6�?�=0Ý-=LA ³ Ã�8q6�8q¹<¹0¶�1X8 ³ Ã�;b1L47F4�àbD¸FQµ`-^/�4�Åm1^¶�4�D�6Xµ�¶Y1L;0A ³ D�60È�Dgµ`Â:D¸F�D¸F�A<F�4�ÅmA0ºbµY1$;b4�Ó.604�F�1:BC4

³ 1:6 ³ 4�¹0µYF7-ã Ú ä�×.ÖØÙ Öeåq×��3ç�è<ðqú4�^Ú�Ù5òbé0ð��:å�¥ôÑ�Ã04$F�4�µ)1qÅÇ38qº�A047F�Åm1^¶�µ�Ã04�µJ8q¶YÈ:4�µ)¹<8:¶Y8:BC4�µ�47¶�µ�Ã<8qµ�8q¶Y4 ³ 1:6<F�D¸FQµY4�6Xµ)2)DgµYÃ�8¹<8q¶�µ�D ³ A<º�8:¶5Ç38qº�A04�1qÅ*8 601^6bΠµJ8q¶YÈ:4�µ5¹<8:¶Y8:B�4�µ�47¶5D¸F ³ 8qº�º�47;�µYÃ04 Ù}ðqú4�XÚ�Ù-��é<ð�:å� 1:ŵ�Ã<8qµ�Ç38qº�A04�Åm1:¶�µYÃ04�601:60ΠµJ8q¶YÈ:4�µ�¹<8:¶Y8:B�4�µ�47¶7-Ñ�1$F�4�4�F�1:BC4�4�àb8:BC¹0ºE4`F�1qÅ@µY8:¶�È^4�µ¥F�Ã<8:;0132�F� ³ 1:6<F�D�;04�¶`Â:8qÈX8qD�6�Â3µ�Ã<4�604�µQ2�1:¶Y·�Åm1^¶�µ�Ã<4

BC8:¹bÎ ³ 1:º�1:A<¶�D�60È�¹<¶�1^Í0ºE47B�(�F�474��VD�È:A0¶Y4� Ü 8XÞ�-:ü�4�BC4�B Í.47¶µ�Ã<8qµ7Â32)Ã047¶�4�µ�Ã<4)¹<8q¶J8qBC4�µY4�¶JFDE69µ�Ã<D�F)6<4�µQ2�1:¶Y·(8q¶Y4¡1^¶Y;b47¶�4`;�» õ 47¶�B�8q6LÆ^Â<=L2)Dgµ ��47¶�º¸8q6<;� ² A<F�µ�¶YD�8<Âbû}µY8:ºEÆáÁ�Âbµ�Ã<4�DE6Xµ�476Xµ1qÅ@µ�Ã04)604�µQ251^¶�·�D�F9)$» %3½('>½*)y½/%3Á�Â.» %3½*)y½+'@½/%3Á�Â.»&'@½/%3½*)y½+'bÁ�Â0»,'>½*)y½/%3½('0Á�Â0».)3½+%3½('>½*)�Á�Â<» )y½('>½+%3½-)�Á+^- �<¶�1^B µYÃ0D¸F�Â.254 ³ 8q6ÐF�4�4�µYÃ<83µ`Â<DEÅ ² A<F�µ�¶YD¸8�Ã<8:F�µ�Ã04�Çy8:ºEA<4 %LÂ<µYÃ04$µJ8q¶YÈ:4�µ�¹.8q¶J8qBC4�µY4�¶`Âû}µY8qº�Æ: ³ 8q6÷Ã.8yÇ:4�47DgµYÃ04�¶�µYÃ04áÇ38:ºEA04 ' Ü µYA0¹0º�4��¾DE6 µ�Ã<4áD�6Xµ�4�6Xµ�Þ�1^¶ ) Ü µYA0¹0º�4 ��DE6 µ�Ã<4DE6Xµ�476XµJÞ�-5Ñ�ÃXA.F�µYÃ04�µY8:¶�È^4�µ�F�Ã<8^;b132öÅm1^¶Cµ�Ã04ËÇ38qº�A04 %ÌDE6 µ�Ã04Ð;01:B�8qD�6 1:Å ² A<FQµY¶�D¸8ÌD�F)A'>½*) +X->Ñ�Ã<4 µJ8q¶YÈ:4�µ�F�Ã<8^;b132�F¡Åm1:¶$8qº�ºµ�Ã<4�Çy8:ºEA<47F�D�6¾µYÃ04(;b1^BC8:DE6Ì1qÅ�478 ³ Ã�601^6bÎ�µY8q¶YÈ:4�µ¹<8q¶J8qBC4�µY4�¶)8q¶Y4�F�Ã<132)6áD�6�µYÃ04�Åm1:º�º�132)DE60È�µJ8qÍ0º�4:â

õ 4�¶YB�8q6LÆ %�� ) % +X ' � )'�+XÂ4)�� ) ) +=L2)DEµ �74�¶Yº�8:6<; %�� )'@½-) +^ '�� ) %3½*) +X )�� )%3½(' +² A.FQµY¶�D¸8 %�� )'@½-) +^ '�� ) %3½*) +X )�� )%3½(' +Ñ�1 ³ 1:BC¹0AbµY4(µYÃ04�4�àL¹@4 ³ µ�4`;÷F�D �74(1qÅ)µYÃ049;01:B�8qD�6É1qÅ)µYÃ04(µJ8q¶YÈ:4�µ ¹<8q¶J8qBC4�µY4�¶�µ�Ã<8qµ

251^A0º�;�¶Y47F�A0ºEµ DEÅ)µ�Ã04áA<F�4�¶�2�4�¶Y4�µY1�D�6<FQµJ8q6Xµ�D¸83µY4�F�1:BC4(601^6bΠµJ8q¶YÈ:4�µ$¹<8q¶J8qBC4�µY4�¶��CÂ�2�4604�4`;еY19·L60132 Ü 8^Þ�µYÃ04�µY8q¶YÈ:4�µ�F�Ã<8^;b132 Åm1:¶�47Ç:4�¶YÆ�Ç38qº�A04 �ËDE6¾µ�Ã04�;b1^B�8qD�6¾1:Å�� 8:6<;Ü Í.Þ�ÂqDE6 BC1^F�µ7Â3Í0Abµ�601:µ�8qº�º Â ³ 8^F�4`F�Â`µYÃ04�¹0¶�1^Í<8qÍ<DEº�DgµQÆ��¥µ�Ã<8qµµ�Ã04�A<F�4�¶2)D�ºEº0F�4�º�4 ³ µ*µYÃ04�Çy8:ºEA<4��Åm1:¶��C-

ã Ú ä�×.ÖØÙ Öeåq×��yçVê�ë�í0ÚJï�Ù}Ú��Cò0é0ð��:å��£ò.Ö��`Ú Ñ�Ã04�4�àL¹@4 ³ µ�4`;9F�D���4�1qÅVµ�Ã04$;01:B�8qD�6á1:ŵ�Ã04�µJ8q¶YÈ:4�µ�¹.8q¶J8qBC4�µY4�¶�µ�Ã<8qµ�¶�4`F�A<ºgµJF�Åm¶�1^BÕDE6.FQµJ8q6Xµ�D¸83µYDE60È�F�1:BC4�601:60ΠµJ8q¶YÈ:4�µ

� 3�H¥�QKJ����\]R P�S7�}N��XW:NVR^S7N�K�f]f<[JK7�OHJ� �¡�bHJ[�K7W^�OH5�VH)h^S�RXS�N�RXHYH�h�NQ�XH�I:MQS`�XK7�X\]f]\¤N��$h:\]�}NOMQ\g�^W^�NQ\]S`R�\]T*H�K�[����`K�f]WXH�\gR�K�h^S7P$K7\]R(�LK7�5NQ�XH��QK7P�H��O\g§YH�S7T*N�K�MQ�7HYN)�O�LK7h^S��)�.Z:S:_b���LK�N�K7�bS7W^NNQ�XS7�OH5[�K��OHJ����XH�MQH¥NQ�^H¥�7K7f]W^HJ�V\]R�K¡h:S`P$K�\gR$h:S��LK��yH¥h^\"!0HYMQHJR^\]RX���O\]§JHJ��S7T0N�K�MQ�`HYN��O�XK`h:S���#$XS7M�R^S��)_>K7��K��O\]P�IXf]\¤T��:\]RX���XHJW:MQ\g�}NQ\][`_.�H$K��O�OWXP�H$K�W^RX\¤T¸S�MQP I:MQS`�XK7�X\]f]\¤N��áh^\]�}NOMQ\]�XW:NQ\]S`R.�%�S��HY�yHYM�_0NQ�XH¡H � IbHYMON)cqRXS���f]H�h^�7H�\]R�K$MQH�K7f¤�m�S�MQfEh�I^MQS7�Xf]HJPöh:S`P$K7\]R�WX�OWXK7f]f¤�á\]R^[Jf]WLh^HY��K�bHYNONQHYMVK7I^I^MQS � \gP$K�NQ\]S`R�NQ�XK7R�NQ�^\g�'&�T¸S�MH � K�P�IXf]H`_7\gR�P�HJh^\][J\]RXH`_yh^\gK7�7RXS7�}NQ\g[Y\EK�RX�*c:R^S��¾NQ�XK�N[JHYMON�K�\gRá�}�:P�I^NQS`P���K�MQH�P�S�MQH�f]\]cyHJf¤�(NQ�LK�RáS�NQ�XHYMQ�J�<HJ�yHYRqNQWXK7f]f¤�3_b�H�I:MQS`IbS7�OH�NQS MQHJI:MQHJ�OHJR3NNQ�X\]�V\]R:T¸S7MQP$K�NQ\]S`R��q�¡NOMQH�K�NQ\]R^��NQ�^H�h:S`P$K7\]R^�VS7T<NQ�XH¥ILK�M�K7P�HYNQH�MQ�V\]R�K�[JS7RX�}NOM�K�\gR3N�R^HYN��VS7MQcq�K7���OHYNQ����\¤NQ�CK7�O�OS3[Y\EK�NQH�h�I^MQS7�LK7�^\]fg\¤N �Ch:\g�}NOMQ\]�^W^NQ\]S`R^�J�

Page 28: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

¹<8q¶J8qBC4�µ�4�¶`Â��CÂ0D¸F ³ 8qº�º�47;áµ�Ã04 ÚYë�í0ÚJï�Ù}Ú��:��é<ð�:å� ��Ö��`Ú 1qÅ �C-bû}µYF�Çy8:ºEA<4�D¸F�

���������� ���������% ��) Ü � ' �LÞ0��� *�� ��� Ü �bÞ��

2)Ã04�¶Y4:ÂLÅm1^¶)478 ³ ÃáÇ38qº�A04 �(D�6áµ�Ã04$;b1^B�8qD�691:Å �C �% ��) Ü � ' �bÞ�D¸F�µ�Ã04¹0¶Y1:Í<8:Í0DEº�DEµQÆ�µ�Ã<8qµ)µ�Ã04�A.F�47¶)2)DEº�ºtDE6.FQµJ8q6Xµ�D¸83µY4��¦µ�1CµYÃ0D¸F)Ç38qº�A04�8q6<; *�� ��� Ü �bÞ�D�Fµ�Ã04�µJ8q¶YÈ:4�µ)F�Ã<8^;b132£1qÅ �@-�0¶Y1:BÕ2)Ã<8qµ)254�Ã<8yÇ^4�F�4�476ËF�1�Åe8q¶`ÂbDEµ�8q¹0¹@478:¶YF�µYÃ<83µ)µYÃ04�Í.4`FQµ �XA04`FQµYDE1^6�µY1(8:F�·�µ�Ã<4

A<F�47¶¡8qµ¡8q6LÆáµ�D�B�4�D�F�µ�1�8^F�·9Ã0D�B Åm1^¶�µYÃ04�Ç38qº�A04$1:Å�µ�Ã04�601:6bÎ�µY8:¶�È^4�µ�¹<8:¶Y8:BC4�µ�47¶�2)Ã0D ³ ÃÃ<8:F¥µ�Ã04�BCD�60DEB A0Bö4�àb¹@4 ³ µ�47;9F�Ã<8:;b132 F�D �74��:-LÑ*1C;b4�µY4�¶YB�D�604¡µ�Ã0D¸F���Í@47F�µ! �XA047F�µ�D�1:6�ÂX2�4604�4`;�µ�1¡·L60132�µ�Ã045µY8:¶�È^4�µ*F�Ã<8^;b132ÌÅm1:¶V4�Ç:47¶�Æ�Ç38qº�A045DE6�µ�Ã04�;b1:B�8:DE6$1:Å04�Ç^4�¶YÆ¡601^6bÎ�µY8q¶YÈ:4�µ¹<8q¶J8qBC4�µY4�¶`-

�¾4ËÃ<8yÇ^4ËF�474�6´µ�Ã<8qµ�2�4 ³ 8q6 ³ 1^BC¹0Abµ�4е�Ã04`F�4�µJ8q¶YÈ:4�µ(F�Ã<8:;0132�FCDgÅ�254Ë·L60132 µ�Ã<4604�µQ2�1:¶Y·áD�6Xµ�476^µ`- �132�4�Ç^4�¶`Â<2�4 ;b19601qµ�604�4`;˵Y1á·L60132 µYÃ04 6<4�µQ2�1:¶Y·9D�6Xµ�476^µ`->ûO6�2)Ã<8qµÅm1:º�ºE132�F7Â�2�4�2)D�ºEº^Ó<¶JFQµ*F�Ã0132̵�Ã.83µ�µYÃ0D¸F�D¸FtµY¶�A045DE6�µYÃ04 ³ 8:F�4�1qÅbµY¶�474�ÎOFQµY¶�A ³ µ�A<¶�4`; ³ 1:6<F�µ�¶J8qD�6Xµ604�µQ2�1:¶Y·bF�-bÑ�Ã047692�4�2)DEº�º�4�àXµY4�6<;áµYÃ04�¶�4`F�A<ºgµ�µ�1 ³ 13Ç:4�¶�È^¶Y8:¹0ÃbÎOFQµY¶�A ³ µ�A0¶Y47;�604�µQ2�1:¶Y·bF�-" # �¬ >��t«�� � �#��®�­%$ &¾¬0­��#�5>��V«0±Q­5ª ±�ª'#�¬$� � �&:5«b¬<¯�°@«0¯�¬$��®

�t«($�­�¬*)2�è>é0ÚJå3ú�Ú�ì æ â:û}Å�8 ³ 1^6<F�µ�¶J8qD�6^µ�6<4�µQ2�1:¶Y·$D�F�µ�¶Y4�4�Î}F�µ�¶YA ³ µYA0¶Y47;tÂq1^60º�Æ �yÎ ³ 1^6<F�D�F�µ�476 ³ ÆDE60Åm1:¶YBC8qµ�D�1:6ÐD¸F�604�4`;b47;˵�1 ³ 1:BC¹0A0µ�4$µYÃ04 µY8q¶YÈ:4�µ�F�Ã<8:;0132�F)Åm1:¶�8qº�º*µ�Ã04�Ç38qº�A047F1qÅ�8qº�º>µ�Ã04�6<1:6bÎ�µY8:¶�È^4�µ�¹<8q¶J8qBC4�µY4�¶JF�DE69µ�Ã<4�604�µQ2�1:¶Y·>-ó�ú�å`å7� â�ûO6´8еY¶�474�ÎOFQµY¶�A ³ µ�A<¶�4`;�604�µQ2�1:¶Y·>ÂV8:6XÆ�601b;b4 ³ 8q6�Í@4�¶�47È^8q¶J;b4`;É8:F�µ�Ã04¶�1L1:µ7ÔtµYÃXA.F$DEµ�D�F�¹.1XF�F�D�Í0ºE4CµY1˵�¶Y478qµ�µ�Ã04(µY8q¶YÈ:4�µ$601b;b4�8^F�µ�Ã04�¶�1L1qµ`-V?51:6.F�D¸;b4�¶8C¹<8q¶J8qBC4�µ�4�¶�2)Ã01XF�4�601b;b4�D¸F)8 ³ Ã0D�º�;91:Å�µ�Ã<4$¶�1L1:µ7-*+�F�D�60ÈC1:60º�Æ �yÎ ³ 1^6<F�D�F�µ�476 ³ ÆDE60Åm1:¶YBC8qµ�D�1:6�Â�4`8 ³ ãÇ38qº�A04ÌDE6 ;b1:B�8:DE6 1qÅ$µYÃ0D�F�¹.8q¶J8qBC4�µY4�¶ ³ 8q6 Í.4�º¸8qÍ@4�º�ºE4`;2)DgµYÃÐ8(F�4�µ�2)Ã0D ³ à ³ 1^6^µJ8qD�6<F�µYÃ01^F�4�Ç38qº�A047F�1qŵ�Ã04$µY8q¶YÈ:4�µ�¹<8q¶J8qBC4�µ�4�¶�µYÃ<83µ�8q¶Y4F�A<¹0¹.1^¶�µY47;9ÍLÆ�µ�Ã<D�F)Ç38:ºEA04�1:Å�µYÃ04 ³ Ã0D�º�;9¹<8:¶Y8:B�4�µ�47¶ (�µYÃ<83µ�D¸F�Â<478 ³ Ã9Ç38qº�A04 ³ 8:6Í.4�º¸8qÍ@4�º�ºE4`;�2)DgµYà DEµYFVµYÃ04�µY8q¶YÈ:4�µF�Ã<8^;b132-,3-!��132 ³ 1^6<F�D¸;b47¶8¡¹<8:¶Y8:B�4�µ�47¶V2)Ã<1^F�4601b;b4�D¸F¥8 ³ Ã0DEº¸;C1qÅtµYÃ04�¹.8q¶J8qBC4�µY4�¶�Åm1^¶¥2)Ã01XF�4)Ç38qº�A04`F�2�4�Ã<8yÇ:4 �QA<FQµ ³ 1^B�¹<Abµ�4`;µ�Ã04�µY8:¶�È^4�µáF�Ã<8:;0132�F�-.+¡F�D�60È÷1^60º�Æ �3Î ³ 1:6<F�D�F�µ�476 ³ Æ DE60Åm1:¶YBC8qµ�D�1:6�Â¥478 ³ à Ç38:ºEA04DE6¾µ�Ã<4�;b1^B�8qD�6�1qÅ¥µ�Ã0D¸F�È:¶J8q6<;LÎ ³ Ã0D�º�;й<8q¶J8qBC4�µY4�¶ ³ 8:6�Í@4 º¸8qÍ@4�º�ºE4`;Ð2)DEµ�Ã�8áF�4�µ2)Ã0D ³ à D¸Fµ�Ã<4�A<60DE1^6C1qÅ<µYÃ04�µY8:¶�È^4�µ�F�Ã.8:;b132�FV1qÅ.µ�Ã01XF�4�Ç38qº�A04`F1qÅ@µ�Ã04 ³ Ã0D�º�;�601b;b4µ�Ã<8qµ�8:¶�4�F�A<¹0¹.1^¶�µY47;�ÍXÆ�µYÃ0D¸F¡Ç38:ºEA04�1qÅ¥µ�Ã04CÈ:¶J8q6.;LÎ ³ Ã<DEº¸;�601b;b4:Ô@µYÃ04C¶�4`F�A0ºEµY8:6XµF�4�µ ³ 1:6XµY8:DE6<F$µ�Ã04áÇ38qº�A047F�1qÅ)µ�Ã<4(µY8:¶�È^4�µ�¹.8q¶J8qBC4�µY4�¶�µYÃ<83µC8q¶Y4�F�A<¹0¹.1^¶�µY47;�ÍLƵ�Ã0D¸F�Ç38:ºEA04�1qÅ>µ�Ã04�È:¶J8q6<;LÎ ³ Ã0D�º�;�601b;b4 (�DE6�1:µ�Ã047¶�251^¶Y;<F�ÂqDEµYF�µY8:¶�È^4�µ¥F�Ã<8:;b132�-:ûO6

/ d�R�TØK7[�N�_>S7T[JS`W:MQ�OH`_@NQ�^\g��R^S7NQ\]S`R�S�T ���bHY�}N �(�qW^HJ�}NQ\]S`R�f]H�K7h^�)NQS�K��^\]fgf¤�e[Jf]\]P��^\gR^��K7I^I^MQS`K7[��NQS��3W^HJ�}NQ\]S`R��`HJR^HYM�K�NQ\]S`R�&�NQ�^HYMQH�K�MQH�\]RX�}N�K�RX[JHY����XHYMQH5\]NV��\gf]f<f]H�K`h�NQS��3W^HJ�}NQ\]S`R��OH��3WXHJR^[JHJ�NQ�LK�N¥K�MQH�f]S`RX�7HYM�NQ�LK�R�RXHY[JHJ�O�QK�MO�3�021 S�NQH�NQ�LK�N�NQ�XH�P�HYP�S7MO�Ë[JS7�}N�S7T��}NQS�MQ\]RX�9NQ�^HJ�OHCfgK7�bHJf]�$\]�$S`RXf¤� 143 �qh�5�_t���^HYMQH76�\g��NQ�^HRqWXP��bH�M.S�TXIXK�M�K�P�HYNQHYMQ�>K�RLh�8�\]�@NQ�^H�P$K � \]P�WXP�h:S`P$K�\gR��O\]§JH`_��bHY[�K7W^�OHVH�K�[���S7T:NQ�XH��OWX�^�OHYNQ�S7T�NQ�XH¡h^S7P$K7\]R�S7T�NQ�XH�N�K�MQ�7HYN)ILK�M�K7P�HYNQH�M�[�K�Rá�bH�MQHJI:MQHJ�OHJR3NQH�hC�3��K$�X\]RLK�MO��RqWXP¡�bHYM��^T�S7MH � K7P�I^fgH7_*\¤T5NQ�XH�h:S`P$K7\]R�S7T�NQ�^H�N�K�MQ�7HYN$ILK�M�K7P�HYNQH�M$\g� i�9�:<;=:?>�{ _��H�[�K7R�MQHJI^MQHJ�OHYRqN�NQ�^H�OWX�^�OHYN i@9�:<>�{ S�T>NQ�X\]�¥h^S7P$K7\]R��3��NQ�XH)�^\]RLK�MO��RqWXP¡�bHYMBADCEA`�

Page 29: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

µ�Ã0D¸F�B�8q606<4�¶`Â>µ�Ã04�µY8:¶�È^4�µ�F�Ã.8:;b132¦Åm1^¶�4�Ç:47¶�ÆËÇ38:ºEA04�D�6¾µYÃ04�;b1:B�8:DE6¾1qÅ547Ç:47¶�Æ601:60ΠµJ8q¶YÈ:4�µ�¹<8:¶Y8:B�4�µ�47¶ ³ 8q6�Í@4$;b4�µY4�¶YB�D�604`;t-?51:6<F�D�;04�¶`Â�Åm1:¶�4�à08:B�¹<ºE4^Â�µYÃ04�µY¶�474�ÎOFQµY¶�A ³ µ�A<¶�4`;�BC8:¹�D�6 �VDEÈ^A0¶Y4��bÔF�A0¹0¹@1^F�4(µ�Ã.83µ7Â

8qÈ^8:DE6�Â:2�4�Ã<8yÇ:4�8�¹<8qº�4�µ�µ�4�1:Åtµ�Ã0¶Y4�4 ³ 1^ºE1^A0¶YF7Âq¶Y47;tÂ^Í0º�A04¡8:6<;�È:¶Y4�476�- ��4�µ�Ý1^º�8:6<;CÍ@4�µ�Ã<4µY8q¶YÈ:4�µ)¹<8q¶J8qBC4�µY4�¶`-

Poland

LithuaniaGermany

LatviaAustria

����� ���<� < MQHJHY�e�}NOMQWX[YNQW:MQH�h P$K�I

Ñ�Ã04�µY8q¶YÈ:4�µ�F�Ã<8^;b132�F*Åm1:¶µYÃ04�Çy8:ºEA<47FD�6 µYÃ04�;b1^BC8:DE6�1qÅ õ 4�¶YB�8q6LÆ�8q¶Y4 )%�� )A'>½*) +XÂ' � )%3½-) +^ ) � )%3½(' +�+X-*Ñ�Ã04áµY8:¶�È^4�µ�F�Ã.8:;b132�F�Åm1:¶ µ�Ã04�Ç38qº�A04`F D�6 µ�Ã04�;b1:B�8:DE6 1qŲ A<F�µ�¶YD�8 ³ 8q6CÍ@4 ³ 1^BC¹0Abµ�4`; Åm¶�1^B'µYÃ01^F�4�Åm1:¶ õ 47¶�B�8:6XÆ>Ô3µYÃ04�Æ�8q¶Y4 )%�� ) %3½*) +�� )%3½+'�+XÂ' � )A'>½*) +�� )%3½+'�+X ) � )'@½-) +�� )%3½-) +�+XÔ:D�6�1:µ�Ã047¶52�1:¶J;0F7Âqµ�Ã<4�Æ(8q¶Y4 ) % � ) %3½('>½*) +XÂ'�� )%3½('>½*) +^ )�� )%3½+'@½-) +�+X-.=LD�BCDEº¸8q¶YºEÆ^Â0µYÃ04$µJ8q¶YÈ:4�µ�F�Ã<8^;b132�F)Åm1^¶�µYÃ04�Ç38qº�A04`F�D�6˵�Ã<4;b1:B�8qD�6Ð1:Å ��DEµ�ÃLA<8q6<D�8á8q¶Y4&)%�� )A'>½*) +XÂ4' � )%3½-) +^Â<) � ) %3½(' +�+�8:6<;�µ�Ã<1^F�4$Åm1:¶¡µ�Ã<4Çy8:ºEA<47F�D�6áµYÃ04$;b1^BC8:DE691qÅ ��8qµ�ÇLD¸8�8:¶�4�)% � )%3½+'@½-) +^ ' � ) %3½('>½*) +XÂ$) � ) %3½('>½*) + +^-� # �¬ >��t« : �#�®�­�$ &¾¬0­���� >7�*«0±�­¥ª ±�ª ¬$� �����&:5«b¬<¯¡°@«b¯�¬$��®

�t«($�­�¬*)2�û}µVD¸FV¹0¶�1^Í<8qÍ<ºEÆ�601qµ�F�A0¶�¹<¶�D¸F�D�60È)µYÃ<83µ2�45604747;�1:60º�Æ �yÎ ³ 1:6.F�D¸FQµY4�6 ³ Æ¡D�6bÅm1^¶�B�83µYDE1^6�µ�1 ³ 1^B�ι0Abµ�4�µ�Ã04$µY8q¶YÈ:4�µ¡F�Ã<8:;b132�F�DE6Ð8CµY¶�474�ÎOFQµY¶�A ³ µ�A<¶�4`; ³ 1:6<F�µ�¶J8qD�6Xµ�604�µQ2�1:¶Y·>-&� Ã<8qµ¡D¸F�BC1:¶Y4F�A0¶Y¹0¶YD�F�D�60È�D¸F�µ�Ã<8qµ7Â�8^F¡2�4�2)DEº�º�¹0¶Y13Ç:4�Í@4�º�132�Â>1:60º�Æ˵YÃ04�F�8:B�4C;b47È:¶Y4�4�1:Å ³ 1:6<F�D�F�µ�476 ³ ÆD�F�604747;b4`;¾µ�1 ³ 1^B�¹<Abµ�4CµJ8q¶YÈ:4�µ�F�Ã<8:;b132�F�D�6�È:¶J8q¹0ÃbÎOF�µ�¶YA ³ µYA0¶�4`; ³ 1^6<F�µ�¶J8qD�6^µ�604�µQ251^¶�·bF7-Ñ�Ã04�¶Y478^F�1^6�µYÃ<83µ�254$6<4�47;Ð1:60º�Æ �3Î ³ 1:6<F�D¸FQµY4�6 ³ Æ(DE60Åm1:¶YBC8qµ�D�1:6�µY1 ³ 1^BC¹0Abµ�4$µ�Ã04�µY8q¶YÈ:4�µF�Ã<8^;b132�F*DE6C8�È:¶J8q¹0ÃbÎOF�µ�¶YA ³ µYA0¶�4`;�604�µQ2�1:¶Y·�D¸F�µYÃ<83µ�2�4 ³ 8q6 A<F�45ÃLÆL¹.1:µ�Ã04�µ�D ³ 8:ºb¶�4`8:F�1:60D�60ȵ�1˵Y4�BC¹.1^¶Y8:¶�D�º�Æ�Í0¶Y478:· ³ Æ ³ ºE4`F�Â*F�1˵YÃ<83µ 254 ³ 8q6ÉA<F�4�µYÃ04á8:¹0¹0¶Y1^8 ³ ÃÌÈ:D�Ç:476�8qÍ@13Ç:4CÅm1^¶¹0¶�1^¹<8qÈX83µYDE60È�µY8:¶�È^4�µ$F�Ã.8:;b132�F�D�6¾µY¶�474�ÎOFQµY¶�A ³ µ�A<¶�4`;Ð604�µQ251^¶�·bF7->Ñ*1ËF�D�BC¹0º�DgÅmÆ�µ�Ã04�¹0¶Y1L1qÅÍ.47ºE132�Âb2�4�2)DEº�º>Ó<¶JFQµ�;04�Ó<604$F�1:BC4�µ�47¶�B�F7-

ã Ú ä�×.ÖØÙ Öeåq×���ç�å3×�2OÙ}ðqú4�XÚ�Ù¡ñ �:ï�îEÚ32�ñùbÙ ��Ú�Ù}ôûO6Ë8 È^¶Y8:¹0ÃbÎOFQµY¶�A ³ µ�A<¶�4`;(604�µQ251^¶�·Ð» ¼�½Y¿Ð½JÀ�Á�Âbµ�Ã047¶�4�D¸F)83µ�º�478^FQµ)1^604�F�A0Í.F�4�µ�1qŵ�Ã04�6<1:6bÎ�µY8:¶�È^4�µ�¹<8q¶J8qBC4�µY4�¶JF5µ�Ã<8qµ�8q¶Y4�D�6áµ�Ã04�µYA0¹0º�4�¿ÊF�A ³ Ã9µYÃ<83µ`Â0DgÅVµ�Ã<47F�4¹<8q¶J8qBC4�µ�4�¶JF�2547¶�4�D�6<F�µY8q6XµYD�8qµ�47;�ÂLµ�Ã04�¶Y4�B�8qD�60D�60È ³ 1^6<FQµY¶Y8:DE6Xµ�604�µQ2�1:¶Y·�2�1:A0º¸;Í.4$8 µY¶�474:-.=LA ³ Ã98�F�4�µ)1qŹ<8:¶Y8:B�4�µ�47¶YF�D¸F ³ 8qº�º�47;98 6<1:6bÎ�µY8:¶�È^4�µ ³ Æ ³ º�4�Î ³ A0µYF�4�µ7-

?51:6<F�D�;04�¶`Â*Åm1^¶�4�à08qBC¹0º�4:µYÃ04ËB�8q¹bÎ ³ 1^ºE1^A0¶YDE60ÈÌ604�µQ251^¶�·�F�Ã0132)6´DE6�VDEÈ^A0¶Y4 � Ü 8^Þ�Â2)Ã04�¶Y4���D�ºEº�DE¹<Abµ�D�F)µ�Ã04�µJ8q¶YÈ:4�µ)601b;b4^-�¡604�601^6bΠµJ8q¶YÈ:4�µ ³ Æ ³ ºE4�Î ³ AbµYF�4�µ)D¸F5) õ D�ºEÈ^DgµYD�8 +^-

Page 30: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Ruritania

Pura

Tarantua Karantin

Lilliput

Gilgitia Virastan Ruritania

Pura

Tarantua Karantin

Lilliput

VirastanGilgitia1 Gilgitia2

Gilgitia3

Ruritania

Pura

Tarantua Karantin

Lilliput

VirastanGilgitia1 Gilgitia2

Gilgitia3

(a) Graph (b) Multiple-image tree

����� ���<� �.\]f]f]\gI^W^N5K7RXh�\¤NQ��RXHJ\]�`�q�bS7W^MQ�

ã Ú ä�×.ÖØÙ Öeåq×��qç���ùbîgÙ Ö í>îEÚ�2���ìCð �^Ú327è0ú�ÚJÚ7ôÑ�1^È:4�µ�Ã047¶7Â08�È:¶J8q¹<ÃbÎ}F�µ�¶YA ³ µ�A0¶Y47;�604�µQ2�1:¶Y·(8q6<;98�601:60ΠµJ8q¶YÈ:4�µ ³ Æ ³ ºE4�Î ³ AbµYF�4�µ`Â��ÂÅm1:¶�µYÃ04�604�µQ2�1:¶Y·(;b4�Ó<604$8 µ�¶Y4�4^ ³ 8:ºEº�47;98�B�A0ºEµ�D�¹0º�4�Î}DEB�8qÈ^4�Î�µ�¶Y4�4^-0Ñ�Ã0D�F�µY¶�474�D�F¹0¶Y1L;0A ³ 4`;�ÍLÆ�B�8:·XD�60ÈCB�A<ºgµYDE¹0º�4$;bD¸FQµYDE6 ³ µ�D�BC8:È:4`F�1qÅ*4`8 ³ Ã9¹<8q¶J8qBC4�µ�4�¶�D�6��Â1:604�Åm1^¶)478 ³ Ã91qÅDEµYF)6047DEÈ^ÃLÍ.1^A0¶YF�D�69µ�Ã04�1^¶�D�È:D�6<8qº>È^¶Y8:¹0ÃbÎOFQµY¶�A ³ µ�A0¶Y47;�604�µQ2�1:¶Y·>-Ñ�Ã04�B A0ºgµYDE¹<ºE4�Î�D�B�8qÈ:4�ΠµY¶�474�;b4�Ó.6047;�ÍLÆ�µ�Ã<4�604�µQ251^¶�·�DE6 �*D�È:A<¶�4 � Ü 8^Þ58q6.;�µ�Ã04¡601:6bÎ

µY8q¶YÈ:4�µ ³ Æ ³ ºE4�Î ³ AbµYF�4�µ ) õ D�ºEÈ^DgµYD�8 +¥D�FVF�Ã0132)6�DE6)�*D�È:A<¶�4 � Ü Í@Þ�ÔyDE6$µ�Ã0D¸F�µY¶�474:Â7µ�Ã047¶�4�8q¶Y4�µ�Ã<¶�474F�47¹<8q¶J83µY4¡601b;b4`F)2)Ã0D ³ à ³ 1:6XµY8:DE6�8q69D�BC8:È:4�1qÅVµ�Ã<4 õ DEº�È:DEµ�D¸8�601b;b4�DE6 �VD�È:A0¶Y4 � Ü 8^Þ�-

ã Ú ä�×.ÖØÙ Öeåq×��qç���ùbîgÙ Ö í>îEÚ�2���ìCð �^ÚÐè0ú�ÚJÚ�ñ�åq× ��Ù úYð3ÖØ×<Ù �Ú�Ù �¥å3ú��^ô� Ã0D�ºE4$8CÈ^¶Y8:¹0ÃbÎOFQµY¶�A ³ µ�A0¶Y47;(604�µQ2�1:¶Y·Ð»e¼¾½�¿�½JÀ�Á)8q6.;á8�601^6bΠµJ8q¶YÈ:4�µ³ Æ ³ º�4�Î ³ A0µYF�4�µ��#;b4�Ó<6<4�8CA<60D��XA04�B A0ºgµYDE¹<ºE4�Î�D�B�8qÈ:4�ΠµY¶�474:ÂLµYÃ04�Æ9;b4�Ó<6<4�8�F�4�µ 1:ų 1^6<FQµY¶Y8:DE6Xµ)604�µQ251^¶�·bF7 ³ 8qº�ºE4`;�B A0ºEµ�D�¹0ºE4�Î�D�B�8qÈ^4�Î�µ�¶Y4�4 ³ 1:6.FQµY¶Y8:DE6Xµ)604�µQ2�1:¶Y·bF�-Ñ�Ã04$F�4�µ)1qÅ�F�A ³ Ãá604�µQ251^¶�·bF�D¸F�;b4�Ó.6047;�8:F�Åm1^ºEº�132�F7- ��4�µ)µYÃ04B�A0ºEµ�D�¹0º�4�Î}DEB�8:È:4�Î�µ�¶Y4�4�Í@4� #-��4�µ�¿ � Í.4�µYÃ<83µ�F�A0ÍbÎ�µ�A<¹0ºE4�1:Å¿�2)Ã0D ³ ó 1^6^µJ8qD�6<F�µ�Ã<4�¹<8q¶J8qBC4�µY4�¶JF5µ�Ã<8qµ�8q¶Y4¡D�6��-��4�µ�� � Í@4�µ�Ã04 ?�8:¶�µY47F�D�8:6³ ¶Y1^FYFQÎ}¹0¶Y1b;bA ³ µ�1qÅ*µ�Ã04$;01:B�8qD�6<F�1qÅVµ�Ã<4�¹<8q¶J8qBC4�µY4�¶JF�DE6Ë¿ � -0Ñ�Ã04�69µYÃ04�¶Y4�D�F1:604�B A0ºgµYDE¹<ºE4�Î�D�B�8qÈ:4�ΠµY¶�474 ³ 1:6.FQµY¶Y8:DE6Xµ�604�µQ2�1:¶Y· ³ 1^¶�¶Y47F�¹.1^6<;bD�60È µ�1C478 ³ Ã�µYA0¹0º�4, D�6�� � - ² B�A<ºgµYDE¹0º�4�Î}D�BC8:È:4�ΠµY¶�474 ³ 1:6<F�µ�¶J8qD�6Xµ�6<4�µQ2�1:¶Y·�D�F)8 ³ 1:6<F�µ�¶J8qD�6Xµ604�µQ2�1:¶Y·�2)Ã01XF�4�¹<8:¶Y8:B�4�µ�47¶YF�8q6.; ³ 1:6<F�µ�¶J8qD�6XµYF�8q¶Y4:ÂL¶Y47F�¹.4 ³ µYDEÇ^4�º�Æ:ÂLµ�Ã<4�601b;b47F8q6<;94`;bÈ:4`F51:Å� #-0ß�à ³ 4�¹0µ)Åm1:¶�µ�Ã<4�B�A0ºEµ�D�¹0º�4�Î}DEB�8qÈ^4�601b;b4�¹<8q¶J8qBC4�µY4�¶JF�ÂXµYÃ04;b1:B�8:DE691qÅ478 ³ Ãá¹<8:¶Y8:BC4�µ�47¶�D�F�µYÃ04$F�8:BC4�8^F�DgµJF�;b1^BC8:DE69D�6áµYÃ04�1:¶YD�È:D�6<8qºÈ:D�Ç:476á604�µQ251^¶�·>- �132�4�Ç^4�¶`ÂXµ�Ã04$;b1^B�8qD�6á1:ÅV4`8 ³ Ã�B A0ºEµ�D�¹0ºE4�Î�D�B�8qÈ^4�6<1L;04¹<8q¶J8qBC4�µ�4�¶�D¸F�8CF�D�60È^ºE4�µ�1:6�F�4�µ�2)Ã0D ³ à ³ 1:6XµY8:DE6.F�µ�Ã04�Ç38qº�A04�D�6áµYA0¹0º�4 , Åm1^¶�µ�Ã04¹<8q¶J8qBC4�µ�4�¶�D�69µ�Ã04�1^¶�D�È:D�6<8qº>604�µQ251^¶�·�1:ÅV2)Ã<D ³ Ãáµ�Ã04�6<1L;04�D�F)1^604�1qÅ*µ�Ã04B�A0ºEµ�D�¹0º�4�DEB�8:È:47F7-�01:¶�4�à08:B�¹<ºE4^ ³ 1:6<F�D¸;b4�¶`Â@8:È^8:DE6�Â.µ�Ã<4 B�8q¹0Î ³ 1:º�1:A0¶YDE6<È ³ 1^6<FQµY¶Y8:DE6Xµ�604�µQ2�1:¶Y·�DE6 �*D�ÈqÎ

A0¶�4 � Ü 8^Þ�ÔLF�A0¹0¹@1^F�4�µ�Ã.83µ¥µYÃ04�¹<8qº�4�µ�µ�4�1:Å ³ 1^ºE1^A0¶YF ³ 1^6^µJ8qD�6<F�µYÃ04�µYÃ0¶Y4�4 ³ 1:º�1:A0¶JF ) %3½('>½*) +X-Ñ�Ã04�6�ÂA<F�D�60ÈеYÃ04(µYÃ04á6<1:6bÎ�µY8:¶�È^4�µ ³ Æ ³ ºE4�Î ³ AbµYF�4�µ�) õ D�ºEÈ^DgµYD�8 +^Â*254áÈ:4�µ�µ�Ã<¶�474�B�A<ºgµYDE¹0º�4�ÎDEB�8qÈ^4�Î�µ�¶Y4�4 ³ 1^6<FQµY¶Y8:DE6XµC604�µQ2�1:¶Y·bF�-�Ñ�Ã049µY1:¹@1:º�1:È:ÆÉ1:Å¡4`8 ³ Ã÷1:Å¡µYÃ047F�4�604�µQ2�1:¶Y·bF�D�F�8^FF�Ã0132)69D�6��VD�È:A0¶Y4 � Ü Í.Þ�-.ß�à ³ 47¹bµ�Åm1:¶)¹<8:¶Y8:B�4�µ�47¶YF õ D�ºEÈ^DgµYD�8 : õ D�ºEÈ^DgµYD�8 ��8:6<; õ DEº�È:DEµ�D¸8 �<µ�Ã04�;01:B�8qD�6�1qÅ�478 ³ Ã9¹.8q¶J8qBC4�µY4�¶)D¸F )%3½+'@½-) +^-bûO6Ë1^604�B�A<ºgµYDE¹0º�4�Î}D�BC8:È:4�ΠµY¶�474 ³ 1:6<F�µ�¶J8qD�6Xµ

Page 31: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

604�µQ2�1:¶Y·>Â�µ�Ã<4�µYÃ0¶�474�¹<8:¶Y8:BC4�µ�47¶YF7 õ D�º�È:DEµ�D¸8&: õ D�ºEÈ^DgµYD�8 �Ð8q6.; õ DEº�È:DEµ�D¸8 �<ÂV8:ºEº�Ã<8yÇ^4(µ�Ã<4F�8:B�4¡F�D�60È:º�4�µY1:6�;01:B�8qD�6#)%1+^ÔXD�6á8q6<1qµ�Ã<4�¶¥6<4�µQ2�1:¶Y·$µ�Ã<4�Æ�8qº�º.Ã.8yÇ:4)µYÃ04¡FY8qBC4¡F�D�60È:º�4�µY1:6;b1:B�8qD�6�)A' +^ÔbD�6�µYÃ04�µ�Ã0D�¶J;á6<4�µQ2�1:¶Y·Cµ�Ã047Æá8qº�ºtÃ<8yÇ^4¡µYÃ04$FY8qBC4�F�D�60È:º�4�µY1:6�;b1:B�8:DE6�) ) +X-² º�Dgµ�µ�º�4�4�àLµ�¶J8 ³ 8:¶�4$B A<F�µ�Í@4�µJ8q·^4�6ÐD�6 ³ 1^BC¹0Abµ�D�60ÈáµY8:¶�È^4�µ¡F�Ã<8:;0132�F�D�6�B�A<ºgµYDE¹0º�4�Î

DEB�8qÈ^4�Î�µ�¶Y4�4 ³ 1^6<F�µ�¶J8qD�6^µ�604�µQ251^¶�·bF7-tü)4�BC4�B Í.47¶�µ�Ã.83µ�8qº�º�601b;b4`F�D�6�8�È^¶�1^A0¹Ì1qÅ�DEB�8qÈ^4601b;b47F¡µ�Ã.83µ�8q¶Y4 ¶Y4�º¸83µY47;ËÍLÆËÇLDE¶�µ�A<4 1:Å¥Í.47DE6<ÈáD�B�8qÈ:4`F�1:Å�µ�Ã<4CFY8qBC4�¹<8q¶J8qBC4�µ�4�¶¡DE6¾µ�Ã<41:¶YDEÈ^DE6<8:º.È^¶Y8:¹0Ã(¶Y4�¹0¶Y47F�4�6Xµ�;bDgÒ>4�¶Y4�6Xµ�Åe8 ³ 4�µYF�1:Å�µ�Ã<8qµ)¹<8q¶J8qBC4�µY4�¶5DE6áµ�Ã04�1:¶YD�È:D�6<8qº@È:¶J8q¹0Ã�-=L¹.4 ³ DEÓ ³ 8:ºEº�Æ:Â5¹0¶Y1:¹<8:È^83µYDE6<È�8:ºE1^60È�µ�Ã<4�¹<8qµ�à Í@4�µQ2�4�4�6ϵYÃ04еJ8q¶YÈ:4�µ(601b;b4˵�1 F�A ³ ã8:6DEB�8qÈ^4 6<1L;04 ¹0¶Y1b;bA ³ 47F�8�F�4�µ�1qÅ5Çy8:ºEA<47F�DE6�µ�Ã04�µJ8q¶YÈ:4�µ�601b;b4 µ�Ã<8qµ�8:¶�4CF�A0¹0¹@1:¶�µ�47;�� ÖeðÙØé<ð3Ù�í<ð3Ùmé ÍXÆ�µYÃ04�F�D�60È:º�4�Ç38:ºEA049D�6�µ�Ã<49;b1^B�8qD�6÷1qÅ)µYÃ04�DEB�8:È:4�6<1L;04:- �132�4�Ç^4�¶`Â�µ�Ã<4µY8q¶YÈ:4�µ(F�Ã<8^;b132 B A<F�µCÍ@4�F�A0¹0¹@1:¶�µ�4`; 8:ºE1^60È ð3îØî ��ù<ïJé�í0ðqÙØé�� -5Ñ�Ã047¶�4�Åm1:¶Y4:µ�Ã<4�µY8q¶YÈ:4�µF�Ã<8^;b132÷1:Å.µYÃ04�F�DE60È^ºE4)Ç38:ºEA04)D�6�µ�Ã04¡;b1:B�8qD�6�1qÅt8�È:¶Y1:A0¹�1qÅ>¶�47º�8qµ�4`;�D�B�8qÈ:4)6<1L;047F�D¸Fµ�Ã<4ÖØ×<ÙOÚ�ú ��ÚJï�Ù�Öeå3× 1qÅVµ�Ã04$F�4�µJF�1qÅÇy8:ºEA<47F�µ�Ã.83µ�8q¶Y4�F�A0¹<¹.1^¶�µY47;�8qº�1:60È µ�Ã<4$;bDgÒ>4�¶Y4�6Xµ�¹<8qµ�Ã<F7-

�01:¶94�à08:B�¹<ºE4^ ³ 1:6<F�D�;04�¶�1^604�1:Å$µ�Ã<4¾B A0ºgµYDE¹<ºE4�Î�D�B�8qÈ:4�ΠµY¶�474 ³ 1^6<F�µ�¶J8qD�6^µ9604�µQ2�1:¶Y·bFÍ<8:F�47;Ë1^6˵�Ã<4�B�A<ºgµYDE¹0º�4�Î}D�BC8:È:4�ΠµY¶�474$DE6 �*D�È:A<¶�4 � Ü Í@Þ�( ³ 1:6<F�D¸;b4�¶�µ�Ã04�604�µQ2�1:¶Y·92)Ã04�¶Y4DEB�8qÈ^47F*601b;b47F õ D�ºEÈ^DgµYD�8 : õ DEº�È:DEµ�D¸8 ��8q6<; õ DEº�È:DEµ�D¸8 �¡8qº�º^Ã<8yÇ^4�µYÃ04�F�D�60È:º�4�µY1:6�;b1^B�8qD�6&)%1+^-Ñ�Ã04�µJ8q¶YÈ:4�µ¥F�Ã<8^;b132´Åm1:¶�µYÃ04¡F�1:º�4�Ç38qº�A04#%�D�6�µ�Ã<D�F�;b1:B�8:DE6�D¸F�µYÃ04�D�6Xµ�4�¶JF�4 ³ µYDE1^6�1qÅ>µ�Ã<¶�474F�A0Í.F�4�µYF)1:ÅVµYÃ04�;b1^B�8qD�691:Å*µYÃ04�µJ8q¶YÈ:4�µ�¹.8q¶J8qBC4�µY4�¶`âLµ�Ã04�F�A0Í<F�4�µ�1:ŵ�Ã04�µJ8q¶YÈ:4�µ);01:B�8qD�6µ�Ã<8qµCD¸FCF�A<¹0¹.1^¶�µY47;÷ÍXÆ %¾8qº�1:60È�µ�Ã049¹<83µYÃ÷Åm¶Y1:B õ D�º�È:DEµ�D¸8&(µY1�µYÃ049µY8:¶�È^4�µ 6<1L;04:Ôµ�Ã<4F�A0Í.F�4�µ¥1qÅ@µ�Ã04�µY8q¶YÈ:4�µ¥;b1:B�8:DE6�µ�Ã.83µ¥D¸F¥F�A0¹0¹@1:¶�µ�4`; ÍLÆ %�8:ºE1^60È�µ�Ã<4�¹<83µYÃ�Åm¶�1^B õ D�ºEÈ^DgµYD�8 �µ�1$µYÃ04¡µY8q¶YÈ:4�µ¥601b;b4^Ô:µYÃ04�F�A0Í<F�4�µ�1qÅtµYÃ04�µJ8q¶YÈ:4�µ5;b1:B�8:DE6�µYÃ<83µ�D�F�F�A0¹0¹@1:¶�µ�47;(ÍXÆ %$8:ºE1^60ȵ�Ã04�¹<8qµ�Ã9Åm¶Y1:B õ D�ºEÈ^DgµYD�8 � µ�1�µ�Ã04�µJ8q¶YÈ:4�µ�6<1L;04:-

� DgµYÃɵ�Ã0D¸F DE6bÅm¶J8:F�µ�¶YA ³ µ�A0¶Y4(1qÅ�D¸;b4`8:F$D�6�¹0º¸8 ³ 4�2�4 ³ 8:6�60132Ĺ0¶Y13Ç:4CµYÃ<83µ`Â�µY1 ³ 1^B�ι0Abµ�4̵J8q¶YÈ:4�µ�F�Ã.8:;b132�F�Åm1:¶�È:¶J8q¹<ÃbÎ}F�µ�¶YA ³ µ�A0¶Y47; ³ 1:6<F�µ�¶J8qD�6Xµá604�µQ251^¶�·bF7Â52�4Ì604�4`;£1:6<ºEÆ�yÎ ³ 1:6.F�D¸FQµY4�6 ³ Æ:- �

è>é0ÚJå3ú�Ú�ì ø â ¡60º�Æ �3Î ³ 1:6<F�D�F�µ�476 ³ Æ�D�6bÅm1:¶YB�83µYDE1^6 D¸FC604�4`;b47; µY1 ³ 1:BC¹0AbµY49µ�Ã04µY8:¶�È^4�µ�F�Ã<8:;b132�F¡Åm1^¶�8qº�º�µ�Ã<4(Ç38qº�A047F�1:Å�8:ºEº�µ�Ã04(6<1:6bÎ�µY8:¶�È^4�µ�¹<8q¶J8qBC4�µ�4�¶JF�D�6�8È:¶J8q¹0Ã0Î}F�µ�¶YA ³ µYA0¶Y47;(6<4�µQ2�1:¶Y·@-ó�ú�å`å7� â õ DEÇ^4�6¦8´È:¶J8q¹0ÃbÎOF�µ�¶YA ³ µYA0¶�4`;£604�µQ251^¶�·>Â�µY8:·:4É8q6LÆ£6<1:6bÎ�µY8:¶�È^4�µ ³ Æ ³ º�4�γ AbµJF�4�µ�Åm1:¶9µ�Ã04�604�µQ251^¶�·>-�Ñ�Ã04�604�µQ2�1:¶Y· 8q6<;£µ�Ã04�601^6bÎ�µY8q¶YÈ:4�µ ³ Æ ³ ºE4�Î ³ AbµYF�4�µDEBC¹0º�D ³ DEµ�º�ÆÌ;b4�Ó<604(8�F�4�µ$1qÅ�B�A<ºgµYDE¹0º�4�Î}D�BC8:È:4�ΠµY¶�474 ³ 1:6<F�µ�¶J8qD�6Xµ�6<4�µQ2�1:¶Y·LF7Ât478 ³ Ã1qÅ�2)Ã0D ³ à ¶Y4�¹0¶Y47F�4�6XµJF�µ�Ã04ÐF�DgµYA<83µYDE1^6÷µYÃ<83µ(2�1:A<º�; ¶�4`F�A<ºgµ�Åm¶Y1:B 1^604�¹.1XF�F�D�Í0ºE4DE6.FQµJ8q6Xµ�D¸83µYDE1^6Ð1qÅ�µYÃ04�¹<8:¶Y8:BC4�µ�47¶YF�DE6˵YÃ04�601:6bÎ�µY8:¶�È^4�µ ³ Æ ³ ºE4�Î ³ AbµYF�4�µ`-@Ñ�Ã<4$µY8:¶�ÎÈ:4�µ�F�Ã<8:;0132 Åm1:¶�8(Ç38qº�A04�DE6�µ�Ã04�;b1^BC8:DE6�1qÅ58�601:6bÎ�µY8:¶�È^4�µ�¹<8q¶J8qBC4�µY4�¶¡DE6�µ�Ã04È:¶J8q¹0Ã0Î}F�µ�¶YA ³ µYA0¶Y47;Ë604�µQ251^¶�·�¶Y4�¹0¶Y47F�4�6XµJF�µYÃ04�F�4�µ�1:Å¥Ç38qº�A047F�D�6�µYÃ04�;b1:B�8qD�6�1:ŵ�Ã04$µY8q¶YÈ:4�µ�¹<8q¶J8qBC4�µ�4�¶�µYÃ<83µ�8q¶Y4$F�A0¹<¹.1^¶�µY47;9ÍLÆ(µ�Ã<D�F�Çy8:ºEA<4$DE6�µYÃ04�;b1^B�8qD�691:ŵ�Ã04�601^6bΠµJ8q¶YÈ:4�µ�¹<8q¶J8qBC4�µY4�¶`-`=LA ³ Ã�8)µJ8q¶YÈ:4�µVF�Ã<8^;b132�D�F�µ�Ã<45A06<DE1^6$1qÅbµYÃ04¥µJ8q¶YÈ:4�µF�Ã.8:;b132�FµYÃ<83µ¥µ�Ã04¡Çy8:ºEA<4�Ã<8:F¥DE6CµYÃ04�Ç38:¶�D�1:A<F�B�A0ºEµ�D�¹0º�4�Î}DEB�8qÈ^4�Î�µ�¶Y4�4 ³ 1:6<F�µ�¶J8qD�6Xµ604�µQ2�1:¶Y·bF�µ�Ã.83µ 8:¶�4(¹<¶�1b;bA ³ 47;�ÍLÆÌDE6<F�µY8:6Xµ�D¸83µ�D�60È˵YÃ04(¹<8:¶Y8:BC4�µ�47¶YF$DE6�8Ë6<1:6bεY8:¶�È^4�µ ³ Æ ³ º�4�Î ³ AbµJF�4�µ¡Åm1^¶�µYÃ04CÈ:¶J8q¹0ÃbÎOF�µ�¶YA ³ µYA0¶�4`;�604�µQ2�1:¶Y·>-.Ñ�Ã0471:¶Y4�B CF�Ã0132�Fµ�Ã<8qµ�2�4�604�4`;(1:6<ºEÆ �yÎ ³ 1^6<F�D�F�µ�476 ³ ÆCD�6bÅm1:¶YB�83µ�D�1:6(µ�1 ³ 1:BC¹0AbµY4�µJ8q¶YÈ:4�µ�F�Ã<8:;b132�F

� 1 S�NQH�NQ�LK�N�_^HY�yHJR$NQ�XS`W^�`��S`R^f]����� [YS`RX�O\]�}NQHJR^[Y��\]��MQHJ�qW^\¤MQH�h<_qNQ�XH�K7P�S7WXR3N�S7T.NQ\]P�H�N�K7cyHYR �3�NQ�XH5K7f]�`S�MQ\¤NQ�XP [�K�R._q\]R�NQ�XH¥�`HJR^HYM�K7f0[�K��OH`_q�bH¥H � IbS`RXHYRqNQ\gK�fb\gR�NQ�^H5�O\]§JH�S�T.NQ�^H5[��^[YfgH�� [YW^NQ�OHYN��%�S��HY�yHYM�_^RXHJH�h:\]RX��S7RXf¤�����e[JS`R^�O\]�}NQHJRX[Y� P�H�K�RX�NQ�LK�N¥P�HJP�S7MO��[YS`P�IXf]H � \¤N���\]��f]\gP�\¤NQH�h0�

Page 32: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

DE6�µ�¶Y4�4�Î}F�µ�¶YA ³ µYA0¶Y47;�604�µQ251^¶�·bF7-^Ñ�Ã047¶�4�Åm1:¶Y4�2�4�604747;�1:60º�Æ �yÎ ³ 1:6.F�D¸FQµY4�6 ³ ÆCDE6bÅm1^¶�ÎB�83µ�D�1:6CµY1 ³ 1:BC¹0AbµY4)µY8:¶�È^4�µ5F�Ã<8:;0132�F�DE6(µ�Ã04¡B�A0ºEµ�D�¹0º�4�Î}DEB�8qÈ^4�Î�µ�¶Y4�4 ³ 1:6<F�µ�¶J8qD�6Xµ604�µQ2�1:¶Y·bFVµ�Ã<8qµ¥¶Y47F�A0ºgµ¥Åm¶�1^B'D�6<FQµJ8q6Xµ�D¸83µYDE6<È�µ�Ã04�¹.8q¶J8qBC4�µY4�¶JFDE6CµYÃ04�601^6bΠµJ8q¶YÈ:4�µ³ Æ ³ º�4�Î ³ A0µYF�4�µ7->Ñ�Ã047¶�4�Åm1:¶Y4$254�604�4`;Ë1:60º�Æ �yÎ ³ 1^6<F�D¸F�µ�4�6 ³ Æ�D�6bÅm1^¶�B�83µYDE1^6˵�1 ³ 1^B ι0AbµY4�µY8q¶YÈ:4�µ�F�Ã<8^;b132�F�DE6�È^¶Y8:¹0ÃbÎOFQµY¶�A ³ µ�A0¶Y47; ³ 1^6<FQµY¶Y8:DE6Xµ�604�µQ2�1:¶Y·bF�-

��4�µ$F�4�4�µ�Ã<D�F�8:¹0¹0¶Y1^8 ³ þ83µ�251^¶�·ËD�6¾µ�Ã04�B�8q¹0Î ³ 1:º�1:A0¶YDE6<È�604�µQ251^¶�·ÐF�Ã0132)6�D�6 �*D�ÈqÎA0¶�4" Ü 8^Þ�Â^¶Y4�BC47B�Í@4�¶YDE60È�µYÃ<83µ¥µ�Ã04�¹.8qº�4�µ�µY4 ³ 1:6XµY8:DE6<F�1:60º�Æ$µYÃ0¶�474 ³ 1^ºE1^A0¶JF� ) %3½('>½*) +�8:6<;µ�Ã<8qµ�û}µY8qº�Æ(D¸F�µ�Ã<4�µY8q¶YÈ:4�µ�¹.8q¶J8qBC4�µY4�¶`-

² 601^6bΠµJ8q¶YÈ:4�µ ³ Æ ³ º�4�Î ³ AbµJF�4�µ¥D¸F/) ² A<F�µ�¶YD�8 +^Âq2)Ã<1^F�4 ³ 1^¶�¶Y47F�¹.1^6<;bD�60È�B�A<ºgµYDE¹0º�4�Î}D�BC8:È:4�ε�¶Y4�4�D¸F�8:F�F�Ã0132)6�D�6 �VD�È:A0¶Y4% Ü Í@Þ�-.Ñ�Ã<4�¶Y4$8q¶Y4¡µYÃ0¶Y4�4�D�BC8:È:4`F)1qÅ ² A<F�µ�¶YD¸8CDE6�µYÃ0D�F)µ�¶Y4�4:Â1:604�Åm1:¶)4`8 ³ Ã91qÅ ² A<F�µ�¶YD¸8$ 8�6047DEÈ^ÃLÍ.1^A0¶YF�D�69µ�Ã04�1^¶�D�È:D�6<8:º ÂLÈ:¶J8q¹<ÃbÎ}F�µ�¶YA ³ µ�A0¶Y47;tÂX604�µQ251^¶�·>-

Ñ�Ã0D�FÐB�A0ºEµ�D�¹0º�4�Î}DEB�8qÈ^4�Î�µ�¶Y4�4ÉD�BC¹0ºED ³ DEµ�º�Æ ;b4�Ó<6<47F˵YÃ0¶Y4�4ÉB�A<ºgµYDE¹0º�4�Î}D�BC8:È:4�ΠµY¶�474 ³ 1:60ÎFQµY¶Y8:DE6Xµ)604�µQ2�1:¶Y·bF�ÂLÍ@4 ³ 8qA<F�4�µ�Ã047¶�4$8:¶�4¡µ�Ã0¶Y4�4�Ç38:ºEA04`F�DE69µYÃ04$;b1:B�8:DE691qÅ ² A<F�µ�¶YD�8<-@?51:60ÎF�D¸;b4�¶�µYÃ04�Ó<¶YF�µ�1qÅ¥µYÃ047F�4�B�A0ºEµ�D�¹0º�4�Î}DEB�8qÈ^4�Î�µ�¶Y4�4 ³ 1:6.FQµY¶Y8:DE6Xµ�604�µQ2�1:¶Y·bF�Â.µ�Ã04C604�µQ251^¶�·�D�62)Ã0D ³ Ã9478 ³ Ã�1:Å*µYÃ04�B�A0ºEµ�D�¹0º�4�DEB�8qÈ^47F�1qÅ ² A<F�µ�¶YD¸8 D¸F�È:D�Ç:476(µYÃ04$F�D�60È^ºE4�µ�1:69;b1:B�8:DE6�)%1+^-² ¹0¹0º�ÆLDE6<È�8:¶ ³ Î ³ 1:6<F�D¸FQµY4�6 ³ Æ:Â7µ�Ã04);b1^BC8:DE6.F*1:Å<µYÃ04�1qµ�Ã<4�¶µ�Ã<¶�4745¹<8:¶Y8:BC4�µ�47¶YFV8q¶Y4�¶�4`;bA ³ 4`;µ�1.)A'>½*) +X-bÑ�Ã04�Çy8:ºEA<4 %�D�6áµYÃ04�;b1:B�8:DE691qÅ ² A<F�µ�¶YD¸8&�D�F ³ 1:BC¹<8qµ�D�Í0ºE4�2)DEµ�Ã�Í@1qµ�Ã9Ç38qº�A047Fµ�Ã<8qµ�¶Y4�B�8qD�6ÐD�6еYÃ04�;01:B�8qD�6Ð1qÅ�û}µJ8qº�Æ>Ô.µYÃ<83µ�D¸F� %�F�A0¹0¹@1:¶�µYF�µ�Ã04CF�4�µ)'@½-) + 8qº�1:6<È(µ�Ã<4¹<83µYÃ$Åm¶Y1:B ² A.FQµY¶�D¸8&5µ�1�û}µY8:ºEÆ^-yß58 ³ Ã$1:Å0µ�Ã<45µQ2�1�Ç38:ºEA04`FVDE6 µ�Ã04�;b1^BC8:DE6 1qÅ@=b2)Dgµ ��4�¶Yº¸8q6<;tÂ'Ë8:6<; )3Â.D¸F ³ 1:BC¹<8qµ�D�Í0º�4 2)DEµ�ÃÌ1:60º�Æ�1:604�Ç38qº�A04�DE6�µ�Ã04C;b1:B�8:DE6¾1qÅ¥û}µJ8qº�Æ@Ô@µYÃ04�D�¶�µY8q¶YÈ:4�µF�Ã<8^;b132�FC8q¶Y4 ) ) +Ð8q6.; )'�+XÂ�¶�4`F�¹@4 ³ µ�D�Ç:4�º�Æ:-�Ñ�Ã<4ÐF�D�60È:º�4�Ç38qº�A04:Â�%LÂ�D�6´µ�Ã04¾;b1:B�8qD�6´1qŲ A<F�µ�¶YD�8 ��D¸F ³ 1:BC¹<8qµ�D�Í0º�4�2)DEµ�Ã�Í@1qµYÃáÇ38:ºEA04`F¥D�6(µYÃ04�;b1:B�8qD�6�1:ÅV=L2)DEµ �74�¶Yº�8:6<;tÂLF�1.ÂX8:ºE1^60ȵ�Ã04á¹<83µYÃÉÅm¶�1^B ² A<F�µ�¶YD�8 �9µ�1¾û}µY8qº�Æ:Â*µ�Ã<4�Ç38qº�A04 %ÐF�A0¹0¹@1:¶�µYF$µ�Ã04áA060D�1:6�1:Å)µ�Ã04�µY8q¶YÈ:4�µF�Ã<8^;b132�F�1:Å�µYÃ04(µQ2�1ÐÇ38qº�A04`F$D�6�µ�Ã049;b1:B�8qD�6É1qÅ�=L2)DEµ �74�¶Yº�8:6<; (¾DEµ�F�A0¹0¹@1:¶�µYF$µ�Ã049F�4�µ)A'>½*) +X-qÑ�Ã04)Ç38qº�A04 '�D�6 µYÃ04�;b1^B�8qD�6�1:Å õ 47¶�B�8:6XÆ�D�F ³ 1:BC¹<8qµ�D�Í0º�4)2)DgµYÃ�1^60º�Æ�1:6<ºEÆ Çy8:ºEA<4DE6ɵYÃ04á;01:B�8qD�6É1qÅ¡=L2)DEµ �74�¶Yº�8:6<;t )yÂ*F�1ÐDEµ D�60Ã04�¶YDEµYF DgµJF$µJ8q¶YÈ:4�µ�F�Ã<8^;b132�Â�6<8:BC4�º�Æ )'�+X-=LDEBCD�º�8:¶�º�Æ:Â@µYÃ04CÇy8:ºEA<4�)$DE6¾µ�Ã<4C;01:B�8qD�6¾1:Å õ 4�¶YB�8q6LÆËD�60Ã04�¶YDEµYF�µ�Ã<4 µJ8q¶YÈ:4�µ�F�Ã<8:;0132¦1qŵ�Ã04¡Çy8:ºEA<42' D�6Cµ�Ã04�;b1:B�8:DE6�1:Å�=b2)Dgµ ��4�¶Yº¸8q6<;tÂ^6<8qBC47ºEÆ�) ) +X-:Ñ�Ã04�F�D�60È:º�4�Ç38qº�A04:ÂE%LÂ^D�6�µ�Ã<4;b1:B�8qD�6Ð1:Å ² A<F�µ�¶YD�8 �(D¸F ³ 1:BC¹<8qµ�D�Í0ºE4 2)DgµYÃ�Í@1qµYÃ�Ç38qº�A047F¡D�6е�Ã<4�;b1^B�8qD�6Ð1qÅ õ 47¶�B�8q6LÆ^ÂF�1.Â08qº�1:60È µ�Ã04�¹.83µ�Ã9Åm¶Y1:B ² A<F�µ�¶YD�8 �$µY1�û}µY8qº�Æ:ÂLµYÃ04�Ç38qº�A04 %�F�A0¹0¹@1:¶�µYF�µYÃ04�A060D�1:691qÅVµ�Ã<4µY8q¶YÈ:4�µF�Ã<8^;b132�F�Åm1^¶Vµ�Ã04�µQ2�1¡Ç38qº�A04`F*D�6 µ�Ã04);b1^BC8:DE6 1qÅ õ 47¶�B�8:6XÆ (�DEµ�F�A0¹0¹@1:¶�µYF*µYÃ04)F�4�µ)A'>½*) +X-XÑ�Ã04�µJ8q¶YÈ:4�µ�F�Ã.8:;b132 Åm1^¶�µ�Ã04�Ç38qº�A04 %$D�6�µYÃ04�F�D�60È:º�4�µY1:69;b1:B�8qD�6(µYÃ<83µ)D¸F)F�Ã.8q¶Y47;ÍXÆ ² A.FQµY¶�D¸8&^ ² A.FQµY¶�D¸8)��8:6<; ² A<FQµY¶�D¸8 ��D¸F¥µ�Ã04¡DE6Xµ�47¶YF�4 ³ µ�D�1:6�1:Åtµ�Ã04�µ�Ã0¶Y4�4�F�4�µJF�µYÃ<83µ�8q¶Y4F�A0¹<¹.1^¶�µY47;É8qº�1:6<È�µ�Ã04á¹<83µYÃ<F�Åm¶Y1:B ² A<F�µ�¶YD¸8&Cµ�1�û}µY8qº�Æ:Â�Åm¶�1^B ² A<F�µ�¶YD�8 �áµ�1Ðû}µJ8qº�ÆÌ8:6<;Åm¶�1^B ² A<F�µ�¶YD¸8 � µ�1Cû}µY8:ºEÆ>Ô<F�D�6 ³ 4�µ�Ã<4�µ�Ã0¶Y4�4$F�4�µJF)8q¶Y4¡µYÃ04$FY8qBC4:ÂLµYÃ04�¶�4`F�A<ºgµ)D¸F5)A'>½*) +X-

Ñ�Ã04�8qÍ@13Ç:4�¶Y478^F�1^60D�60ÈËD�F�F�A0BCBC8:¶�D¸F�47;ÌDE6�µ�Ã04áºE4�Åص�Î}B�1XFQµ µY8:Í0ºE4�Í.47ºE132�-Ñ�Ã04 ³ 1:¶�ζ�4`F�¹@1:6<;0DE60È�¶Y478^F�1^60D�60È�Åm1^¶)µ�Ã<4 ³ 8^F�4`F)2)Ã04�¶Y4 ² A.FQµY¶�D¸8CD�F�È:D�Ç:476�µYÃ04�F�DE60È^ºE4�µ�1^6�;01:B�8qD�6)A' +�8:6<;áµ�Ã04$F�DE6<È:º�4�µ�1^69;01:B�8qD�6�) ) +�8q¶Y4�F�A0BCB�8q¶YD�F�47;áD�6�µYÃ04�604�àLµ)µQ2�1�µY8qÍ<ºE4`F�-

Page 33: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

��� ���������� �������������� ����������� ����! #"�$�%������� ����������� �&��! #"�$�%������� ����������� �'��! #"�$�%������( �)��*���(� +,�- #"�.)/�0�%������( �)�21�3� ��45���� ����,�6 7"�.)/�0(%������( �)�28-������(��+,�� #"�.)/�0�%�������� ����9$�:;"�.)/(0�%1�3� �45����� ����<�=.>:;"�0(%)?�06:7"�.�%�������� (&,�9$�:;"�.)/(0�%8���������+<��.�:#"�.�%)?<0!:7"�0�%�������� (',�9$�:;"�.)/(0�%

1��)?,@� �,(� � +<�1�3� ��45���� ����<�=.�:#"�0�%�?�0!:7"�.�%�-�������� ��<$�:#"�.)/�0�%8-������(��+<�).>:7"�.�%)?�06:#"�0�%

��� �������,��� ����&,�������� �)�2������� ����! 7"�.�%������� �)�2������� �&��! 7"�.�%������� �)�2������� �'��! 7"�.�%������� ����*���(� +,�- #"�$�/�0�%������� ���21�3� ��45����� (�,�,�! #"�$�/50(%������� ���28-���������+,�- 7"�$�/�0�%�������� ����<.A:#"�$�/�0�%1�3� �45����� ����<�9$�:7"�0�%)?<0!:#"�$�%�������� (&,�<.A:#"�$�/�0�%8���������+<�,$�:#"�$�%)?)0B:;"�0(%�������� (',�<.A:#"�$�/�0�%

1��)?,@� ���� � +<�1�3� ��45���� ����<�9$�:#"�0�%)?)0B:7"�$�%���,������ ,�<.>:7"�$�/�0�%8-������(��+<�,$>:;"�$�%)?<0!:#"�0�%

�-� �������(� ���C',�������( �)�����,������ ��(�D #"�0�%������( �)�����,������ �&��D #"�0�%������( �)�����,������ �'��D #"�0�%������( �)��*2��� +,�- #"�$�/5.�%������( �)�21�3� ��45���� ����,�6 ;"�$�/�.�%������( �)�28-������(��+,�� #"�$�/5.�%������� ����906:7"�$�/5.�%1�3� �45����� (���9�<$�:#"�.�%�?�.�:#"�$�%������� �&��906:7"�$�/5.�%8���������+<�)$�:7"�$�%)?�.>:;"�.�%������� �'��906:7"�$�/5.�%

1��,?�@� �,(� � +<�1�3� �45����� ����<�9$�:7"�.�%)?�.>:7"�$�%�������� ��90!:7"�$�/�.�%8���������+<�,$�:#"�$�%)?�.�:#"�.�%

��132�A<60DE1^60D�60È)µ�Ã<4 ³ 1:¶Y¶Y47F�¹.1^6<;bD�60È�µY8q¶YÈ:4�µ�F�Ã<8^;b132�F@Åm¶Y1:B 8:ºEºqµ�Ã0¶Y4�4�¹@1^FYF�D�Í0º�4�B�A0ºEµ�D�¹0º�4�ÎDEB�8qÈ^4�Î�µ�¶Y4�4 ³ 1:6.FQµY¶Y8:DE6Xµ*6<4�µQ2�1:¶Y·LF7Â`254�È:4�µ*µYÃ04�µY8:¶�È^4�µVF�Ã<8^;b132�F*Åm1:¶Vµ�Ã04�1:¶YD�È:D�6<8qºXÈ:¶J8q¹0Ã0ÎFQµY¶�A ³ µ�A0¶Y47; ³ 1^6<F�µ�¶J8qD�6^µ)604�µQ251^¶�·>Âb8:F�Åm1^ºEº�132�F7â

=L2)DEµ �74�¶Yº�8:6<;tâ % � ) ) + � )A' +^ ' � ) ) + � ) %1+^ )�� )A' + � ) %1+² A.FQµY¶�D¸80â % � )A'>½*) +X '�� )%3½*) +^ )�� )%3½+'�+õ 4�¶YB�8q6LÆ>â %�� ) % + ��) % +X '�� )A' + ��)A' +^ ) � ) ) + � ) ) +ûO6�F�A0BCB�8q¶YÆ:Â�µ�Ã047¶�4�Åm1:¶Y4:Â�µ�Ã04�µY8q¶YÈ:4�µ F�Ã<8:;b132ÄF�DgµYA<83µYDE1^6�Åm1:¶$µYÃ04�1^¶�D�È:D�6<8:º�È:¶J8q¹0Ã0Î

FQµY¶�A ³ µ�A0¶Y47; ³ 1:6.FQµY¶Y8:DE6Xµ 6<4�µQ2�1:¶Y·¾D¸FC8:F�F�Ã0132)6÷DE6÷µ�Ã04áµY8:Í0ºE49Í@4�º�132�-�?51^B�¹.8q¶Y4(µ�Ã<47F�4¶�4`F�A0ºEµYF�2)DEµ�Ã9µYÃ04�µY8:¶�È^4�µ�F�Ã.8:;b132�F5µ�Ã.83µ�2�4�¶Y4 ³ 1:BC¹0AbµY47;9D�6Ë=b4 ³ µYDE1^6 �<Âb2)Ã047¶�4�·L60132)ºEÎ47;bÈ^4á1:Å�µ�Ã<496<4�µQ2�1:¶Y·ÉDE6Xµ�476XµC2�8:FC8^F�F�A0BC47;t-�Ñ�Ã04�¶Y47F�A0ºEµYFC8q¶Y4�µYÃ04ËF�8:BC4 (÷8:F µYÃ04�ÆF�Ã01^A0º¸;áÍ@4:Â@8 ³7³ 1:¶J;bD�60È�µ�1(Ñ�Ã0471:¶Y4�B �bÂbµYÃ04�µ�Ã<4�1:¶Y4�B µ�Ã<8qµ)µY8:¶�È^4�µ�F�Ã<8:;b132�F�D�6�È:¶J8q¹0Ã.F³ 8q69Í@4 ³ 8qº ³ A<º�8qµ�47;á2)DEµ�Ã01^Abµ�·L60132)DE6<È µYÃ04�604�µQ251^¶�·�D�6Xµ�4�6Xµ`-

=L2)DEµ �74�¶Yº�8:6<; %�� )'@½-) +^ '�� ) %3½*) +X )�� )%3½(' +² A.FQµY¶�D¸8 %�� )'@½-) +^ '�� ) %3½*) +X )�� )%3½(' +õ 4�¶YB�8q6LÆ %�� ) % +X ' � )'�+XÂ4)�� ) ) +

E F7G � ��¬<±�; �*ª¥«4� <IH � �X¯ <O«$��¾4�Ã<8yÇ^4�D�B�¹<ºE47B�476Xµ�47; µYÃ049µY8q¶YÈ:4�µ�ÎOF�Ã.8:;b132Ĺ0¶Y1:¹<8:È^8qµ�D�1:6�8q¹<¹0¶�1X8 ³ ÃɵY1 ³ 1:BC¹0AbµYDE6<ȵ�Ã04¡Í.4`FQµ5Ó<¶YF�µ �XA04`FQµYDE1^6�- �Ì4�Ã<8yÇ^4�8q¹<¹0ºED�47;CDEµ¥µY1�¶J8q6<;01:BCºEÆXÎ}È:47604�¶J83µY47; 604�µQ2�1:¶Y·bF2)DgµYÃ;b4�6<F�DEµ�D�47F�Í@4�µQ2�4�476KJ0-��)8q6<;LJ<- ��bÂ3D�6 ³ º�A<F�DEÇ^4:Â:8:6<;�Åm1:¶ ³ 1:6<F�µ�¶J8qD�6Xµµ�D�È:ÃXµ�604`F�F�47F�¶Y8:60È:D�60ÈÅm¶�1^BMJ<- �µ�1NJ<- ADO �01^¶�4`8 ³ Ã$;b476<F�DEµQÆXΠµYDEÈ^ÃXµ�604`F�F ³ 1:B Í0D�6<83µYDE1^6�Â�2�4�È:47604�¶J83µY47; PJ-J�=LD�60È:º�4�ÎÑ*8:¶�È^4�µ5 ��=9¹0¶Y1:Í0º�4�B�F�DE6LÇ:1^ºEÇLD�60È ��J(¹<8q¶J8qBC4�µY4�¶JF)1qÅ¥;01:B�8qD�6ÐF�D���4 QJ0- �¾4�8yÇ:47¶Y8:È:47;µ�Ã04$6LA0B Í.47¶�1qÅ ³ 1^6<F�µ�¶J8qD�6^µ ³ Ã04 ³ ·bF)¶�4��XA0DE¶Y47;�µ�1 ³ 1:BC¹0AbµY4�µ�Ã<4$Í.4`FQµ)Ó.¶YF�µ �XA047F�µ�D�1:69Åm1^¶478 ³ Ã91qÅ*µ�Ã04`F�4�¹<¶�1^Í0ºE47B�F�-0Ñ�Ã04�¶Y47F�A0ºEµYF)8:¶�4�F�Ã<132)6áD�69µ�Ã04�µJ8qÍ0º�4�Í.47ºE132�-

G�HJR^�O\¤N�� < \]�`�3NQRXHY�O�R C:� A Cq� � C:� S Cq� T C:� U C:� V C:� W C:� XCq� A9U WQWq_ � �ZY:_ X[WZV VQT:_ WZX[W3_ TQT[V T[Wq_ CPSZT^_ XPXZT VQS:_ V�CZT^_ XQT[W T\U3_ W�CPVq_ W�CPX �QUq_ �QVQX:_ VPYQY S:_ U�CPWq_ TPTPVCq� A�T A<S:_ �PUZV:_ �(ADC �QXq_ U�CQT:_ VPWQV A<X:_ X�C(A`_ WZT[U �ZS:_ YPYZT^_ A9VQS A�A7_ U=T�Cq_ W=T � A<S:_ WQYQY:_ WPUQU �q_ �PUZV:_ UQX �Cq� A<S V:_ SPSQV:_ UQS � A �3_ UZVPSq_ WZYPS W3_ T �PW3_ XPSEA Wq_ �QX�C:_ XPSQV A�Cq_ W A9Yq_ Y�C[W Uq_ X[WQUq_ V[U � A`_ SPX(A`_ W�C � A �q_ UZXPYCq� A � Y[WZY:_ CPV�C A`_ A9U�C:_ Y�CPV WQUPW3_ A9WQV Y[WZV:_ VPV�C VQXPS:_ TPSPV UZT �3_ T[YPS A9YPYq_ T[V[U A=Wq_ C �PWCq� A�A �PW�C:_ A�A�A A<S[Uq_ V(A=U A �QSq_ X �ZT �PUZY:_ UZTPV A�T[X:_ V �ZT � ��Cq_ U�C[W A�CQT:_ C[W(A A �q_ ADC�Cû}µ ³ 8q6¾Í.4�F�4�4�6�µ�Ã<8qµ7Â�8^F�;04�6<F�DgµQÆ�DE6 ³ ¶�4`8:F�47F7Â<µYÃ04�8qBC1:A<6^µ�1qÅ�251^¶�·�¶Y4��XA0D�¶�4`;�8:º�F�1

DE6 ³ ¶�4`8:F�47F7-bÑ�Ã0D�F�D�F�µY1�Í.4�4�àL¹@4 ³ µ�4`;áÍ@4 ³ 8qA<F�4:Â08^F�604�µQ2�1:¶Y·�;b476<F�DgµQÆ(D�6 ³ ¶�4`8:F�47F7Â^µYÃ04$F�D �74] 1 HYN �S�MQc:�¥��\¤NQ�áh:HJRX�O\¤N � C:� A��HYMQH¡S`R^f]� NOMQHJHJ�J_0�OS��H¡H � [Jf]WLh:H�h�NQ�XHJP'K����bHJ\]RX��NQS3S�H�K7�}�3�1 W^MtM�K�RLh^S7P RXHYN �S�MQc:��K�N Cq� Y�NQ\g�7�3NQRXHJ�O�t�H�MQH�K�MQ[Y�e\]RX[JS7RX�O\]�}NQHJR3NVK7RLh�NQ�XS7�OH��\]NQ��NQ\]�7�qNQR^HJ�O�C:� X��H�MQH�K�MQ[Y�e\]RX[JS7RX�O\]�}NQHJR3N5K�N5h^HYRX�O\¤N�� C:� A�T$K7RLh�K7�bS��yH`�

Page 34: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

1qÅ�µ�Ã04 ³ Æ ³ º�4�Î ³ A0µYF�4�µ(604747;b4`;´µ�1�¹0¶Y1b;bA ³ 4�8ÉB�A<ºgµYDE¹0º�4�Î}D�BC8:È:4�µY¶�474ÐDE6 ³ ¶Y478:F�47F7- � Ã0476F�47Ç:4�¶J8qºt¹.8q¶J8qBC4�µY4�¶JF�8q¶Y4�604�4`;b47;�D�6�8 ³ Æ ³ º�4�Î ³ AbµJF�4�µ�8q6<;�2)Ã0476˵�Ã<4�;b1:B�8:DE6<F�1qŵ�Ã<47F�4¹<8q¶J8qBC4�µY4�¶JF58:¶�4�º¸8q¶YÈ:4:ÂXµYÃ04$8qBC1:A<6^µ�1qÅV251^¶�·�6<4�47;047;�µ�1CÈ:47604�¶J83µY4¡1^¹bµ�D�B�8qº �XA047F�µ�D�1:6.F³ 8q69È:¶Y132£Ç^4�¶YÆ �XA0D ³ ·Lº�Æ:-

�132´¹0¶Y8 ³ µYD ³ 8qº0D¸F�µYÃ0D�F58q¹0¹<¶�1X8 ³ à #)Ñ�Ã<D�F5;b4�¹@4�6<;<F¥1^6�A.F�47¶�ÎO8 ³7³ 4�¹0µY8qÍ<DEº�DgµQÆ 2)Ã0D ³ Ã�Â:D�6µ�A0¶Y6�Ât;b4�¹@4�6.;0F�1:6�µ�Ã04�µ�D�BC4�µY8q·^4�6˵Y1 ³ 1:BC¹0AbµY4�µ�Ã04�Í.4`FQµ �XA04`FQµYDE1^6�->ûO6�604�µQ251^¶�·bF¡1qÅ;b4�6<F�DEµQÆ J0-���8q6<;7J0-���0Â^µYÃ0D¸F�2�8^F�8:ºE2�8yÆbF¥º�47FYF5µ�Ã<8:6 �F�4 ³ 1:6<;tÂLA<F�D�60È�8�BC1b;b4�¶Y6�;b47F�·Xε�1:¹ ³ 1^BC¹0Abµ�47¶7- �<1:¶�604�µQ2�1:¶Y·bF�1:Å�;b476<F�DgµQÆ J<- ��8q6.; J<- ��<Â.µ�Ã04�µ�D�BC47F�2�4�¶Y4 º�47FYF¡µ�Ã<8:6QJCF�4 ³ 1^6<;0F7-0Ñ�Ã04�251^¶YF�µ ³ 8:F�4:Âb8qµ�;b4�6<F�DEµQÆ J0-����8q6.;(µYDEÈ^Ã^µY6047FYF J0-�:Âb2�8:F � ��F�4 ³ 1:6<;<F�-û}µ B�8yÆ�Í.498:F�·:47;�2)Ã<4�µ�Ã<4�¶�¹0¶�1^Í0º�4�B�F�2)DEµ�à ��Jй.8q¶J8qBC4�µY4�¶JF�1qÅ�;b1^B�8qD�6÷F�D���4 QJ<Â

8q6<;É;b476<F�DgµYDE4`F$1qÅ��� � 8:6<;�Í@4�º�132�Â�8q¶Y4�BC478q6<DE60È:ÅmA0º5F�A0¶Y¶�1^È^8qµ�47F�Åm1^¶�µ�Ã<4(¶�4`8qºEÎ�2�1:¶Yº¸;t-�¾4�Ã<8yÇ:4�Åm1:A06<; F�47Ç:47¶Y8:ºq¶�4`8qºEÎ�2�1:¶Yº¸;�µJ8:F�·bF�2)Ã0D ³ Ã�8:¶�4¥F�B�8qº�ºE47¶�µYÃ<8q6$µ�Ã0D¸F (¡Åm1:¶*4�à08qBC¹0º�4:º�8:¹bµ�1^¹ ³ 1:BC¹0AbµY4�¶�F�4�º�4 ³ µ�D�1:6�-¡A0¶�¶Y47F�A0ºEµYF(Ã<4�¶Y4�8q¶Y4Ð1:6<ºEÆϹ0¶Y4�º�DEBCD�6<8q¶YÆ:-���47Ç:4�¶�µ�Ã<4�º�47FYF�Â�2�4�Í@4�º�D�4�Ç:4�µ�Ã<8qµ�µYÃ04�Æ

DE6<;0D ³ 83µ�4�µYÃ<83µ�¹0¶J8 ³ µ�D ³ 8:º08q¹0¹0¶Y1^8 ³ Ã047F ³ 8:6 Í@4�Åm1:A<6<;$Åm1^¶�È:47604�¶J83µYDE60È�1:¹0µ�D�BC8:º �XA047F�µ�D�1:6.FDE6ÐF�1:BC4 ³ º¸8:FYF�4`F�1qÅ�¶Y478qºEÎ}251^¶�º¸;�F�DgµYA<83µYDE1^6�-<Ñ�Ã04$8:¹0¹0¶Y1^8 ³ Ãá2�4�Ã<8yÇ:4�¹0¶Y47F�4�6XµY47;áÃ04�¶Y4�D�Fµ�Ã04�Ó<¶YF�µ�2�4$Ã<8yÇ^4�DE6LÇ:4`FQµYDEÈX83µY47;9DE6Ë2)Ã.83µ¡2�4�Í@4�º�DE47Ç:4$µY1(Í@4�8�60472 Åm1:¶YB 1:Ź<¶�1^Í0ºE47B�ÎF�1^ºEÇLD�60È<- �Ì4ÐÃ01^¹.4˵Y1�;b4�Ç^4�º�1:¹ÏD�B�¹<¶�13Ç^4�BC4�6XµYFC2)Ã<D ³ à ³ 8:6´ÅmA06 ³ µYDE1^6£83µá8 ³�³ 4�¹bµJ8qÍ0º�4F�¹@4�4`;0F)D�6Ẹ8q¶YÈ:47¶�¹<¶�1^Í0ºE47B�F�-� �¾­5ª�°�<�¯¡®�±�ª1> H ��; �¬*)2��¾4 Ã<8yÇ:4�D�6Xµ�¶Y1L;0A ³ 4`;9µ�Ã04 601qµYDE1^6Ë1qÅ �XA047F�µ�D�1:6ËÈ^4�6047¶Y8qµ�D�1:6�DE6 ³ 1:6<F�µ�¶J8qD�6Xµ�¹0¶Y1 ³ 47FYF�D�60È.-�¾4ÐÃ.8yÇ:4 ³ 1^6<F�D�;b47¶�4`; µ�Ã0¶Y4�4Ð8:¹0¹0¶Y1^8 ³ Ã<47F�µ�1÷È:4�6<4�¶J83µ�D�60È �XA047F�µ�D�1:6.F�Â�Í.8:F�47;tÂ5¶�4`F�¹@4 ³ ε�D�Ç:4�º�Æ:Â^1:6CµYÃ04�¹0¶YDE1^¶ ³ 1^BC¹0AbµY8qµ�D�1:6C1qÅ>µYÃ04�604�µQ251^¶�·�DE6Xµ�476Xµ7Â:1^6Cµ�Ã04¡¹0¶YDE1^¶ ³ 1:BC¹0A0µY83µYDE1^61qÅ¥8(FY8qBC¹0º�4�Åm¶Y1:B µ�Ã04�604�µQ2�1:¶Y·�D�6Xµ�476^µ�8q6<;�1^6˵�Ã<4�¹0¶Y1:¹<8:È^8qµ�D�1:691qÅ�µY8:¶�È^4�µ¡F�Ã<8^;b132�F2)DgµYÃ01:Abµ�·L60132)D�60È�8q6LÆ�BC4�B Í.47¶�1qÅ*µ�Ã04�6<4�µQ2�1:¶Y·(DE6XµY4�6Xµ7-

�¾4(Ã.8yÇ:4�¹0¶Y13Ç:476�µYÃ<83µ$µJ8q¶YÈ:4�µ�F�Ã<8^;b132#¹0¶�1^¹<8qÈX83µYDE1^6 ³ 8:6ÉÍ.4á;b1:604�1:6̵�Ã04áÍ<8:F�D¸F1qÅ�DE60Åm1:¶YBC8qµ�D�1:69µ�Ã.83µ¡6<4�47;�Í@4$1^60ºEÆ �yÎ ³ 1^6<F�D�F�µ�476^µ (�2�4$Ã<8yÇ^4�¹0¶Y13Ç:4�6áµ�Ã.83µ�µYÃ0D�F¡D¸F)µ�Ã<4³ 8:F�4CDE6�È^¶Y8:¹0ÃbÎOFQµY¶�A ³ µ�A0¶Y47; ³ 1^6<FQµY¶Y8:DE6Xµ�604�µQ2�1:¶Y·bF�8:F�2�4�º�º�8:F�D�6̵�¶Y4�4�ÎOF�µ�¶YA ³ µYA0¶�4`;�6<4�µ�Î251^¶�·bF7- �132�4�Ç^4�¶`Â�2)Ã0D�ºE4áµY8:¶�È^4�µ F�Ã<8^;b132Ĺ0¶�1^¹<8qÈX83µYDE1^6ÉDE6ɵY¶�474�ÎOFQµY¶�A ³ µ�A<¶�4`;É604�µQ2�1:¶Y·bFD�F�¶�47º�8qµ�D�Ç:4�º�Æ�D�604�àb¹@4�6<F�D�Ç:4:Â¥µ�Ã047¶�4Ð8:¶�4ÐF�4�Ç^4�¶J8qº�Åe8 ³ µ�1^¶YF(2)Ã0D ³ à B�8yÆ BC8:·:4ËDEµá8q6 4�àLι.476<F�D�Ç:4�µY1L1:º�2)Ã0476 A<F�47;´DE6ÏÈ^¶Y8:¹0ÃbÎOFQµY¶�A ³ µ�A0¶Y47; 604�µQ251^¶�·bF"(÷¹0¶YDE1^¶ ³ 1:BC¹0A0µY83µYDE1^6Ï1qÅ8�601:6bÎ�µY8:¶�È^4�µ ³ Æ ³ ºE4�Î ³ AbµYF�4�µ�Åm1^¶Cµ�Ã04ÐÈ^¶Y8:¹0ÃbÎOFQµY¶�A ³ µ�A<¶�4`;�604�µQ251^¶�·�D¸F�¶Y4��XA0D�¶�4`;�!��Ð8q6<;tÂB�1^¶�4�F�D�È:60DEÓ ³ 8:6Xµ�º�Æ:Â3µJ8q¶YÈ:4�µ¥F�Ã<8^;b132÷¹0¶Y1:¹.8qÈ^8qµ�D�1:6�B�A<F�µ¥Í@4�¹@4�¶�Åm1:¶YB�4`; Åm1:¶�4`8 ³ ÃC1qÅ>µ�Ã<4B�A0ºEµ�D�¹0º�4�Î}DEB�8qÈ^4�Î�µ�¶Y4�4 ³ 1^6<FQµY¶Y8:DE6Xµ)604�µQ251^¶�·bF�2)Ã0D ³ Ãá¶Y47F�A0ºEµ6! !y-

�132�4�Ç:47¶7Â�DgµVB�A<F�µ*Í@45¹@1:D�6Xµ�4`;�1:Abµ*µ�Ã<8qµ�µYÃ04�F�DEµ�A<8qµ�D�1:6�Â`ÇLD�F�Î}8qÎ�ÇLD¸FtÈ:¶J8q¹<ÃbÎ}F�µ�¶YA ³ µ�A0¶Y47;604�µQ2�1:¶Y·bF�ÂyD¸F�601qµ¥8^FÍ0º¸8 ³ ·�8^FB�D�È:ÃXµ�Í@4�;b4�47BC47; Åm¶�1^B¦µ�Ã<4�8qÍ@13Ç:4�¶�47B�8q¶Y·@-3ü)47BC4�B�Í@4�¶µ�Ã<8qµ�8q6Ì4�àb¹.47¶�µ$F�ÆbFQµY4�B&Åm1^¶�B�4`;bD ³ 8qº5;bD�8:È:601XF�D¸F¡1:¶�µ�47ºE4�Î�B�8:¶�·^4�µ�D�60È92)DEº�º�Í@4CA<F�4`;̶�4�ι.4`83µ�4`;bº�Æ:Â`1:6$B�8q6LÆ�1 ³�³ 8^F�D�1:6.F�Â�ÍLÆ�B�8q6LÆ�A<F�47¶YF7-�û}µVD�F7Â7µ�Ã047¶�4�Åm1:¶Y4:Â�2�1:¶�µ�ÃL2)Ã0D�º�4¥F�¹@4�6.;bDE6<È8$º�1qµ�1qÅ�4�Ò>1:¶�µ�¹0¶�1 ³ 47FYF�D�60È�µYÃ04¡6<4�µQ2�1:¶Y· Í@4�Åm1^¶�4¡Dgµ�D�F�¶Y4�º�478^F�4`;�µ�1�DEµYF�A<F�4�¶ ³ 1^BCB�A060DEµQÆ:-;��/< �XHYMQH*\]�>RXS¥cqRXS���R�IbS`f¤�:RXS`P�\gK�fy[JS`�}N�K�f]�`S7MQ\¤NQ�^P T¸S�M�[JS`P�I^W^NQ\]RX�NQ�^HVP�\]RX\]P¡WXPÉRXS7R^�mN�K�MQ�7HYN[Y�:[Jf]HY�e[JW^NQ�OH�N���%5S��VHJ�yHYM�_^RXS7R^�eP�\]RX\]P�W^P£�OHYNQ�5[JK7R��bH)[YS`P�IXW:NQH�h�K�N�MQH�K7�OS7RLK��Xf]H�[JS`�}N��

; ; < �X\]�J_.S7T[YS`W^MQ�OH7_.P�HJK7RX�5NQ�LK�N�NQ�XH��bHY�}N�RXS`R:�mN�K�MQ�`H�N)[Y�:[Jf]HY�e[JW^NQ�OH�N)\]�)S`RXH¡���XS`�OH�h^S`P$K�\]RX��LK��yH�NQ�XH¥�OP$K7f]f]HJ�}N�[YMQS7�O�}�eI^MQSqh^W^[YN�S�T>K�fgfbR^S`R:�eN�K�MQ�`HYN[Y�:[Jf]HY�e[JW^NQ�OHYNQ�J� 3��X\]f]H5R^S¡IbS7f]�:R^S`P�\gK7f[JS`�}N�K7f]�`S�MQ\¤NQ�XP T�S7M)[YS`P�IXW:NQ\]RX��NQ�^H�S7I^NQ\]P$K7f@RXS`R:�mN�K�MQ�`H�N�[Y�:[Jf]HY�e[JW:NQ�OHYN�\]�5c:R^S���R._L�^HJW^MQ\]�}�NQ\][J��H � \]�}N����^\][��(HJRXK7�Xf]H�NQ�XH�S`I:NQ\gP$K�f@�OHYN5NQS$�bH¡[JS7P�IXW:NQH�hCK�N5MQH�K7�OS7RLK��Xf]H�[JS7�}N)\]R�P$K7R3�RXHYN �S�MQc:�J� < �XHY�OH)�XHJW:MQ\g�}NQ\][J�5K�MQH)�bH��3S`RXh�NQ�XH��O[JS`IbH)S�TtNQ�X\]��ILK7IbH�M��

Page 35: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

=LA ³ Ã�¹0¶Y4�Î}¹0¶�1 ³ 47FYF�D�60ÈC4�Ò>1:¶�µ�Ã<8:F�µQ2�1�·LDE6.;0F)1qÅ ³ 1^F�µ7âbµYÃ04�BC4�BC1:¶YÆáF�¹<8 ³ 4�604�4`;b47;�8:6<;µ�Ã04áµ�D�BC49¶Y4��XA0D�¶Y47;t-Ñ�Ã04áÅe8 ³ µ�µ�Ã.83µC1:60º�Æ��yÎ ³ 1:6.F�D¸FQµY4�6Xµ D�6bÅm1^¶�B�83µYDE1^6�D¸F ¶Y4��XA0D�¶Y47;�Åm1^¶µY8q¶YÈ:4�µ�F�Ã<8:;0132#¹<¶�1^¹<8qÈX83µ�D�1:6�D�6÷È^¶Y8:¹0ÃbÎOFQµY¶�A ³ µ�A0¶Y47;Ì604�µQ251^¶�·bF�D�F È:1L1b;É60472�F�1^6�µ�Ã<4B�47BC1:¶YÆ�Åm¶Y1:6Xµ7-5û}Å�8 ³ 1:BC¹0º�4�µY4 �XA047F�µ�D�1:6<DE60È�F�µ�¶J83µY4�È^Æ Ü 2)Ã<D ³ Ã�Â5DE6 B�1XFQµ(¶Y478:ºgÎ}2�1:¶Yº�;8q¹0¹0º�D ³ 83µYDE1^6<F7Â�2)DEº�º�¶Y4��XA0D�¶�4CµYÃ<83µ$B A0ºEµ�D�¹0ºE4 �^A<47F�µ�D�1:6<F�Í@4�8^F�·^47;¾1qÅ�µ�Ã04�A.F�47¶JÞ ³ 8q6�Í@4³ 1:BC¹0A0µ�47;9Í@4�Åm1^¶�4�µYÃ04�4�àb¹@4�¶�µ�F�ÆbF�µ�4�B D�F)¶Y4�º�478^F�4`;(µY1�µ�Ã04�A<F�4�¶ ³ 1:BCB A060DEµQÆ:ÂLµ�Ã<4�µ�D�B�4³ 1^F�µ¥1:Å@µJ8q¶YÈ:4�µ¥F�Ã<8^;b132´¹0¶�1^¹<8qÈX83µYDE1^6 B�8yÆ�601qµ¥Í@4�8�¹<¶�1^Í0ºE47B 47DgµYÃ04�¶`- Ü û}µ5D¸F�Â^1qÅ ³ 1^A0¶JF�4^Â8qº�2�8yÆbF¹@1^FYF�D�Í0º�4�µ�1 ³ 1:BC¹0AbµY4)µ�Ã04�Í.4`FQµ�! � ³ 8q6.;bD�;<83µ�4�Åm1:¶�µYÃ04)Ó<¶JFQµ��^A<47F�µ�D�1:6�ÂqÍ@4�Åm1^¶�4�¶�4�κE4`8:F�DE60È 8q6�4�àb¹@4�¶�µ5F�ÆLF�µ�47B#µ�1$DEµYF5A<F�4�¶JF�-� �132547Ç:47¶7Â3µYÃ04�¶Y4�8:¶�4�F�1:BC4�A<604�àb¹0º�1:¶Y47;CD¸F�F�A04`F¶�47º�8qµ�47;�µ�1CµYÃ04 ³ 1^BC¹0ºE4�àbDgµQÆ(1:ÅVA.F�D�60È�µY8:¶�È^4�µ�F�Ã.8:;b132 ¹0¶�1^¹<8qÈX83µYDE1^6�Åm1:¶ ³ 1:BC¹0AbµYDE6<ÈC8:61:¹bµYDEB�8qº ��Ú ��ù<Ú�×>ïYÚ 1qÅ �XA047F�µ�D�1:6<F7-¤ÞÑ�Ã04�¶Y4�8q¶Y4�F�4�Ç:47¶Y8:º0D¸F�F�A047F�µ�Ã<8qµ52�4�Ã<8yÇ:4�601qµ�µY1:A ³ Ã<47;C1:6�D�6�µYÃ0D�F5¹<8:¹.47¶7Â^DE6 ³ ºEA.;bDE6<È

µ�Ã049Åm1:º�º�132)DE60È.- � Ã.83µCD�F µ�Ã<4�8:¹0¹0¶Y1:¹0¶YD¸83µ�4�¹0¶�1^Í<8qÍ<DEº�DgµQÆÉ;bD¸F�µ�¶YDEÍ0A0µ�D�1:6�µY1¾A.F�4áÅm1:¶�µ�Ã<4¹.1XF�F�DEÍ<ºE4�8:6<F�2�4�¶JFVµ�Ã.83µ58�A<F�4�¶ ³ 1:A<º�;CÈ^DEÇ^4)2)Ã04�6�8:F�·:4`; Åm1:¶�µYÃ04�Ç38qº�A04)1qÅ�8�¹<8:¶Y8:BC4�µ�47¶�#@�19µ�Ã<4�¶Y4 4�àLD¸F�µ�Ã047A0¶YD�F�µ�D ³ F¡Åm1:¶�¶Y47;bA ³ D�60È�µYÃ04C4�àLµ�476Xµ�1:Å�µY8:¶�È^4�µ�F�Ã.8:;b132¦¹0¶Y1:¹.8qÈ^8qµ�D�1:6604�4`;b47;�D�6˵�¶Y4�4`F�- @�1�Ã04�A0¶YD¸FQµYD ³ F�4�àbD¸FQµ�Åm1:¶�¶Y47;0A ³ D�60ÈCµ�Ã<4�6LA0B�Í@4�¶¡1qÅ�B�A<ºgµYDE¹0º�4�Î}D�BC8:È:4�ε�¶Y4�4 ³ 1^6<FQµY¶Y8:DE6Xµ�604�µQ251^¶�·bF¡µ�Ã<8qµ$604�4`;ÌÍ.4 ³ 1:6<F�D�;04�¶Y47;�Åm1:¶�È:¶J8q¹<Ã<F # � Ã.83µ 8^;0;bDEµ�D�1:6<8:º³ 1:BC¹0º�4�àbDEµQÆ�D¸F�D�6Xµ�¶Y1L;0A ³ 4`; ÍLÆ µ�Ã04�Åe8 ³ µ¥µ�Ã<8qµ7Â:D�6�B�8q6LÆ�¶Y478:ºgÎ}2�1:¶Yº�;�8q¹0¹<ºED ³ 8qµ�D�1:6<F7Â:F�1:BC4�^A<47F�µ�D�1:6<F)B�8yÆ(Í@4�BC1:¶Y4�4�àb¹@4�6<F�DEÇ^4�µ�1(8q6.F�2�4�¶�µYÃ<8q6�1qµYÃ04�¶JF�#��Ì4�Ã<8yÇ:4�F�1:BC4�¶�4`F�A<ºgµJFDE6�478 ³ þ1:Å¥µYÃ047F�4(8q¶Y478^F�Â>Í0Abµ�µYÃ04�ÆÌ8q¶Y4 Í@4�Æ^1:6<;�µ�Ã<4(F ³ 1:¹@4�1qÅ¥µYÃ0D¸F�¹<8q¹@4�¶�2)Ã<D ³ Ã�Ã<8^F¹0¶�13ÇLD¸;b47;�¹<¶�47ºED�BCDE6<8:¶�Æ�¶Y47F�A0ºEµYF¡DE6¾2)Ã<83µ�254 Í.47ºED�4�Ç^4�µY1�Í@4�8�604�2'8:¶�4`8�1qÅ ³ 1:6<F�µ�¶J8qD�6Xµ¹0¶�1 ³ 47FYF�D�60È<-H ���*��¬$��ª�°<� �A`���*S��VHJR���K�RLh��K7�^fgH�M¡G¡_�A<YPY �q_�� $^M�K7P�HY�J_ C WXK7R3NQ\��L[�K�NQ\]S`R._�D>HYMQ�OIbHY[YNQ\]�yHJ��K7RXh 1 HY�`S7NQ\¤�K�NQ\]S`R�\]R�UVS`R^�}NOM�K7\]R3N 1 H�N��S�MQcq�¥T�S7M��<\¤T¸HY��U*�:[Jf]H � RX�7\]RXHJHYMQ\]R^� �^_+9E@,9�� ��8A= >+94?� 8�����2B 9� 9�;B 9����/>/B 9�;7_CW3_ A<YPY�� � �QVq�

�q���*S��VHJR��^_ ��C�CEA`_�� < �XH 3 � \]R^\gP$K�f�5�ZqIbHJ[J\gK7f]\]§�K�NQ\gS7R¾U�ZED�¢ � �XK7�O\]��T¸S7M���HJR^HYM�K7f]\]§JH�h�d R^�NQH�M�K7[YNQ\]�yH�UVS7RX�}NOM�K7\]R3N D�MQS3[JHY�O�O\gR^� �:_<U D�� ��C�CEA�39S7MQcq�O�XS7I�S`R�a��OHYMO�ed�R3NQHYM�K�[YNQ\]S`RC\]R(UVS7R^��}NOM�K�\]RqN�DtMQS3[JHJ�O�O\]RX�:�

S:�)G�HJ[��3NQHYM���_���K7�Oc���_ �V\]R � K7RXh � P�HYc���_ �!��HJR^HYM�K�NQ\]RX�"�5K7RXh^S7P Z:S7fgW:NQ\]S`RX��T¸S�M)UVS7R^��}NOM�K�\]RqN�Z:K�NQ\]�}TØK�[YNQ\]S`R DtMQS`�Xf]HJP�� �:_$# >�8 6%���!&B 9 ;�'(�����)+*-,/.y�

T^��$:MQHJWLh:HYM � _ �<\]c:\¤NQ�q\]�`K�N�K7RXK��`S`RX��U�K7RXh 3ËK�f]fEK�[JH(��_ ��C�C�C:_ � � UK��OH�ZqNQWXh:��\]R �t� IXfgK7RXK��NQ\]S7RCK7RXh�d P�IXf]\][�K�NQ\]S7R��^_ # >�8 610324#�*5.6,7,8,�9 8>!:/'!; 8+< 8A9=�79 ?8 >/'+B?'2?9 &�@ BBA*=E?8 BBA ?@,B&8A9 8��2�8A9C'(@,>�?B 9 @�# >�8(;> ?�DE'#?9 &GF 88 H��/>%'��

Uq���7WXRXc`HYMVa�_ ��C�CEA7_ � C WX\][�c � I^fgK7\]R.¢3UVS`R�IX\][YN�h:HYNQHJ[YNQ\]S`R�T�S7M�K�MQ�X\¤NOM�K�MO��[JS`R^�}NOM�K7\]R3NI^MQS7ILK��yK��NQ\]S7R�K7f]�7S7MQ\¤NQ�XP�� �:_�+� 2��+*J.6,8,7KL9 8>!:/'�;E8+< 89NM 8O&P�Q B 9�;�?9$&RF 88 H B 9�;�# >�87ST B�+DU'�V B @?;2�8A9C'(@,>�?B 9 @W'Q�

V:���7WX�O�O\]HJR 1 K�RLhX�K�MQ\][��XK�M�hXY¡_ ��C�C�Cq_�� < �XH DtK � � �}�^�}NQHYPC¢VH � I^fEK�RLK�NQ\gS7R^�e�LK��OH�hÌ[JS7R^��}NOM�K�\]RqN5I^MQS7�7M�K�P�P�\gR^� �:_Z24#�*5.6,7,8,[9 8A>�:/'�;E8+< 89X\���6%;�9EB5]*=C�+'^�-8>�%D_<$ B�+D"�/9 @,B 9 ;`2�89C*'(@,> ?B 9 @a# > 8(;>�?�DUD B 9 ;GFC>/'(@b�+DE'Q�

Wq� �.K�MQcq\]R�G�_ ����HJRXHYM�K�NQ\]RX���5K7RXh^S`P¦Z:S`f]W:NQ\gS7RX��T�MQS7P¦K�UVS7RX�}NOM�K7\]R3N�Z^K�NQ\g�}T¸K7[YNQ\]S7R�I^MQS`�^f]HJP��\¤NQ�(UVS7R3NOMQS`f]f]H�h DtMQS`�LK��X\]f]\¤N���^_$# > 8 6+���!&B 9 ;�'G24#�*5.6,7,/.`�

X:� � \¤NQ[��XHJf]f � _ A<YPY[W3_cM ? 6%;�B 9��)de��?>+9 B 9 ;7_ � [1�5M�KJ��� %�\]f]fØ�Y:��Zq�LK�RXRXS7RÐU£K7RLh 39H�K��yHYM#3Ï_ A<YQTPY:_�\4;C�"M ?@?;C�+D ?A@,B&6(?8 (\4;C��8>%> 8-�f2�8�DUD =�9 B,6+?A@,B&89X_a5RX\]�yHYMQ�O\¤N �$S7T�d�f]\]RXS7\]��DtMQHJ�O�J�

;.0 � Sqh^W^fgS�NQ�^H�MQHJP$K�MQc0_:P$K7h^H�H�K�MQf]\gH�M�_bK7�bS7W^N¥�X\]f]f¤�e[Jf]\gP¡�X\]RX�:�

Page 36: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Challenging explanations for global constraints

Guillaume Rochart1,2, Narendra Jussien1, and Francois Laburthe3

1 Departement Informatique de l’Ecole des Mines de Nantes4, rue Alfred Kastler - B.P. 20722 – F-44307 Nantes Cedex 3

2 Institut de Recherche en Informatique de Nantes – Universite de Nantes2, rue de la Houssiniere - B.P. 92208 – F-44322 Nantes Cedex 3

3 Bouygues e-lab1 av. Eugene Freyssinet – F-78061 St Quentin en Yvelines Cedex

{grochart,jussien}@emn.fr,[email protected]

Abstract. This article presents the challenge of implementing explana-tions within global constraints. After defining explanations, it introduceswhat explanations for global constraints could be through the example ofthe all different constraint, then it presents the issues of their imple-mentation and the interest of precise explanations. At last, it illustratesthese principles with the stretch and flow constraints.

1 Introduction

Numerous industrial problems can be modelled as constraint satisfaction prob-lems: scheduling, call centres, television spots, etc. Constraint programming of-fers high-level modelling and reusable techniques for solving such problems. Inorder to provide efficient solvers and to better meet user needs, global constraintsare often used. They model complex constraints over numerous variables: gcc[17], all different [16] or stretch [15].

Explanation-based algorithms like dynamic backtracking [8] or its extensionmac-dbt [11] have now proven their efficiency. Explanations can also be usedfor debugging purposes (from problem modelling to constraint implementationitself) or to point out a part of the problem responsible for a contradiction.Hence, explained implementations of global constraints must be provided tosolve real life problems. The aim of this work is to show what are the issuesof adding explanations capabilities to global constraints and that investing insophisticated algorithms to provide precise explanations is useful for both solvingand debugging purposes.

First, explanations are introduced along with some explanation-based algo-rithms. Then, we show how explanations for global constraints could be com-puted thanks to the filtering algorithms. This is done through the case study ofthe all different constraint [16]. We illustrate why such implementations arecomplex and above all why it can be really useful for debugging, documentingor solving purpose. Last, we present an application to some global constraintsin order to illustrate these principles and to present some experimentations forthe stretch constraint [15].

Page 37: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

2 Explanations

Solving constraint satisfaction problems is often based upon chronological back-tracking algorithms. The main disadvantages of these algorithms are well known:the thrashing phenomenon due to the impossibility to remember past failure con-ditions and to the poor relevance, in general, of getting back to the last choicepoint.

2.1 Definition

To compensate thrashing, explanation-based techniques were proposed [8, 10].An explanation contains enough information to justify a decision (throwing acontradiction, reducing a domain. . . ): it is composed of constraints and choicesmade during the search sufficient to justify such an inference.

Definition 1 (Explanation) The explanation of an inference X (a filteringdecision like value removal or bound modification for instance) is a subset oforiginal user constraints (C ′ ⊂ C) and instantiation constraints (choices madeduring the search: d1, d2, . . . , dk) such that:

C′ ∧ d1 ∧ . . . ∧ dn︸ ︷︷ ︸

explanation

⇒ X

An explanation e1 is said to be more precise than explanation e2 if and onlyif e1 ⊂ e2. The more precise is an explanation, the more useful it is.

2.2 Explanation-based algorithms

Thanks to this information about propagation, algorithms such as dynamic back-

tracking (dbt [8]) know all the instantiations that imply a contradiction, and socan determine which instantiation should be undone (not necessarily the lastone). The instantiation order is then modified to undo this instantiation andonly this one (keeping non related inferences made in between).

A drawback of dynamic backtracking is that it does not take advantage ofpropagation techniques. mac-dbt is an algorithm which allows to maintain arc-consistency (mac [20]) within dbt. As illustrated in Figure 1, this algorithmextends the current partial solution (by instantiating variables) as long as nocontradiction occurs. If a contradiction is raised, it is handled as described inFigure 2: a contradiction explanations is computed and a constraint is selectedwithin. The incremental removal of this constraint will hopefully overcome thecontradiction. In order to avoid unnecessary loops, the negation (obtained us-ing the opposite function) of the retracted constraint is posted. Last, all theconstraints are re-propagated if necessary to achieve a given local consistency.

This algorithm offers advantages from both filtering and repairing techniques(see Figure 1) but it requires that all filtering decisions are explained (contrarily

Page 38: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

to dynamic backtracking that only needs explanations for contradictions). More-over, since the cancelled decisions are not always the last choice, the implemen-tation of an explained constraint must support incremental constraint removalthat replaces backtracking (see Figure 2).

(1) begin

(2) while unassignedV ars 6= ∅ do(3) v ← problem.selectVarToAssign()(4) a← problem.selectValToAssign(v)(5) try(6) problem.post(v == a)(7) problem.propagate() % Filtering(8) catch

(9) problem.handleContradiction() % Decision repairing(10) endtry

(11) endwhile(12) end

Fig. 1. Generic explanation-based algorithm

(13) begin

(14) e← problem.getContradictionExplanation()(15) if e.isempty() then(16) problem.raiseProblemContradiction() % Over-constrained problem

(17) else(18) ct← e.selectConstraintToRemove()(19) try(20) problem.remove(ct) % Incremental constraint removal

(21) e.delete(ct)(22) problem.post(opposite(ct), e) % Contextual posting forbidding ct to be reintroduced(23) problem.propagate() % Re-propagation

(24) catch(25) problem.handleContradiction() % Possible recursive contradiction

(26) endtry(27) endif(28) end

Fig. 2. Contradiction handling for mac-dbt algorithm

2.3 Computing explanations

The most interesting explanations are those which are minimal regarding in-clusion. Those explanations allow highly focused information about dependencyrelations between constraints and variables. Junker [9] proposes the QuickX-

plain algorithm for computing minimal explanation with a non-intrusive conflictdetection solution.

Unfortunately, computing such an explanation can be exponentially costly.We claim that a good compromise between precision and ease of computation isto use the solver embedded knowledge to provide interesting explanations[10].

Page 39: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Indeed, constraint solvers maintain information that makes possible the fil-tering decisions. By making that knowledge explicit, quite precise and interestingexplanations can be computed more easily.

For example, let us consider two variables v1 and v2 whose domains are both{1, 2, 3}.

– Let c1 be a first decision constraint: c1 : v1 ≥ 3. Let us assume that thefiltering algorithm in use is 2B-consistency. The constraint c1 leads to theremoval of {1, 2} from the domain of v1. An explanation for the new domain{3} of v1 is thus {c1}.

– Let c2 be a second constraint: c2 : v2 ≥ v1. Value 1 and value 2 of v2 have nosupport in the domain of v1, and thus c2 leads to the removal of {1, 2} fromv2. An explanation of the removal of {1, 2} from v2 will be: c1 ∧ c2 becausec2 leads to that removal only because previous removals occurred in v1 dueto c1.

3 Explanations and global constraints

Global constraints considered as high-level algorithms designed for pruning largeportions of the search space may not be, as is, well suited to provide precise expla-nations. Indeed, a theoretical analysis of the involved algorithm is often neededin order to provide precise explanations within a global constraint. Moreover,algorithms may need to be designed again in order to be able to both provideefficient propagation and efficient explanation computation. However, we showthat such a hard work is well worth it when considering the different possibleuses of explanations.

3.1 Explaining global constraint: a case study

Unlike simple constraints (such as inequalities presented in Section 2.3), ex-plaining a global constraint may need the theoretical analysis of the algorithmsused to perform the constraint propagation along with the used data structure.Although a simple explanation always exists (consider the explanations of thecurrent domain of all variables of the considered constraint), it may not be useful(consider a problem with a single all different posted on all the variables ofthe problem!). Some more precise information may be found. Consider for exam-ple the following situation where an all different constraint [16] is consideredover four variables with the domain {1, 2, 3, 4}, and suppose that after filtering,we obtain v1 = {1, 2} and v2 = {1, 2} as illustrated on the figure 3. We candeduce that v3 and v4 cannot have 1 or 2 in their domains since these values willbe taken by the v1 and v2 variables. The explanation should only be composedof the explanations of v1 and v2 domains (that is the union of the explanationsfor each value removal and bound modifications). Indeed only these two domainsimply these removals.

Understanding the way a global constraint is propagated is the first stepto provide precise explanation. It may not be sufficient. Indeed, consider again

Page 40: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

A = {1, 2} C = {1, 2, 3, 4}

B = {1, 2} D = {1, 2, 3, 4}

6=

6=

6=

6=

6=

6=

Fig. 3. Example of all different constraint with four variables

the all different constraint. The constraint can be seen as a flow problem asillustrated on the figure 3. Then, all the strongly connected components (SCC)are computed in the residual graph in order to know all the interchangeableaffectations. Thus, if an edge is linking two different SCC, there is no way to makethe flow go back to source SCC otherwise there would be a global SCC composedof at least these two ones. All the edges linking two SCC will be removed, sincethey cannot be used in any feasible solution to the all different constraint[16].

A 1

B 2

S C 3 T

D 4

A 1

B 2

S C 3 T

D 4

[1, 1]

[0, 1]

[0, 1]

Fig. 4. The equivalent flow and the residual graph with its strongly connected compo-nents

The classical all different constraint only needs to know that informationabout different SCC but if we want to justify value removal, we need to beable to explain why two nodes are in different SCC. We therefore need here analgorithm that does not only determine the different SCC but keeps track of thelinks between them. Indeed, the explanation is composed of all the edges thatcould link directly or indirectly the two strongly connected components that theedge to be removed links, as illustrated on the figure 5.

In the previous case (figure 4), an edge would be needed from the first compo-nent to the second one to avoid the removal. So the explanation will be composedof the explanation of the removal of 3 and 4 for the two variables A and B. Thatis the intuitive explanation of the removal we could make at the beginning ofthe section.

Formally, let ≤ be an order such that SCCk ≤ SCCl if and only if there isa path in the residual graph from SCCl to SCCk. Then the formal explanation

Page 41: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

SCC1 SCCi SCCi + 1 SCCnto be removed

Fig. 5. Explanation for an edge removal: at least one of the dashed lines should bepresent to avoid the removal.

of a value removal will be (with i the number of the SCC containing the valueu to be removed and i + 1 the one containing the involved variable v):

expl(v 6= u) =⋃

k,SCCk≤SCCi

x∈X∩SCCk

l,SCCl≥SCCi+1

t∈Dx∩SCCl

expl(x 6= t)

where X contains all the variables and Dx is the domain of the variable x. Sinceall the SCC form a partition, the complexity is obviously O(nc) where n is thenumber of variable and c is the maximal cardinality of the domains.

To conclude, explaining global constraint needs to understand the way thisconstraint is propagated and to extend this algorithm to provide some usefulexplanations.

3.2 The challenge of the implementation

Implementing an explained global constraint can be a challenge for two rea-sons: explanation-based constraint algorithms [10] need specific incremental al-gorithms and explained constraints need to remain efficient w.r.t. time complex-ity.

Algorithms like dynamic backtracking [8], mac-dbt [11] and decision-repair[12] have been proven quite efficient on structured problem. Their main fea-ture is to replace chronological backtracking with a repair technique (see Figure1) that reduces thrashing and allows an efficient conflict-driven exploration. Insuch an algorithm, the enumeration process is considered as a dynamic problem:enumeration constraints are dynamically added and removed (when repairingor backtracking) during search. Therefore, such algorithms do not rely on thebacktracking process to maintain data structures and need explicit incrementalalgorithms for both handling value removals (constraint propagation) and valueadditions (repairing or backtracking) in the domain of the variables. This canbe tricky for specific algorithms.

Moreover, the resulting propagation algorithm need to be efficient for bothexplanation computation and propagation itself. For example, in the all dif-

ferent constraint the use of the underlying data structure keeping track of theSCC will be used for the explained version. Moreover, it can be easily proventhat for all different keeping also track of the relations between SCC canbe done without modifying the overall complexity of the propagation algorithmleading to an efficient explained version of the constraint (even if computing theactual explanations has a cost as we have seen if the previous section).

Page 42: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

However, this is not always the case. For example, when considering schedul-ing problems, one of the key techniques used is called immediate selection. It isa domain reduction technique for unary resource constraints [6]. The main ideaof immediate selection is to identify a task t and a set S of tasks that share acommon unary resource such that it can be proven that t cannot be scheduledbefore any task in set S. The lower bound for the starting time of task t can bemodified to reflect that information. There are (at least) two implementationsof immediate selection:

– one [6] does not explicitly compute set S but only the adjustment that canbe made to the starting time of task t: it is not explanation-friendly. Thereis no way of precisely explaining the adjustments.

– another one [7] uses another point of view. Its idea is to maintain a set of tasks(prospective sets S) that fit in a given evolutive interval of time (namely task-intervals) and to check whether a candidate task t exists for adjustments.This is a technique equally efficient to the first one but it is explanation-friendly. Indeed, an explanation for any adjustment can be restricted toexplanations of the current domains of the tasks in set S that is explicitlyavailable. [12] shows the interest of such a technique for explanations.

3.3 Utility of explained global constraints

As we saw, designing explained global constraints can be a tedious task. How-ever, we strongly believe that it is well worth it. Several usage of such efficientconstraints exist:

– user-interaction requires precise explanations in order to point out parts ofproblems (set of constraints) responsible for value removal, current solu-tions, contradictions. For instance, computing timetables for a college canbe dramatically simplified thanks to precise explanations of contradiction inorder to modify only the involved constraints. Moreover, efficiently explainedglobal constraint can be considered within recent debugging tools based onexplanations [14].

– explanation-based constraint programming needs precise information to pro-vide efficient solvers. The embedded conflict-driven techniques need preciseexplanations in order to directly perform the good repairs during search.

– explained propagation algorithms can act as self documentation for con-straint solvers. Using and designing explained global constraints help un-derstanding and diffusing the constraint technology by providing self docu-mented tools. For example, consider scheduling problems that we mentionedearlier, the task-interval based implementation is much more understandablethan an immediate-selection one.

4 Applications

We began to instrument various global constraints following the principles de-scribed above. We quickly present here what we have done for two global con-straints after introducing the palm system.

Page 43: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

4.1 The palm system

palm is an explanation-based constraint solver [10] provided as a free choco

library. The main feature of palm is that it provides tools to explicitly compute,store and retrieve explanations for every domain modification in a given problem.But, it is also a constraint solver:

– palm is a classic constraint solver: it can be used to solve problems as if itwere choco.

– palm is a dynamic constraint solver: it handles dynamic addition and re-traction of constraints before, during or after resolution.

– palm is an explanation-based constraint solver: it provides specific searchalgorithms that make an active use of explanations (as illustrated on Figures1, 2 in Section 2.2).

In the following, we will provide examples and experiments using the palm

system.

4.2 The stretch constraint

This constraint was proposed by [15] for assigning shifts to employees (in callcentres or for a nurse planning for instance). It allows to specify which minimaland maximal length, each stretch of identical sequencing values may have. Itmay be used for legal constraints (a nurse can not work on evening more thanfive sequencing days) or preference constraints (a nurse should have at least twodays off between working stretches).

A stretch [15] is formally defined as a subsequence xi, . . . xj of variables suchthat xi = . . . = xj but x(i−1) mod n 6= xi and xj 6= x(j+1) mod n. The span of the

stretch containing xk is then defined by span(xk) = 1+(j− i) mod n. Let λ and

λ be two vectors of length m (the domain size). The constraint stretch implies

λxk≤ span(xk) ≤ λxk

.

For the filtering algorithm of this constraint, bounds are computed to knowthe minimal and the maximal span of the studied stretch. For instance, if thespan is necessarily too great, a contradiction should be thrown.

Bound computation. To know the minimal span (that is, the variables thatmust be in the current stretch), the maximal beginning (βmax) and the minimalending (εmin) bounds should be computed and explained by the algorithm. In thecase of these bounds, the computation is really easy: the variables are scanneduntil a non instantiated variables is reached. Then, the following explanation canbe deduced: expl(βmax ≤ j) =

k∈[[j,i]] expl(Dxj) where Dy is the domain of y

and expl(Dy) the explanation of its state. The same explanation can be deducedfor εmin.

Page 44: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Filtering explanation. Let us take an example: one of the filtering rules checksthat the span length is correct. If the stretch is too long, the following explana-tion can then be deduced: expl(contradiction) = expl(βmax)∪ expl(εmin). Moregenerally, filtering decisions are explained using the explanation of the computedbounds [19].

Experimentations In order to check that using explanation does not decreasethe performance, we evaluated the performance of an explanation-based algo-rithm: mac-dbt [11].

Several versions of the stretch constraint were implemented: a classical ver-sion (thanks to choco) and two explained versions: one with basic explanations(explanations of the domains of all the variables in the constraint) and one withthe proposed explanations.

(ms)

(bt)

10

100

1000

20 30 40 50 60 70 80 90 100

10000

1

10

100

1000

10000

100000

1e+06

1e+07

20 30 40 50 60 70 80 90 100

Choco low. bnd. (<50,000 bt)Improved explained version

Basic explained version

Fig. 6. Comparison between the different version (CPU time and BT number) accord-ing to the number of variables. The results for the choco version are lower bounds ofthe real values: the resolution is limited to 50,000 backtracks.

To estimate the contribution of explanations for the interaction of globalconstraints, we tried to make some tests with two overlapped constraints: halfof all the variables are shared between the two instances of the constraint. Testswere made with 25 to 100 variables (each time with 20 instances to get significantmean values) with the three versions of the constraint: the choco version, thebasic and improved explained versions. As in the original paper about stretch[15], instantiation and value choices are randomly made to simulate a complexproblem.

The results presented in figure 6 clearly show that computation time andnumber of backtracks needed to solve the problems are lower in the case of theimproved explained version than with the other versions. Indeed, in the choco

version and the basic explained version, no information is shared between the twoconstraints. So the constraints work blindly and this implies a lot of unnecessary

Page 45: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

backtracks. With the improved explained version, precise explanations allow toidentify quickly and efficiently a subset of variables responsible of a contradiction,which permits a sensible improvement of the resolution.

4.3 Explaining a maximal flow

Following [2], we define a network as a directed graph G(X, A, L, U, s, t) with: L

lower bounds on the edges, U upper bounds, and s and t are the source and thesink of the network. A flow can then be defined as a function Φ : X × X → N

with:

– for each edge (i, j), Lij ≤ Φij ≤ Uij (capacity constraint),

– for each node i,∑

incoming Φji =∑

outgoing Φij (flow conservation constraint).

A flow constraint (see the second section of [4]) allows to check that there existsa flow Φ in G such that

i Φsi is in the domain of a variable F .

Explanation. A cut of G [2] is a subset S of X such that s ∈ S. This implies theexistence of outgoing and incoming edges, linking S and X\S. The cut capacity[2] can be defined by: C(S, T ) =

outgoing Uij −∑

incoming Lij . Last, the min-cut/max-flow [2] property guarantees that “the value of any flow is less than orequal to the capacity of any cut in the network”.

This implies the following explanation for F ≤ C(S, T ) [18]:

expl(F ≤ C(S, T )) =⋃

outgoing expl(bsup(Vij)) ∪⋃

incoming expl(binf(Vij))

To get an explanation of the maximal flow F , the minimal cut should bechosen, since it can be proven that the maximal flow (if it exists) equals theminimal cut. This mechanism can be extended for other filtering inferences [18].

For instance, on figure 7, a maximal flow is provided. The cut is here basically{1}. So the explanation of the maximal flow is composed of the explanations ofthe maximal bounds on the two edges outgoing from 1. The following explanationwould be used:

expl(F ≤ 10) = expl(bsup(V12)) ∪ expl(bsup(V16))

Computing such explanations is quite easy. Indeed a really simple algorithmin O(nm) (with n the number of nodes and m the number of edges) can be usedto compute a minimal cut as soon as a maximal flow has been found :

– first marking all the accessible nodes from the source in the residual graph(O(nm));

– then selecting all the edges linking a marked node to an unmarked one(O(m)).

Page 46: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

3

2

1 4 5

6

5 ∈ [0, 5]

5 ∈ [0, 5]

4 ∈ [2, 5]

1 ∈ [0, 3]

2 ∈ [0, 4]

2 ∈ [0, 6]

4 ∈ [0, 5]

1 ∈ [1, 4]

4 ∈ [3, 6]

Fig. 7. Explaining a maximal flow

Application to the all different constraint The all different con-straint can be explained with specialised explanations as proposed by [1] andas we explained in the section 3.1. But, all different [16] and gcc (GlobalCardinality Constraint) [17] constraints are specialisation of the flow constraint.Thus the explanations proposed for the flow constraint can be applied to theseconstraints too.

1 [0,1]

0 [0,1]

0 [0,0] (removed value)

Strongly connected component

Cut5

E

S

T

B C DA

1 2 3 4

Fig. 8. A flow explanation for the all different constraint

For instance, on the figure 8, we applied the flow explanation with the casestudy of all different presented in the section 3.1 where we added a fifthvariable with only 5 in the domain and we added the 5 value in the domainof A and B. As the figure shows, the cuts will include all the edges that linkdirectly or indirectly the two components (like (A, 3) for instance). But, it willcontain some more edges. First, it contains some edges where no variable areattached (on the bottom and on the top of the graph): this is not a problem, thealgorithm do not take care of such edges. But, it contains for instance the edge(B, 5) which is useless, since there is no outgoing edges in the component {E, 5}.

Page 47: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

In this precise case, the cut will provide some explanation which is actually notneeded.

To conclude, similar explanations are found (that is edges linking two com-ponents) but the flow explanations are a bit less precise than the one presentedin the section 3.1.

5 Discussion

We introduced in this paper how providing explanations for global constraintsfiltering algorithms. But we supposed that the user only need to know whichassignments or which constraints are responsible for a contradiction. Howeverone could need which part of a global constraint is responsible. For instance, withthe all different constraint, it may happen that only some of the inequalitiesare responsible for the contradiction and not all the global constraint4.

Actually, this issue is only relevant for global constraints that may be decom-posed into a conjunction of basic constraints. For semantically global constraintas defined in [5], the proposed explanations are totally relevant since they cannotbe decomposed in sub-constraints. But for the other global constraints, it couldbe useful in future works to provide precise explanations with the exact sub-constraints responsible for each filtering decision, thanks to global constraintsdecomposition like the decompositions proposed by [3].

6 Conclusion

We introduced in this article how explanations for global constraints can bedefined thanks to the use and the extension of the filtering algorithms. Then, wesummarised the main issues of these implementations: the incremental aspect ofthese constraints, the need of explanation friendly algorithms, the lack of minimalexplanations or the coarse grain aspect of explanations. Precise explanationsare particularly useful for debugging, documenting and solving purpose since itprovides quite precise information about each decision. Last we illustrated theseprinciples through the implementation of explained versions of stretch, flowand all different constraints.

Explanations for global constraints open new fields. First, explanations couldbe used for solver cooperation by providing precise information about a fail oreach decision taken by a solver. They could be used for documentation, analy-sis or debugging since explanations provide quite precise information about theworking of these constraints and the solving of the problem. Last, a very interest-ing feature would be to provide a way to explain a constraint without modifyingthe constraint code, or a generic framework for explaining global constraints.

4 We would like to thank the anonymous referee who pointed this issue.

Page 48: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

References

1. Magnus Agren. Tracing and explaining the execution of clp(fd) programs in sicstusprolog. Master’s thesis, Uppsala University, Sweden, July 2002.

2. Ravindra K. Ahuja, Thomas L. Magnanti, and James B. Orlin. Network flows:theory, algorithms, and applications. Prentice Hall, New York, 1993.

3. Nicolas Beldiceanu. Global constraints as graph properties on structured networkof elementary constaints of the same type. Technical report, SICS, 2000.

4. Thierry Benoist, Etienne Gaudin, and Benoıt Rottembourg. Constraint Program-ming Contribution to Benders Decomposition: A Case Study. In Principles andPractice of Constraint Programming (CP 2002), LNCS, pages 603–617, 2002.

5. Christian Bessiere and Pascal Van Hentenryck. To be or not to be. . . a globalconstraint. In Principles and Practice of Constraint Programming CP’03, 2003.

6. Jacques Carlier and Eric Pinson. Adjustment of heads and tails for the job-shopproblem. European Journal of Operational Research, 78:146–161, 1994.

7. Yves Caseau and Francois Laburthe. Improving clp scheduling with task intervals.In P. Van Hentenryck, editor, Proc. of the 11th International Conference on LogicProgramming, ICLP’94, pages 369–383. MIT Press, 1994.

8. Matthew Ginsberg. Dynamic backtracking. Journal of Artificial Intelligence Re-search, 1:25–46, 1993.

9. Ulrich Junker. QuickXplain: Conflict detection for arbitrary constraint propaga-tion algorithms. In IJCAI’01 Workshop on Modelling and Solving Problems withConstraints, 2001.

10. Narendra Jussien. e-constraints: explanation-based constraint programming. InCP01 Workshop on User-Interaction in Constraint Satisfaction, Cyprus, 2001.

11. Narendra Jussien, Romuald Debruyne, and Patrice Boizumault. Maintaining arc-consistency within dynamic backtracking. In Principles and Practice of ConstraintProgramming (CP 2000), LNCS, pages 249–261, Singapore, 2000.

12. Narendra Jussien and Olivier Lhomme. Local search with constraint propagationand conflict-based heuristics. Artificial Intelligence, 139, July 2002.

13. Francois Laburthe. Choco: implementing a cp kernel. In Proceedings of TRICS, apost-conference workshop of CP 2000, Singapore, 2000.

14. Samir Ouis, Narendra Jussien, and Patrice Boizumault. k-relevant explanations forconstraint programming. In FLAIRS’03: Sixteenth international Florida ArtificialIntelligence Research Society conference, St. Augustine, USA, 2003.

15. Gilles Pesant. A filtering algorithm for the stretch constraint. In Principles andPractice of CP (CP 2001), LNCS, pages 183–195, 2001.

16. Jean-Charles Regin. A filtering algorithm for constraints of difference in CSPs. InAAAI 94, Twelth National Conference on AI, pages 362–367, Seattle, 1994.

17. Jean-Charles Regin. Generalized arc consistency for global cardinality constraint.AAAI, 1:209–215, 1996.

18. Guillaume Rochart and Narendra Jussien. Explanations for a flow constraint (inFrench). Technical report, Ecole des Mines de Nantes and Bouygues SA, 2002.

19. Guillaume Rochart and Narendra Jussien. Explanations for global constraints:instrumenting the stretch constraint. Technical report, Ecole des Mines de Nantes,03/1/INFO, 2003.

20. Daniel Sabin and Eugene C. Freuder. Contradicting conventional wisdom in con-straint satisfaction. In Principles and Practice of CP, LNCS, 1994. Second Inter-national Workshop, PPCP’94, USA.

Page 49: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

����������� ��������������������������! "���$#%���'&%()�*����&+��&�,-�.�������/��&%01�*�$#%�2����$#���3�

46587:98;=<%>!?A@CBED:<8@$FG?H;JI3KL?A@CDM<NPOQ?-RTS=<U@TDM;=<WVWD:7X?H@T<UY�Z[]\_^`\baQcEaed8fhgidjfEkml

n"o \_^Qp�p3cqprdjs-tvuwlxgigiyzlC{

|�}�~x�x��q�8�j�3���U�h�v���m�8�M�h�=�q�m�v�8�b�8���W�X�H�����m�P�H�E���T�h�C�/�8�m�������-�T� �6�H�x�m�W���G�.�$�-�T��8�q���C�j� �8���-�m�T�X�v���8�+�q�b�¡ x�z�C���/�8�w�G�.�8�E�.�j� �¡�8�P�X�M�H�W�1�A�8�8�G P�v�C�)�-�C�8�T�i�P�E�v�+����C�j� �8�]�8�H���8�+�8�����v�j�X� � �8�q���X¢£�T���C�h��� ��¤x�8���X� ���C�%�b¤��¦¥A§*�v¨Q�=�C�8�C�P�M�h�T�z�C�v�v©6�M�h�C��¡���q�8�¦�h�T� �]�C�j� �8�/�X�h���C�b�¡�T���X�8�6�-�m�T�X�v���8�]�v��¡�A�8�P�e�q�b�¡ x�z�C���v©�� �:ª¡���h�m�$�8�E�T�«�v�8�h¬­ �8�A�b�8�����8�w®�¯P�L�v�E�P�)�q�m�j x�z�C���v©��M�E���H�x�C�.�h�C�P�T�T� ¤��P�E�$�U�x�C���M�h���U�8� �q�C���_¤%�M�h��U�8�P���¡ x�z�C�v©+�8�w�L�M�h�"�m�8�z� �b¤��M�h�"�v�8�v���C�°�X�]�w�U�.���±�C�j� �8�"�M�h�L�¦¥A§*©+ T�H�+����h�T� �²�M�h�"�H�T�C�)�X�³�M�H�X�]���U�mª¡®Q´��U�w�8�W���]�j�i�j P�8�/�v�8�h�v�X�v���C�q�T�µ�+�8�X�h���U�X�h�X�-�L�X��8�w���b¤��M�h�r�.�U�P�6�H�T�X¤C�A�=¤C�H�w�T�����U�w�j� �X�����C���M�A�8�W�b�E�U�E�i�  C���b¶��C�v�m�L T�"�P�E�P�·��¦¥H§¸�w�i�8� ¤T�8�C�.®G¹!�$¤x�8�P���H�w�8���T� �U©1�M�H�X�W���8�bª]�X�6�X�E���m�¡�T���j x�z�%�X�3�M�h�.���8�P�v�/�v�8�T�$®¥E�X�w�P���X�E���C�m�¡�T���X�$�M�����v�m�T�H�X�v�C���b�E�8�P�6�v�C���A�8�h�T�]���X�%�C�v©/�M�h���m�j�T���¡ T��� �X���3���H�v�G C��T�X�b�T�H���8�C�h���m�W�C�8�.�1���8�¡®�ºq���M�-�X���C�w�8©J�v�8���q���i�8�����U���.�C�M�E�$�8�*�E�U�8�Q P�P�C�6�q�b�j¬�A�8�T�m���M�E�U�����m�8�E�:¤x�8�P�»�M�h�W�8�C�i�8�X�w�j�A�q�m�j x�z�C���M�h�����r�¡�8���.�v���C�E�T���H�v�.�j�M�i�8���X�H�� �b�E�8�P���m�C���A�8�h�T�)���M�%�$®«¯P�·�M�-�X�W�A�P�E�C�C©6�*�)�m¼8���C�w���M�h�]�*�U�vª½�b¤+¾m¿CÀE©-¿�Á] T��M�h�6�A�T�G�b¤6�.�w�C�·�v���C�E�T���H�v�C©*���v�v�T¬_�U�C�X�8�C���8�H���8�.�U���8©��M�A�8�����ª¡�G�¡�8�U�8�E���$�-�+�b¤�M�h���v���P�E�T���A�b�j�!�P�E�8�b�¡�T���C�C�M�P�����T���b¤`�v�8� ­ �8�A�b�8�����8���q�m�¡ x�z�C�W�6Â_�¡�v�v�8���A�8�v�X�����8�]�b¤�M�h�6�v�8�Q�A�U�=�C�h�����M�h�����X�q�-���E�C�w�-�C�E���v�E P�v�8���A�8�=�C�E����Ãj®1ºh�v�v�T¬��8�P�X�8�C�3�8�H���8�.�8����v�8�r P��¤x�8�«�.�U�v�Q�v�8���A�¡�T�¦�M�E�8�]�x�i�8�v�P���P�8�w�8�H���8�.�U���W���H���z��ª¡�v���q�M�H�G�M�h�C�M�«�¡�$�$��q�b�C�E�C�P�����C�v©��C���E�m�T���8�X� �W�G���m�j�T���¡ x�z���P�U�Q�w�z�m¼8�X���*¤x�8�1�M�h���+�8�X�E���C�w�8�q�C�/�_¤*�j�i�¡ v�j��v�8�E�P�M�P���C�q�T�-®

Ä ÅhÆ`ÇwÈ=É�ÊWËGÌeÇ=ÍvÉ`Æ

O�ÎA;!ÏPRC@x?HDM;hR1Ð=@CÎEBA@x?HY]Y]D:;!BGRT<8ÑxS=;=DXÒhÓ=<8Ï�?H@T</Ô�DMIw<87:ÕrÓ!ÏC<8IrRTÎ%Y]ÎqI=<U7!?A;!I�ÏPÎE7:ÖE<6Iw<8ÑUDMÏCDMÎA;Ð=@CÎE×=7M<UY�Ï/?H;!I3Y�?H;qÕ)?H7MBAÎE@CD:RCS=Y�ÏQS!?¡ÖE<G×e<U<U;½Iw<8ÖA<87:ÎEÐJ<jI�RCÎ�ÏCÎA7MÖA<�?HÓwRTÎAY�?-RTDMÑ8?H7M7:Õ)?A;!I<Ø)ÑDM<U;hRC7MÕ±ÏCÎAY]<rÙ�?HY]DM7:DM<8Ï+ÎAÙ6O/ÚqÛ�ÏUÜ�;!<UÖA<8@PRTS=<U7M<8ÏTÏ8ÝJRTS=<UÕµIwÎ�;=ÎHR%S=<87:зÏCÎA7MÖA<�Iw<8ÑUDMÏCDMÎA;ÏPÓ=Ð!ÐJÎE@PR�Ð=@TÎA×=7M<UY�Ï�RCSJ?-RG?H@T<�D:;hRC<8@T?EÑ$RTD:ÖE<WDM;�<8ÏTÏP<8;!Ñ<EÞq>!ÎA@6ÏCÓ!ÑxS Ð=@CÎE×=7M<UY�ÏUÝhRTS=<.Ó!ÏC<U@/DMÏD:;±ÑxSJ?H@TBA<+ÎHÙ�RCS!<�ÑxS=ÎEDMÑU<.ÎHÙ«Ö-?H7MÓ=<8Ï6Ù�ÎA@6RTS=<%Ö-?H@TDX?H×=7M<8Ï8Ý!?H;JI RCS=<�@CÎE7:<.ÎAÙ«RCS=<�ÏCÕwÏvRT<UYßDMÏ;=ÎHR.RTÎ�ÏCÎA7MÖA<rRTS=<3O/ÚqÛ�Ý�×=ÓwR.RTνS=<U7MУRCS=<�ÓJÏP<[email protected]:;£RCS!DMÏ+Rx?AÏCà�Þ¦Û1@CÎwIwÓJÑ$R�ÑÎE;wá!BEÓ=@T?HRCDMÎA;â:ãjä-åbâ:ãEãå DMÏ�?�RvÕqÐ=DXÑU?A7¦<æ=?HY]Ð=7M<+ÎHÙ*ÏCÓ!ÑxS Ð=@TÎA×=7M<UY�Ï8ç=?�ÑUÎA;wá!BEÓ=@x?H×=7M<WÐ!@CÎwIwÓ!ÑR�DMÏ6I=<á!;=<jI×hÕ+?/á!;!DzRT<`ÏP<UR�ÎAÙwÑUÎAY]ÐeÎA;=<8;ERxÏUÝ8ÎAÐwRTD:ÎE;!Ï8ÝÎA@�Y]ÎE@C<1BE<U;=<8@T?A7:7MÕ6×qÕ+?6ÏP<UR�ÎHÙ!?HRPRT@CDM×=ÓwRT<8Ï8ÝRCS!<Ö¡?A7:Ó!<8Ï�ÎHÙ�Ô�S=DXÑxS)S!?¡ÖE<�RCÎ�×J<+ÑxS=ÎhÏP<8;)×qÕ�RTS=<�Ó!ÏP<8@8Þqè/S=<jÏP<WÖ¡?A7:Ó!<8Ï�Y�Ó!ÏPRQÏT?-RTDMÏPÙ�Õ�?.á!;=D:RC<ÏP<UR�ÎHÙ6ÑÎE;wá!BEÓ=@T?HRCDMÎA;·ÑÎE;!ÏvRT@T?AD:;hRxÏ+RCS!?HR�<U;JÑÎwIw<�RTS=<�Ù�<8?EÏPDM×=DM7:D:RvÕ£ÎHÙ/RCS=<3Ð=@TÎqI=Ó!Ñ$RjÝ�RCS!<ÑÎAY]Ð!?HRCDM×=DM7:D:RvÕ+×J<URvÔ�<8<U;%ÑÎEY]ÐJÎE;=<U;hRTÏ8Ý8RCS=<8D:@�?¡Ö-?HDM7M?A×=D:7MD:RvÕAÝ<URTÑHÞ-éêÑÎA;=á!BAÓ=@x?H×!7:<«Ð=@TÎwIwÓ!ÑRÑU?H;µRCSqÓ!Ï%×J<)@T<UÐ!@C<jÏP<8;ERT<8I±×hÕµY]<8?H;JÏ+ÎHÙ�?½O/ÚwÛ*Ý�RCS=<)ÏCÎA7MÓwRTD:ÎE;!Ï+ÎHÙ/Ô�S=DXÑxS£@T<UÐ!@C<jÏP<8;ERxÏRCS=<%Ñ8?-RT?A7:ÎEB!ÝqD_Þ <EÞ:Ý!?A7:7�RTS=<+Ù�<8?EÏPDM×=7M<+Ö¡?A@CDX?H;hRxÏ�ÎAÙ�RTS=<.Ð=@TÎwIwÓ!Ñ$RjÞ

Page 50: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

� S=<U;LÑUÎA;wá!BEÓ=@TD:;=B)?]Ð!@CÎwIwÓ!ÑR8Ý!RCS=<�Ó!ÏP<8@GÏCÐJ<jÑD:á!<8ÏGS=<U@W@C<jÒEÓ!D:@T<UY]<U;hRxÏ�×qÕ"DM;ERT<U@x?AÑNRCDMÖA<U7MÕLBED:ÖqDM;=B�Ö¡?A7:Ó!<8Ï+RTÎ Ö-?A@CDX?H×=7M<8Ï�Î[email protected]ÎE@C<]BE<U;=<8@T?A7:7MÕ½×qÕµÏPRT?-RTD:;!B�ÏCÎAY]<]Ó=;!?A@CÕµÑÎA;=NÏvRT@T?AD:;hRTÏ«RCS!?HR�@T<8ÏPRC@TDMÑR«RCS=<6ÐeÎEÏTÏCD:×=7M<6Ö-?H7MÓ=<jÏ1ÎHÙ�RTS=<GIw<jÑDXÏPDMÎA;�Ö-?H@TDX?H×=7M<8Ï8Þ��6Î-Ô <8?EÑxS]RCDMY]<?±;=<8Ô ÑxS=ÎEDMÑU<3DXÏ]Y�?AIw<EÝ*RCS=<½IwÎEY]?AD:;JÏ�ÎAÙGRTS=<�Ö¡?A@CDX?H×!7:<jÏ�Y�Ó!ÏvR�×e<�Ð=@CÓ!;=<8I ÏPη?AÏ�RTÎ<U;!ÏCÓ=@T<�RTS!?-R+RCS!<rÖ-?A7:Ó=<jÏ.?¡Ö-?HDM7M?A×=7:<�Ù�ÎA@�RCS!<�Ù�Ó!@PRTS=<U@.Ö-?H@TDX?H×=7M<8Ï+ÑU?A;±7M<8?EI½RCν?"Ù�<8?EÏPDM×=7M<Ð=@CÎwIwÓJÑ$R���D_Þ <EÞ:ÝH?WÐ=@TÎqI=Ó!Ñ$R1ÏT?-RCDXÏPÙ�ÕhDM;=B+?H7M7hRCS=</DM;=DzRTDM?A7wÑÎA;=á!BAÓ=@x?-RTD:ÎE;�ÑÎE;!ÏPRC@x?HDM;ERxÏ��Þjè/S!<8ÏC<IwÕq;!?HY]DXÑU?H7¦ÑUÎA;!ÏPRC@x?HDM;hRTÏ`Ñ8?H; ?H7XÏPÎr×J<�@T<UY]Î-ÖA<jI)IwÓ=@TD:;!B�RTS=<�ÑUÎA;wáJBAÓ=@x?-RTD:ÎE;)Ð=@TÎqÑU<8ÏTÏ`×e<NÑU?HÓJÏP<�RCS!<UÕ"7M<8?EI)RTÎ)?]ÏPÎE7:ÓwRTD:ÎE;"RTS!?-R6DXÏ��vÓ!I=BA<8I3Ó=;!?EÑUÑU<UÐwRx?H×=7M<+×hÕ"RCS=<.ÓJÏP<8@8ÞWÕq;!?HY]DXÑBA7MÎA×!?A7=ÑÎA;JÏPDXÏvRT<U;!ÑUÕ�Y�?HDM;hRT?AD:;=DM;=B.DXÏ�RCSqÓ!Ï`ÎA;=<�ÎAÙJRTS=<6Y]ÎEÏPR1Ó!ÏC<Ù�Ó=7!Ù�Ó=;!ÑRCDMÎA;!?A7:D:RCDM<8Ï1RCS!?HRÏPS=ÎEÓ=7XI"×e<.Î���<U@T<8I3×qÕ)RCS!<�O/ÚqÛ Ð=7M?HRPÙ�ÎE@CY�Þ

6;wÙ�ÎE@PRTÓ=;!?-RT<U7MÕAÝ8RCS=DXÏ�RT?EÏPà.DXÏ�DM;hRC@x?AÑRT?H×!7:<�D:;�RCS=<QÔ�ÎE@TÏPR*Ñ8?AÏC< âMãå Þ¡ÚwD:;!ÑU<�DM;hRC<8@T?EÑ$RCDMÖqDzRvÕ@C<jÒEÓ!D:@T<8ÏQÏPS!ÎA@CRQ@T<8ÏCÐJÎE;!ÏC<6RCDMY]<8Ï8ÝwD:;hRT@T?EÑ$RT?A×=DM7:D:RvÕ]Y�Ó!ÏPR�×J<+ÑDM@TÑUÓ=Y�ÖE<U;hRC<jI)DM;3ÏCÎAY]<�ÔQ?¡ÕEÞè�Î�RCS=DXÏQ<U;!I¦ÝwÑUÎAY]Ð=DM7M?HRCDMÎA;�Y]<RTS=ÎwI=ÏQS!?¡ÖA<6×e<U<8;"Ð=@TÎAÐeÎEÏC<8I â:ã�� Ý ã�� Ý ãå Ý-RCS!?HR`RT@T?A;!ÏvÙ�ÎE@CYRCS=<%ÎE@CDMBADM;!?A7�Ð=@TÎA×=7M<UY D:;hRCÎ3?�I=?-Rx?)ÏvRT@CÓJÑ$RCÓ!@C<%?A7:7MÎ-Ô�D:;!B)?�ÏPS=ÎE@PRW@C<jÏPÐeÎA;!ÏC<+RCDMY]<AÞeè/S=DMÏÐ=@CDM;!ÑUD:Ð=7M<.Ô/?AÏ�?H7M@T<8?AI=Õ�×J<%ÓJÏP<jI3DM;½IwD��e<8@C<8;ERGI=ÎAY�?HDM;!Ï/ÎHÙ«é6@CRCD:áJÑUDM?A7��m;hRC<U7M7MD:BE<U;!ÑU<AÝw7MD:àE<Ð=7M?A;=;=DM;=B]Ó=;!Iw<8@6Ó=;!ÑU<U@CRT?AD:;hRvÕ â��¡å ÎE@/?AÓwRCÎEY�?-RC<jI"@T<8?EÏPÎE;=DM;=B â ä-å1â �-å Þ

è/S=<r?AÐ=Ð=@TÎE?EÑxSLÎHÙ â:ã�� Ý ãUå <8Y]Ð=S!?AÏCD��U<8ÏWRTS=<�ÑÎAY]Ð=DM7X?-RCDMÎA;£ÎHÙ`RCS=<]ÎA@TDMBADM;!?H7�Ð=@TÎA×=7M<UYD:;hRCÎ)?ráJ;=DzRT<�?HÓ=RCÎAY�?HRCÎA;�ÝwÙ�@CÎEY Ô�S=DXÑxS½Y�ÓJÑxS ×e<RCRC<8@GÐe<U@CÙ�ÎA@TY]?A;!Ñ<.Ñ8?H;�×J<�ÎA×wRx?HDM;=<8I¦Þè/S=<�ÑÎE;!ÏPRC@TÓ!Ñ$RTD:ÎE;½ÎHÙ�RCS=<r?HÓwRTÎAY�?-RTÎA;½@T<8ÒhÓ=DM@C<jÏ6ÑxS=ÎqÎEÏCDM;=B�ÑU?H@T<Ù�Ó!7:7MÕ ?�RCÎHRx?H7�ÎA@xIw<U@6ÎE;RCS=<QÖ-?H@TDM?A×=7:<jÏUçjÎHRTS=<U@TÔ�DXÏP<EÝURTS=<QÏCD��U<`ÎAÙ=RCS!<Q?AÓwRCÎEY]?HRCÎE;�Ý8<UæwÐJÎE;=<U;hRCDX?H7hDM;%RCS!<�ÔQÎA@xÏvR�ÑU?EÏP<EÝÑÎAÓ!7MI±×J<�RCÎqÎ"7X?H@TBA<�RCÎ ×J<rÓ!ÏC<8I±D:;µÐ=@T?EÑ$RTDMÑU<AÞ�è/S=DMÏ+?AÐ=Ð=@TÎE?AÑxS�@T<U7MD:<jÏ�ÎA;½RTS=<�Ù�@T<8ÒhÓ=<8;hRD:;hRC<8@TÑxSJ?H;=BE<8?H×!D:7MDzRvÕGÎHÙwÖ-?H7MÓ=<8ϦDM;.@T<8?H7EÑÎA;=á!BAÓ=@x?H×!7:<«Ð=@TÎwIwÓ!ÑRTÏ8çDzR�ÑU?A;WRTSqÓ!Ï�×e<`Iw<jÏCÑU@CDM×J<jIÑÎA;JÑDXÏP<87:ÕW×hÕ�RTS=<`?HÓ=RCÎAY�?HRCÎA;�Þ��QÓwR8Ý¡ÑÎE;hRC@x?H@TD:7MÕ�RCÎGÎHRCS!<U@�ÑUÎA;!ÏPRC@x?HDM;hRPNb×!?AÏC<8I�?HÐ!Ð=@CÎh?AÑxS=<jÏRCÎ�Ð!@CÎwIwÓ!ÑRQÑUÎA;wá!BEÓ=@x?-RCDMÎA;�� â��¡å*â �-åbâ:ã��-å �$ÝEDzR�IwÎq<8Ï`;=ÎHR�RT?HàE<G?AI=Ö¡?A;hRT?HBE<6ÎHÙ¦RTS=<6Ù�ÎE7:7MÎ-Ô�DM;=BÏvRT@CÓ!ÑRCÓ=@x?H76ÑxSJ?H@x?AÑ$RT<U@TDMÏPRCDXÑHç�ÑÎEY]Ð=7:<UæêÐ=@TÎwIwÓ!ÑRTÏ�?H@T<�BA<8;=<U@x?H7M7:Õ³ÏPRC@TÓ!ÑRCÓ=@T<8IêD:;hRTηÏCÓ=×wNÑÎAY]ÐeÎA;=<8;hRTÏ���Y]ÎA@T<�ÎA@W7:<jÏCÏWDM;!Iw<UÐe<U;JIw<U;hRGÙ�@TÎAY <j?AÑxS½ÎHRTS=<U@ �/RTS=<�<UæwDMÏPRC<8;!Ñ<�ÎHÙ1Ô�S=DXÑxSIw<UÐe<U;!I!Ï+ÎA;LRTS=<]Ö-?H7MÓ=<8Ï+BED:ÖE<U;½RTÎ�ÏCÎAY]<rÎHÙ�RCS=<]Ö-?H@TDM?A×=7M<8ÏWÎHÙ`RTS=<]Ó=Ð=Ðe<U@.ÑÎEY]ÐJÎE;=<U;hR8Þè/S=<]7:DM;=<8?A@WÎE@TI=<U@+ÎA;±RCS=<]Ö-?H@TDM?A×=7M<8ÏW@C<jÒEÓ!D:@T<8I±×hÕ�RTS=<]V«<UY]Ð!?HRvÕ"! Ï+?HÓwRTÎAY�?-RTÎA;µDMÏ�;=ÎARÏPÓ=D:RC<jI�?-R6?H7M7¦Ù�ÎA@6?EI=IwDM;=B�?H;!I3@T<UY]Î-ÖqD:;=B]ÏCÓ=×wNmÑÎAY]ÐeÎA;=<8;hRTÏ8Þ

�m;³RCS!<3Ð=@T<8ÏC<U;hRrÐ!?HÐe<U@jÝ�ÔQ< Ð=@CÎEÐJÎhÏP<3?±;=<8Ô ÏvRT@CÓJÑ$RCÓ!@C<EÝ�RT@C<8<NmIw@TD:ÖE<U;³?HÓ=RCÎAY�?HRCÎA;�ÝRCÎ�@C<8Ð=@T<8ÏC<U;hRGRTS=<)ÏPÎE7:Ó=RCDMÎA;µÏC<R.ÎAÙQ?½O/ÚqÛ�Þ�ÚqS=ÎE@PRT7:ÕEÝeD:R�ÑU?A;±×e<]Ó=;!Iw<8@TÏPRCÎqÎwIµ?EÏ+?)RT@C<8<ÎHÙ«ÏPY�?H7M7¦7MD:;=<j?H@6?AÓwRCÎEY]?HRT?!Ýw<8?AÑxS ÎHÙ*RCS!<UY ÑUÎA@T@C<jÏPÐeÎA;JIwD:;!B�RTÎ]?�ÏCÓ=×wNmÑÎEY]ÐJÎE;=<U;hR#��?A;!I@C<jÑÓ=@xÏPDMÖA<87:Õ�Þ*è�@C<8<½Iw@CDMÖA<8;ê?AÓwRCÎEY]?HRT?£?H@T<3ÎE×qÖhDMÎAÓJÏP7MÕ¸?µBE<U;=<8@T?A7:D��8?HRCDMÎA;³ÎAÙWÑ7X?AÏTÏCDMÑ8?H7_Ý7:DM;=<8?A@8Ý=?AÓwRCÎEY�?-RT?!Þ$�mY]ÐJÎE@PRx?H;hRC7MÕAÝqRTS=<UÕ ÑU?H;�×e<+Ù�?H@�Y]ÎA@T<.ÑÎEYrÐJ?AÑ$R/RTS!?H;½Ñ7X?AÏTÏCDMÑ8?H7�?HÓ=NRCÎAY�?HRT?�Ô�S=DM7:<�àE<U<UÐ!D:;=BWRCS!<UDM@1BAÎqÎwI%Ð=@TÎAÐe<U@CRCDM<8Ï8Ý-<8ÏCÐe<8ÑDX?H7M7MÕ�?WRC@x?AÑ$Rx?H×=7M<�ÑÎEYrÐ!7:<UæqD:RvÕ.Ù�ÎE@RCS=<rY�?HDM;ERT<U;!?A;!Ñ<rÎHÙ�BA7MÎA×!?A7*ÑUÎA;!ÏCDMÏPRC<8;!ÑÕEÞ%�m;µÎA@xIw<U@WRCÎ @TD:BEÎA@TÎAÓ!ÏC7:Õ ÏPS!Î-Ô RCS=<rD:;hRT<U@T<8ÏPRÎHÙ`ÎEÓ=@�ÏPRC@TÓ!ÑRCÓ=@T<AÝ�ÔQ<%RCÎ Ð=@TÎqÎHÙ1RTS!?-R�RCS=<8@C<]?H@T<�ÏCÎAY]<�O/ÚqÛ RTS!?-R+;=<jÑ<8ÏTÏT?H@TD:7MÕ37M<8?EI½RTÎ?H; <æwÐJÎE;=<U;hRTDM?A7:7MÕhNbÏCD��8<8I37:DM;=<j?H@6?HÓ=RCÎAY�?HRCÎA;�Ýq?A;!I Ô�S=<U@T<8?EÏ�RCS=<8Õ"ÕqD:<87MI�?rÐeÎA7MÕh;!ÎAY]DM?A7:ÕÏPD��U<jI)RT@C<8<NmIw@CDMÖA<8;3?AÓwRCÎEY]?HRCÎE;�Þ

�m; Úq<8ÑRCDMÎA;'&=Ý�ÔQ<±×!@CDM<)(!Õ @T<8Ñ8?H7M7GS=Î-Ô ?²7:DM;=<8?A@3?AÓwRCÎEY]?HRCÎE; ÑU?A; @C<8Ð=@T<8ÏC<U;hR)RCS!<ÏP<UR3ÎHÙ%ÏCÎA7MÓwRCDMÎA;JÏ)ÎHÙ%?êO/ÚwÛ*Þ6Úq<jÑ$RTD:ÎE; ä RCS=<8; Ð=@T<8ÏC<U;hRTÏ)RC@T<U<UNbIw@TDMÖA<U; ?AÓwRCÎEY]?HRT?¸?A;!IÚq<8ÑRCDMÎA; � ÏPS!Î-Ô6Ï+S=Î-Ô ? Ó!ÏC<Ù�Ó!7�ÏC<R%ÎHÙ�ÑÎEY]Ð=ÓwRT?HRCDMÎA;!?A7«RT?EÏPàwÏ*��ÏPÓ!ÑxS¸?EÏ.Y�?HDM;ERx?HDM;=DM;=BBA7MÎA×!?A7!ÑÎE;!ÏPDXÏPRC<U;JÑÕ��ÑU?A;�×J<W<Ø)ÑDM<U;hRC7MÕ]?AÑxS=DM<UÖE<8IrÎA;rRCS!DMÏQÏvRT@CÓJÑ$RCÓ!@C<EÞ��m;3Úq<jÑ$RCDMÎA; � ÝHÔQ<á!;!?H7M7MÕrÏPRCÓ!I=ÕrS!Î-Ô ?+RT@C<8<NmIw@TD:ÖE<U;�?HÓwRTÎAY�?-RTÎA;�ÑU?A;�×J<WY]ÎA@T<6ÑÎAY]Ð!?EÑ$R1RTS!?H;3?.Ñ7X?AÏTÏPDXÑU?A7?HÓwRTÎAY�?-RTÎA;�Þ

Page 51: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

� �µÉ�����Í��CÍPÆ����� ���ÍCÆ�ÇqÉ���+ÆGÍmÇ����Ë6ÇwÉ����ÇwÉ`Æ��PÄ������vÄ��

�! �"$#&%('&"$'é á!;=D:RC<NmÏPRT?-RT<%?HÓwRTÎAY�?-RTÎA; �*) � �QDMÏ6?]IwDM@T<8Ñ$RT<8I BA@x?HÐ!S)RCS!<.<8IwBE<8Ï/ÎHÙ�Ô�S=DXÑxS ��RCS=< ",+-'&.0/132 " 2 #4. 1 ÎAÙ�RCS=<�?HÓwRTÎAY�?-RTÎA;%��?H@T<"7X?H×e<U7M7:<jI¸×qÕ·<U7M<UY]<U;hRTÏrÎAÙG?±ÏC<R65 ��RCS!< '&7 8:90'<;3=>" �$Þè/S=<%;=ÎwIw<jÏ6ÎHÙ«RTS=<%BE@T?AÐ=S½?H@T<%ÑU?H7M7M<8I 1 "$'&"$= 1 Ü!RCS=DXÏGBE@T?AÐ=S�S!?AÏGÎA;=<.DM;=D:RCDX?H7�ÏvRx?-RT<@?"?A;!I?-R�7:<j?AÏPRQÎE;=<Wá!;!?H7�ÏPRT?HRC<EÞ �bR�DXÏ�ÏPÓJÑxS)RCSJ?-R6?H;qÕ]RC@x?H;JÏPD:RCDMÎA; ?H;!I3?H;qÕ)ÏvRx?-RT<W×e<U7MÎA;=BrRTÎr?HR7:<j?AÏPR/ÎE;=<+Ð!?-RTS Ù�@CÎEYA?]RCÎ�?rá!;J?H7�ÏPRT?-RT<AÞ

é Ô�ÎE@TICBEDGF F F ZIHJHJH FLK²DXÏ]@C<jÑÎEBA;=D��U<jI²×qÕ¸RTS=<±?HÓ=RCÎAY�?HRCÎA; D:ÙWRTS=<U@T<½<æwDXÏvRxÏ�?Ð!?-RTS½Ù�@CÎEYßRCS=<�D:;=D:RCDX?H7�ÏPRT?-RT<M?"RCÎ ?�á!;!?A7*ÏPRT?HRC<ON Ô�DzRTS½RCS=<r7X?H×e<U7PBµÞ�è/S=<�7X?H;!BAÓ!?ABA<@C<jÑÎABE;=D��U<8I"×qÕ�RCS=<%?AÓwRCÎEY�?-RCÎE;3DXÏQRCS!<%ÏP<UR6ÎHÙ�ÔQÎA@xI=Ï/D:R6@C<jÑÎEBA;=D��U<jÏUÞ

>�DM;!?A7:7MÕAÝ�?"á!;=D:RC<)?AÓwRCÎEY]?HRCÎE;±DXÏ.ÏC?ADMI±RCÎ�×e<)Iw<RT<U@TYrDM;=DXÏvRTDMÑrD:ÙQ?A;!I±ÎE;=7MÕLDzÙ�?H7M7�RCS!<RC@x?H;!ÏCDzRTD:ÎE;!Ï�ÑÎEY]D:;=B�Ù�@TÎAY ?]ÏCD:;!BA7M<+ÏPRT?HRC<+S!?¡ÖE<+I=D ��<U@T<U;hR�7M?A×J<87MÏ8Þ

� 131 #�Q 2 '4" 2 .SR ) �UT 2 "V9XWPY:Z[�<R]\GDU^*_a`cbd`cegf6×e<�? O/ÚqÛ�Þih�DMÖA<8;±?�Ðe<U@TY�ÓwRx?-RCDMÎA;kj�D�l m F `�m Z ` HJH�H `�mnKSo�ÎHÙ�_�Ý?H;qÕ½ÏPÎE7:ÓwRTD:ÎE;LÎHÙp\�DA^,_q`cb6`�erfWIw<Uá!;=<8Ï+?"Ô�ÎE@TI½ÎAÙ17:<8;=BHRTSks³Î-ÖE<U@GRCS=<]?H7MÐ=S!?A×J<UR!b"Þ46<U;JÑ<AÝARCS=<�ÏP<UR`ÎHÙ�ÏCÎA7MÓwRCDMÎA;JÏ«ÎHÙg\ Iw<Uá!;=<jÏ`?+7X?H;=BEÓ!?HBE<�Î-ÖA<U@tb3Þhè/S=DXÏ17X?H;!BAÓ!?ABA<AÝHÑ8?H7M7:<jIRCS=<GÏCÎA7MÓwRTD:ÎE;�7X?H;=BEÓ!?HBE</ÎHÙ�\ Ô.Þ @jÞ RjÞSj ?H;!I]Iw<8;=ÎHRT<8IMugv¸ÑU?A;]×J<6@T<UÐ!@C<jÏP<8;ERT<8I�×qÕ�?.>wé%Þè/S=DMÏ+?AÓwRCÎEY]?HRCÎE;±S!?EÏGÎE;=7:Õ½ÎE;=<rD:;=D:RCDX?H7«ÏPRT?HRC<(?½?H;!I±ÎA;=<�á!;!?A7�ÏPRT?HRC<(N]ݦ?H;!I±DMÏ+ÏCÓ!ÑxSRCS!?HR�RCS=<.7M<U;=BARCS ÎHÙ«?H;qÕ)Ð!?HRCS3Ù�@CÎEYw?rRTÎxN DXÏys«Þ

W�#&%8i �" 2 .LRx"V9:=O'4 �"z#4%n'4"z#4.X' 131 #�Q 2 '4"z=3{xT 2 "V9|'|WPY�Zè/S=<G?HÓ=RCÎAY�?HRCÎA;]ÑU?A;]×J<6BE<U;=<8@T?HRC<jI�×qÕ�ÑUÎAY]ÐeÎEÏCDzRTD:ÎE;rÎEÐJ<8@T?HRCÎE@TÏ*ÎA;���ÏPY�?H7M7 �«?HÓwRTÎAY�?-Rx?@C<8Ð=@C<jÏP<8;hRCDM;=B�RTS=<%ÑÎE;!ÏPRC@x?HDM;ERxÏQÎHÙge«Þ!è/S!<+ÑUÎAY]Ð=7M<æwD:RvÕ)ÎHÙ*RCS=<.ÑUÎAY]Ð=ÓwRx?-RCDMÎA;�ÎE×hÖqDMÎAÓ!ÏC7MÕIw<UÐe<U;!I!ÏWÎE;±D:RTÏ+ÏCD��8<AÝeÔ�S=DMÑxSµDMÏ�Y�?HDM;=7MÕ�D:;$(JÓ=<U;!ÑU<8Iµ×qÕ3RTS=<rÎA@xIw<U@�D:;µÔ�S=DXÑxSLRCS!<�Ö-?H@TD:N?H×=7M<8Ï/ÎAÙ�RTS=<�O/ÚqÛ ?H@T<GRx?HàE<U; D:;hRCÎ)?EÑUÑUÎAÓ=;hR â & å Þ

} ~rÈ:�r���¡Ê6ÈJÍz����Æ�«Ë�ÇwÉ���*Ç�

éGÏ�ÏT?HDXI£D:;³RCS=<)DM;hRC@TÎwIwÓ!Ñ$RTD:ÎE;·RCS=<3ÏvRT@CÓ!ÑRCÓ=@T<�ÎHÙ6ÑUÎA;wá!BEÓ=@x?-RCDMÎA;³O/ÚqÛ`Ï�DXÏ%Ñ7MÎEÏC<�RCÎL?A;ShÕqÐe<U@CRC@T<U< ��<8?AÑxS¸SqÕqÐe<U@CN_<jIwBA<)ÑUÎA@T@C<jÏPÐeÎA;!I=D:;=B RTα?LÏCÓ=×wNmÑÎAY]ÐeÎA;=<8;hR �+K½ÎE@C<8Î-ÖA<U@jÝ�RCS!<ÏPÓ=×=NbÑUÎAY]ÐJÎE;=<U;hRxÏ�DM;!IwÓJÑ<8I ×qÕ�RTS=<.Ó!ÏC<U@�! Ï/ÑxS=ÎEDMÑU<8Ï/ÎHÙ*Ö-?H7MÓ=<8ÏQÙ�ÎE@�Ö¡?A@CDX?H×!7:<jÏQ?A@C<�7MÎhÎhÏP<87:ÕÑÎA;!;=<8ÑRC<8IrRTÎ.RCS!<6Ó=Ð=Ðe<U@CNbÑUÎAY]ÐeÎA;=<8;ERxÏUÞhÚqÎ%ÔQ<�Ô�DMÏCS]RCÎ.Rx?HàE<�×J<URPRC<8@Q?EIwÖ-?H;hRT?ABA</ÎHÙ�RTS=DMÏ;=<8?A@C7MÕ�RC@T<U<.ÏPRC@TÓ!Ñ$RTÓ=@T<AÞ

�r�,� �����t�P�V���,���P��d�S�t���������������|� 9:=(�J 0#4" 2 =>.�"�#��@'@R<+-'�809 ^,�(`��@f ;J�dQ3#47�#&+ 2 .SRO�C#�� 2 " 1 .i#�{�= 13��2�1 "V9:=R&+-'38:96� D�^*�¡ y`��¢ �f {<=,£I.�=3{d;>�<¤

�¡ �D¦¥ � ^�§&f>`-§M¨|�O©!Dª¥¬«:`J­�` H�HJH `�st©�¢ ®Dª¥<¥�¯3`$°:©&±&²�§L`-§4³r¨a� 1J´ " ´ � ^�§&f�Dµ¯3` � ^,§4³�fIDC°�`>¥¬§L`-§4³�©]¨q�(©

Page 52: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

�d�S�t��������������� ����������� ������������������������� �! #c�O#4+-{�=>+ s #4. " 90=n'47 809:'�;�=J" 5 2�1'@R<+-'�809 ^*�(`-�@f 1 0Q�9q" 90'4"z¤

" " 90=>+�= 2�1 'kQ�#&7�#4+ 2 .LR #��O" 90=$#4=>+ " 2 Q3= 1 � T 2 " 9 s&%�­ Q�#&7�#4+ 13� {�=>.i#4"z=�{k;>�(�µ¤�=�'�Q�9#¬=J+ "z=�' 2�1 7�'�;3=>7 7�=3{X;J� '4. =J7�=>%n=J.0" #c� ¥¬«:`�­<` H�HJH `-st© '4.i{X'<{�(J'�Q3=>.�")#4=J+ " 2 Q3= 1 9:'*#¬={ 2 + =J+-=J.0"yQ3#47�#&+ 1" " 90=M=3{�R�= 1 '4+-=@7�'<;3=J7 7�=3{a;>� 1 0; 1 =J" 1 #�� 5-, " 9 2�1 7 '<;3=>7 7 2 .SR 2�1 {<=J.�#&"$=3{6;J�/." " 90=y�> 0#&" 2 =J.0" ^,�n`-�@f ;J�I� � {�=>.i#4"z=3{ ;J��� D�^,�¡ `-�¢ pf 2�1 '"*+-=3=10�� D�^,�¡ `-�¢ �f 2�1Q3'47 7�=3{6" 90= ÏCÓ=Ð=ÐeÎA@CR #��2 f ´�d�S�t����������� �r� �3�������546�7�7�����µ#c�8 2�1 ' 8:' 2 +:9 F�`�;�< T�9:=J+-= ; 2�1 '&. =3{JRS=(#c� � '4.�{F '&. =J7�=>%n=J.0"y#c� 5 ;3=>7 #4.SR 2 .SR6"z#n"V9:=@7�'<;3=J7 7 2 .SRa#c� ; 0 Fx¨ . ^=;¬f�>

1

2

0

3

4

τ= 1

τ= 0

τ=2

τ=4

τ=3

a,b

a,c

c

b

a

c

b

ab,c

a,c

a,b

b,c

?A@CB �6Dq� E s�l�F�GIH.uhgil/dKJLGWtm{vlxl�MONH{vyQP¡lxsRGUfEtvdIH/GUtvdjsSG8sN�y tvk�kmfEuhuwdU{mt�TAt7UEl2VwdjgWN�lXN�YjlZNAl�[qsElxkt=\�d�tm{�GUshkmy tvyidjsEk^]xdU{m{vlxkmuwdjsNEyisYWtvd�t7UhlQt=\�d+gWGKVwlxgik^_2GUs`N:aIb

ÚqD:;JÑ<�?"ÑxS!?HDM;LDXÏW?]RT@C<8<AÝ�?"ÑU7M?EÏCÏCDMÑ8?H7_Ý=7MD:;=<j?H@jÝJ?AÓwRCÎEY]?HRT?�DXÏW;=Î"Y]ÎA@T<.RTS!?H;±?)RC@T<U<UNIw@CDMÖA<8; ?AÓwRCÎEY�?-RT?�RTS=<�ÏCÓ=Ð=ÐeÎA@CR6ÎHÙ�Ô�S=DMÑxS�DXÏ6?]ÑxS!?HDM; ��D:R6DMÏ6<U;=ÎEÓ=BAS RCÎ�×!Ó=D:7XI�? � RCS!?HRY]?AÐ!Ï/<UÖE<U@TÕ�ÖA<8@PRT<æ"ÎAÙ*@x?H;=ànm$c*RTÎnmRc ��d�S�t�����������edg� �gf/� ���6#&.6' 1 8�8:#&+ "0� D¦^*�¡ y`��¢ pf 2�1 ']7�'�;3=>7 7 2 .LR2h�#�� �¢  T�9 2 Q�9' 131 #�Q 2 '4"z= 1 "z#6=3'�Q�9k=�{�R�=(#��¦� '4.X=>7�=J%n=>.�"p#c� 5 ´� �iX�7�����kj 2�1 'q7�'�;3=>7 7�=3{ 1 0;$R&+-'38:9 ^,�ml3`��2l3` h l�f #��n �T�9 2 Q�9 2�1n2�1 #4%n#4+*8:9 2 Q"$#¦�o0 2�´ = ´ ^,�ml3`-�Zl�f 2�1 'M",+-=3= � � 2 .�{& 0Q�= 1 '(#4.i=>/z"z#4/�#&.�= Q3#4+ +�= 1 80#4.�{�=>.iQ3=¡;3=>"*T�=3=>. �ml'4.�{ �   '&.�{�;�=J"*T�=�=J. �2l '&.�{ �   > '4.i{ � �>#4+O=�'�Q�9 =3{JRS= ; #c� �2l3` h l>^p;4fp¨ . ^p;4f ´

q .6�>'�Q>" � �2l '4.i{$h l {<=,£I.i=d' 1 =J" #c�("*+-'4. 132 " 2 #4. 1J´ q .®"V9:=!�>#47 7 #4T 2 .SR � �>#&+ 1 'Ir�=d#��132 %¢8�7 2 Q 2 "*� � T�=OQ3#4. 1 2 {�=>+M'A�n/z"*+-=3=@' 1 ' 1 =J"p#�� "*+-'4. 132 " 2 #4. 1J´�sf/� ���tfu��4&����v��6w��5�=xy���X;J�6'n"*+-=3=>/�{&+ 2 #¬=J. '& �"$#&%('&"$#&.n T 2 "V9 1 8<80#4+ " � 2 �2 "�9:' 1 '4.k' 1�1 # Q 2 '&"$=3{��n/z"*+-=3= 2 .u ��2�´ = ´g2 �!"V9:=J+-=¡=�' 2�1 " 1 '��x/z",+-=3=^j #c�z 1 0Q�96"V9:'4"�>#4+M=3'<Q39 ; 2 . � l � h l ^=;4fID h ^ � ^p;4f�f ´

Page 53: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

� 90=!7�'4.LR& 0'�R�= +-=3Q3#�R&. 2�� =3{O;>�O'¡"*+-=3=>/�{&+ 2 #¬=J.q'4 �"z#4%n'4"z#4.3 2�1 "V9:= 1 =>"�� ^ f #c�"V9:=T�#4+-{ 1 "V9:'&" 2 "p+-=3Q3#-R<. 2�� = 1J´��� � ������� ��� � �7������������������n��� ��� � ������@",T�#�",+�=�=J/�{4+ 2 #4=J.�'4 �"z#4%n'4"z'®;J 2 7 "(#4. "V9:=1 '&%(= 1 8<80#4+ "y'4+-=O=3�> 2 #4'47 =>.�" 2 �@'&.�{d#4.07 � 2 � " 90=>�n+�=�Q3#�R&. 2�� =¡"V9:= 1 '4%n=¡7�'&.SR< 0'JRS= ´

τ= 1

τ= 0

��������������������������������������������������

� � � � � � � � � � � � � � � � � � � � � � � � ���������������������������������������������������0 1

2

4

3

τ=2

τ=4

τ=3

a,b

a,c

c

b

a

c

b

a

b,c

b,c

a,c

a,b

aa

b

c

?A@CB ���!�`E s%l�F�GIH.uhgil1dIJ�G \�dU{�N.{vl�]xd�Y8shy��xl�N/V���t7Uhl1tm{vlxl�M=NH{vyWPjlxs/G8fAtvd�H/GUtvd8s.djs%t7Uhl1gil�JMt�T-t7UElVwd8gWN�l�N�Yjlxk1dIJet7Uhl�tm{vlTl�M=NA{vyQP¡lxs G8fAtvd�H/GUtvd8sRNAl�[qsEl^JXd8fE{�� M�tm{vlxl�cAdjsEl�dIJet7UElXH ]xdU{m{vlxkmuwdjsNEktvdWt7Uhl \*d8{�Nrd8srt7UhlQ{vyQYIUHt

�r� � �������<����� �!�:� �S�(��"y�$#4�L�!%'&(#4�*)��L�+�-,�����./���0�

"21 #&+ %('&7 2�� =�{6"*+-=3=>/�{&+ 2 #¬=J. '& �"$#&%('&"$'[�<UR D�^,�n`-�@f/×e<�?]RT@C<8<NmIw@TD:ÖE<U;�?HÓwRTÎAY�?-RTÎA;�Ô�DzRTS±ÏCÓ=Ð=ÐeÎA@CR � ?H;!I�7M<R �/cPD¥ §M¨a�»ÏCÓ!ÑxS RCS!?HR � ^�§&f�Dµ¯�©EÞ��bR«DMÏ*<8?EÏPÕ+RTÎ�ÏC<U<QRTS!?-R1ÑÎE7:7X?HÐJÏPDM;=BW?A7:7hRTS=<�ÖA<8@PRTDMÑU<8Ï�ÎHÙ� c=Ô�S!<U; ¯eDMÏ�?67:<j?-ÙwÎHÙ � BADMÖA<jÏ�?H;.?AÓwRCÎEY]?HRCÎE;�<jÒhÓ=D:Ö-?A7:<8;ER�RCÎ ��RCS=DXÏ�ÎEÐJ<8@T?HRCDMÎA;+DMÏÑU?A7:7M<8I�RCS!<6;=ÎA@TY�?H7MD��j?-RTD:ÎE;�ÎAÙJRTS=<G?HÓ=RCÎAY�?HRCÎA;"�$ÞEÚqÎJÝHDM;]RCS=<�Ù�ÎE7:7MÎ-Ô�DM;=B!Ý-ÔQ<6ÑÎE;!ÏPDXIw<8@ÎA;=7MÕ¸;=ÎE@CY�?H7MD��U<8I²?HÓwRTÎAY�?-Rx?±D_Þ <EÞ«?HÓwRTÎAY�?-Rx?±ÏCÓ!ÑxS³RTS!?-R]Ù�ÎA@]<j?AÑxS³7M<8?HÙ¢¯.ÎHÙ � Ý3 � c Dª­EÞ

" � + 2 %O%n=�{x",+�=�=J/�{4+ 2 #4=J. '4 �"z#4%n'4"z'é RT@C<8<NmIw@TD:ÖE<U;³?HÓ=RCÎAY�?HRCÎA; Y�?¡Õ¸ÑÎA;hRx?HDM;¸Ó!ÏP<87:<jÏCÏ�ÖA<8@PRTDMÑU<8Ï"ç*ÖE<U@CRCDXÑ<jÏ%Ô�S=DXÑxSIwÎ�;=ÎARG×J<87:ÎE;=B]RCÎ)?A;qÕ"ÏPÓ!×wRC@T<U<.DXÏPÎEY]ÎA@TÐ=S=DXÑGRTÎ�RCS!<%ÏPÓ=Ð!ÐJÎE@PRjÞJ>=ÎE@CY�?A7:7MÕAÝ=?]ÖE<U@CRC<æ§@¨|� c ÎAÙ D�^,�(`��@f�DMÏ/ÓJÏP<87:<jÏCÏQD:Ù�²&°)ÏUÞ R8Þ�¥ ¯3`*°0© ¨ �¢  Ý=?H;!I)RCS=<8@C<+DXÏ/;=Î]<8IwBE<×J<URvÔ�<8<U;q§�?A;!I�?rÖA<U@CRC<Uæ)ÎHÙI�54AÞè/S=<)ÏCÓ=Ð=Ð=@T<8ÏTÏPDMÎA;µÎHÙQRCS=<�ÓJÏP<87:<jÏCÏ+ÖE<U@CRCDXÑ<8Ï*��?H;!I£ÎAÙ`RCS!<UDM@%D:;JÑDXIw<U;hR%<8I=BA<8Ï �WÕqD:<87MI=Ï?H;·<8ÒhÓ=DMÖ-?H7M<U;hR�?HÓ=RCÎAY�?HRCÎA;·?H;JIµÑ8?H;·×J<)?EÑxS=DM<UÖA<jI±DM;·7:DM;=<j?H@+RCDMY]<)DM;µRTS=<)ÏCD��8<�ÎHÙ^,�(`��@f$Þ

"26 =J"z=>+ % 2 . 2�1 " 2 Q¡"*+-=3=>/�{&+ 2 #¬=J. '& �"$#&%('&"$'�bRWDXÏW?A7MÏCÎ)ÐeÎEÏTÏPDM×=7M<.RCÎ3<æqRC<8;!I�RTS=<rÑU7M?EÏCÏCDXÑU?H7�Iw<á!;!DzRTD:ÎE;±?H;!ILÐ=@CÎEÐJ<8@PRTD:<jÏ6ÎAÙ`Iw<RT<U@CNY]D:;=DXÏPRCDXÑ`?HÓ=RCÎAY�?HRT?/RTÎ�RC@T<U<UNbIw@TDMÖA<U;.?AÓwRCÎEY]?HRT?!Þ8è/S=<1àE<UÕ�ÐJÎED:;hR*DMÏ�RCS!?HR�RCS!<�ÏCÓ=Ð=ÐeÎA@CR

Page 54: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

DMÏ6;=Î�7:ÎE;=BA<8@6?H;�Ó=;!I=D:@T<8ÑRC<8I RT@C<8<AÝ=×!ÓwRGY�ÓJÏvR6×e<�?�IwDM@C<jÑ$RT<8I @CÎqÎARC<8I"RC@T<U< ��ÏPÎJÝ=ÎA;!<ÑÎE;!ÏPDXIw<8@/? � Iw<áJ;=<8Ï�?]IwDM@C<jÑ$RT<8I3@CÎqÎHRT<8I)RC@T<U<��Wç!é RT@C<8<+I=@CDMÖA<8;3?HÓ=RCÎAY�?HRT?�DMÏ6ÏT?HDXIRCθ×e<LIw<RT<U@TY]D:;=DXÏPRCDXÑ3D:Ù%?H;!IêÎA;!7:Õ³D:Ù+DzR)DXÏ�;=ÎE@CY�?H7MD��U<8I�Ý*D:R)ÎA;!7:ÕêS!?AÏ]ÎE;=<�D:;=D:RCDX?H7ÏvRx?-RT< ��ÎHÙ�7M<UÖE<U7�« �$Ý�?A;!IµÙ�ÎA@�?A;hÕ£ÑÎEÓ=Ð=7M<�ÎHÙQRC@x?H;!ÏCDzRTD:ÎE;!Ïx^�� F `�� F f%?H;!I ^�� Z `�� Z f.ÎHÙRCS=<�ÏT?HY]<r7:<8ÖA<U7�� � ^�� F f!D � ^�� Z fW?H;!I � ^�� F f!D � ^�� Z f �$Ý�� F D�� Z ?A;!I�� FD�� Z��. ^�^�� F `�� F f�f� . ^�^�� Z `�� Z f�f(D��wÞ�è/S=< Iw<á!;!DzRTD:ÎE;³DMÏrÒhÓ!?AÏCD:N_<jÒEÓ!D:Ö-?H7M<U;hR.RTÎLRCS!<"ÎA;!<Ð=@TÎ-ÖhDXIw<jILÙ�ÎE@%7:DM;=<j?H@%?HÓ=RCÎAY�?HRT?=Ý�?A;!I£DzRrÑU?H;£×e<)Ð=@TÎ-ÖA<8ILRCS!?HR8Ý�7:DMàA<�DM;£RCS=<�7X?-RCRC<U@ÑU?EÏP<EÝERTS=<+Iw<RT<U@TYrDM;=DXÏvRTDMÑW@T<UÐ=@T<8ÏC<U;hRT?HRCDMÎA;)ÎAÙ�?�7M?A;=BAÓ!?ABA<6DXÏQÓ=;=DXÒhÓ=< ��Ó=Ð3RCÎ]?�BED:ÖE<U;� �$Þ�éG;hÕ�RT@C<8<rI=@CDMÖA<8;±?HÓwRTÎAY�?-RTÎA;±Ñ8?H;µ×J<]Iw<RT<U@TY]D:;=D��U<jILÔ�D:RCS·?)Ð=@TÎwÑ<jIwÓ=@T<�ÖA<8@CÕÑ7MÎEÏC<"RTΣRCS=<½ÎE;=<�Ó!ÏP<jI³Ù�ÎE@�Ñ7X?AÏTÏPDXÑU?A7/?AÓwRCÎEY�?-RT?��³?AÏ]DM;²RTS=DMÏ)7M?HRPRC<8@�ÑU?AÏC<AÝ«D:R�DMÏÐJÎE7:Õq;=ÎEY]DM?A7¦D:; RCS!<%ÏPD��U<+ÎHÙ*RCS!<.ÎA@TD:BED:;!?A7e?AÓwRCÎEY�?-RCÎE;�Þ

�r��� �6� � ���<� �����,��� � �$#4�L� % & #4��)��L�+�-,�����./�������n�V��� ��� ���

ÚqÎ!ÝED:;�ÎE@TIw<8@�RCÎ%@T<UÐ!@C<jÏP<8;ER�RTS=<GÏCÎA7MÓwRCDMÎA;)ÏC<R1ÎAÙ¦?rO/ÚqÛ�ÝAÔQ<GÑU?A;]ÑxS!ÎhÎhÏP<�?%ÏCÓ=Ð=ÐeÎA@CR`ÏCÓ!ÑxSRCS!?HRQRTS=<U@T<�DMÏ�?�ÎA;=<UN�RTÎHNbÎA;=<�ÑÎE@C@T<8ÏCÐJÎE;!Iw<8;!Ñ<6×e<RvÔQ<U<8;"RTS=<+<8IwBE<8Ï�ÎHÙ�RCS=<.ÏCÓ=Ð=ÐeÎA@CR/?A;!IRCS=<�Ö-?H@TDX?H×=7M<8Ï+ÎAÙ�RTS=< O/ÚqÛ�Þ�é ÔQÎA@xI£ÑU?H;£RTS=<U;·×e<)×=Ó=DM7MIµÙ�ÎE@%<8?EÑxS£ÏCÎA7MÓwRCDMÎA;�Ý�?H;!IµÔQ<?AÏTÏPÎwÑDX?-RT<QRCÎ�RCS=<+O/ÚqÛ·RCS=</RT@C<8<NmIw@TD:ÖE<U;�?AÓwRCÎEY�?-RCÎE;rRCS=<�7X?H;=Bh?HBE<�ÎAÙeÔ�S=DXÑxS]DMÏ1Ð=@C<jÑDXÏP<87:ÕRCS=DXÏ6ÏC<R�ÎHÙ�Ô�ÎE@TI!ÏUÞ

�r�Cd �6� � ���<� �����,�������$#4�L�!%'&(#4�*)��L� �-,�����./���������n����� � �$#4�L�!%����$#�,(�<��,(#4� &� ���

� S=<U;�RTS=<+O/ÚwÛ²DXÏ«RC@T<U<UNbÏPRC@TÓ!ÑRCÓ=@T<8I¦Ýh?+RC@T<U<UNbI=@CDMÖA<8;)?HÓwRTÎAY�?-RTÎA;�ÑU?A;)×J<W×=Ó=DM7zRQÔ�S=DXÑxS)DMÏÖA<U@TÕ)Ñ7MÎEÏC<�RCÎ�D:RTÏ/Y]DXÑ@TÎEÏPRC@TÓ!Ñ$RTÓ=@C<EÞ

� � � � � � � � � � � � � � � � � � � � � � � � !�!�!�!�!�!�!�!�!!�!�!�!�!�!�!�!�!!�!�!�!�!�!�!�!�!

"�"�"�"�"�"�"�"�""�"�"�"�"�"�"�"�""�"�"�"�"�"�"�"�"#�#�#�#�#�#�#�#�##�#�#�#�#�#�#�#�##�#�#�#�#�#�#�#�#1

2

4

3

=

=

=

a

b

c

a

b

c

b

c

a

b

c

a

D4

D2 D3

D1

D1=D2=D3=D4={a,b,c}

?A@CB ��$=� E&%('*)�+ G8sN�y tvkAH.yW]C{vdjkbtm{vf]CtvfE{vl

Page 55: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

�µ<�S!?¡ÖA<%;!ÎHRCDXÑ<jI½Ð=@T<UÖqDMÎAÓ!ÏC7:Õ3RCSJ?-R�RCS=<r<8IwBE<8ÏGÎHÙ«RCS!<rÏCÓ=Ð=ÐeÎA@CR�?A@C<%DM;±ÎE;=<N_RCÎAN_ÎE;=<ÑÎA@T@T<8ÏCÐJÎE;!Iw<U;JÑ<]Ô�DzRTS¸RCS!<"Ö-?H@TDM?A×=7M<8Ï+ÎHÙ�RTS=< O/ÚqÛ Ü�ÏCÎLÔ�<3ÑU?H;¸ÏC7:DMBAShRT7:Õ£Y]ÎqI=DzÙ�Õ£RCS!<ÑÎA;JÏvRT@T?AD:;hR�BE@T?AÐ=S²ÎAÙ \ D:; ÎA@xIw<U@�RCηÎE×wRT?AD:;²RCS=<½ÏCÓ=Ð=ÐeÎA@CR�ç�ÔQ<½?AI=Iê?±;=<8Ô ÖE<U@CRC<æ��« ��?H;!I²?½;=<UÔ�<jIwBA<±Ý�7MD:;!àhDM;=B «L?H;!I²?H;=ÎARCS=<8@�ÖA<8@PRT<æ ­)Ù�ÎA@�D:;JÏvRx?H;!ÑU< ��RTS=DXÏ�ÖE<U@CRC<æDMÏrÑU?A7:7M<8I·RTS=< 90'4.i{L7�= �·DzRr@CÎqÎHRxÏ.RTS=<"RT@C<8<��Þ*è/S=DXÏ�;=<UÔ�BE@T?AÐ=S·Ù�ÎA@TY RCS=< ÏPÓ=Ð!ÐJÎE@PRrÎHÙRCS=<+Ù�ÎE@PRTS!ÑÎEYrDM;=B]?HÓwRTÎAY�?-Rx?=Þ=è/S=<8;�Ô�<.ÑÎE;!ÏPRC@TÓ!Ñ$R ×qÕ"?EI=IwDM;=B�?�;!<UÔ ÖA<U@CRC<Uæ6§��+RTÎRCS=<WYrDXÑ@TÎHNmÏPRC@TÓ!Ñ$RTÓ=@C<�ÎAÙg\ Ô�S=DXÑxS)DXÏ17MD:;=àE<8I]RTÎ�?A7:7!RCS=<�ÖA<8@PRTDMÑU<8Ï1ÑUÎA@T@C<jÏPÐeÎA;!I=D:;=B+RTÎ�� F Þ§��rDMÏWRCS!<r@TÎqÎHR�ÎHÙ�?"RC@T<U<EÞeè/S=<]7X?H×e<U7M7:DM;=B . DXÏGRTS=<U;µÎA×wRx?HDM;=<8I±×qÕ½Y]?AàqD:;=B"RCS=<rÖ-?H7MÓ=<8Ï��RCSJ?-RWÎE@CDMBADM;!?A7:7MÕ"Ðe<U@CRT?AD:;½RTÎ�RCS!<�ÖA<8@PRTDMÑU<8ÏGÎHÙ�RCS=<�Y]DMÑU@CÎ"ÏPRC@TÓ!ÑRCÓ=@T<����CÏC7:DXIw<���?A7:ÎE;=B�RCS!<D:;!ÑUDMI=<U;hR6<8IwBE<8Ï8Þ

>=ÎA@�DM;!ÏPRT?A;!Ñ<EÝ!>*D:BEÓ=@C< ä I=<á!;=<jÏ6?"O/ÚqÛµ\ ?H;JI ÏCS=Î-Ô6Ï/D:RTÏGYrDXÑ@TÎEÏPRC@TÓ!ÑRCÓ=@T<AÝwÔ�S=DM7M<>�DMBAÓ!@C<#&rÏPS!Î-Ô6ÏQRCS=<�RC@T<U<UNbI=@CDMÖA<8; ?AÓwRCÎEY]?HRCÎE; ×!Ó=D:7:R6×qÕ�RCS!DMÏ�Ð!@CÎwÑ<jIwÓ=@T<�Ù�@CÎEYA\¸Þ

�r�� �6� � ���<� �����,��� � �$#4�L� & #4��)��L�+�-,�����./������� �n�V��� � � ��� ��� &��,��� � ��,(�(����#¬�è/S=<�á!@xÏvR]ÏvRT<UиDXÏ.RTα×=Ó=DM7XI³?�RC@T<U<EÝ�RTS=<)ÖA<8@PRTDMÑU<8Ï�ÎHÙ�Ô�S=DXÑxS³ÑÎA@T@T<8ÏCÐJÎE;!IµRCνRTS=<"Ö-?H@TD:N?H×=7M<8ÏO¥S­<` H�HJH `-st©EÞ�è/S=<�ÏC<8ÑÎE;!I±ÏPRC<8еDXÏ�RCν?EI=Iµ?��PS!?H;JIw7:<�� �,« �W?H;!I£? ;=<UÔ»<8IwBE<rRCS!?HR7:DM;=àwÏ6D:R6RCÎ]RTS=<.RT@C<8< ��ÏT?¡Õ)Ù�ÎA@G<æ=?HY]Ð=7M<x^�«0`J­ f �$Þ%�µ<.RTSqÓ!Ï�ÎA×=RT?HDM;L?rRC@T<U<.Ô�D:RCS½ÖE<U@CRCDXÑ<jÏ¥ «:` HJH�H `�st©hÞ!è/S=<U@T<.DXÏG?]ÎA;!<N_RCÎHNbÎA;!<+ÑUÎA@T@C<jÏPÐeÎA;JIw<U;!ÑU<+×J<URvÔ�<8<U;�RCS!<%<8IwBE<8Ï�ÎAÙ�RCS=DXÏ�RT@C<8<?H;!I³RCS=<�Ö-?H@TDM?A×=7M<8Ï�ÎHÙ6RTS=<±O/ÚqÛ�Ý1?H;!I ?H7XÏPε×J<URvÔ�<8<U;²RCS=<½ÏC<R]ÎHÙWÖE<U@CRCDXÑ<jÏx¥S­<` H�HJH `-st©?H;!IµRCS!<�Ö¡?A@CDX?H×!7:<jÏ+ÎHÙ�O/ÚwÛ N6RCS=DXÏ%Iw<Uá!;=<jÏ+RCS=<�Y�?AÐ=Ð=DM;=B � ?A;!IµRCS=<)ÏCÓ=Ð=ÐeÎA@CR%ÎHÙQRCS!<?HÓwRTÎAY�?-RTÎA;�Þ

�@��. � ,g� ��� � � �$#4�L�!%'&(#4�*)��L�+�-,�����./��� ���è/S=<r?AÐ=Ð=@TÎE?EÑxS½DMÏ+ÏCD:Y]DM7M?A@WRTÎ)RTS=<]ÎA;=<rÓ!ÏC<8I½Ù�ÎE@�ÑU7M?EÏCÏCDXÑU?H7�?HÓ=RCÎAY�?HRT?=Þ"�m;LRTS=<UÎE@CÕEÝ�DzR+DMÏÐJÎhÏCÏCD:×!7:<+RTÎ"ÑÎEYrÐ!ÓwRC<.RTS=<�ÏCÎA7MÓwRCDMÎA;½ÏC<RGÎAÙI\ D�^,_a`�b6`cegf+Ýe?H;!I½ÏCÎ]RCS=<�ÏP<URGÎHÙ�Ô�ÎE@TI!ÏÔ�S=DMÑxS·Y�Ó!ÏvR%×e<)@T<8ÑUÎABA;!D��8<8IL×qÕ±RCS=<"?AÓwRCÎEY�?-RCÎE;�Þ�è/S=DXÏ%ÏC<R.Ù�ÎA@TY�Ï.? RC@T<U<UNbIw@TDMÖA<U;·?HÓ=NRCÎAY�?HRCÎA;�Þhè/S=<W;=ÎA@TY�?H7MD��j?-RTD:ÎE; ��?H;!I)ÎHRCS!<U@Q@C<jIwÓ!Ñ$RTD:ÎE;!Ï1ÎEÐJ<8@T?HRCDMÎA;!Ï1Ô�S=DMÑxS3?H@T<6×J<8ÕAÎE;!IRCS=<�ÏTÑÎAÐe<�ÎAÙ`RTS=DMÏ�Ð!?AÐJ<8@ �GÎHÙ`RCS=DXÏ.?HÓwRTÎAY�?-RTÎA;LÕqDM<U7XI±?A;±<æwÐ=7MÎAD:RT?A×=7M<�RT@C<8<NmIw@CDMÖA<8;±?HÓ=NRCÎAY�?HRCÎA;�ÞJé6;!ÎHRCS!<U@GY]<URCS=ÎwI¦Ý RCS!?HRW@T<U7MD:<jÏ6ÎE;�RC@T<U<NmIw@TD:ÖE<U;�?HÓwRTÎAY�?-Rx?)ÑÎEY]ÐJÎhÏPD:RCDMÎA;½ÑU?A;?H7XÏPÎL×e< Ó!ÏP<jI¦Þ��µ< IwÎA; ! R�?AI=I=@C<jÏCÏ�S=<U@T<)RTS=<3Ð!@CÎE×=7:<8Y ÎHÙ6<Ø)ÑUD:<8;ERT7:Õ¸ÑUÎAY]Ð=ÓwRTD:;=BµRCS!<RC@T<U<NmIw@TD:ÖE<U; ?HÓwRTÎAY�?-RTÎA;�Þ

è/S=<�ÑÎAY]Ð=Ó=RT?-RTD:ÎE;!?H7�ÑÎhÏvR%Iw<8ÐJ<8;!I=Ï�ÎA;µRCS!<]ÏCD��U<rÎHÙ`RTS=<�RC@T<U<NmIw@TD:ÖE<U;£?HÓwRTÎAY�?-RTÎA;±?A;!IÎHÙ*ÑUÎAÓ=@xÏC<GÎA;3RCS!<+ÑxS!ÎADXÑ<�ÎHÙ�RTS=<+Ó=;!Iw<8@C7MÕqD:;=BrRT@C<8<AÞwè/S=<.Iw<Rx?HDM7MÏ/?A@C<�×J<8ÕAÎE;!I�RTS=<.ÏCÑUÎAÐe<ÎHÙ�RCS=DXÏ�Ð!?HÐe<U@jÞ �G<UÖA<8@PRTS=<U7M<8ÏTÏ8ÝAÏPDM;!ÑU<6D:;3ÑÎA;=á!BAÓ=@x?-RTD:ÎE;]Ð=@CÎE×=7M<UY�Ï�RCS!<WÑÎE;!ÏPRC@x?HDM;ER1BE@T?AÐ=SDMÏ6ÑU7:ÎhÏP<WRCÎ)?�RT@C<8<AÝqRCS!<%ÑxS=ÎADXÑ<+DXÏ/@T?HRCS=<8@�;!?-RTÓ=@T?A7�Þ

� ��«ÍCÆ`Ç�«ÍPÆWÍPÆ¢�����PÉ� ¢��]Ì�É`Æ��qÍ��AÇ���ÆWÌ��>=ÎA7M7MÎ-Ô�D:;=B âMãå ÝÔQ<1ÑÎA;JÏPDXIw<U@�RCS!?HR�D:;%ÑUÎA;wá!BEÓ=@x?-RCDMÎA;WÐ=@TÎA×=7M<UY�Ï8ÝU?GO/ÚqÛ|\ D¦^*_a`cb6`�egf¦Iw<áJ;=<8ÏRCS=<+Ù�<j?AÏCD:×=7M<+Ð=@TÎqI=Ó!Ñ$RxÏUÝ=?A;!I)RTS!?-RG?]ÏC<R�ÎHÙ«ÑÎE;!ÏPRC@x?HDM;ERxÏ��ß@T<UÐ=@T<8ÏC<U;hRxÏ`RTS=<%ÑÓ!@C@T<U;hR�ÏP<URÎHÙ�Ó!ÏP<8@�! Ï/ÑxS=ÎADXÑ<jÏUÜwÔQ<.?H7XÏPÎ]?AÏTÏCÓ=Y]<WRTS!?-R�� DXÏ�?]ÏP<UR6ÎHÙ�Ó!;!?H@TÕ"ÑÎE;!ÏPRC@x?HDM;ERxÏUÞ

è�ε×J<3Ó!ÏP<UÙ�Ó=7_Ý�?µIw<8ÑUDMÏCDMÎA;²ÏCÓ=Ð=ÐeÎA@CRrÏCÕwÏvRT<UY Ù�ÎA@]ÏPÓJÑxS³Ð=@TÎA×=7M<UY�ÏrÏPS=ÎEÓ=7XI³?-Rr7:<j?AÏPR?AÑxS=DM<UÖE<�ç

Page 56: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

� ã �3Iw<RT<8ÑRCDMÎA;±ÎAÙ`DM;!ÑÎE;!ÏPDXÏPRC<U;JÑÕ�ÎHÙ�\ ³ DA^,_a`�b6`ce�� �af%ç�?HR�?H;qÕ�RTD:Y]<AÝeRTS=<rÏCÕwÏvRT<UYY�Ó!ÏPR�RT<U7M7�Ô�S!<RCS!<U@�RCS=<8@C<3DMÏ�?½Ù�<8?EÏPDM×=7M<)Ð=@TÎwIwÓ!Ñ$R]ÏC?HRCDXÏvÙ�ÕqDM;=B½RTS=<"Ó!ÏC<U@�! Ï%@T<8ÒhÓ=DM@C<UNY]<U;hRTÏ

� &��"Y�?HDM;ERT<U;!?A;!Ñ<"ÎHÙ6BA7MÎA×J?H7�ÑUÎA;!ÏCDXÏvRT<U;!ÑUÕêç*?-Rr?A;qÕ±RTD:Y]<AÝ�RCS!< ÏCÕwÏvRT<UY Y�Ó!ÏPRrIwDXÏTÑU?H@xIÙ�@CÎEY RTS=<µI=ÎAY�?HDM; ÎHÙ�?¡Ö-?HDM7X?H×=7M<½Ö-?H7MÓ=<8Ï)RCS=ÎhÏP<½RTS!?-R�ÑU?A;=;=ÎHR37:<j?AI RCÎê?·Ù�<8?EÏPDM×=7M<Ð=@TÎqI=Ó!Ñ$RjÝhD_Þ <AÞhDzR/Y�Ó!ÏPR/×J<+?H×=7M<6RTÎrÑUÎAY]Ð=ÓwRT<6RTS=<WÐ!@CÎ��v<8Ñ$RTD:ÎE;)ÎHÙ¦RTS=<+ÏPÎE7:ÓwRTD:ÎE;"ÏC<R/ÎHÙ\ ³ ÎE;3<j?AÑxS Ö¡?A@CDX?H×!7:< m$cPÞ

��<jÏPDXIw<jÏUÝ1ÎARCS=<8@)Ù�Ó=;JÑ$RCDMÎA;J?H7MDzRTD:<jÏ"?H@T<½;=<jÑ<8ÏTÏT?H@TÕ ��Ù�ÎE@"DM;!ÏvRx?H;!ÑU<AÝ`RCS=<±ÑUÎAY]Ð=ÓwRx?-RTD:ÎE; ÎHÙ;=ÎABEÎhÎwI=ÏGD:;µÑU?AÏC<%ÎAÙ1D:;!ÑUÎA;!ÏCDXÏvRT<U;!ÑUÕ$�ÝJ×!ÓwR�ÔQ<�?EI=Iw@T<8ÏTÏ6S=<8@C<�ÎA;=7MÕ"RTS=<rÎA;=<jÏGIw<jÏCÑU@CDM×J<jI?H×eÎ-ÖA<AÞ

dg�,� � &(&P��� � �<�������(��� �����|��& ���L�(��"��è/S=<G?HÐ!Ð=@CÎh?AÑxS�Ó!ÏP<jIrRCÎ.<UØ�ÑUD:<8;hRC7MÕ�Ðe<U@CÙ�ÎA@TY RCS!<8ÏC<�RT?EÏPàwÏ«ÎE;]?�RT@C<8<NmIw@TD:ÖE<U;]?HÓwRTÎAY�?-RTÎA;DMÏ*?GÏPRC@x?HDMBAShRPÙ�ÎE@CÔ/?H@xI�<æqRC<8;!ÏCD:ÎE;.ÎHÙ=RTS=<�?AÐ=Ð=@TÎE?AÑxS.Ð!@C<jÏP<8;ERT<8I+DM; âMãå Þjè/S!<�Ð=@TDM;!ÑDMÐ=7M<`DXÏ�RTÎ?AÏTÏPÎwÑDX?-RT<W?rÑÎhÏvR�� RCÎr<8?EÑxS)RT@T?A;!ÏPD:RCDMÎA;3ÎHÙ�RTS=<.?HÓwRTÎAY�?-RTÎA;µçEÙ�ÎE@QRCS=<�RC@x?H;JÏPD:RCDMÎA; 9 F�`�;6<$ÝRCS=<�ÑÎEÏPR��P^ 9 F�`�;6<�f`DXÏ­GD:ÙgF]ÑÎE@C@T<8ÏCÐJÎE;!I=Ï�RTÎ�?H;3?AÏTÏPDMBA;=Y]<8;ER`RCÎ��LFL^=;4f��GÙ�ÎA@T×=DXI=Iw<U;�×qÕ?rÑUÎA;!ÏPRC@x?HDM;hR�ÎHÙ �µÝ!?H;!I�«rÎHRTS=<U@TÔ�DMÏC<� AÞ�d�S�t����������� ����� =>"s D ^,�(`��@f ;3=�'|"*+-=3=J/�{4+ 2 #4=>. '4 �"z#4%n'4"z#4.®T 2 "V9 1 8�8:#&+ "p� D^,�   `-�   f ´" Q3# 1 "�0$" >��¦5������ ����� l �P^p;S`-F�f 2�1 "V9:=Sv���4*� ��� � �x/z"*+-=3=]" ´"��! #" j ^ 9 F�`�;6<�f 2�1 "V9:=OQ3# 1 "�#��¡'6;3=J","z=>+R0 2�´ = ´ % 2 . 2 %('&7PQ3# 1 " > �x/z",+-=3=¡T�9 2 Q39kQ3#4.�"$' 2 . 19 F�`�;6<"��! #" j ^�§&f T 2 " 9 §@¨q� 2�1 "V9:=OQ�# 1 "p#c�M'6;3= 1 " �n/z",+�=�=MQ3#4.0"z' 2 . 2 .SR §Zp+-#�80=J+ ",�%$ ´ è/S=<]O/ÚqÛµ\ ³ D�^,_a`�b6`ce&� ��f/DXÏ6ÑÎE;!ÏCDMÏPRC<8;ER6D:Ù`?H;JI3ÎE;=7MÕ"D:Ù«RCS=<8@C<.DXÏ6DM; ? � N_RC@T<U<+ÎHÙ«ÑÎhÏvR«=ÞZp+-#�80=J+ ",��' ´ [�<R)(+*-,«Iw<U;!ÎHRC<GRCS=<WÐ=@TÎ��v<8ÑRCDMÎA;]ÎHÙ¦RTS=<WÏCÎA7MÓwRTD:ÎE;)ÏP<UR�.y^,\ ³ f1ÎA;]RTS=<GÖ-?H@TD:N?H×=7M<amRcCÞ`è/S=<8;�Ý�F¸×e<U7MÎA;!BEÏrRCÎ/( * ,rDzÙ.?H;!I ÎE;=7:Õ²DzÙ�RCS=<8@C<½DXÏ)?µRC@x?H;JÏPD:RCDMÎA; 9 F�`�;6<rDM; ÏCÓ!ÑxS3RCS!?HR��SF�^p;4f�Dµm$c«?H;!I 9 F�`�;�<Q×e<U7MÎA;!BEÏQRCÎ�? � N�RT@C<8<+ÎHÙ«ÑÎEÏPR« Þ

dg� � � � ��� #4�V���(.��è/S=<6Rx?AÏCàqÏ � ã �1?H;JI�� &��`?HY]ÎAÓ!;ER`RCÎ%RTS=<WÏC<8?A@TÑxS]ÎAÙ¦ÏCÎAY]<WYrDM;=DMY�?H7 � N�RT@C<8<6DM;�RCS=<GRC@T<U<UNIw@CDMÖA<8; ?AÓwRCÎEY�?-RCÎE;�Þ$�£<%?AÏTÏPÎwÑDX?-RT<GRTÎ]<8?AÑxSa§%ÎAÙ�� RvÔQÎ]ÑUÎAÓ=;hRT<U@xÏWç �10 ^�§&f/?A;!I �!2 ^,§&f$Þ>=ÎA@ ?H;qÕ ÖA<U@CRC<UæC¯rÎHÙ �¡  Ô�S!DMÑxS DXÏ);!ÎHR ?³7:<j?-ÙvÝ1RTS=<±@T<UY]Î-ÖqDM;=B¸ÎHÙ ¯rD:;!I=Ó!Ñ<jÏ)RvÔQÎÑÎA;!;=<8ÑRC<8IµÑÎEYrÐeÎA;!<U;hRTÏrܦ×qÕLÑÎE;hÖE<U;hRCDMÎA;±Ô�<]ÑU?A7:7*RCS!<rÎE;=<�ÑÎE;ERx?HDM;=DM;=B)RTS=<]ÖA<U@CRC<Uæ|«RCS=< 7�=��3" ÎA;=<"?A;!I³Iw<8;=ÎHRT<)D:R�×qÕ�� c0 Ü�RCS=<3ÎHRTS=<U@�ÎA;=<)DXÏrÑU?H7M7M<8I£RCS!< + 2 R¬9L" ÎE;=<3?A;!I·DMÏIw<U;=ÎARC<jI3×qÕd� c2 Þ354hd8{^GUsrl�N�Yjl�66dIJ87�9²c;:;<;=?>A@;B5NAlxshdUtvlxk�t7UhlZGUkmkmd6]xyWGUtvl�NRPIGU{vyWGIVEgil�yzs�CD JXdU{.k7GFE¡l�dIJ�kmyQH.uhgiyQ]xy t �-c \*lS]�Uhd-djkml UhlT{vl�tvdi]xdjsEkmy NAlT{+t7UGUt GUgig1t7UEl PHyidjgWGtvyzd8shkmUG�P¡l�t7UElk7GIH.l ]TdjkbtHGmThy t1yik`l�G8k ��tvd�l�FHtvlxsN�t7UEyzkAV��:G8kmkmd6]Ty GtvyisY:G)]xd8kbt�tvd)G8s��S]Tdjshkbtm{�GUyisHt`dKJJIRb

Page 57: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

�d�S�t�������������r� v���� � ������4 ��464��`v���������� ��� ���L� ����������v���4 ��� D¦^,�n`-�@f" �>#4+ §M¨q� c �

� � 0 ^,§&f 2�1 " 90=d% 2 . 2 %('&7yQ3# 1 "¡#��d' �n/z"*+-=3=a#c�6" 90= 1 0;3'& �"$#&%('&"$#&. 2 .i{4 0Q3=3{ ;J�¥ § ³ ¨q� 4 `$°n¨|� c0 �k¥�¯�©�©

� � 2 ^�§&f 2�1 " 90=(% 2 . 2 %('&7�Q3# 1 "!#c�n' �x/z"*+-=3=n#c�O"V9:= 1 0;J/�'4 �"z#4%n'4"z#4. 2 .�{& 0Q�=3{q;J�¥ § ³ ¨q� 4 `$°n¨|� c2 �k¥�¯�©<©

" �>#4+¡"V9:=@ �. 2 �J 0= § � ¨|� � � � 0 ^,§&f�D «" �>#4+M=3'�Q�9 ¯�¨��   T�9 2 Q39 2�1 'n7�=3'c� ��� §¡¨|� c�` � 2 ^�§&fID «

� S=<U;LÓ!;!?H@TÕ ÑUÎA;!ÏPRC@x?HDM;hRTÏW?H@T<�?AI=I=<8I½ÎE@WIw<87:<URC<8I�ÝJRTS=<�ÑUÎEÏPRTÏWÎHÙ`ÏCÎAY]<.RT@T?A;!ÏPD:RCDMÎA;JÏS!?¡ÖA< RCθ×e<½Ó=Ð�I=?-RT<8I¦Ü1RCS=<±ÑUÎAÓ=;hRT<U@xÏrI=<á!;=<jI Ð=@T<UÖqD:ÎEÓ!ÏC7:Õ³Ñ8?H; RCS=<8; ×J<½Y�?HDM;hRT?AD:;=<jI×hÕ Ð=@TÎAÐJ?HBE?HRCDMÎA; ?H7MBAÎE@CD:RCS=Y�Ï"Ô�S=DMÑxS ?H@T<LÖA<8@CÕ ÏPDMY]D:7X?H@"RCβRCS=ÎhÏP<LÓJÏP<jI Ù�ÎA@ Ñ7X?AÏTÏPDXÑU?A7?HÓwRTÎAY�?-Rx?�D:; âMãå Þ�è/S=DXÏ%ÔQÎA@Tà±Ñ8?H;¸×e<"IwÎA;!<)D:;·RTD:Y]<)ÐeÎA7MÕq;=ÎAY]DX?H7�D:;·RTS=<"ÏCD��8<)ÎHÙ/RCS!<RC@T<U<NmIw@TD:ÖE<U; ?HÓwRTÎAY�?-RTÎA;�Þ

� ��¢«Ìi��Ì�É����!�c����ÍvÇ �è/S=<�ÑUÎAY]Ð=ÓwRx?-RCDMÎA;J?H7�ÑUÎEÏPRGÎHÙ�RCS!<8ÏC<�?H7MBAÎE@CD:RCS!Y]ÏGIw<UÐe<U;!I!ÏGS=<j?¡ÖqD:7MÕ"ÎE;�RCS=<r?HÓwRTÎAY�?-RTÎA;ÏPD��U<��³DzR)DXÏ)?A7MÏCαRTS=<LÑU?EÏP<�Ô�D:RCS 7MD:;=<j?H@)?AÓwRCÎEY]?HRT?!ÞWÓ!@)Ñ7X?HDMY2DMÏ�RCS!?HR�RC@T<U<NmIw@TD:ÖE<U;?HÓwRTÎAY�?-Rx?µÑ8?H;²×e< Ù�?H@�Y]ÎA@T<�ÑÎAY]Ð!?EÑ$RrRCS!?A;ê7MDM;=<8?A@]?AÓwRCÎEY�?-RT?!Þ«è/S=< á!@TÏPR �vÓ!ÏvRTDzáeÑU?-NRCDMÎA;�@C<87:DM<8Ï6ÎA; RCS=<�ÑxS!?H@x?AÑRC<U@TDXÏvRTDMÑWÎHÙ«ÎAÓ!@/RT?H@TBA<URG?HÐ=Ð!7:DXÑU?HRCDMÎA;�ç!ÑUÎA;wáJBAÓ=@x?H×=7M<�Ð=@CÎwIwÓJÑ$RTÏ?H@T<3ÎAÙ�RC<U; ÏPRC@TÓ!Ñ$RTÓ=@C<jI³DM;hRCηD:;JIw<UÐe<U;!I=<U;hR)ÏPÓ=×=NbÑUÎAY]ÐJÎE;=<U;hRxÏ�RTS=<�<æwDXÏvRT<U;!ÑU<3ÎAÙWÔ�S=DXÑxSIw<UÐe<U;!I!Ï+ÎA;LRTS=<]Ö-?H7MÓ=<8Ï+BED:ÖE<U;½RTÎ�ÏCÎAY]<rÎHÙ�RCS=<]Ö-?H@TDM?A×=7M<8ÏWÎHÙ`RTS=<]Ó=Ð=Ðe<U@.ÑÎEY]ÐJÎE;=<U;hR8ÞÚqÓ!ÑxS¸Ð=@TÎwIwÓ!Ñ$RxÏ�Ñ8?H;¸×e<)Ó=;!Iw<8@TÏPRCÎqÎwI¸?AÏ�ÑÎAY]ÐeÎEÏCDzRT< O/ÚqÛ`Ï â �Hå Þ*è/S=<)7MD:;!<8?H@�ÎA@xIw<U@.ÎE;RCS=<LÖ-?A@CDX?H×=7M<8Ï]@T<8ÒhÓ=DM@T<8I ×qÕ²V«<UY]Ð!?HRvÕ ! Ï)?AÓwRCÎEY�?-RT?¸I=Îh<jÏ�;=ÎAR3ÏPÓ!DzR)RTS=<±ÑUÎAY]Ð=DM7M?HRCDMÎA;ÎHÙGÏCÓ!ÑxS³Ð=@TÎA×=7M<UY�Ï8ç�ÔQ<"Ô�DM7:7/ÏCS=Î-Ô�D:;³RCS=<"Ù�ÎA7M7:Î-Ô�DM;=B½RTS!?-R]<UÖE<U;³?LÖE<U@TÕ£ÏCDMYrÐ!7:<EÝ�RT@C<8<ÏvRT@CÓ!ÑRCÓ=@T<8I�Ý�O/ÚqÛ�ÑU?H; 7M<8?AI²RCθ?A;ê<UæqÐeÎA;!<U;hRCDX?H76I=?HRT?£ÏvRT@CÓJÑ$RCÓ!@C<EÞ�W;²RTS=<LÑÎE;ERT@T?A@CÕEÝRC@T<U<NmIw@TD:ÖE<U;�?HÓwRTÎAY�?-Rx?]?H7M7:Î-Ô RCÎ"ÑUÎAY]ÐJÎhÏP<.?rRT@C<8<.ÎHÙ1ÏPY�?A7:7�7MDM;=<8?A@6?HÓwRTÎAY�?-Rx?=Ý=<j?AÑxS ÎHÙRCS=<8Y ÑÎA@T@T<8ÏCÐJÎE;!IwDM;=B�RCÎ+?GÏCÓ=×wNmÑÎEY]ÐJÎE;=<U;hR���?H;JI.@C<jÑÓ=@xÏCD:ÖE<U7MÕ$�Þjè�@T<U<�I=@CDMÖA<8;�?HÓwRTÎAY�?-Rx??H@T<G?+Ù�ÎA@TY ÎHÙ��ÑUÎAY]ÐeÎEÏCDzRT< �/?HÓ=RCÎAY�?HRT?=ÝhÑÎEYrÐJ?H@x?H×=7M</RCÎr?%ÑÎEYrÐ!D:7M<8I]Ù�ÎE@`ÎAÙ¦ÑUÎAY]ÐeÎEÏCDzRT<O/ÚqÛ`Ï8Þ*è/S=<"RC@T<U< ?HÓwRTÎAY�?-RTÎA;³ÑU?A;¸D:;JIw<U<jI¸×J<�ÏCÕh;hRT<RCS!DMÏC<8I¸IwÕq;!?AY]DMÑ8?H7M7:ÕEÝ�<j?AÑxS³ÑÎEYrNÐJÎE;=<U;hR%×e<UDM;=B��$Y]ÎEÓ=;hRC<8I���ÎE;=7MÕ±ÎA;JÑ<]DzRxÏ%<UæqDXÏPRC<U;JÑ<�S!?EÏ+×J<8<U;³Iw<jÑDXIw<8I£×qÕµ?½ÑxS=ÎEDMÑU<ÎHÙ6RTS=<3ÓJÏP<8@8Þ«ÚqÎ!Ý�RC@T<U<UNbI=@CDMÖA<8;³?HÓwRTÎAY�?-Rx?±ÑU?A;³×e<"Ù�?A@�Y]ÎA@T<3ÑUÎAY]Ð!?EÑ$R�RTS!?H;êÑ7X?AÏTÏPDXÑU?A7?HÓwRTÎAY�?-Rx?%Ô�S=DM7:<+àE<U<UÐ!D:;=B�RCS=<8D:@�BEÎqÎqI)Ð=@CÎEÐJ<8@PRTD:<jÏUÝq<jÏPÐe<8ÑUDM?A7:7MÕ�?%RT@T?EÑ$RT?A×=7M<�ÑUÎAY]Ð=7M<æwDzRvÕÙ�ÎA@/RCS!<.Y]?AD:;hRT<U;!?A;!Ñ<+ÎHÙ*BA7MÎA×!?A7�ÑÎE;!ÏPDXÏPRC<U;JÑÕAÞ

è/S=<%ÏP<jÑÎE;!I �vÓ!ÏvRTDzáeÑU?-RTD:ÎE;�DMÏW?rRCS=<8ÎA@T<RCDXÑU?A7¦Ð=@TÎhÎAÙ*ÎAÙ�RTS=DXÏGÑ7X?HDMY�ç=D:RWÑU?A; ×e<�ÏCS=Î-Ô�;RCS!?HRrRTS=<U@T<½?H@T< ÏCÎAY]<�ÏvRT@CÓJÑ$RCÓ!@C<jÏ�RTS!?-R�;=<jÑ<jÏCÏT?H@TD:7MÕ·;=<U<jI³RTθ?H; <æwÐJÎE;=<U;hRTDM?A7Q7MDM;=<8?A@?HÓwRTÎAY�?-RTÎA;�Ý«Ô�S=DM7M<3RTS=<UÕêÕqD:<87MI=Ï�?£ÐeÎA7MÕq;=ÎAY]DX?H7MÕENmÏCD��8<8I¸RT@C<8<NmIw@TD:ÖE<U;ê?AÓwRCÎEY�?-RCÎE;�Þ �£<Ð=@CÎ-ÖE<�D:R`×qÕ�ÏCS=Î-Ô�DM;=B�RCS!?HR«RC@T<U<6ÏPRC@TÓ!Ñ$RTÓ=@C<jI]O/ÚwÛ`Ï`?A7:Ô/?¡ÕwÏ*?EIwY]DzR`?+ÐeÎA7MÕq;=ÎAY]DX?H7MÕhNbÏCD��8<8IRC@T<U<±?AÓwRCÎEY]?HRT?!Ý`Ô�S=DM7:<£ÏPÎEY]<LÎHÙ.RTS=<UY�;=<jÑ<8ÏTÏT?H@TD:7MÕ²7M<8?EI RCβ?A; <æwÐeÎA;=<8;hRCDX?H7G7MDM;=<8?A@?HÓwRTÎAY�?-Rx?=Þ

>=ÎA@TY�?H7M7:ÕEÝJÔQ<�ÑÎE;!ÏPDXIw<8@GRTS!?-R+RCS!<]ÏCD��U<]ÎHÙ�?LO/ÚqÛ DXÏ+BADMÖA<U;µ×qÕ�RCS=<�ÏCD��8<�ÎAÙ�D:RTÏ+Y]DzNÑ@TÎEÏPRC@TÓ!Ñ$RTÓ=@C< ��D:R�DXÏ+RC@TÓ=<)?HR+7M<8?EÏvR%D:ÙQRCS=<"ÑUÎA;!ÏPRC@x?HDM;hRTÏ+?H@T<]BADMÖA<8;µ×qÕµ? 7MDMÏPR�ÎAÙ`RCÓ!Ð=7:<jÏ��?H;!I3Ô�<%I=<U;=ÎARC<+DzR6×qÕ " ¯��;S^,\kf$ÞéêÐeÎA7MÕq;=ÎAY]DX?H7=ÏCD��8</@C<8Ð=@C<jÏP<8;hRT?-RTD:ÎE;�ÎAÙe?%O/ÚqÛ \ ×qÕ�?A;r?AÓwRCÎEY�?-RCÎE;�DXÏ«?H;]?HÓ=RCÎAY�?HNRCÎA; RTS=<%ÏPD��U<+ÎAÙ�Ô�S=DXÑxS T�9:# 1 = 1 2�� = DXÏ�?]ÐJÎE7:Õq;=ÎEYrDX?H7eÙ�Ó=;JÑ$RCDMÎA;½ÎAÙ " ¯���;L^,\kf$Þ

Page 58: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Zp+-#�80=J+ ",��� ´ [�<R!\ ×e<�?]RT@C<8<NmÏvRT@CÓJÑ$RCÓ!@C<jI½O/ÚwÛ*ݦ?A;!I�7:<UR ×e<.RCS!<�?AÏTÏCÎqÑUDM?HRC<jI3;!ÎA@CNY]?A7:D��U<jILRT@C<8<NmIw@TD:ÖE<U;±?AÓwRCÎEY]?HRCÎE;µÑÎE;!ÏPRC@TÓ!Ñ$RT<8I£?AÏ�D:;·ÏC<8Ñ$RTD:ÎE; ä Þ � Þ¦è/S=<�ÏPD��U<]ÎHÙ DMÏ7:DM;=<8?A@�D:; " ¯���;L^,\kf

è/S=DMÏ/DXÏ/RT@CDMÖqDM?A7eÔ�S!<U;½ÑÎE;!ÏPDXIw<8@CDM;=B�RCS=<%ÑUÎA;!ÏPRC@TÓ!Ñ$RTD:ÎE; I=<UÐ=DXÑ$RT<8I D:;LÚq<jÑ$RTD:ÎE; ä Þ � Þ

Zp+-#�80=J+ ",��� ´ è/S=<8@C<"<æwDMÏPRTÏ%RC@T<U<UNbÏPRC@TÓ!Ñ$RTÓ=@T<8I²O/ÚqÛ`Ï�Ô�S=DXÑxS²IwÎE;�! RrS!?¡ÖA<)?±ÐJÎE7:Õq;=ÎEY]DM?A7ÏPD��U<+@T<UÐ=@T<8ÏC<U;hRT?HRCDMÎA;3×hÕ3?rÑU7M?EÏCÏCDXÑU?H7 ��7:DM;=<j?H@ ��I=<RC<8@CY]DM;=DXÏvRTDMÑ.?AÓwRCÎEY]?HRCÎE;�Þ

è/S=<�Ù�ÎA7M7:Î-Ô�DM;=B�Ñ7X?AÏTÏQÎHÙ`O/ÚqÛ`Ï6ÏCÓ=Ð=ÐeÎA@CRTÏQRTS=DMÏ6Ð=@CÎEÐJ<8@PRvÕ�ç

�d�S�t����������������� =>"�� `�i` ;3=O" 9�+-=3=!8:# 1 2 " 2 #4= 2 .0"z=$R�=J+ 13� T 2 "V9 ���� :`������µ­ ´ � 9:=W�Y:Z \�^ � `��i`�LfID�^*_a`cbd`cegf 2�1 {<=,£I.i=3{6;J�<¤

" " 90=nQ3#4. 1 "*+-' 2 .�",/�R<+-'38:9 2�1 " 90=(Q�#&%8i7�=J"$= � /�'&+ �x"*+-=3=@T 2 "V9a9:= 2 R 9�"�� 0 1 =3= ) 2 R ´ �O�>#&+'4.X=�'L'4%¢8�7 =¡T 2 "V9 �nD�� '4.i{�� D� �>� 9:=J+-=��>#&+-= � T�=]9:'6#4= sqD�� _��<D�5 c�� F ������� � � � c D¦^ � �"! F �C­¬f-±:^ ���C­¬f ´

" � F D H�HJH D �OKnD � T 2 " 9 � ���<D�" =3'<Q39kQ3#4. 1 ",+-' 2 .0"�+-=>7 '4" 2 #4. 2�1 "V9:=@+-=J7�'4" 2 #4. D

....

....

....

....1

2

3.....

4

?A@CB �$#e� a5Uhl2]xd8shkbtm{�GUyzs-t Y8{�GUuU]dKJ + >&%('*)+'-,?B \AUElT{vl.%0/211G8s`N�)3/54

�bR�ÑU?H;+×e<`ÏCS=Î-Ô�;�RCS!?HR8ÝÔ�S!?HRC<8ÖA<U@�RTS=<1ÎE@TIw<8@76 ÑxS=ÎhÏP<8;GÙ�ÎE@�×=Ó=DM7XIwD:;!BG?�Iw<RT<U@TY]D:;=DXÏPRCDXÑ7:DM;=<8?A@6?HÓwRTÎAY�?-RTÎA;�ÝwD:R67M<8?AI!Ï`RTÎ)?H; <æwÐeÎA;=<8;ERTDM?A7�I=?-Rx?]ÏvRT@CÓ!ÑRCÓ=@T<AÞ

Page 59: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

� �µÉ�ÆGÌ��PË �qÍvÉ`Æ

ÚqÎA7MÖqD:;=B%I=<8ÑDXÏCD:ÎE;)ÏPÓ=Ð!ÐJÎE@PR`Ð!@CÎE×=7:<8Y�Ï�RCS!?HR�?H@T<6DM;hRC<U@x?AÑRCDMÖA</DM;)<8ÏTÏP<8;!Ñ<�DMY]Ð=7MD:<jÏ '<Q39 2 =K# /2 .SR <Ø)ÑUD:<8;ERT7:Õ+ÏCÎAY]<«@C<j?AÏCÎA;=DM;=BQRT?EÏPàwÏ ��Ù�ÎA@�<æ=?HY]Ð=7M<1Y�?HDM;hRT?HDM;=DM;=B�BA7MÎA×J?H7AÑUÎA;!ÏCDMÏPRC<8;!ÑÕ�Ü?AÏ�RCS=<jÏP<QRx?AÏCàqÏ�?A@C<�S=D:BES=7MÕ�ÑÎEY�×=DM;!?-RTÎA@TDM?A7EDM;�RCS=</BA<8;=<U@x?H7qÑU?EÏP<EÝ-?GÐeÎEÏTÏPDM×=7M<Q?AÐ=Ð=@TÎE?EÑxS%DMÏRCÎ�Ð=Ó!ÏCS�RTS=<QÑUÎEÏPR*DM;hRCÎ+?H;�Î��eN_7MD:;!<�Ð=@T<NmÑÎEY]Ð=ÓwRT?HRCDMÎA;�ÏPRC<8Ð3Ü âMãå Ð=@TÎAÐeÎEÏC<1RTÎ+ÑUÎAY]Ð=DM7:<�RCS!<O/ÚqÛ¸Ó=;!Iw<8@�RCS=<6Ù�ÎA@TY ÎHÙ¦?.Ñ7X?AÏTÏPDXÑU?A7w?HÓwRTÎAY�?-RTÎA;�Þ� G;!Iw<U@1RCS=DXÏ�Ù�ÎA@TY�Ý-RCS!<�Ó!ÏPÓJ?H7=@T<8?EÏPÎE;wND:;=B"S!?AÏW?"ÑÎEY]Ð=7:<UæwDzRvÕ3ÐJÎE7:Õq;=ÎEYrDX?H7�D:;LRCS=<rÏPD��U<%ÎAÙ«RCS=<r?HÓwRTÎAY�?-RTÎA;�Þ �bR�ÏCÓ$�e<8@TÏGÎHÙ«RvÔQÎIw@T?¡Ô�×J?AÑxàwÏUçjá!@xÏPR8ÝHRTS=<GÏCD��8<6ÎHÙeRCS!<W?HÓ=RCÎAY�?HRCÎA;]ÑU?A;�×J<GÖA<U@TÕ%7X?H@TBA<EÝA?H;!I�á!;JIwD:;!B�?.BAÎqÎwIÎA@xIw<U@�ÎHÙ�RCS=<]Ö-?H@TDM?A×=7M<8Ï�Ô�S=DXÑxSµY]DM;=D:Y]D��U<jÏ+DzR.@T<U7MD:<jÏWS!<8?¡ÖqD:7MÕ½ÎA;µS=<UÓ!@CDXÏvRTDMÑ8ÏUÜ�ÏC<8ÑUÎA;!I=7:ÕEÝRCS=<%7MDM;=<8?A@6ÏvRT@CÓ!ÑRCÓ=@T<+ÎHÙ*RCS=<�?HÓwRTÎAY�?-RTÎA;�IwÎq<8Ï�;=ÎAR6@C<j?H7M7:Õ3ÏPÓ=D:R�RCS!<�Iw<8ÑUÎAY]ÐeÎEÏCDzRTD:ÎE;"RTÎÎHÙ�Ð=@CÎwIwÓJÑ$RTÏ/DM;hRCÎ�ÑÎEY]ÐJÎE;=<U;hRTÏ�?A;!I ÏPÓ=×=NbÑUÎAY]ÐJÎE;=<U;hRxÏUÞ

�m;�RTS=DXÏ«Ð!?HÐe<U@jÝ-ÔQ<QSJ?¡ÖA</D:;hRT@CÎwIwÓ!ÑU<8I�RC@T<U<UNbIw@TDMÖA<U;]?HÓ=RCÎAY�?HRT?�?AÏ«?+;=<8Ô ÑUÎAY]Ð=DM7M?HRCDMÎA;RT?H@TBA<UR8Þ1è�@C<8<Nm?HÓwRTÎAY�?-Rx?µ?A7:7MÎ-Ô RTηRT?AàA<½×e<RPRT<U@"?EIwÖ-?H;hRT?ABA<�ÎHÙ�RCS!<LÏvRT@CÓ!ÑRCÓ=@T<½ÎHÙ�RCS!<O/ÚqÛ�Ý!;=<8<8I37:<jÏCÏ6ÏCÐ!?EÑ<*��DM; RCS=<%Ñ8?AÏC<�ÎAÙ�RT@C<8<NmÏvRT@CÓ!ÑRCÓ=@T<8I½O/ÚqÛ`Ï8Ý!ÏCÐ!?AÑU<+DMÏ�7MDM;=<8?A@�D:; RCS!<ÏPD��U<�ÎHÙ1RTS=<�Y]DXÑ@TÎEÏPRC@TÓ!Ñ$RTÓ=@T<��$Ýe?H@T<�Y]ÎA@T<�ÏCÓ=D:RC<jI½RCÎ"RCS=<]?AI �vÓ=;!Ñ$RTD:ÎE;µ?A;!I½@T<UY]Î-ÖqD:;=B"ÎHÙÏPÓ=×�ÑÎEY]ÐJÎE;=<U;hRTÏ8Ý=?H;JI3àE<U<8Ð3ÐeÎA7MÕq;=ÎAY]DX?H7�ÑÎEY]Ð=7:<UæwDzRvÕ�Ù�ÎE@�Ó!ÏCÓ!?H7¦@T<8?EÏPÎE;=D:;!B%RT?EÏPàwÏ8Þ

�m;µRTS=<�Ù�@x?HY]<UÔQÎA@TàLÎAÙ/?AÓwRCÎEY]?HRC<jIµ@T<8?EÏPÎE;=DM;=B!Ý�ÑUÎAY]Ð=DM7M?HRCDMÎA;·Y]<RCS!ÎqI!Ï.S!?¡ÖA<�×e<U<8;Ð=@CÎEÐJÎhÏP<jI ��ÏC<U< â �-å ÝeÔ�S!DMÑxS±Ñ8?H;µ×J<]ÑÎEYrÐJ?H@T<8I½Ô�D:RCS£ÎAÓ=@xÏ ��Ô�D:RCSLRTS=<�ÏP7MDMBAShR�IwD���<U@T<U;!ÑU<RCS!?HR�RTS=<UÕ)?A@C<W@C<jÏvRT@CDXÑ$RT<8I�RTÎ�×eÎqÎA7M<8?A;)Ö-?H@TDM?A×=7:<jÏ��Þhè�@T<U<WI=@CDMÖA<8;3?HÓ=RCÎAY�?HRT?�I=Î�;=ÎAR/ÑUÎA@CN@C<jÏPÐeÎA;!Ir<Uæw?EÑ$RT7:Õ�RCÎ�?A;qÕ�ÎHÙ�RTS=<8ÏC<AÝE×=ÓwR1RTS=<UÕrRT?AàA<6?EIwÖ-?H;hRT?ABA</ÎHÙ�RCS!<WÏT?HY]<�Ð=@TÎAÐe<U@CRCDM<8Ï8çIw<8ÑUÎAY]ÐJÎhÏC?A×=DM7:D:RvÕAÝ ����<8?EI�ÎE;!Ñ< ��Ð=@CÎEÐJ<8@PRvÕEÝ-ÎA@xIw<U@«ÎE;rRCS=<6Ö-?A@CDX?H×=7M<8Ï«?A;!I]Iw<RT<U@TY]D:;=DXÏCY Þè/S=DMÏ�ÏCÓ=BABE<8ÏPRTÏ�RCÎWÏPRCÓJIwÕ.ÎHRTS=<U@�Ñ7X?AÏTÏP<jÏ�ÎAÙ!@C<8Ð=@T<8ÏC<U;hRT?HRCDMÎA;�Ý<EÞ BJÞ8BE<U;=<8@T?A7:D��U<jI+RC@T<U<QIw@TD:ÖE<U;?HÓwRTÎAY�?-Rx? ��Ô�S=DXÑxS³ÏPS=ÎEÓ=7XIµ@T<U7X?-æ±RCS=<)ÐJ?H@CRCDX?H7«ÎA@xIw<8@+RCÎL? �$@T<8?EI±ÎE;!Ñ< �rÐ=@TÎAÐe<U@CRvÕ$�WÎE@Y�Ó=7:RCD:N_Ö-?A7:Ó=<jI � �G>QÞ

� ������È:��ÆGÌi� �

� b���b E H.yigQU`GUkbtm{vljc b 4GU{7YjyilT{$c ) bwpRG{��HfEyikxc % djsEkmyikbtvlxs]'��{vlxkbtvdU{�GUtvyidjs G8sN�l�FAuEg GUs`Gtvyzd8shk`yisN �EsGIH.yQ] %('*) k^M E uhuEgiyW]XGUtvyidjs]tvd/]xd8s�[`Y8fE{�Gtvyzd8s�b E {mtvy [`]xyWG8ge\_s-tvlxgigiyWY8lxs]Tljc �� �� c ���������� �� c������� b

� b���b E H.yigWUG8kbtm{vl�b�� ���q���C�T�C�h���U�����8�G�A�8�«�8�H���8�+�8���1�-����� �C�h�T�C�. x�z���¡�C���C�j� �H�����8�E�«�-�e�q�b�¡ x�! C�%�C��-�Q�C�8���X�:¤x�j�T�����8�"�-���v�8�h���b�8�X�E���C� b ) U#"²t7UElxkmyikxc�$QshyQP¡lC{vkmyit�% NEf o G8sY8fhl�NAd6]jchprdjs-tvuwlxgigiyilT{$c ��&����� b

b6p b % G�NEd8giy G8sN 4�bqp b'"/d8shyishy�c E kmfE{7Pjl'��djs EHshd�\1gil�N�YjlZ]xd�H.uEyig GtvyidjsJc)( ¯.���8�W���H�h���v�j¬�����U�h� c D�* c �& �+������� c ������+ b

� b�, b.-Qlxgigil GUs`N�^Zb�/ lxyQYjlxg�c#0 \�sHtvlC{�GI]TtvyQP¡lA]xd8s�[`Y8fE{�Gtvyzd8s.fhkmyisY2]Tdjshkbtm{�GUyisHt�k7GUtvyik J GI]Ttvyidjs�tvlX]�U�MsEy1�-fElxk&2icwyis3( �P��� ­ �T���j�!¯P�E���T�X� �z�-�C�w�P�+�8�q�543�8�E�C¤x�¡�T���H�C�M�H� � �C�x�m�8�b�P�)§«�i�8�E�h�X�-�76W�8�mªU�m�A�C�q©(8(9( ¯+º=�m�P�H�h���v�j� � ���A�U�C��:�¥h¬<;�=8¬?>�@ c �+&����� cBA �&����C�D b

� b���bQd-l'�-cE^Zb ' t�M E fVEyzs!c E b#QfJc�GUs`N % b'E*djfAtvyzgiyilT{�b ' ) $9"F"HG ' tvd6]�U`GUkbtvyW]�uEgWG8shsEyisY.fhkmyis�YNAlX]xyikmyidjsiNEyWGKY8{�GIH.kXbE\_s ) {vd6]Tlxl�NEyis�Yjk8$ E \�2 ��� c ��+�������I�I c ������� b

C b E bH"2G{�\1yQ]�UEljc ) b�pRGU{��-fEyzkXb E uwlT{vkmuwl�]TtvyQP¡l·djs EHshd�\1gil�N�Y8l ]xd�H.uEyzgWGtvyzd8s�bW\_s \?� %5E \�����.� c ��+��&�'�&I�� b

+ b ' G8s�J G �)pry tmt�G8g�lCtFE�{vyWGUs�4G8g E¡lxs�U`G8yisElT{�b<" �EsGIH.yQ] ]xd8shkbtm{�GUyzs-tQk7GUtvyik J GK]Ttvyidjs"uE{vd�VEgilXH.kXb«\_s§*�m�$�P�v�m�8�X�H�8�W�b¤ (8(9( ¯C¬K;�> cEu`GIY8lxk ������ �� cLE*djkbtvd8sJcwp E c ������� b

I bF"2GUshyilxg ' GKVhyis%lTtM,�fY8lxshl % b4A{vlxf`NAlT{�b % dIH.uwdjkmy tvl ]Tdjshkbtm{�GUyisHt1k7Gtvyik J GI]Ctvyzd8s�b�\�sN( �P��� ­ �T���j�¯P�E���T�X� �z�-�C�w�P���8�q�H4"�8�h�C¤x�¡�T���H�P�X�H� � �C�T�v�U�m�P��§«�i�8�E�h�X�-�O6��U�vªU�b�E�C� chuGIYjlTk ���� ��'�&C.� c ������C b

Page 60: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

� b6p b ' GIVhyisiGUs`N ,Ab % b 4E{vlxf`NAlT{$c 0 "/lCtvlX]TtvyisY G8sNr{vlxkmdjgQPHyisY�yzs�]xdjsEkmyikbtvlxs]'�]yzsi]xd8s`NAyitvyid8s`G8g]xd8shkbtm{�GUyzs-t`k7GUtvyik J GI]Ttvyidjs�uA{vd�VEgzl�H.k&2zcAyis §��b�$�C�v�m�8�X�-�8�G�b¤/�M�h� (9(8( ¯#� ;�;36��U�vªU�b�E�C� �8�"�v�8�h¬­ �8�A�b�8�����8� c ��������� c � {vgWG8sNEdAc 4�gid8{vyWN�GAc A �&������D b

�&� bGp b ' GIVhyis G8sN , b % b4A{vlxf`NAlT{$c0 "/lTtvlX]Ttvyis�Y)GUs`N.{vlxkmdjgQPHyisY+yis]Tdjshkmyikbtvlxs�]'��yis ]xd8s`NAyitvyid8s`G8g]xd8shkbtm{�GUyzs-t`k7GUtvyik J GI]Ttvyidjs�uA{vd�VEgzl�H.k&2zcAyis §��b�$�C�v�m�8�X�-�8�G�b¤/�M�h� (9(8( ¯#� ;�;36��U�vªU�b�E�C� �8�"�v�8�h¬­ �8�A�b�8�����8� c ��������� c � {vgWG8sNEdAc 4�gid8{vyWN�GAc A �&������D b

��� b�"1b ' GKVhyis GUs`N·^Zb /�lTyWY8lxg�c90 ) {vd*NAf]Tt ]xd8s�[`Y8fE{�Gtvyzd8s�JM{�GKH.l�\�dU{�EAk:MmG½kmfA{7P¡l'�L2ic ¯������¯P�E���T�X� �z�-�C�h��¥h�U�v���C���G�8�q�%�M�h�C�M�G�C�¡�w� ���v�8�����8�h� c ��������� c A ������I�D b

��� b6a b ' djyishyishlTs GUs`N7,Ab -QlxgigiljcM0 " �AsGIH.yQ] ]Tdjshkbtm{�GUyisHt%k7Gtvyik J GI]Ctvyzd8s¸yis ]xd8s�[YjfE{�Gtvyidjs 2ic�yis§*�m�$�P�v�m�8�X�H�8�+�b¤G�M�E� (8(8( ¯#� ;�;76W�8�mªU�m�A�C�±�8�½�v�8� ­ �8�H�m�U�����8� c �����'�&��� c � {vgWG8sNEdAc 4�gid8{vyWNGHcA �&������D b

�& bGp b ' tvf�H.uEtvsElT{$c 0 E s3dKPjlT{7PHyzl�\ dIJ EHshd�\1gil�N�Yjl�MpV`GUkml�N ]xd8s�[YjfE{�Gtvyidjs 2icB( ¯r���8�W���H�h���v�j¬�����U�h� c ����� ������ cBA �&����+�D b

� � b�� b1^ b��lXH.uGUt �6b ' d8gWPHyisY ]xdjsEkbtm{�G8yis-t)k7GUtvyik J GK]Ttvyidjs uA{vd�VhgilXH.k�fhkmyisY [qsEyitvl3kbt�GUtvl GUf�MtvdIH/GUt�GAcEyis §*�m�$�P�v�v�U�X�H�8�G�b¤ (8(9( ¯#� ;� c ���� �������I c �&����� b

��� b�^Zb�/�lxyQYjlTg`G8sN E*djy4`G8g tvyisY8kxc#0 % d�H.uEyzgiyisY2]Tdjshkbtm{�GUyisHt�k7GUtvyik J GI]Ttvyidjs�uE{vdIVhgilXH.k&2ic.( �P��� ­ �T���j�¯P�E���T�X� �z�-�C�w�P� c D`D � c ����+��.��I�+ c A ��������D b

Page 61: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Channel Theory for User-Interactions inConstraint Satisfaction and Design

Makoto Kikuchi1, Ichiro Nagasaka2, and Mutsunori Banbara3

1 Department or Computer and Systems Engineering,Kobe University, Kobe 657-8501, Japan,

[email protected],WWW home page: http://kurt.scitec.kobe-u.ac.jp/~kikuchi/

2 Faculty of Letters, Kobe University, Kobe 657-8501, Japan,[email protected]

3 Information Science and Technology Center,Kobe University, Kobe 657-8501, Japan,

[email protected]

Abstract. There are two sorts of constraint satisfaction problems. Oneis abstract, like solving mathematical equations, and the other is real,like designing an artifact satisfying requirements. We need to representsreal constraints by abstract ones when we use CSP’s in the real prob-lems. This is not a easy task, and user-interactions are inevitable in orderto adjust the constraints and to solve the real problem properly. In thispaper, by applying a mathematical theory of information flow by Bar-wise and Seligman called Channel Theory, we propose a formal model ofuser-interactions in constraint satisfaction problems in order to analyzethe phenomena about the interactions in an abstract way, and show anapplication of the model to a formal theory of design.

1 Introduction

There are many kinds of constraints satisfaction problems (CSP’s). Solving equa-tions in mathematics is a typical problem of constraints satisfaction, and mostof famous combinatorial problems, like N -queens, are also considered as CSP’s.They are abstract problems. Abstract CSP’s have been studied in mathemat-ics and computer science for a long time, and now we have deep theories andmany useful algorithms about such abstract problems. There are also lots of realCSP’s in our every day life, especially in engineering (cf. [16]). We design anartifact, like automobiles and houses, so as to satisfy given requirements. Therequirements are regarded as constraints for the artifacts, and designing can beregarded as an activity of solving a CSP. In fact, there are many applicationsof CSP’s to problems about design. Although abstract CSP’s themselves areimportant and interesting topics, we can say that abstract CSP’s are basicallytools for solving real CSP’s.

Unfortunately, applications of theory on abstract CSP’s to real CSP’s arenot easy. There are two major problems. One is the complexity of the real cases.

Page 62: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Many combinatorial problems are known to NP-complete, and it may happenthat methods for abstract CSP’s make sense only when the size of the factorsare restricted. So many factors are related to a real CSP, and it is hopeless inmany cases to apply an algorithm which is designed for abstract CSP’s. Theother is the representability of the constraints. We need to formulate the originaland real constraints in an abstract way in order to apply methods for abstractCSP’s, but this formulation is not straight forward. The most important reasonfor the difficulty is that the original constraints are closely related our consciousor intention, which are hard to handle formally. The original and real constraintstend to be vague, inconsistent, and wrong, and this is a crucial problem whenwe consider design as real CSP’s.

User-interaction is a key notion when we consider these problems. A useris assumed to have the user-constraints, and they are represented as system-constraint in an abstract system. In a process of solving the real CSP, system-constraints are to be modified and revised through user-interactions. Severalmodels and algorithms for user-interactions have been proposed. For example,Freuder and O’Sullivan argued in [5] how to add new system-generated tradeoffconstraints to the original preference constraint, and O’Sullivan, Freuder, andO’Connell discussed in [17], by using the list-then-eliminate algorithm, how tomodify the system-constraints by proposing and asking to evaluate examples tothe user. If we consider a CSP as a problem finding Roughly speaking, a CSP isa problem of calculating or estimating the image of a function whose inputs areconstraints and whose outputs are solutions which satisfy the input constraint.The above type of user-interaction can be seen as a composition f ◦ g of twofunctions f and g: f is the function of an abstract CSP, and g stands for atranslation of real constraints to abstract constraint.

In real problems, the original constraints are sometimes vague and implicit.Even user-constraints are modified in a process of design: a user does not knowcompletely what she or he is desiring at the beginning. It is a new phase of user-interactions, and we cannot consider a translation function from real constraintsto abstract constraints. This phase of user-interactions is hard to deal with, andit is related to the essence of the problem about creativity in design. We neednew framework in order to discuss this phase of user-interactions.

The purpose of this paper is to propose a mathematical model of interac-tions between user- and system-constraints by using Channel Theory. ChannelTheory is a mathematical theory of information flow proposed by Barwise andSeligman [2] in 1990’s. based on philosophical discussions about information flowby Dretske [4] and Situation Semantics, a formal semantics of natural languageintroduced by Barwise and Perry [1] (cf. [3]). The two sorts of constraints inhabitin different worlds: user-constraints live in the real, and system-constraints be-long to abstract. In our model, we represents these two worlds as mathematicalstructures which are called classifications, and user- and system-constraints arerepresented and analyzed in terms of these structures.

We can regard Channel Theory as an extension of formal logic and our ar-gument is an extension of formulation of CSP in terms of formal logic (cf. [12])

Page 63: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

to user-interactions. One of the main characteristics of Channel Theory is thatwe have two kinds of connection between two classifications (or two kinds ofinterpretations between two theories). One is called an infomorphism, and theother is called a channel. The difference of the two phases of user-interactionsare represented by means of these two kinds of connections.

Our model has a correspondence to a scheme for a mathematical theory aboutdesign proposed by Yoshikawa [20] and Kakuda and Kikuchi [8]. We can say thatthese theory of design is an analysis of design from the viewpoint of regardingdesign activity as solving a constraint satisfaction problem. Although we havenot reached mathematically interesting discussions in this paper, it is a step tonew connections between analysis of user-interaction in constraint satisfaction,mathematical study on engineering design, and natural languages semantics.

2 Classical Models of Constraint Satisfaction Problems

We need to formulate CSP’s mathematically in order to argue user-interactionin CSP’s formally. There are various types of CSP’s, but there is somethingcommon in the problems. Jeavons, Cohen and Person gave the following formaland uniform definition of CSP’s in [6], which can be seen as a classical model ofCSP’s (cf. [19]).

Definition 1. 1. A constraint satisfaction problem is a triple 〈V, D, C〉, where:(a) V is a set of variables,(b) D is a domain of values,(c) C is a set of constraints {C1, C2, . . . , Cq}. Each constraint Ci ∈ C is a

pair 〈si, Ri〉, wherei. si is a tuple of variables of length mi, called the constraint scope,

andii. Ri is any mi-ary relation over D, called the constraint relation.

2. A solution to a constraint satisfaction problem 〈V, D, C〉 is a function f fromthe set of variables V to the domain of values D such that for each constraint〈si, Ri〉, with si = 〈vi1 , vi2 , . . . , vim

〉, the tuple 〈f(vi1), f(vi2), . . . , f(vim)〉 is

a member of Ri.

For any sets V and D, let DV be the set of all functions from V to D. Weremark that f ∈ DV can be denoted by (f(v1), f(v2), . . . , f(vr)) ∈ Dr whenV = {v1, v2, . . . , vr}.

Example 1. Let V = {v1, v2} and D = R (the set of real numbers). Consider aCSP which consists of the following three constraints:

f1 : v21 + v2

2 = 2, (1)f2 : v1 = v2, (2)f3 : v1 > 0. (3)

Page 64: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

These constraints are represented by

C1 = 〈{v1, v2}, {(a, b) ∈ R2 : a2 + b2 = 2}〉, (4)C2 = 〈{v1, v2}, {(a, b) ∈ R2 : a = b}〉, (5)C3 = 〈{v1}, {a ∈ R : a > 0}〉 (6)

Let C = {C1, C2, C3}. Then, the unique solution to a constraint satisfactionproblem 〈V, D, C〉 is (1, 1) ∈ R2.

Any constraint can be represented by a subset of DV . Assume that 〈V, D, C〉is a CSP (in the sense of the above definition). For each constraint Ci = 〈si, Ri〉with si = 〈vi1 , vi2 , . . . , vim〉, we define a subset Bi of DV by Bi = {f ∈ DV :〈f(vi1), f(vi2), . . . , f(vim)〉 ∈ Ri}. That is, Bi is the set of solutions to a CSP〈V, D, {Ci}〉 with only one constraint Ci. Then, f ∈ DV is a solution to 〈V, D, C〉if and only if f ∈ B1 ∩ B2 ∩ · · · ∩ Bq. Conversely, assume that we have a triple〈V, D,B〉 such that V and D are sets, and B = {B1, B2, . . . , Bq} where Bi ⊆ DV

for all i = 1, 2, . . . , q. For each i = 1, 2, . . . , q, define Ci as a pair Ci = 〈V, Bi〉.Let C = {C1, C2, . . . , Cq}. Then, 〈V, D, C〉 is a CSP and f ∈ DV is a solution to〈V, D, C〉 if and only if f ∈ B1 ∩ B2 ∩ · · · ∩ Bq. That is to say, we can representa constraint Ci by a subset Bi of DV , and any subset Bi of DV can be seenas a constraint. Therefore, the following definition of CSP’s is essentially (ormathematically) equivalent to the above one. (It is also a variation of a formaldefinition of CSP’s by Lassez and McAloon [12].)

Definition 2. 1. A constraint satisfaction problem is a triple 〈V, D,B〉, where:(a) V is a set of variables,(b) D is a domain of values,(c) B is a subset of DV , whose elements are called constraints.

2. A solution to a constraint satisfaction problem 〈V, D,B〉 is an element ofB1 ∩B2 ∩ · · · ∩Bq.

Example 2. Let 〈V, D, C〉 be a CSP in Example 1. The subsets B1, B2, B3 of DV

which correspond to C1, C2, C3 respectively are

B1 = {(a, b) ∈ R2 : a2 + b2 = 2}, (7)B2 = {(a, b) ∈ R2 : a = b}, (8)B3 = {(a, b) ∈ R2 : a > 0} (9)

Then, 〈V, D,B〉 is a CSP in the sense of this definition for B = {B1, B2, B3},and B1 ∩B2 ∩B3 = {(1, 1)}.

This definition has two problems. One is that a constraint Bi does not haveinformation to which variables the constraint is related. In the former definition,Ci is a pair of 〈si, Ri〉, and si denote the information to which variable theconstraint is related. This information is important when we make an actualconstraint solver. This problem can be resolved partially by defining the relatedvariable from Bi. For any constraint Bi in the latter definition of CSP, we define a

Page 65: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

subset si of V = {v1, v2, . . . , vr} by si = {vi ∈ V : ∀(a1, . . . , ai−1, ai+1, . . . , ar) ∈Dr−1∀(b, c) ∈ D2((a1, . . . , b, . . . , ar) ∈ Bi ⇔ (a1, . . . , c, . . . , ar) ∈ Bi)} This setsi represents the information about Di’s related variable. (Strictly speaking,the information should be represented by a subset of DV containing si) Theother one is that, in our definition, a solution is obtained immediately afterdescribing a constraint satisfaction problem and we do not need to solve theproblem anytime. This is a problem in common with the former definition, andit is caused by defining a constraint by a subset of DV (or a relation on D). Butthis problem does not matter in our case. We are not interested in how to solvea CSP, but we are interested in how to obtain a suitable set of constraints.

3 Constraint-Revisions and User-Interactions

In this section, we shall review some phenomena of revisions of constraints viauser-interactions in CSP’s. These phenomena will be formalized and analyzedmathematically in Section 6.

Let Sol(P) be the set of all solutions to a constraint satisfaction problemP. In our definition, we can classify three kinds of problems on Sol(P): underconstrained, over constrained, and inappropriateness. (There is a similar analysisof problems on design specifications in a framework of a general theory of designby Yoshikawa in [20].)

1. Under-constrained – When we do not have constraints sufficiently, Sol(P)becomes to big. This phenomena itself is not a problematic, but Sol(P)tends to be inappropriate.

2. Over-constrained – When we have too many constraints, Sol(P) becomesto small, or empty in the worst case. This case may have a side effects ofincreasing of computational complexity in solving the problem.

3. Inappropriateness – This is the problem that an element of Sol(P) is differentfrom what a user desired really. This may happen in engineering designproblems in the real world in many case.

In any case, we have to add or eliminate constraints, or we have to replace a partof the constraints. We do not have any criteria for this operation in the problemP, so user-interactions become inevitable.

Pu and Faltings [14] classified modifications of constraints through user-interactions into three types: Preferences (specifying explicit preference of valueor tuples within an individual constraints), Hidden Constraints (specifying con-straints unknown), and Tradeoffs (specifying the relative importance of the con-straints). Preferences and Hidden Constraints corresponds to Under Constrainedin our classification, and Tradeoffs corresponds to Over-constrained or Inappro-priateness. These modifications through user-interactions can be seen as revisionsof the set B in a constraint satisfaction problem P = 〈V, D,B〉: adding, eliminat-ing, and replacing elements of B. Preferences is replacing a constraint B ∈ B bya stronger one B′ ⊆ B which consists of preferred elements. Hidden Constraints

Page 66: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

is adding a new constraints to B, and Tradeoffs is replacing a constraint B ∈ Bby a new one B′ ⊆ DV .

We remark that the constraints in B in a constraint satisfaction problem〈V, D,B〉 is system-constraints, in the sense of the previous section. We need toknow what is the user-constraint in the real world when we try to revise the set ofsystem-constraints. We assume that user-constraints can be represented in termsof another constraint satisfaction problem 〈V ′, D′,B′〉. We can consider fourkinds of conditions about these two sorts of CSP’s by standing on a viewpointwhich is slightly different from the above classification.

1. Self-consistency – User- and system-constraints must be small enough tohave a solution.

2. Self-completeness – User- and system-constraints must be big enough tospecify a solution.

3. Inter-consistency – System-constraints must be small enough to consistentwith user-constraints.

4. Inter-completeness – System-constraints must be big enough to representsufficiently user-constraints.

Under-constrained situations contravene self- and/or inter-completeness. Be-ing Over-constrained violates self- and/or inter-consistency. Inappropriatenessis related to inter-consistency and inter-completeness. self-consistency and com-pleteness can be analyzed naturally by using the classical definitions of CSP’s.In order to elicit the phenomena of inter-consistency and completeness, we shallreformulate CSP’s within a framework of Channel Theory, and discuss the re-lationships between user- and system-constraints in terms of information flowbetween the real and the abstract worlds.

4 Channels and Information Flow

Channel Theory is a mathematical theory of information flow developed by Bar-wise and Seligman [2], which is based on philosophical discussions about informa-tion flow by Dretske [4] and Situation Semantics, a formal semantics of naturallanguage proposed by Barwise and Perry [1]. The notions of in this section in-cluding classification, theory, local logic, infomorphism, channel are mostly dueto Barwise and Seligman [2], but some of them are different.

Definition 3. A classification is a triple A = 〈tok(A), typ(A), |=A〉 where |=A

is a binary relation between two sets tok(A) and typ(A). Elements of tok(A)and typ(A) are called tokens and types of A.

typ(A)

tok(A)

|=A (10)

Page 67: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Definition 4. A state space is a triple S = 〈tok(S), typ(S), stateS〉 wherestate : tok(S) → typ(S) is a map. The event classification of a state spaceS is a classification Evt(S) = 〈tok(S),P(typ(S)), |=Evt(S)〉 where a |=Evt(S) αiff α ∈ stateS(a) and P(typ(S)) = {A : A ⊆ typ(S)} is the power set of typ(S).

A sequent on a set Σ is a pair 〈Γ, ∆〉 of subsets of Σ. 〈Γ, ∆〉 is a partition ofΣ if Γ ∪∆ = Σ and Γ ∩∆ = ∅. We say 〈Γ ′,∆′〉 is an extension of 〈Γ, ∆〉 andwrite 〈Γ, ∆〉 ≤ 〈Γ ′,∆′〉 when Γ ⊆ Γ ′ and ∆ ⊆ ∆′. 〈typA(a), typ(A) \ typA(a)〉is called the state description of a and denoted by stateA(a) for a classificationA and a ∈ tok(A).

We say a ∈ tok(A) realizes a sequent 〈Γ, ∆〉 on typ(A) if 〈Γ, ∆〉 ≤ stateA(a),and 〈Γ, ∆〉 is realizable in A if it is realized by a token of A. We say a satisfies〈Γ, ∆〉 if a does not realize 〈Γ, ∆〉. It is obvious that a satisfies 〈∅, {α}〉 if andonly if a |=A α for α ∈ typ(A).

Definition 5. A theory is a pair T = 〈typ(T ),`T 〉 where `T is a set of sequentson a set typ(T ). We denote Γ `T ∆ when 〈Γ, ∆〉 is an element of `T . Wesay 〈Γ, ∆〉 is a constraint of T if Γ `T ∆. We say a theory T is regular ifand only if T satisfies the following conditions: (Weakening) if Γ `T ∆ and〈Γ, ∆〉 ≤ 〈Γ ′,∆′〉 then Γ ′ `T ∆′, (Partition) if Γ 6`T ∆ then there is a partition〈Γ ′,∆′〉 such that Γ ′ 6`T ∆′.

Γ `T ∆ means Γ implies ∆. More precisely, it means that if all the types in Γholds, then at least one of the types in ∆ holds. By the conditions of Weakeningand Partition, a theory is a generalization of classical logic.

Let T and T ′ be theories such that typ(T ) = typ(T ′). We say T ′ is strongerthan T (or T is weaker than T ′) and write T ≤ T ′ when every constraint of T isalso a constraint of T ′. We define a theory T ∩T ′ and T ∪T ′ on typ(T ) = typ(T ′)by defining (`T∩T ′) = (`T ) ∩ (`T ′) and (`T∪T ′) = (`T ) ∪ (`T ′). It is easy toshow that T ≤ T ′ if and only if T ∩ T ′ = T , or T ∪ T ′ = T ′. For any theory T ,there exists the least regular theory T ′ such that T ≤ T ′. This T ′ is called theregular closure of T and denoted by Reg(T ).

Let A be a classification. For a ∈ tok(A), define a regular theory Th(a) =〈typ(A),`a〉 by `a= {〈Γ, ∆〉 : 〈Γ, ∆〉 6≤ stateA(a)}. Then, the regular theoryTh(a) = 〈typ(A),`A〉 generated by A is defined by `A=

⋂a∈tok(A)(`a).

Definition 6. Let T and T ′ be theories. A theory interpretation f : T → T ′ isa map f : typ(T ) → typ(T ′) such that Γ `T ∆ implies f [Γ ] `T ′ f [∆] for everysequent 〈Γ, ∆〉 on typ(T ).

Let Σ and Σ′ be two sets, and f : Σ → Σ′ be a map. For a theory T ′ =〈Σ,`T ′〉 on Σ′, we define a theory T = 〈Σ,`T 〉 by Γ `T ∆ if and only iff [Γ ] `T ′ f [∆], for any sequent 〈Γ, ∆〉 on Σ. This T is denoted by f−1(T ′). Then,f−1(T ′) is regular if T ′ is regular, and f is an theory interpretation from f−1(T ′)to T ′. Conversely, for a theory T = 〈Σ,`T 〉, we define a theory T ′ = 〈Σ,`T ′〉 onΣ′ by Γ ′ `T ′ ∆′ if and only if f−1[Γ ′] `T f−1[∆′], for any sequent 〈Γ ′,∆′〉 onΣ′. This T ′ is denoted by f(T ). We remark that there is no guarantee that f(T )

Page 68: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

is regular even if T is regular, nor f is a theory interpretation. (There is anotherdefinition of f(T ) in [2] which is complex but has good features.) It is easy toshow that f(f−1(T ′)) ≤ T ′ and T ≤ f−1(f(T )) if T ′ and T satisfy Weakening,but equalities does not hold in general.

Definition 7. An infomorpshim f : A À B is a pair f = 〈f , f 〉 of mapsfˆ : typ(A) → typ(B) and fˇ : tok(B) → tok(A) such that f (b) |=A α if andonly if b |=B f (α) for every α ∈ typ(A) and b ∈ tok(B).

typ(A) typ(B)

tok(A) tok(B)

-fˆ

|=A

¾fˇ

|=B (11)

For any infomorphism f : A À B, fˆ : typ(A) → typ(B) is a theory inter-pretation from Th(A) to Th(B). Theories can be transmitted by infomorphisms.For theories T on typ(A) and T ′ on typ(B), f (T ) and fˆ−1(T ′) is abbreviatedby f(T ) and f−1(T ′).

A part-whole relation is defined by an infomorphism: for any infomorphismf : A À B and b ∈ tok(B), f (b) is a part of b in the sense of f .

Definition 8. A (binary) channel is a set C = {f : A À C, g : B À C} ofinfomorphisms. C is called the core of the channel C.

C

A B¡¡µ

f

@@I

g(12)

We can define n-ary channel as a set of infomorphisms {f1 : A1 À C, . . . , fn :An À C}.

An infomorpshim f : A À B can be regarded as a channel by consideringB as a core of the channel. That is, there is a trivial channel {f : A À B, idB :B À B} where idB is the identity infomorphism (an infomophism consists ofthe two identity maps) on B. Similarly, an infomorpshim g : B À A can beregarded as a channel {idA : A À A, g : B À A} where idA is the identityinfomorphism on A. A channel is a generalization of an infomorphism.

In situation semantics, the meaning [D] of an expression D is defined as apair of situations u and s, where u is the situation of utterance of D and s is thedescribed situation by D. Channel is a structure for the relationships betweensituations for natural language semantics.

Definition 9. A local logic is a triple L = 〈C, T, N〉 of a classification C, atheory T , and a set of normal tokens N such that typ(T ) = typ(C), N ⊆ tok(C),and every token in N satisfies every constraint in T .

Page 69: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Let C = {f : A À C, g : B À C} be a channel and L = 〈C, T, N〉 be a locallogic, and a ∈ tok(A), α ∈ typ(A), b ∈ tok(B) and β ∈ typ(B). An informationa |=A α on A flows to another information b |=B β on B if and only if there is atoken c ∈ N such that f (c) = a, g (c) = b, and f (α) `T g (β). In many cases,L is chosen as L = 〈C,Th(C), tok(C)〉 which is called the local logic generatedby L.

5 Constraint Satisfaction Problems in Channel Theory

Now we shall formulate CSP’s and discuss the relationship between user- andsystem-constraints within Channel Theory. These two constraints are repre-sented on two different classifications: one is about a user, and the other is abouta system. In this section, we firstly give a new definition of CSP’s by using anotion of classification in Channel Theory, and we formulate mathematically thefour category of self- and inter-consistency, and self- and inter-completeness, anddiscuss their characteristics.

Although our new definition of CSP is rather simple, we can translate theprevious and the new definitions each other.

Definition 10. Let A = 〈tok(A), typ(A), |=A〉 be a classification.

1. A constraint satisfaction problem on A is a theory T on typ(A).2. A solution to a constraint satisfaction problem T is a token a ∈ tok(A) such

that a satisfies all the constraints in T .

We note that a constraint satisfaction problem is not assumed to be a regulartheory.

We shall show that the previous definition and this new definition are inter-pretable. Let P = 〈V, D,B〉 be a CSP in the sense of the second definition suchthat B = {B1, B2, . . . , Bq}. We define a classification A = 〈tok(A), typ(A), |=A〉by tok(A) = DV , typ(A) = {B : B ⊆ DV } (the power set of DV ), and a |=A Bif and only if a ∈ B for all a ∈ tok(A) and B ∈ typ(A). We remark thattokA(B) = B for B ∈ typ(A), and B is a subset of typ(A). Define a theoryT = 〈typ(A),`T 〉 by (`T ) = {〈∅, {Bi}〉 : i = 1, 2, . . . , q} Then, T is the cor-responding CSP on A. Conversely, let T = 〈typ(A),`T 〉 be a CSP on A suchthat (`T ) = {〈Γi,∆i〉 : i = 1, 2, . . . , q} Define V = {v1}, D = tok(A), andBi = {a ∈ tok(A) : 〈Γi,∆i〉 6≤ stateA(a)} for i = 1, 2, . . . , q. Then, Bi can beregarded as a subset of DV since D is isomorphic to DV , and 〈V, D,B〉 is thecorresponding CSP in the sense of Definition 2, where B = {B1, B2, . . . , Bq}.

The following example corresponds to a CSP in Example 1.

Example 3. Let A be a classification such that tok(A) = R2, typ(A) is the setof equalities and inequalities in v1 and v2, and, for every (a1, a2, a3) ∈ R3 andf ∈ typ(A), (a1, a2, a3) |=A f(v1, v2, v3) if and only if f(a1, a2, a3) is true. Then,for equalities f1, f2 and an inequality f3 in Example 1, a theory T = 〈typ(A),`T 〉where (`T ) = {〈∅, {fi}〉 : i = 1, 2, 3} is the corresponding CSP on A.

Page 70: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

The difference between this example and previous examples is that equalities andinequalities are used for denoting constraints, although subsets of DV (or someother similar sets) are used for this purpose in the previous examples. Hence thesecond problem that solutions of a CSP is trivial in the previous examples hasbeen dissolved in our definition.

6 User-Interactions in Channel Theory

In this section, we shall formulate and discuss phenomena of user-interactionsin CSP’s which are argued in Section 3.

It is straight forward to define what self-consistency and self-completenessare. Let T be a CSP on A. Self-consistency means that all the constraints ofT can be realized by a single token in A, and self-completeness says that T isspecifying a token in A.

Definition 11. 1. We say T is self-consistent on A if there is a ∈ tok(A) suchthat T ≤ stateA(a).

2. We say T is self-complete on A if there is a ∈ tok(A) such that T =stateA(a).

The relation between user- and system-constraints are formulated as a relationbetween two classifications. let us assume we have two classifications A and Bon which user- and system-constraints are described as theories T and T ′ ontyp(A) and typ(B) respectively.

We have mentioned in Section 1 that there are two phases in user-interactionsin CSP’s: one is that system-constraints are images user-constraints, and theother is that user-constraints are also revised through the interactions. Thefirst phase of user-interactions, interaction along a map from user-constraintsto system-constraints can be represented by an infomorphism h from A to B.

A B-h (13)

That is, user-interaction is a process of estimation of the map h . On the contrary,a channel C = {f : A À C, g : B À C} between A and B corresponds to thesecond phase of user-interactions.

C

A B¡¡µ

f

@@I

g(14)

By introducing the notion of channel, we can argue inter-consistency and inter-completeness in terms of theories on the type of the core C of the channel.

Definition 12. 1. We say T ′ is inter-consistent with T along C if f(T )∪g(T ′)is self-consistent on C.

2. We say T ′ is inter-complete with T along C if f(T ) ≤ g(T ′).

Page 71: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Let us consider simple cases of channels, in which we have T in advance andT ′ is defined from T . Assume that C = B and g = idB, and define T ′ = f(T ).This is a case that we know how to represents user-constraints abstractly, andg(T ′) = f(T ). Hence inter-completeness of T ′ is satisfied automatically, andT ′ is inter-consistent with T if and only if f(T ) is self-consistent. Assume thatC = A and f = idA, and define T ′ = g−1(T ). This is a more common casethat we can understand system-constraints. In this case, g(T ′) = g(g−1(T ))and f(T ) = T . Hence inter-completeness of T ′ does not hold in general sinceg(g−1(T )) may weaker than T , but T ′ is inter-consistent with T if and only if Tis self-consistent. In these two simple cases, T is completely responsible for thechoice of T ′.

However, we hardly have such simple cases. There are two problems. One isthat we do not have neither f nor g usually. That is, we cannot connect simply thetwo classifications A and B for the two worlds of a user and a system. These twoworlds are worlds of the reals and our consciousness. An infomorphism betweenA and B represents the relationship between these two worlds, and it is a verystrong assumption that we have such an infomorphism. The other is that wehardly have T explicitly in many cases. As mentioned earlier, we usually do notknow what we want. T ′ is a representation of T . It means that we can approachto T only through T ′, and we cannot assume we have T in advance.

In general cases, it is important to consider the core C of a channel C ={f : A À C, g : B À C}, which is different from A and B, and a local logicL = 〈C, TL, NL〉 on the core C. T and T ′ are unified on C; they are symmetric.When we have L, we can define T and T ′ by f−1(TL) and g−1(TL). In thiscase, inter-consistency can be considered as self-consistency of TL on C, andinter-completeness becomes trivial; what is more important is self-completenessof TL. And then, the revision of T and T ′ can be argued as revision of TL. T andT ′ are synchronized, and neither of them has a priority. Solutions in A and Bfor T and T ′ are connected by NL. That is, the translation of solutions in twoclassification is given by NL. L is the structure discussing the relation betweenuser- and system-constraints.

From technical point of view, we should consider Reg(T ) and Reg(T ′) insteadof T and T ′ themselves. It is similar to the fact that in algebraic geometry weuse the ideal I(f1, f2, . . . , fr) generated by a set of polynomials {f1, f2, . . . , fr}instead of using the set {f1, f2, . . . , fr}: They have the same set of solutions,but an ideal has mathematically good properties. A regular theory has similarproperties also. Getting Reg(T ) from T is a kind of revision of T . When weconsider T as a set of knowledge about our constraints, this revision is a formof inference. (See [9] for some arguments on regular closure from the viewpointof formulation of non-deductive inferences.)

One of the most important consequence of user-interaction in constraint sat-isfaction is not changing user-constraints T on A and system-constraints T ′ onB, but revisions of A and B. These revisions are acquisitions of new conceptsand objects, and which are essential for analysis of creativity of reasoning anddesign.

Page 72: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

7 User-Interactions in Design

In this section, we argue some theories of design in terms of user-interactions ofconstraint satisfaction problems.

Design is one of the essential activities of human beings, and it is a maintheme in engineering. There are many arguments on design in each area ofengineering, but it had not been discussed design in a general form until quiterecently. Around 1970’s, several theories on design was proposed. Paul and Beitz[13] discussed a general methodologies of design, in which how a overall functionof an artifacts are designed and realized by reducing it to sub-functions. Simon[15] advocated a new research area of the science of artifacts and defined anartifact as an interface between its inner and outer environment.

The common basic idea of these theories on design is that design is an activ-ity of realizing our desire or needs, and the notion of function plays an importantrole for describing our desire. Here, the existence of our desire is pre-assumed,and design is regarded as an activity how to find or create an artifact satisfyingthe desire. The desire can be seen as a kind of constraints, hence we can say thatdesign is (or an aspect of design is) a sort of constraint satisfaction problems.There are lots of important and interesting studies on design by menas of CSP’sin 1990’s (cf. [16]). We remark that to define the notion of function is a diffi-cult philosophical problem, and it is one of the difficulties about understandingdesign. (cf. [11])

Yoshikawa’s General Design Theory (GDT) [20] is one of domain indepen-dent design theory. In GDT, design is investigated axiomatically in terms of therelationships between the notions of entities (artifacts) and their functions andattributes within a mathematical framework of topology. In GDT, it is assumedthat we have S be the set of all entities, and functions and attributes of entitiesare represented by subsets of S. A specification for design is a set of functionsF , a solution to F is an entity a ∈ S such that

⋂X∈F X. It is clear that this for-

mulation of a specification and its solution is an instance of the classical formaldefinitions of constraint satisfaction problems.

It is important that a design solution is assumed to be specified by its at-tributes in GDT. That is, a design solution a ∈ F is indicated by setting a setA of attributes. Then, design is formulated as an activity of finding to a set ofA of attributes to a given set F of functions such that

⋂Y ∈A Y ⊆ ⋂

X∈F X Wecan regard F and A as user- and system-constraints respectively. Hence, we cansee some arguments on user-interactions (in the sense of our arguments) withinGDT although it is not explicitly mentioned in GDT. This viewpoint make theframework of GDT clear: GDT consists of two parts. One is solving a constraintsatisfaction problem (the relationship between F (or A) and elements of S), andthe other is user-interactions (the relationship between F and A). (We remarkthat the former relationship is trivial in GDT by the same reason to the classicaldefinition of CSP’s: functions and attributes are defined as a set of entities.)

Basically, design is regarded as an activity of evaluation of a function fromspecification to a solution in GDT. In this sense, GDT obeys the classical view ofuser-interaction such that an interaction is a process of calculation or estimation

Page 73: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

of a function. A notion of a metamodel was introduced in GDT (cf. [18]), which isa structure for connecting functions and attributes. A metamodel was a way-stopbetween two spaces in the early stage of GDT, but it becomes a notion whichcorresponds to a channel in Channel Theory in the later stage. Introducing thenotion of metamodel can be considered as a step from the classical view of user-interactions to a new one.

Kakuda reformulated the philosophy of GDT by using Channel Theory (cf.[8]), and named his theory Abstract Design Theory (ADT). The basic idea ofADT is that design is an activity which makes information flow between theworld of our conscious and the real world. The basic scheme of ADT is similarto GDT, although the existence of the set S is not assumed (the assumption maybe too strong). The relationship between functions and attributes of artifacts hasbeen replaced by the relationship between desire and behavior of artifacts (cf.[7]). The difference is not big mathematically, but the new locution in ADTseems to be more familiar to the arguments on user-interactions in CSP’s.

Interaction is now widely believed as an important notion in engineering.Kikuchi et al. [10] gave a mathematical model of interactions between human andenvironments through artifacts by using Channel Theory. Modeling interactionsis a key step to understanding interactions.

8 Conclusions

We firstly analyze problems and conditions about user-interactions in constraintsatisfaction, and we gave a mathematical definition of constraint satisfactionproblems within the framework of Channel Theory, a mathematical theory ofinformation flow. Then, user-interaction in constraint satisfaction is formulatedas a relationship (or information flow) between two classifications, and we gavealso a formulation of the conditions about user-interactions. At last, we discussthe relationship between our mathematical model of user-interactions and severalmathematical theory of design.

Acknowledgments

This research is partly supported by Grant-in-Aid for Scientific Research ofJapan Society for the Promotion of Science 14350210, 15700038, 15700132.

References

1. Barwise, J. and Perry, J., “Situation and Attitude”, CSLI Publications, Stanford,1999. (Originally published by MIT Press, Cambridge, 1983.)

2. Barwise, J. and Seligman, J., “Information Flow: The Logic of Distributed Sys-tems”, Cambridge University Press, Cambridge, 1997.

3. Devlin, K., “Logic and Information”, Cambridge University Press, Cambridge,1991.

Page 74: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

4. Dretske, F.I., “Knowledge and the Flow of Information”, MIT Press, Cam-bridge,1981; CLSI Publications, Stanford,1999.

5. Freuder, E.C. and O’Sullivan, B., “Generating Tradeoffs for Constraint-Based Con-figuration”, Proceedings of 7th International Conference on Principles and Practiceof Constraint Programming, 2001, 590–594.

6. Jeavons, P., Cohen, D. and Person, J., “Constraints and Universal Algebra”, An-nals of Mathematics and Artificial Intelligence, 24, 1998, 51–67.

7. Kakuda, Y., “On the Direction of Flow of Information –Information Paths, Agents,Information Channels–”, Proceedings of International Workshop of Emergent Syn-thesis ’02, 2002, pp.83–88.

8. Kakuda, Y. and Kikuchi, M., “Abstract Design Theory”, The Annals of the JapanAssociation for Philosophy of Science, Vol. 10, No. 3, 2001, 109–125.

9. Kikuchi, M. and Nagasaka, I., “On the Three Forms of Non-Deductive Inferences:Induction, Abduction, and Design”, Proceedings of the 21st IASTED InternationalConference on Applied Informatics, 2003, 357–362.

10. Kikuchi, M. Nagasaka, I., Toyoda, S. and Kitamura, S., “A Mathematical Model ofInteractions in Artifact Environments”, to appear in Proceedings of SICE AnnualConference ’03, 2003.

11. Kikuchi, M. and Nagasaka, I, “Situation Theoretic Analysis of Functions for aFormal Theory of Design”, to appear in Proceedings of International Conferenceof Engineering Design ’03, 2003.

12. Lassez, J.-L. and McAloon, K., “A Constraint Sequent Calculus”, Constraint LogicProgramming: Selected Research, F. Benhamou and A. Colmerauer (eds.), MITPress, 1993, 33–43.

13. Pahl, G. and Beitz, W., “Engineering Design - A Systematic Approach (2nd ed.)”,Springer-Verlag, London, 1996.

14. Pu, P. and Faltings, B., “Effective Interaction Principles for User-Involved Con-straint Problem Solving”, 2nd International Workshop on User-Interaction in Con-straint Satisfaction, the 8th International Conference on Principles and Practiceof Constraint Programming, 2002.

15. Simon, H.A., “The Sciences of Artificial (3rd ed.)”, MIT Press, Cambridge, 1996.16. O’Sullivan, B., “Constraint Aided Conceptual Design”, Engineering Research Se-

ries 9, Professional Engineering Publishing, London, 2001.17. O’Sullivan, B., Freuder, E.C. and O’Connell, S., “Interactive Constraint Acquisi-

tion”, 1st Workshop on User-Interaction in Constraint Satisfaction, the 7th Inter-national Conference on Principles and Practice of Constraint Programming, 2001.

18. Tomiyama, T., Kiriyama, T., Takeda, H., Xue, D. and Yoshikawa, H., “Metamodel:a key to intelligent CAD systems”, Research in Engineering Design, 1, 1981, 19–34.

19. Tsang, E., “Foundations of Constraint Satisfaction”, Academic Press, London,1993.

20. Yoshikawa, H., “General Design Theory and a CAD system”, Man-Machine Com-munication in CAD/CAM, Sata T. and Warman E. (eds.), North-Holland, Ams-terdam, 1981, pp.35–58.

Page 75: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

CSPs at Work — Relevance of InteractionModules to Deploy Applications ?

Amedeo Cesta, Gabriella Cortellessa, Angelo Oddi and Nicola Policella

Planning & Scheduling TeamInstitute for Cognitive Science and Technology

Viale K. Marx 15, I-00137 Rome, Italy{cesta|corte|oddi|policella}@ip.rm.cnr.it

http://pst.ip.rm.cnr.it

Abstract. This paper describes an innovative application of AI technol-ogy in the area of space mission planning. A system called Mexar hasbeen developed to synthesize spacecraft operational commands for thememory dumping problem of the ESA mission called Mars Express.The approach implemented in Mexar is centered on constraint satisfac-tion techniques enhanced with flexible user interaction modalities. Thispaper describes the effort in developing a complete application that mod-els and solves a problem, and also offers functionalities to help users ininteracting with different aspects of the problem. An elaborate interac-tive environment has been designed and integrated into the system, thathelps mission planners to analyze the current problem and take schedul-ing decisions as result of an interactive process enhanced by differentand sophisticated facilities. The paper surveys the design principles un-derlying the whole project and shows the leading role of the interactiveenvironment in the development of end-to-end applications.

1 Introduction

Mars Express is a space probe launched by the European Space Agency (ESA)on June 2, 2003 that will be orbiting around Mars starting from the beginning of2004 for two years. Like all space missions, this program generates challengingproblems for the AI planning and scheduling community. Mission planning isa term that defines a complex set of activities aimed at deciding the “day byday” tasks on a spacecraft and at figuring out if spacecraft safety is maintainedand mission goals are met on a continuous base. Supporting a complete missionplanning problem is a quite challenging goal involving several sub-activities.One of such sub-activities, the dumping of the on-board memories to the groundstation is the topic of a study which the authors have conducted for MarsExpress.

A space system continuously produces a large amount of data which derivesfrom the activities of its payloads (e.g. on-board scientific programs) and from? This work describes results obtained in the framework of a research study conducted

for the European Space Agency (ESA-ESOC) under contract No.14709/00/D/IM.

Page 76: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

on-board device monitoring and verification tasks (the so called housekeepingdata). All these data, usually referred to as telemetry, are to be transferred toEarth during downlink connections. Mars Express is endowed with a singlepointing system, thus during regular operations, it will either point to Mars andperform payload operations or point to Earth and transmit data through thedownlink channel. As a consequence on-board data are first stored on the SolidState Mass Memory (SSMM) then transferred to Earth during temporal visi-bility windows. In Fig. 1 a sketchy view of the components on Mars Expressthat are relevant for this problem is presented. An effective management of on-board memory and a good policy for downlinking its data are very importantfor a successful operation of the spacecraft. The authors’ study has addressedthe problem of automatically generating downlink commands for on-board mem-ory dumping. They have formalized the problem as the Mex-Mdp (the MarsExpress Memory Dumping Problem), defined a set of algorithms solving thisproblem, and implemented an interactive system, called Mexar, which allowshuman planners to continuously model new Mex-Mdp instances, solve them,and inspect a number of the solution’s features.

The approach described herein is centered on the formalization of the prob-lem as a CSP (Constraint Satisfaction Problem) and on integrating a basic CSPrepresentation with a module endowed with multi-strategy solvers and a secondmodule devoted to interaction with human users. This paper gives an overviewof this experience and in particular aims at demonstrating the leading role ofan effective interactive environment in the development of complete applicationscontaining AI technology. The module responsible for the interaction with theuser should guarantee a friendly and comprehensible representation of the prob-lem, the problem solving process and the solutions provided, especially in thosecases in which the automated system is devoted to support a user in solvingcomplex problem. It should allow a user to verify the correctness of the results,the possibility to express her own preferences and give her a supporting envi-ronment with different problem solving abilities, while preserving her decisionalauthority.

The reminder of the paper is organized as follows. Section 2 describes how theMex-Mdp has been formalized, Section 3 introduces a general view of the CSPsoftware architecture, Sections 4-5 describe the components of the architectureresponsible for the modeling and the solution of the problem, whereas Section6 shows in detail the interactive facilities designed with the aim of inserting thehuman planner in the loop. Some comments end the paper.

2 The Mars Express Memory Dumping Problem

The basic ontology to describe the Mex-Mdp domain focuses on two classesof objects: resources and activities. Resources represent subsystems able to giveservices, and activities model tasks to be executed on such resources. In addition,a set of constraints refines the relationships between the two types of objects.Three types of resources are modeled:

Page 77: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

VC 1

VC 0

Real−Time

Priority Scheme

SSMM Packet Stores

STORE

SSMM

DMS

TM RouterTM

TM

DUMP

TFG

TM

Fig. 1. On-board telemetry flow. The different telemetry (TM) data produced on boardare stored on the on-board memory (SSMM) subdivided into packet stores. Memorystores are then downloaded in different dumps that transfer data to the ground.

– Packet Stores. The on-board memory is subdivided into a set of separatedpacket stores pki which cannot exchange data among each other. Each onehas a fixed capacity ci and can be assigned a priority value to model differentrelevance of their data content. Each packet store, which can be seen asa fixed size file, is managed cyclically: when it is full the older data areoverwritten. Within a packet store, data are segmented in data packets.

– On-Board Payloads. An on-board payload can be considered as a finite statemachine in which each state has a different behavior in generating observa-tion data (i.e., in each possible state the payload has a different generationdata rate).

– Communication Channels. These resources are characterized by a set of sep-arated communication windows identifying intervals of time for downlink.Each temporal window has a constant data rate.

Activities describe how resources are used. Each activity ai has an associatedexecution time interval, which is identified by its start-time s(ai) and end-timee(ai). Each activity is characterized by a particular set of resource requirementsand constraints. Mex-Mdp includes three types of activities:

– Payload Operations. A payload operation pori corresponds to a scientific ob-servation. Each pori generates a certain amount of data which is decomposedinto different store operations according to the Mars Express operationalmodalities, and distributed over the set of available packet stores.

– Continuous Data Streams. The particular case of the continuous data streamoperations cdsi is such that s(cdsi) = 0 and e(cdsi) = +∞ (where +∞ isinternally represented as a finite temporal horizon). This activity representsa continuous generation of data with a fixed average data rate (it is usedto model housekeeping). Indeed we represent a cds as a periodic sequenceof store operations. In particular, given cds with a flat rate r, we define a

Page 78: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

period Tcds, such that, for each instant of time tj = j ·Tcds (j = 1, 2, . . . ) anactivity stij stores an amount of data equal to r · Tcds.

– Memory Dumps. A memory dump operation mdi transfers a set of data froma packet store to a transfer device (Transfer Frame Generator, the TFG ofFig. 1). Those activities represent the transmission of the data through thecommunication channel.

Given a set of memory store operations from both the scientific observationsPOR = {por1, por2, . . . , porn} and the housekeeping CDS = {cds1, cds2, . . . , cdsm}a solution is a set of dumping operations S = {md1,md2, . . . ,mds} such thatthe following constraints are satisfied:

– The whole set of on board data are “available” on ground within a temporalhorizon H = [0, H].

– Each dump operation starts after the generation of the corresponding data.For each packet store, the data are moved through the communication chan-nel according to a FIFO policy.

– Each dump mdi has an assigned time window wj = 〈rj , sj , ej〉, such thatthe dumping rate is rj and the constraint sj ≤ s(mdi) ≤ e(mdi) ≤ ej holds.Dump operations cannot reciprocally overlap.

– For each packet store pki and for each instant t within the considered tem-poral horizon, the amount of stored data has to be below or equal to itscapacity ci (no overwriting is allowed).

The solutions should satisfy a quality measure. According to requirements fromESA personnel a high quality plan delivers all the stored data as soon as possibleaccording to a definite policy or objective function. To build an effective objectivefunction for this problem the key factor is:

– the turnover time of a payload operation pori: tt(pori) = del(pori)−e(pori),where del(pori) is the delivery time of pori and e(pori) is the end time ofthe payload operation on board;

An objective function which considers this item is the mean α-weighted turnovertime MTTα of a solution S:

MTTα(S) =1n

n∑

i=1

αi tt(pori) (1)

Given an instance of a Mex-Mdp, an optimal solution with respect to a weightα is a solution S which minimizes the objective function MTTα(S). The weightα can be used to take into account two additional factors: the data priorityand the generated data volume. In this paper, we use the Mean Turnover Time(MTT ) with αi = 1, i = 1..n. 1.

1 For a more detailed description of the problem see [6] where it is also shown howthe optimization problem for Mex-Mdp is NP-hard

Page 79: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

3 A Software Architecture for a CSP Representation

In our previous work we have developed a software framework for constraint-based scheduling called O-Oscar [3]. This framework has spawned a prelimi-nary prototype of Mexar which has been used to deepen our comprehensionof different aspects of the problem. A new CSP approach to the problem wasthen synthesized and an optimized version of Mexar was developed in Javaand delivered to the ESA. It is worth noting that Mexar was developed usingO-Oscar’s same architectural approach, even if specific subcomponents werere-implemented. The general architecture we are referring to is composed of fourmodules which, as shown in Fig. 2, implement a complete CSP approach toproblem solving:

Fig. 2. Components of a CSP architecture

Constraint-Based Domain Modeling. This module models the real domain,captures the dynamic rules according to which the domain evolves and es-tablishes a representation of the problem.

Constraint Data Base. The key part of a CSP architecture is the ConstraintData Base (CDB), a module all the others rely on. It provides data structuresfor representing the domain, the problem, the solution and its managementas a set of constraints.

Problem Solving. This module is responsible for implementing the solutionalgorithms. In a planning and scheduling domain, we are not necessarilyconcerned with optimization problems, and approximations of the optimumsolution are also acceptable. A solutions is often the result of an iterativeprocess: an initial schedule is found, problems are identified, constraints arerelaxed and changes are made on the solution. The Problem Solver capturesthis iterative process endowing the user with multiple algorithms he or shecan choose among.

Page 80: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

User Interaction. This module directly interacts with the user, and allowshim or her to take part in the process of finding a solution by providingadvanced problem solving functionalities. Along with the information whichis fed back to the user, the interactive components deliver variable levels ofcontrol which range from strategy selection to iterative solution optimization.

This is a general and abstract picture of the approach to the problem. Indeedthis structure underscores the different aspects involved in a complete approachand significantly impacted the subdivision of work during system development.It is worth noting that the first two modules are strictly interconnected, and willbe described together in the following Section. They are separated in the figureto remark the existence of a basic “core” data structure, the constraint-database, which is responsible for the integration of the other three functionalities.

4 A Constraint-Based Model for MEX-MDP

A CSP instance involves a set of variables X = {x1, x2, . . . , xn} in which eachelement has its own domain Di, and their possible combinations are defined bya set of constraints C = {C1, C2, . . . , Cm} s.t. Ci ⊆ D1 × D2 × · · · × Dn. Asolution consists of assigning to each variable one of its possible values s.t. allthe constraints are satisfied. A CSP representation of a problem should focuson its important features. In the case of Mex-Mdp, we selected the followingcharacteristics: (1) the temporal horizon H = [0,H], (2) the store operationsthat are characterized by their start time t and their amount of data d, (3) thetemporal windows in which no communication may occur, (4) the finite capacityc of each memory bank, (5) the FIFO behavior of the memory banks.

Considering the first three items we split the temporal horizon H in differentcontiguous temporal windows according to significant events: store operationsand change of transmission rate. The idea is to create a new window for eachsignificant event on the timeline. This partitioning allows us to consider a tem-poral interval wj in which store operations do not happen (except for its upperbound) and the data rate is constant. Furthermore, the packet stores’ behaviorallows us to perform an important simplification. In fact, it is possible to con-sider both the data in input and those in output to/from the memory as flowsof data, neglecting the information about which operations those data refer to(such information can be rebuilt with a straightforward post-processing step).Thus, the decision variables are defined according to the set of windows wj andto the different packet stores. In particular we consider as decision variables δij ,the amount of data dumped from the packet store pki within the window wj .According to the partition in separate windows we introduce also: (a) dij , theamount of data stored in pkj at ti, (b) lij , the available capacity of pkj at ti,(c) bj , the maximal dumping capacity within the window wj . All these itemsrepresent the input of the problem.

A fundamental constraint captures the fact that for each window wj thedifference between the amount of generated data and the amount of dumped

Page 81: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

data cannot exceed lij , the maximal imposed level in the window (overwriting).Additionally, the dumped data cannot exceed the generated data (overdumping).We define the following inequalities as conservative constraints.

j∑

k=0

dik −j∑

k=1

δik ≤ lij

j−1∑

k=0

dik −j∑

k=1

δik ≥ 0

i = 1 . . . n, j = 0 . . .m (2)

A second class of constraints considers the dumping capacity imposed by thecommunication channel. The following inequalities, called downlink constraints,state that for each window wj it is not possible to dump more data than theavailable capacity bj .

0 ≤n∑

i=1

δij ≤ bj j = 1 . . . m (3)

The formalization of the problem as a CSP allows for the synthesis of propagationrules which examine the existing search state to find implied commitments.Though, in general, it is not possible to remove all inconsistent values throughpropagation rules, they considerably speed up the solving procedures. In Mex-Mdp two basic results allows the generation of propagation rules on the basis ofthe conservative and downlink constraints. In [6] a detailed description of thesepropagation rules is shown.

5 Problem Solving

A detailed description of the problem solving techniques is given in [6] wherealso experimental evaluations are given, here we summarize the main results.To solve a Mex-Mdp represented as described in the previous section we havedeveloped a two-stage approach:

Data Dump Level. We first figure out an assignment for the set of decisionvariables δij such that the constraints from Mex-Mdp, see (2) and (3), aresatisfied.

Packetization Level. The second stage is a constructive step: starting fromthe solution of the CSP derived at the first stage, the single data dumpswithin each of the windows wj are synthesized (that is, each δij of the pre-vious phase is translated into a set of dump activities).

Mexar is endowed with a multi-strategy solver implemented on the basic black-board represented by the Constraint Data Base. In particular, we have two algo-rithms, a greedy and a randomized algorithm, which compute new solutions for aMex-Mdp. A third, tabu search algorithm is used to look for local optimizations

Page 82: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

on a current solution obtained by the first two approaches. The Greedy Algo-rithm simply consists in assigning a value to each decision variable accordingto a heuristic. The variables are selected considering the windows in increasingtemporal order. Two different solving priority rules are implemented: (a) CFF(Closest to Fill First) selects the packet store with the highest percentage ofdata volume. (b) HPF (Highest Priority First) selects the packet store with thehighest priority. In case a subset of packet stores has the same priority, thepacket store with the smallest store as outcome data is chosen. The Random-ized Algorithm implements a basic random search [5] that turns out to be quiteeffective in this domain. This method iteratively performs a random samplingof the search space until some termination criteria is met. In our approach weselect the variable in a random way, then the maximal possible value is assigned,considering: (1) the data contained in the packet store, (2) the amount of dataalready planned for dumping and (3) the dump capacity of the window. Bothgreedy and randomized algorithms are aided by the propagation rules. As usualin CSP, they allow to avoid inconsistent allocation and to speed up the search.The Tabu Search implements an instance of this well-known local search proce-dure for this domain. A specialized move tries to improve the objective functionMTT1(S) performing exchanges on data quantities between pairs of windowswj . The current tabu is very basic, and further studies are under way to refineits effectiveness.

6 Designing a User Interaction for MEXAR

The idea we have pursued in the development of a support tool for the Mex-Mdpis to endow a human planner with an advanced and helpful tool able to supportand enhance his/her solving capabilities. Such a support tool should enable theuser to more easily inspect a problem, analyze its features and find satisfactorysolutions through step by step procedures, while guaranteeing continuous controlover the problem solving process. It should indeed guarantee an easy interactionprotocol, providing friendly representations of the problem, the solutions and allthe entities of the domain, while hiding the underlying complexity so that theuser can concentrate on higher level decision tasks. Figure 3 shows how theseideas have been actually implemented in Mexar. A user is part of the real worldand Mexar endows him or her with an additional “lens” to analyze the worldthrough the tool. To obtain this the CSP solving system —represented by theright box— is coupled with an Interaction Module —left box.

Different levels of interaction. The MEXAR Interaction Module has beendesigned subdividing the interaction capabilities in two layers. This is to providedifferent levels of participation in the solving process. A first layer allows theuser to get acquainted with the problem and its features, optionally compilingan initial solution. Once the human planner has a deeper knowledge of theproblem, he/she can access the second interaction layer trying to contribute withhis/her expertise and judgment to the problem solving. This mechanism makes

Page 83: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Fig. 3. The “human in the loop” schema

it possible to choose between two modes of operation: to completely entrust thesystem with the task of finding a solution or to participate more interactively inthe problem solving process.

The different facilities are grouped together in two different graphic environ-ments, the Problem Analyzer and the Solution Explorer shown in Fig. 4, whereadditional squares and text have been inserted to underscore the meaning ofsubparts of the layouts. The following subsections give further details on theinteraction functionalities.

6.1 The Problem Analyzer

The Problem Analyzer contains two groups of functionalities, one for problemediting and refining and a second for problem solving. The interaction layout isbased on the idea of “transparency” of all the different components of the rep-resentation of an Mex-Mdp. This transparency follows what we call the “glassbox principle”: it enables the user to visually control the temporal behavior ofthe domain variables that are modeled. Figure 4(a) shows the basic idea usedfor visualizing a Mex-Mdp problem and its solution. Mexar provides differ-ent representations of the problem features allowing a user to choose which onefocusing on. In particular a textual representation of the problem (left box inFigure 4(a)) provides a description very close to the one the human mission plan-ner is used to deal with. It provides the PORs list in textual form, specifyingall the related information. This representation is nevertheless linked and syn-chronized to an alternative one based on a graphic representation of the inputactivities (PORs) of the problem and representing their distribution on the pay-loads timelines (right box). For each payload a different timeline is shown whereeach POR is represented by a colored rectangle labeled with a natural numberand starting from its start time; the used capacity of the packet-stores is also

Page 84: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

(a) Problem Analyzer (b) Solution Explorer

Fig. 4. User interaction in Mexar

provided, that contains a graphic view of the temporal function representing thevolume of stored data and the packet store capacity. The first representation ofthe problem presents information in more details and is very close to the files antables the mission planner is used to manage, while the graphic representationis more compact and provide a more intuitive and high level vision. In designingthese two different representations we tried to provide the user with the possi-bility to personalize the interaction by choosing her own interaction modalityand express her preferences.

Analyzing the solution Mexar is endowed with a number of interactivefunctionalities to inspect single aspects of the solution. Such services have beenbuild to help understanding better an amount of information that is compactedto guarantee intuitiveness of the representation. We are talking about ability ofzooming, temporal synchronization, etc. There are two different way of repre-senting a solution. The first one is the graphic representation over the downlinkchannel which provides a general and qualitative vision of the dump activities,the second one is a more detailed representation that is a solution table.

The solution table is a data structure that reconstructs all the details con-cerning the solution of the current problem. It presents information in moredetails and is very close to the files an tables the mission planner is used tomanage, while the graphic representation is more compact and provide a moreintuitive and high level vision. An example is shown in Figure 5(a). Using thetable is possible to check for example (a) how the data from a single POR aresegmented in different dump operations, (b) how the data return time has beengenerated, etc. In general it could be also possible to directly generate the dumpcommands from the lines of the table. In fact the whole table can be saved as aseparate file and manipulated by different programs. We have additionally used

Page 85: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

the table to validate the results produced by the problem solver using differentalgorithms. It is also possible to go further in the integration of this window withthe visual features of the PA layout. Another feature of the Problem Analyzer isthe possibility to evaluate a solution according to some metrics. This possibilityallows the user to estimate easily the quality of a solution with rispect to somechoosen parameters. In fact, a graphic evaluation has been added to obtain animmediate level of evaluation on the current solution. When calling the com-mand from the menu a dialogue window allows to choose one or more evaluationfunctions (e.g. Turnover Time, Data Weighted Turnover Time, etc).

(a) showing tabular data on the so-lution

(b) showing evaluation parameters

Fig. 5. Macro tools for analyzing the solution

Figure 5(b) shows an example. The x axis represents the PORs according totheir increasing ID number, while the y axis represent the turn-over time .

Refining a problem incrementally. The current release of Mexar integratesfunctionalities of problem refinement. The broad idea is to suggest a modality ofwork in which the tool is inserted in a continuous loop with the user that uses itto test different alternatives. Figure 3 suggests an hypothetical “Solve-Inspect-Revise” cycle in which the Mexar tool and the user are integrated. After thesolution of the current problem, the user reasons on the obtained result and canmodify the problem behind, save the changes and start a new solution cycle.

The pursued idea allows the user to decide changes to the current problemby, for example, deleting some activities (e.g., if it is not necessary or has a lowerpriority and the problem is over constrained). The automated tool, built on topof a CSP representation, dynamically updates the changes. In the real situa-tions, in fact, a certain degree of negotiation must be guaranteed. Both the CSPrepresentation and the interactive approach to the problem solving promotes a

Page 86: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

certain level of negotiation, often necessary in space missions. Before showingexamples of use of this service, it is worth noting that we have currently imple-mented such a functionality starting from a basic problem and working on it bydeleting activities. This functionality can be easily extended allowing incremen-tal modifications in any direction (allowing also addition of activities) becausethis is fully supported by the background CSP representation. An example ofproblem refinement is shown in Figure 6.

(a) before (b) after

Fig. 6. Exploring different problem formulations

The human observes the available scenario in 6(a) for a given problem. He goesthrough the POR table and, according to his expertise, follows a criteria toremove some of the activities from the problem deselecting them. Then thesechoices are transferred on the graphical representation of the problem and theuser can see if the changes have been effective on the packet stores, and canalso directly ask for a solution of the same problem. Two different modalities forsaving such a new problem are provided: (a) it is possible to save the problemincluding the deleted activities, so that later on they can be reinserted; (b) orit is possible to define a completely new problem composed only by the selectedactivities. The idea is one of allowing a trial-and-error refinement of a problemthat can be useful when deciding what POR activities actually plan for executedplan.

The choice of the user in very important but the tool is acting as an intelli-gent blackboard that shows updated information. This schema can be furtherlyenriched and represents a potential line for future developments.

6.2 The Solution Explorer

Once the human planner has a deeper knowledge of the problem and all theaspects involved in, she can start a deeper level of interaction with the system

Page 87: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

trying to contribute with her expertise and judgment to the problem solving.In this way it is possible to choose either if completely entrust the system withthe task of finding a solution or to participate more interactively in the problemsolving process. As we said before the Problem Solver allows a user to applydifferent solving methods to the same problem (greedy solver, randomized algo-rithm, local search, each with different possible tuning parameters). In additionspecific functionalities allow the user to save different solutions for the sameproblem and to guide a search for improvements of the current best result ap-plying different optimization algorithms. The idea behind the Solution Explorer(see Fig. 4(b)) is that an expert user could try to participate more deeply in theproblem solving process. A user might generate an initial solution, save it, tryto improve it by local search, save the results, try to improve it by local searchwith different tuning parameters and so on. This procedure can be repeatedfor different starting points, resulting in the generation of different paths in thesearch space.

The Solution Explorer is essentially built on top of a repository of solutions.It contains three panes: (a) a table containing a distinct saved solution on eachline and the information on how it has been generated (with greedy, randomizedalgorithm or tabu search) and the average evaluation parameters for that solution(left box in Fig. 4(b)); (b) a representation of the set of solution trees that aregenerated for that problem. This is to show the relation among solutions and tokeep the user under control of the names of the generated solutions and theirstarting points (right box in Fig. 4(b)); a graphic window where it is possibleto evaluate and compare multiple solutions among them according to differentparameters (in the bottom of Fig. 4(b)). Looking at the solutions tree and usingboth the evaluation capability and his or her own experience the user can visitthe different saved solution series both to create new ones and, to choose the onewhich is most fit for execution.

The current interface still does not completely abstract away the technicalityof the algorithms from users. Further work is needed to fill the gap between thereasoning abilities of the user and the automated solver. Nevertheless, a stephas been made to fill this gap by giving the user a supporting environment withdifferent problem solving abilities while preserving the user’s decisional authority.

7 The System at Work

Mexar has been delivered to ESA-ESOC in May 2002 and is currently availableto mission planners. Users’ reactions have been quite positive. We highlight inparticular a real interest in the idea of using an automated tool that performsboring and repetitive task on their behalf which preserves the user’s control onthe flow of actions and the possibility to choose the final solution supported bythe potentialities of the automated tool. In addition, the users’ interest in the useof intelligent techniques for shortening the time needed to solve complex missiontasks is quite interesting. Mexar’s functionalities for solution revision suggest amodality of work with a loop 〈user, automated support〉, which is currently under

Page 88: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

further investigation. In particular, the Solution Explorer provides a conceptof human guided search (see also different approaches like [2]), which can bepotentially very useful in all those applications where the combinatorics of theproblems at hand are very high and the integration of competencies could beof great help in the search for a solution. Additionally, we are considering theaddition of explanation functionalities to the system in order to increase usersawareness of the problem solving cycle.

8 Conclusions

This paper has introduced Mexar, a complete software system grounded on AItechniques that solves a quite relevant sub-problem in space mission planning.The paper is focused on describing the general principles that are underlyingthe architectural development of Mexar, on technical work we have done onthe CSP representation of the basic problem and on the interactive services thatallow to develop an end-to-end solution for the human mission planners.

The flexibility of the CSP representation has turned out to be very useful.The declarative problem representation has allowed to realize different solversbut also to integrate effective interaction modalities. It is worth emphasizingthe key role of the interactive environment in the development of end-to-endapplication. In fact, in the system development process, an equal subdivisionof the working effort between problem solving and user interaction has beenneeded.

This second module turned out to be of great importance in space applica-tions dedicated to mission ground segments where the experience of the usersshould be taken constantly into account and integrated in the solving process.In this area the synthesis of mixed-initiative problem solvers is playing an in-creasingly important role in deployed applications (see [1] for another example).

Acknowledgements

This work could not have been possible without the support at ESA-ESOC ofboth the project officer Fabienne Delhaise and the Mars Express mission plan-ners Michel Denis, Pattam Jayaraman, Alan Moorhouse and Erhard Rabenau.

References

[1] M. Ai-Chang, J. Bresina, L. Charest, A. Jonsson, J. Hsu, B. Kanefsky, P. Maldague,P. Morris, K. Rajan, and J. Yglesias. MAPGEN: Mixed Initiative Planning andScheduling for the Mars 03 MER Mission. In Proceedings Seventh Int. Symposiumon Artificial Intelligence, Robotics and Automation in Space (i-Sairas-03), Nara,Japan, May, 2001.

[2] D. Anderson, E. Anderson, N.B. Lesh, J.W. Marks, B. Mirtich, D. Ratajczack, andK. Ryall. Human-Guided Simple Search. In Proceedings of the National Conferenceon Artificial Intelligence (AAAI 2000), 2000.

Page 89: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

[3] A. Cesta, G. Cortellessa, A. Oddi, N. Policella, and A. Susi. A Constraint-BasedArchitecture for Flexible Support to Activity Scheduling. In Proceedings of ItalianConference of Artificial Intelligence, AI*IA 01, 2001.

[4] A. Cesta, A. Oddi, G. Cortellessa, and N. Policella. Automating the Generationof Spacecraft Downlink Operations in Mars Express: Analysis, Algorithms andan Interactive Solution Aid. Technical Report MEXAR-TR-02-10 (Project FinalReport), ISTC-CNR [PST], Italian National Research Council, July 2002.

[5] S. Motwani and P. Raghavan. Randomized Algorithms. Cambridge UniversityPress, 1995.

[6] A. Oddi, N. Policella, A. Cesta, and G. Cortellessa. Generating High QualitySchedules for Spacecraft Memory Downlink Problem. In Principles and Practiceof Constraint Programming, 9th International Conference, CP 2003, Lecture Notesin Computer Science. Springer, 2003.

Page 90: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

User-Involved Tradeoff Analysis in Configuration Tasks

Pearl Pu, Boi Faltings, and Pratyush Kumar

Swiss Federal Institute of Technology 1Human Computer Interaction Group

2Artificial Intelligence Laboratory CH-1015 Lausanne, Switzerland

{pearl.pu, pratyush.kumar, boi.faltings}@epfl.ch

Abstract. We describe configuration systems using constraint problem solving formalisms where feasible products are computed by constraint problem solvers. A feasible product is a configuration of constituent components that violates none of the configuration constraints and meets users’ preferences as much as possible. To help users find desirable products, a system must possess and understand users’ preference model as well as value functions. A constraint-based multi-attribute optimization problem (MOP) assigns utility functions to the set of feasible configurable products so that optimal ones stand out. Due to the incompleteness and uncertainties of user’s preference models, optimal solutions are difficult to compute in practical settings if systems do not constantly interact with users and refine user’s preference models. While building four user-involved MOPs, we have accumulated a set of interaction principles that optimize user and system collaboration while computing optimal solutions. In particular, we will concentrate here on our approaches and solutions to address tradeoff tasks in interactive MOPS.

1 Introduction

To perform complex tasks, such as searching the web for suitable products or services, planning a trip, or scheduling resources, people increasingly rely on computerized configuration systems to find outcomes that best satisfy their needs and preferences. However, preferences and desires get into conflicts and choosing the best product is a decision problem, or more specifically a tradeoff problem. Many automated decision support systems cannot satisfactorily help users make tradeoffs without a fully specified value function. On the other hand, a fully specified value function for all decision outcomes is difficult to establish for the following reasons: • Users’ preference models are incomplete. Therefore, it is hard to state value

functions for preferences that do not exist. • Users’ beliefs about desirability are ephemeral and uncertain. As we studied our

users in choosing vacation packages, we observed that they often start with a high value function on low-cost deals. However, as they discovered features that they found more important to them than price, they would change the initial value function.

Page 91: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Therefore, non-classical cases of tradeoff analysis are a fundamental problem of growing importance, especially if humans are becoming increasingly involved in the decision process. We investigate how to give maximum information support to users and enable them to make a happy choice. We are therefore concerned with the following questions: • What are the types of non-classical tradeoffs tasks (task analysis and taxonomy)? • What information do users need when they perform these tradeoff tasks (need

assessments)? • How to design interfaces that optimally present and explain this information to

users? • When there is too much information to present, how to structure the information?

We have built four user-involved configuration systems. During this process, we have found some answers to the above-mentioned questions. We have identified and accumulated a set of interaction principles that aim at augmenting and optimizing user and system collaboration while computing desirable outcomes and making tradeoffs. We have tested them with formative user studies throughout the implementation cycles.

2 Related Works

Previous work in the area of user preference elicitation and tradeoff analysis in a configuration tasks have generally followed two main approaches, based on the classical and modern decision theory. The classical theory deals with the idea of formulating a perfect model of users’ preference utility function. Given a perfect utility function, the classical theory can accurately predict final configuration of a configurable item. Classical decision theory [Keeney] treats tradeoff problems under the assumption that a machine is able to help a human to externalize a value structure and use it to evaluate decision outcomes. A popular method to elicit such value function is to ask users to choose a set of outcomes and infer the model from their choices. This process can be lengthy and cognitively demanding.

Behavioral decision theory (Payne et al 1993, Carenini and Poole 2002), on the other hand, is very concerned with decision makers’ behavior. Many years of studies have pointed out the adaptive and constructive nature of human decision making. Although individuals clearly aim at maximizing the accuracy of their decisions; they are often willing to tradeoff accuracy to reduce cognitive effort. The following key properties of a decision maker’s behavior are fundamental validations to our hypotheses: 1) stating preferences is a process rather than a one-time enumeration of preferences that do not change over time; 2) user involved preference construction is likely to be more effective than using default or implicit models if a user is to understand and accept the solution outcomes (Carenini and Poole 2002); and finally 3) decision makers, when facing an unfamiliar task, are quite opportunistic in choosing their strategies by reassessing metagoals, and are likely to benefit from a

Page 92: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

flexibility to choose between fundamental and means objectives (see also Keeney 1992).

Current research in the field has widely established the fact that consumer decision behavior is largely adaptive in nature. A consumer, in most scenarios, does not have a perfect formulation of his utility function, and it is during the decision process that hidden preferences come up to the fore front. These hidden preferences affect the decision process, as a result the decision maker in a sense adapts himself to the decision making process. The decision task and decision environment have a considerable effect on the adaptive decision making process.

Several decision support systems have taken a similar approach, such as FindMe (Burke et al 1997), ATA (Linden et al 1997), and Apt Decision (Shearin and Lieberman 2001). All of them are concerned with decision support for the search of multi-attribute products. FindMe promotes assisted browsing, relying domain knowledge in the process, and aims at reducing complexities in the multitude of product dimensions and data sources for users. Tradeoff analyses and tweaking (vs. example critiquing) are two main components from their system that are similar to ours. However, we investigate a precise concept for the minimal critiquing context in which tradeoff can effectively happen, while their tradeoff component is mainly used for explanation, and tweaking for adjusting values. Apt Decision uses learning techniques to synthesize a user’s preference model by observing their critique of apartment features. Its main objective is profiling and predicting what a user wants in apartment searches. Adaptive decision making in AptDecision uses examples to elicit hidden preferences of users regarding apartments. User profiling is done through the process of example critiquing. Users decide features important to them by browsing through the examples to discover new features of interest and revising their preference model subsequently.

Linden et al (1997) described a preference elicitation method using travel planning as its example domain. Initially only few user preferences need to be expressed. The ATA system (automated travel assistant) uses a constraint solver to obtain several optimal solutions. Five of them are shown to the user, three optimal ones in addition to two extreme solutions (least expensive and shortest flying time). User preferences are modeled as soft constraints in the CSP formalism. A candidate critiquing agent (CCA), similar to our example critiquing, constantly observes user’s modification to the expressed preference, and refines the elicited model in order to improve solution accuracy.

We have developed similar techniques for a range of applications rather than the travel domain alone, such as conceptual design, COMIND (Pu and Lalanne 1996, 2000, 2002), resource scheduling, ICARUS (Pu and Melissargos 1997), travel planning, SmartClient Travel (Pu & Faltings 2000, Torrens et al 2002), and vacation package finder, VacationPlanner (Jurca and Pu 2001). ATA displays only five solutions, which is not diverse enough to guarantee the inclusion of the most optimal solutions, especially when the current user deviates from the standard one (see Faltings, Torrens and Pu, the same issue). Furthermore, by not showing near optimal solutions, users are discouraged from opportunistic and creative discovery of outcomes. Using compact visualization methods, we are able to effectively display up to thirty solutions in SmartClient Travel, and more in other systems. Finally, we are more concerned with interaction design principles that can guide users to state hidden

Page 93: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

preferences, revise ill-defined ones, and focus on fundamental objectives. This is only possible by investigating user issues in a number of application domains.

Several recent works use constraint satisfaction techniques to automate the process of decision making. They also employ an interactive style to elicit preferences. Freuder et al (2000) introduced Exemplification CSPs by using an interactive version of the MAC algorithm to elicit user’s value assignments to network parameters. O’Sullivan et al (2001) described machine learning techniques to help users formulate new constraints. The process involves asking users to provide acceptable solutions (positive examples) from which the system attempts to generalize the constraints exemplified. Freuder and O’Sullivan proposed to model tradeoffs as additional constraints in CSP-based configuration systems. The main goal of their work is to propose appropriate tradeoffs automatically. The conclusion is that arc-consistency based tradeoff proposals are sufficient for finding optimal tradeoffs. The assumption is, however, that users have strong preferences. That is, the issues of discovering hidden preferences and treating uncertainties in users’ beliefs of their desires are ignored for the moment. The idea of system assisted tradeoffs can be made even more powerful with concept of hidden preference elicitation. Users often are not aware of all the attributes of the configuration problem that they are solving, and when these attributes are revealed to them in a step by step process, they formulate new preferences and change their existing preferences to reflect the new information. In ways, our work and theirs can be considered as two parts of the same system. The work described here allows users to perform tradeoff while discovering their hidden preferences and value functions. According to business negotiation theories [Pruitt 1981, Unit 1999 and Luo et al 2003], this process must be done extensively before the actual negotiation itself. Likewise in tradeoff, exploration and discovery are important before tradeoff itself. On the other hand, if a user repeatedly performs similar tradeoff tasks, we can use the techniques suggested by Freuder and O’Sullivan to automate this process. When the user finds a generalization not acceptable, then a negative example can be inferred to refine the version space of the constraint being acquired. Thus, we hypothesize that even thought it is easier to assist a user already having strong preferences [Freuder and O’Sullivan], the process of hidden preference elicitation should make the task as simple for naïve users, who have relatively less formulated preferences.

Bowen (2001) provides a formal notion of interactive CSP, motivated by the introduction of additional constraints so that only a single solution is generated. A specialization CSP is a set of these constraints. We can see adding hidden constraints as a form of specialization CSP. We intend to incorporate these approaches and extend our category of principles. However, we must first validate them with user studies as we did with our own approaches.

3 Defining Configuration Tasks Using CSP

We use constraint problem solving (CSP formulation) techniques as an underlying reasoning engine for our decision support systems. This is largely due to the natural modeling of multiple attribute products and solution search within the CSP framework. A constraint satisfaction problem (CSP), which underlies the decision

Page 94: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

generation process, is characterized by a set of n variables X1,…,Xn that can take values in associated discrete domains D1,..,Dn, and a set of m constraints C1,..,Cm, which we assume to be either unary (one variable) or binary (two variables), and which define the tuple that are allowed for the variable or pair of variables. Besides integrity constraints that can never be violated, a CSP may also include soft constraints. These are functions that map any potential value assignment into a numerical value that indicates the preference that this value or value combination carries. Solving a constraint satisfaction problem means finding one, several or all combinations of complete value assignments such that all integrity constraints are satisfied. When soft constraints are present, it also involves finding optimally preferred assignments.

We are concerned with a definition of attributes, criteria, preferences, and constraints from the user/system interaction point of view. A feature or component attribute is the aspect of a product (or solution) for which users would like to express preferences. A component attribute is a physical aspect of a product (e.g., the screen size of a PC), while a feature attribute is an abstract concept for a product such as the assimilability of a product (easy, hard). Optimization criteria are those attributes used for the evaluation of decision alternatives, and can be a function. For example, the total flying time of a trip is the sum of all of the flying segments plus the transfer time at intermediate airports. We can then state a criterion for the trip. For example, it should not take longer than x number of hours.

A preference is a statement about a desired condition on an attribute or a criterion. For example, “I would like to leave Geneva after 10am” is a user preference. Most user preferences are stated, although some can be inferred, such as those used in collaborative filtering. User’s preferences can be also inferred from demographical analysis, default logic, and case-based reasoning (Ha and Haddawy 1998). For example, knowing that a traveler is booking a business trip, we can infer that his most important criterion is to be at destination on time. In this paper, we focus on user stated preferences only. A constraint is a statement about a condition whose violation will lead to user’s task failure. Being in Hamburg at 2pm for a business meeting is a constraint if that meeting cannot be pushed back. If the user fails to find a flight to satisfy that constraint, he will not be able to achieve his main objective. In most of our systems, user constraints are modeled as hard preference to achieve a uniform treatment of constraints and preferences. Besides user specified constraints, our system also deals with integrity constraints, those conditions that must be satisfied in the configuration process. For example, integrity constraints would state that there must be at least 30 minutes for changing flights within Europe, and 60 minutes for international ones. Integrity constraints are part of domain knowledge, and are elicited from domain experts during the construction of the system.

All of these variables are uniformly known as decision parameters, since they effect how users make decisions. We distinguish incomplete (or hidden) decision parameters from ill-specified ones. Ill-specified parameters give rise to conflicting solutions, assuming that attributes are not independent. An ill-specified parameter can emerge when users are too concerned with means objectives rather than fundamental objectives (Keeney 1992). For example, a user immediately restricting himself to the choice of minivans will not be able to explore station wagon possibilities. If his

Page 95: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

fundamental objective is to have enough baggage space for his family, then the minivan preference is an ill-specified one.

4 Taxonomy of Tradeoff Tasks

Before presenting the taxonomy for tradeoff tasks (TOT), we describe some results from interviewing users and studying how they perform tradeoff tasks in conceptual design, select vacation packages and plan a trip. This process, called task analysis, must precede the design and implementation of any interactive system. Task analysis also includes needs assessment, which analyze users’ information needs and functional requirements. The result of task analysis is a task model describing the structure and component breakdowns of the tasks being studied. We participated in a product design course on conceptual design and design tradeoffs. We interviewed and worked with professors who taught conceptual design, as well as practicing designs of mechanical systems. A number of students from that course then became involved in the interface design of a conceptual design system, COMIND. Such participatory design is a way to bring functional and information requirements directly to the interaction design.

For the travel planning domain, we interviewed students, staff, and secretaries at various times in order to establish a task model. In addition, we surveyed 10 commercial on-line flight reservation systems (Jurca 2000). The task model only differs slightly from the one obtained in the conceptual design domain. We will, however, combine them into one reference model.

4.1 Tradeoff Task taxonomy

From the task analysis, we have identified five types of tradeoff tasks: 1. Tradeoff when desires are in conflict (value tradeoff) – users have specified a set of

preference values which cannot be satisfied at the same time. Tradeoff, that is the revision of certain preference values, is necessary to obtain feasible configurations.

2. Tradeoff when users are uncertain about value functions (utility tradeoff) – while doing tradeoff and especially when users can visualize the set of decision outcomes, they change the importance attached to a certain criteria. In vacation planning especially, user will often relax the price preference in order to keep vacation options in exotic places. This is a form of the first type of tradeoff except users are manipulating the value function rather than the individual assigned values. That is, if a user is repeatedly relaxing the price preference, we may be able to infer that his preference for destination is stronger than that for price. Modeling value functions is very close to modeling users. We must do this with extreme care in order to keep users in control.

3. Tradeoff when a decision maker is undecided (outcome tradeoff) – users are ambivalent about outcomes of a decision process. In this case, we observed that users are likely to elicit additional preferences so that some outcomes stand out more.

Page 96: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

4. Tradeoff at the constraint level (constraint tradeoff ) – when one or a set of constraints give rise to zero solutions or very few solutions, diagnosing the problem at the value assignment level is inefficient. Rather, relaxing the constraints or introduce additional values will help. Which constraints to relax, or whether to relax constraints or introduce values, are some of the tradeoff tasks a user faces.

5. Tradeoff between model accuracy and decision effort (accuracy vs. effort tradeoff) – users often prefer accepting a decision outcome and deal with the consequences, rather than improving the preference model with great effort (see Luce 1998). While we do not deal with emotional aspect of decision making and decision justifiability, we must respect users’ cognitive ceiling and design our interactive tradeoff systems respectively.

Accuracy and effort tradeoff depicts how much patience a user has to be engaged in doing the task, and serves as cognitive limit to all the other tradeoff tasks. Value tradeoffs are local adjustment of values. When the number of tradeoff value exceeds a threshold (unknown parameter), users can no longer keep track of the value dependencies. They will adopt the strategies of doing tradeoffs at the solution level. Revising value functions while users are searching products requires learning users’ preferences from his behavior. This can be seen as a super class of tradeoff activities from the value tradeoff. Constraint tradeoff is a special case and will not be treated here.

5 Preference Revision – Value Tradeoff

Not only preferences change, preferences should change if we believe that we are adaptive decision makers. Value tradeoff requires revising the original stated preferences for one or more tradeoff variables in order to find feasible compromises. Consider someone looking for a vacation package in Mexico in December. He prefers to explore wildlife in Mexico rather than sun bathing on the beaches. His budget is around $1000. He has not considered kayaking so far. Table 1 shows several packages in the catalog, which match the destination Mexico. Taking into account the preferences on budget and vacation features, there is definitely a tradeoff to make: pay almost 10 times more and spend twice as much time to explore wildlife for one vacation package, or pay less and stay at the beach. Alternatively, the user can choose the kayaking package which matches neither the budget nor the feature. But in order to find these deals, the user cannot prematurely state the budget preference.

Table 1. Different vacation packages for Mexico in December

3 days 6 days 7 days $142 - $332 $2590 $1290

Vacation in Mexico in December, prefer wildlife

beach wildlife kayaking

Page 97: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

5.1 Exploring Search Spaces by Value Tradeoff

Suppose a configuration system elicits users’ preferences in a particular order. If these preferences will eventually lead to conflicts, the discovery of this conflict depends on the order. In the vacation example, if the price is set to $2000 in the beginning, the wildlife deal will not be shown. In other words, the user is never informed of the possibility in which by paying a bit more, he is able to get his dream vacation. To overcome this problem, we have used the dynamic query technique (Shneiderman) and implemented an exploratory tool that enables users to discover his needs and preferences by informing him of all relevant decisions.

Fig. 1 is an interface of VacationPlanner (Jurca and Pu 2001). All attributes of a vacation package (destination, date, max price, max duration, youngest accepted age, and etc.) are displayed on the left-side panel. Users express preferences on these attributes by clicking on the desired check boxes or moving sliders into the right positions. The system will display the packages matching selected preferences. When a user states $2000 preference on price, for example, he sees immediately that the wildlife deal is no longer available because that feature is no longer selectable (grayed out). At this point, he can decide whether wildlife is a more fundamental objective, or his budget.

Fig. 1. Putting a low price for a vacation in Mexico will exclude the possibility of exploring wildlife (change the screen shot)

5.2 Partial Satisfaction and Example Critiquing

Displaying the whole set of flight combinations between two is often impossible, and is also not desirable. Making tradeoffs in this case is intertwined with the search

Page 98: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

process. That is, rather than making a tradeoff with current solutions, the user would post a preference in order to see near-by solutions for tradeoff purposes. Suppose I only see the beach and kayaking deals and I would like to find a vacation to explore wildlife. I click on beach to choose another alternative: wildlife. Even though the solution with wildlife violates my earlier budget preference, it is still desirable for the system to show that package. Again, by doing so, the system informs the user of an important decision. Highlighting the fact that the price preference has been violated is even more informative for our decision makers as shown in Table 2.

Table 2. Combining search with tradeoffs

destination duration price feature

Mexico 3 days $332 beach

Mexico 6 days $2590 Wildlife We have implemented this tradeoff feature in SmartClient- and Isy-Travel, our configuration system for travel planning. Users can freely pose preferences, some of them being inconsistent. A partial satisfaction CSP algorithm based on soft constraints [Torrens et al] is used to compute near-best solutions where preferences over certain attributes have been violated. An explanation mechanism is used to highlight dependent attributes and their respective assigned values. Users can choose to keep the proposed solution, or retract inconsistent preferences. In Figure 2, a user has stated a preference on both departure and arrival time for segment 1. He usually prefers to fly out of Geneva after 8:00 am, but for this trip he has to be at Hamburg before 11 am. The flight shown in red (the highlighted lines) violates the first preference, but satisfies the second. The violated attributed has been highlighted. Another solution (not highlighted) shows that leaving after 8:00 am will get him to Hamburg after 12 am. At this point, he must decide whether he will leave earlier, or he pushes back the meeting time.

Page 99: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Fig. 2. Conflict values can be revised via tradeoff analysis show decision context

5.3 Quantitative and Non-linear Functions

Some tradeoff functions are highly quantitative. If the aspect ratio is almost constant, then the underlying tradeoff function is predictable, such as the case of using one dollar to buy 3 donuts, and 3 dollars to buy 9 donuts. When one dollar buys 3 donuts, but three dollars buy 12 donuts, it is harder to predict how many dollars it would take to buy 15 donuts, or how many donuts one would get by spending 5 dollars. Such scenarios require means to forward and backward propagate value changes for the dependent variables in tradeoff scenarios, so as to facilitate decision task.

In the case of travel planning, the departure time and arrival time of a segment (a trip consists of multi-segments if it involves one or more intermediate airports) are almost linear. In this case, the tradeoff analysis can be supported via a visual interface called the parallel coordinates, as shown in Figure 3. If a user desires a late departure, a late arrival is expected. If a user wants to arrive before a certain time, the parallel coordinates show the feasible departure times (back propagation). By setting ranges on the range sliders (vertical bars), a user can learn about tradeoff value dependencies and then make informed decisions.

Page 100: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Fig. 3. Value tradeoff in parallel coordinates

For value tradeoff, we propose the following interaction principles: 1. Use exploratory tools to help users discover their preferences. Following studies

from decision behavior theories, users want to discover their preferences, rather than being modeled as a system. Exploratory tool is the key to building configuration systems that box the products, not the user.

2. Combine search with tradeoff. While searching for similar solutions of a configuration, users like to post preferences in the solutions themselves. When preferences are in conflict, partial satisfaction can effectively inform users of meaningful tradeoff problems.

3. Visual feedback: Since some preference values do not have an obvious relationship with decision outcomes, an immediate feedback of results is important and allows users to correctly access how to proceed with the incremental process of decision making.

5.4 Tradeoff Context and Minimal Context

In most cases, it is effective to use an entire example solution as a critiquing context, because it accommodates all attributes and it is easy to implement. There are two situations for which showing an entire solution is not ideal: 1) when a solution contains too much detail to show, and 2) attributes influencing decision objectives are not explicit in the example solution. For the first situation, business trips for example may well contain more than the usual outbound and inbound segments. Flying from Geneva to San Francisco with a visit to Denver for a couple of days is a three-

Page 101: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

segment trip. In the second situation, choosing a PC feature, such as advanced rather than (rudimentary, basic, high volume), entails to a certain configuration of PC components. When displaying a solution to users, the feature attributes do not become explicit in the example solutions.

We define the dependent attribute cluster to be a set of dependent attributes whose values influence each other in the decision process. Such a cluster is the minimal critiquing context. If a decision problem entails a number of such clusters, we should allow users to critique them one at a time for an effective management of display complexity and cognitive load. As an example, we can have several critiquing contexts in the travel domain: • cabin class, price • departure time, arrival time, airline, intermediate airport for the outbound • departure time, arrival time, airline, intermediate airport for the inbound This is because the choice of cabin class influences price and vice-versa. Departure time, on the other hand, influences the arrival time, the choice of airlines, and the intermediate airport (if they are available). Given a CSP based decision system, it is possible to detect such clusters either by examining the network structure, inferring these cluster structure from solutions (not trivial), or performing domain knowledge engineering.

In practice however, attributes tend to be related in a complex dependency structure. In the above example, airline can be an attribute in the first group as well if we assume that airlines offer very different fares. If they are strictly modeled as dependent, then the three clusters will join and the minimal critiquing context becomes again the entire solution, thus possibly too complex for the multi-segment trips. A possible solution is to perform conditional preference elicitation i.e. after a user has stated a preference on airline, other attributes become independent and form clusters (see conditional preferences in Boutilier et al 1997). However, this forces users to state preferences in a particular order. 1. Show minimal context: If attributes form smaller dependent clusters, it is more

optimal to use each cluster as the minimal critiquing context. This reduces the cognitive and display complexities for users.

2. Show feature attributes in critiquing context: If preferences were elicited on feature attributes, then the critiquing context should be enlarged to accommodate them as well.

6 Solution Tradeoffs – Eliciting Additional Preferences

Many decision problems involve selecting a single outcome (a vacation package, a trip, a spouse), although other decision problems can afford several choices (a range of values, a set of values). When several criteria compete to argue for the desirability of a single solution, a decision maker is unable to choose. This ambivalence causes many decision makers to seek additional preferences to justify their final choices,

Page 102: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

although another equally known strategy is to discover additional constraints to eliminate choices.

Consider the case of selecting apartments whose current features include their size and their price. Figure 4 shows the available apartments and how they rank in the tradeoff space. Suppose users are unable to decide among the apartments lying on the Pareto curve (those nodes labeled black). Upon examining the apartments, a user discovered that one apartment is especially close to public transportation, which saves 20-30 minutes of commute for him every day. Even though it is rather small, he takes this apartment because it is cheaper than the biggest apartment and saves time. This example shows that discovering additional preferences will help a user choose good candidates in tradeoffs. large

Closest to metro

cheap

Fig. 4. Apartments in the tradeoff space on price and size, where three of them are Pareto optimal solutions.

In traditional decision theories, the notion of Pareto optimality is very important. A Pareto optimal solution is superior to all other solutions in at least in one criteria dimension. The solution set is divided into Pareto optimal solutions and dominated ones. Most researchers advocate displaying only Pareto optimal solutions. However, the above example shows that via exploration and discovery, a new criterion can push dominated solutions to the Pareto surface. The key for interface design is therefore to show solution details as well as how solutions present themselves in the tradeoff space. This maximizes the exploration and discovery needed to help the undecided decision makers.

We now show several implementations of tradeoff spaces in 2D, 3D, multidimensional and discrete cases. We will then discuss their effectiveness. Figure 5 is a 2D tradeoff space for selecting flights where the x-axis is the total flying time and y-axis the overall preference satisfaction score (the higher the score the better a solution). These axes can be changed to other values, such as the total cost, and the departure and arrival times of the flights. Consider a user who wants to leave at 8am from Geneva airport. The only flights available from search leave either at 6:20am or 12am. Even though 6:20am is closer to 8am, getting there would require

Page 103: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

driving since trains do not operate yet that early. Since parking a car is really costly for a two-week vacation, this user may choose the 12am flight.

Fig. 5. 2D Tradeoff space for selecting flights; x-axis is the total flying time and y-axis the general preference satisfaction score.

Fig. 6. 3D tradeoff space for a car configurator

Figure 6 shows a three dimensional tradeoff space. All of the criteria for tradeoff are displayed on the left panel. A user can select any three and view the results in the display. This 3D visualization supports rotation, navigation, and zooming. Although it is fun to use the 3D viewer, the advanced features such as navigation may frustrate a novice user. It is also more difficult to compare solutions when they are too close to together.

Page 104: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

Fig. 7. Multidimensional tradeoff spaces

When the number of simultaneous tradeoff variables exceeds two, we implemented an interface as shown in Figure 7. The user task is to select a solution so that pieces of land are assigned for building different structures. During evaluation, four criteria are being considered: the total view score, the total cost, the noise levels, and the score for measuring how close residential buildings are to schools. We reformulated the optimization problem so that we are always maximizing. That explains the ! sign before some variables. It denotes the negation of that variable. So maximizing !totalcost is minimizing the total cost.

The y-axis represents the total scalar value a solution obtains. On the x-axis, we lay down all the individual criteria. These bottom bars act as “weights” and they attract solutions that score very high in the features that they represent. It is obvious that rearranging the bottom bars will give different displays of the solutions and the ambiguities that exist. However, a user can always consult the slider bars below the tradeoff space for detail. Conversely, changing the values of these bars, a user will see matching solutions in the tradeoff space. This interface overcomes the limitation of not displaying all tradeoff variables and their values in a single overview. It gives a notion of how solutions perform on individual accounts, as well as their details if ambiguities exist. It is fun to explore. Even though we still have to carry out more refined user studies to demonstrate its discovery capabilities, our informal user studies show that users found this interface very effective and have allowed them to discover many solutions that were evaluated as inferior by the initial standards that they had set. In the figure, the selected node is actually chosen by our test user as the best solution, even though it does not perform well in the absolute score (y-axis), on noise, or school distance features.

The interaction principles in this section on solution tradeoffs can be summarized as follows: • Show examples to provoke interaction: Most users are not aware of or cannot

articulate preferences. Solving ambivalent tradeoff problems requires discovering

Page 105: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

and weighing these newly discovered features of certain solutions. An exploratory tool must provide examples as well as the tradeoff spaces.

• Do not systematically eliminate dominated solutions: allow ambivalent users to explore solutions nearby the “optimal” ones. Very often, surprises can be found to explain a tradeoff decision.

8 User studies: Combining Decision Behavior Research with User Requirement Analysis and Formative Usability Studies

Some existing findings from consumer behavior research and behavioral decision theory allowed us to avoid costly experiments to understand users’ behaviors when they face decision tasks. However, we still analyzed usability issues by surveying existing commercial systems, such as the survey on travel planning (Jurca 2000). We also used online decision systems such as Personalogic in our user requirement studies. The characteristics, both in terms of shortcomings and strengths, were integrated into the design of Isy-travel and VacationPlanner. Earlier decision support systems were built from analysis done on commercial resource allocation systems employed in the airline industry. COMIND was based on extensive interviews with conceptual designers. The design principles reported here are therefore a result of consumer behavior literature, user requirement analyses, and most importantly testing of these principles in systems that we have built. Formative user studies were also performed for all of the systems described here. It’s a process involving writing scripts for each usage scenario, identifying potential users, conducting usability testing, analyzing results, and proposing design changes. The systems all went through several phases of change as a result of formative user studies.

For the future, we intend to conduct several comparative user studies on rather focused claims. For example, we believe that users select different outcomes under two different conditions: under the condition that they will view only solutions and under the condition that they tradeoff on values without ever seeing an example until the end. We can then further establish interaction principles that address these two conditions.

9 Conclusion

We have pointed out the importance of tradeoff tasks in CSP-based configuration systems. Via tasks analysis, we established taxonomy of various tradeoff tasks. We then focused our discussion on designing, implementing and testing a set of interaction principles that maximizes user and machine’s collaboration in finding “optimal” solutions. A recurring theme in these principles is to provide tools to help users model themselves, rather than devising algorithms to model them. Through exploration, we turn the preference model incompleteness and user belief uncertainty to advantages, which is decision discovery. Through exploration, users discover knowledge of the configuration space and make better and more informed decisions.

Page 106: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

References

1. J. F. Allen, L. K. Schubert, G. M. Ferguson, P. A. Heeman, C. H. Hwang, T. Kato, M. N. Light, N. G. Martin, B. W. Miller, M. Poesio, and D. R. Traum. The TRAINS project: A case study in building a conversational planning agent. TRAINS Technical Note 94-3, University of Rochester, Department of Computer Science, September 1994.

2. C. Boutilier, R. Brafman, C. Geib, and D. Poole. A Constraint-Based Approach to Preference Elicitation and Decision Making. In AAAI Spring Symposium on Qualitative Decision Theory, Stanford, 1997.

3. Bowen, J. The (Minimal) Specialization CSP: A basis for Generalized Interactive Constraint Processing, in Proceedings of Workshop on User-Interaction in Constraint Processing at CP-2001. 2001.

4. R. Burke, K. Hammond, and B. Young. The findme approach to assisted browsing. In IEEE Expert, volume 12(4), pages 32--40, 1997.

5. Carenini G. and Poole D. Constructed Preferences and Value-focused Thinking: Implications for AI research on Preference Elicitation. AAAI-02 Workshop on Preferences in AI and CP: symbolic approaches - Edmonton, Canada, 2002.

6. J. Doyle and R. Thomason. Background to qualitative decision theory. AI magazine, 20(2), summer 1999.

7. Freuder E, Likitvivatanovong C and Wallace R. A case Study in Explanation and Implication, in Proceedings of CP-2000 Workshop on Analysis and Visualization of Constraint Programs and Solvers, 2000.

8. E.C. Freuder and B. O’Sullivan. Generating Tradeoffs for Interactive Constraint-Based Configuration.

9. D. Pruitt. Negotiation Behavior. Academic Press, 1981. 10. I. Unt. Negotiation Without a loser. Copenhagen Business School, 1999. 11. Jurca, A. and Pu, P. Algorithms for Online Vacation Planning. Technical Report, Swiss

Federal Institute of Technology, Lausanne. p. 1-12, 2001. 12. Jurca, A. Survey of Online Travel Planning Systems. Technical Report, Swiss Federal

Institute of Technology, Lausanne, 2000. 13. Keeney, R. and Raiffa, H., Decision with multiple objectives: Preferences and value

tradeoffs. 1976: Cambridge University Press. 14. Keeney, R., Value-Focused Thinking: A Path to Creative Decision Making. 1992: Harvard

University Press. 15. V. Ha and P. Haddawy. Problem-focused incremental elicitation of multiattribute utility

models, in Proceedings of the Thirteenth Conference on Uncertainty in Artificial Intelligence, pages 215--222, August 1997.

16. Ha, V. and Haddawy, P. Toward Case-Based Preference Elicitation: Similarity Measures on Preference Structures, in Proceedings of the 14th Conference on Uncertainty in Artificial Intelligence, 1998.

17. Horvitz, E., Principles of mixed-initiative user interfaces, in Proceedings of The ACM SIGCHI Conference on Human Factors in Computing Systems, ACM Press, p. 159-166, 1999.

18. Inselberg, A. and Dimsdale, B. Parallel Coordinates: a Tool for Visualizing Multidimensional Geometry, in Proceedings of IEEE Visualization '90, IEEE Computer Society, p. 361-378, 1990.

19. Lalanne, D. Computer Aided Creativity and Multi-criteria optimization in Design. Ph.D. thesis, the Swiss Institute of Technology (EPFL), Lausanne, 1998.

Page 107: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker

20. G. Linden, S. Hanks, and N. Lesh. Interactive assessment of user preference models: The automated travel assistant. In Proceedings of User Modeling '97, 1997.

21. Mackay, W.E., Holm, E., and Horn, S.B., Who's in Control? Exploring human-agent interaction in the McPie Interactive Theater project, in Proceedings of The ACM SIGCHI Conference on Human Factors in Computing Systems. 2001.

22. Payne, J.W., Bettman, J.R., and Johnson, E.J., The Adaptive Decision Maker. Cambridge University Press, 1993.

23. Pu, P. and Faltings, B. Personalized Navigation of Heterogeneous Product Spaces using SmartClient, in Proceedings of the International Conference on Intelligent User Interfaces, ACM Press, 2002.

24. Pu, P. and Faltings, B. Enriching Buyers' experiences: the SmartClient Approach, in Proceedings of The ACM SIGCHI Conference on Human Factors in Computing Systems, 2000.

25. Pu, P. and Lalanne, D. Human and Machine Collaboration in Creative Design, in Proceedings of the European Conference of Artificial Intelligence, 1996.

26. Pu, P. and Lalanne, D. Interactive Problem Solving via Algorithm Visualization, in Proceedings of the IEEE Information Visualization Symposium, IEEE Press, 2000.

27. Pu, P. and Lalanne, D. Design Visual Thinking Tools for Mixed Initiative Systems, in Proceedings of the International Conference on Intelligent User Interfaces, ACM Press, 2002.

28. Pu, P. and Melissargos, G. Visualizing Resource Allocation Tasks. IEEE Computer Graphics and Applications, 1997. 17(4).

29. O'Sullivan, B., Freuder, E., and O'Connell, S. Interactive Constraint Acquisition, in Proceedings of Workshop on User-Interaction in Constraint Processing at the CP-2001, 2001.

30. Shearin, S. and Lieberman, H. Intelligent Profiling by Example. in Proceedings of the Conference on Intelligent User Interfaces, ACM Press, 2001.

31. Johnson, B. and Shneiderman, B. Tree-Maps: A Space-Filling Approach to the Visualization of Hierarchical Information Structures, in Visualization '91, p. 284-291, 1991.

32. Torrens, M., Faltings, B., and Pu, P., SmartClients: Constraint Satisfaction as a Paradigm for Scaleable Intelligent Information Systems. International Journal of Constraints, 2002. 7: p. 49-69.

Page 108: User-Interaction in Constraint Satisfactionosullb/UICS-03/uics2003proceedings.pdf · dealing with weighted links: the heavier the weight (here the number of inter-actions), the darker