Interactive Optimization in Cooperative Environments - Conferences in

0 downloads 0 Views 147KB Size Report
Email: {joelma, hadn, eduardo}@inf.ufg.br. Abstract. In the present paper, we introduce a multi-user in- teractive framework for solving complex optimization.
Interactive Optimization in Cooperative Environments Joelma de Moura Ferreira Hugo A. Dantas do Nascimento Eduardo Sim˜ oes de Albuquerque Instituto de Inform´atica– Federal University of Goi´as Post office box 131– 74001-970-Goiˆania, GO, Brazil Email: {joelma, hadn, eduardo}@inf.ufg.br

Abstract In the present paper, we introduce a multi-user interactive framework for solving complex optimization problems. The framework, called Co-UserHints, provides a visual computational environment for interaction and visualization. We demonstrate its functionality by presenting a multi-user system for interactive graph drawing. Keywords: interactive optimization, multi-user framework, user hints, graph visualization. 1

Introduction

The Interactive Optimization research area studies ways of combining automatic methods with human interaction in order to solve combinatorial optimization problems. Many practical optimization processes are dynamic and complex, thus demanding human intervention to insert knowledge into the computer and/or to help a semi-automatic optimization method to produce high quality solutions. Some approaches for interactive optimization have been developed (Do Nascimento 2003, Anderson, Anderson, Lesh, Marks, Mirtich, Ratajczak & Ryall 2000). However, they focus only on single-user interaction, while many real optimization problems are handled in a cooperative way by a group of people. In general, these optimization problems involve subjective domain knowledge and problem-solving skills that are aggregated by several users. In this paper, we present a new cooperative and interactive framework, called Co-UserHints, for optimization processes. We also describe a multi-user system for interactive graph drawing based on our approach. The remainder of the paper is organized as follows: Section 2 gives an overview of the related work. Section 3 introduces our Co-UserHints framework, and Section 4 describes the multi-user graph drawing system. Section 5 concludes with a discussion of the results obtained so far and our future research. 2

Related Work

Recent studies have investigated effective forms of allowing a user to interact with automatic methods. Among such studies, we have been investigating the User Hints framework, introduced by Nascimento and Eades (Do Nascimento 2003). In this framework, c Copyright °2006, Australian Computer Society, Inc. This paper appeared at Asia-Pacific Symposium on Information Visualization (APVIS 2006), Tokyo, Japan, February 2006. Conferences in Research and Practice in Information Technology, Vol. 60. K. Misue, K. Sugiyama and J. Tanaka, Ed. Reproduction for academic, not-for profit purposes permitted provided this text is included.

an algorithm is responsible for seeking an optimal solution for an optimization problem, while a user helps the algorithm to complete its task by performing interactive actions. The framework is composed of nine elements, which are described below: • User: he/she is responsible for refining the problem and guiding the method to a high quality solution. • Objective function: this function measures the cost of a solution. • Constraints: these are the conditions imposed to the variables of the problem. • Working solution: it is the solution being refined by the user. • Optimization methods: they are traditional algorithms to solve the optimization problem. • Quality function: this function includes an additional cost for the non-satisfaction of some constraints. This means that a set of constraints can be relaxed. • Best solution agent: measures the quality of the working solution and store the best result found so far. • Visualization tool: it is through the visualization tool that the user receives feedback from the optimization process. • Visualizations: they present the working solution and other elements of the optimization process visually. In the User Hints framework, the user can perform some operations that help to include domain knowledge in the processing, to escape from local minimum, and to reduce the solution space to be explored. Those operations are called hints. The main types of hints are: adjustment of objectives and constraint of the problem, focus of the optimization method, and manual changes of the working solution. For more details about the User Hints framework and its application to combinatorial optimization, see (Do Nascimento 2003). Unfortunately, the User Hints framework considers human-computer interaction for only one user. To our knowledge there is no general interactive approach for combinatorial optimization problems that supports multi-user cooperation. Proposing such an approach is the aim of the present paper.

3

The Cooperative User Hints Framework

Our approach for interactive optimization extends the original User Hints framework in order to support multiple co-located and remote users. We call it Cooperative User Hints framework (Co-UserHints) In the User Hints framework the user acts in an individual level, only interacting with the system. In the Co-UserHints, it is possible to have two levels of actions: individual and cooperative. In the individual level, each user works on an independent workspace that implements the complete functionality of the original User Hints framework. In the cooperative level, a general User Hints framework aggregates the individual workspaces allowing several users to work together. The users can discuss aspects of the optimization problem and then merge their individual results in order to produce a new solution with better quality. User actions in the individual and in the cooperative level can be performed simultaneously or alternately, in order to build and/or improve a global solution. 3.1

The Components of the Framework

The Co-UserHints framework has the same elements of the User Hints model and adds new resources for allowing multi-user cooperation. Its general structure is shown in Figure 1, and is composed of sixteen elements: • Users: they work cooperatively for obtaining a high quality solution. • (Global) objective function: it defines the cost of a solution (see Section 2). • Global constraints: these are constraints on the variables of the problem applied to all users and optimization methods. • User local constraints: the variables of the problem can be limited by constraints defined by the users individually. • User working solution: this is the solution improved by a user individually. • Local best solution: this is the best solution solution created by a user individually. • Global best solution: it is the current best solution among the solutions produced by all users. • Global quality function: this function defines the cost of a solution globally. • User local quality function: this function measures the cost of a solution locally. • Optimization methods: they are optimization algorithms that can be executed by any user in order to improve his/her working solution. • Shared solutions: these are complete or partial solutions that are saved in a shared area and are available for all users. • Local best solution agent: it is an automatic agent that checks every new working solution produced by a user. • Global best solution agent: it is responsible for saving and updating the global best solution.

• Integration operators: these operators are computational tools that allow users to integrate their results by joining parts their solutions and/or merging complete solutions for the optimization problem. They work on the shared area. • Visualization tool: this tool provides visual feedback for the users. • Visualizations: several visualizations are created by the visualization tool for presenting information about the working solution assigned to each user and about the general progress of the optimization process. Each user has a set of local constraints, a working solution, a local best solution, a local quality function and a best solution agent assigned to his/her workspace. 3.2

Cooperative Hints

We identified the need for having new types of hints for solving optimization processes in a cooperative way. We call them cooperative hints. Three types of cooperative hints can be explored: • Solution Sharing: during the optimization process each user can copy his/her working solution, or part of it, to the shared area of the system. Everything saved in this area can be accessed and visualized by all members of the group. • Solution Integration: this hint is similar to Solution Sharing. However, in this new type of hint, every element inserted into the share area is automatically merged with the previous solutions saved there. The merge procedure is performed by the Integration Operators, which join partial solutions or produce a new result based on the best attributes of several distinct solutions. • Global Solution Access: it is responsibility of the Global Best Solution Agent to find the Global Best Solution among all Local Best Solutions produced by the users individually. This task is done automatically by the agent without human interference. The users, however, can access (and recover) the Global Best Solution. 3.3

The Otimization Process

In our new framework the optimization process starts with the generation of an initial solution, which is then replicated for all users, as their local working and local best solutions. Each user is responsible for the improvement of his/her working solution through the use of hints and the execution of optimization methods. No user can modify the solution of another user. Every change of a working solution forces its related local best solution agent to run. This agent verifies whether the new working solution has a better quality than the local best solution. If this condition is true, then the local best solution is updated and the global best solution agent is notified. The global best solution agent works in a similar fashion to the local best solution agent. Note that the visualizations are the key elements of the Co-UserHints framework, since they provide useful feedback about the actions performed by all users and how such actions affect the optimization process. Another important issue is that new visualization techniques can be developed for helping

cooperation. Examples of helpful visualizations are drawings that highlight the difference between two solutions, produced by two different users, and histograms (Solution Quality X Time) that describe how the users improved the global best solution over time. 4

• Users working in individual workspaces tended to be competitive rather than cooperative. Still, as a user could see the others solution, it was difficult to identify similarities because the drawing looked up side down. This increased further the competition. In addition, the system had no features to force the users to cooperate.

A Multiuser Graph Drawing Application

In order to test the Co-UserHints framework, we started the development of a multi-user application for the problem of drawing undirected graphs. Our system, named Co-GDHints, uses multiple pointing devices. The system has a multi-user graphical interface that allows a group of up to four co-located people to improve graph drawings simultaneously. The main optimization goal is to reduce edge crossings, but improving edge orientation and symmetry is also being incorporated. The interface is divided into four editing areas, with each user responsible for one of them. There are also two shares areas; one just for sharing partial and complete solutions, and another for saving integrated solutions. All editing areas have a toolbar with options to run the optimization method, to retrieve the best (local and global) solutions, and to insert/retrieve solutions from/to the shared areas. No user has permission to edit the the area of another user. As the application was developed to be executed on an optimization desk (Do Nascimento 2003, Anderson et al. 2000), the orientation of the editing areas and the mouse pointers are set up according to the users’ positions around the environment. Figure 2 presents the Co-GDHints graphical interface. We implemented five types of hints into the system: • manually changing a drawing through selection and movements of vertices; • focusing the execution of an optimization method1 ; • forcing the best solution agents to save a particular solution or retrieving the local or the global best solution at any time; • inserting/removing a solution to/from the shared areas; • integrating solutions through an integration operator that tries to reduce edge crossings. 4.1

Tests

We performed preliminary tests with the Co-GDHints system to check whether more than one user, cooperating in a graph drawing problem along with optimization methods, could improve a given initial solution. Three groups of two users took part of the experiments. Each group had to perform two tests, which consisted of improving an initial drawing of a graph. A different graph was used in each test. In the first test every user had his/her own workspace, and could see the other users drawings. The users could share their drawings, but the integration operator was not available. In the second test all users worked on the same solution in a single workspace. In both cases, the users had their own pointing device. From the experiments we observed that: 1 The method is a Spring algorithm, which defines a force system where vertices repel themselves while edges attract adjacent vertices. (Di Battista, Eades, Tamassia & Tollis 1999)

• In the test where the users worked on the same workspace, they naturally divided the drawing in small regions and each one worked on his/her own area. Although the division was not enforced by the system, the framework provided satisfactory features for cooperation. In order to provide a fully multi-user approach, we also noticed that the system has to support both individual and the group viewing of a solution. Therefore, we have incorporated two new visualization technics into the Co-GDHints system to improve the users interaction experience. These techniques are based on our observation during the tests: • Graph drawing flip: to support face-to-face cooperation we consider the possibility of flipping a workspace so that its drawing looks oriented to the other users. • Graph drawing overlaying: before the user recovers a shared or integrated solution, he/she can visualize how different it is from his/her working solution by highlighting vertices that will be modified, and showing their current and new positions. 5

Conclusion

In this paper, we presented a new framework, called Co-UserHints, for interactive optimization. The framework extends the original User Hints approach in order to support multi-user cooperation. In addition to the cooperative framework, we also started the implementation of a system for solving a graph drawing optimization problem. The system is not fully functional yet, but we have completed a reduced number of experiments that show promising results. The initial tests indicated that the framework offers freedom for the users to interact with an optimization process, and provides space for group discussion. In addition, users working in a cooperative environment may obtain better results. We are now completing the implementation of the system, and will perform more intensive controlled experiments of its cooperative resources. The new results of this research will be available at http://www.inf.ufg.br/funcomp. References Anderson, D., Anderson, E., Lesh, N., Marks, J., Mirtich, B., Ratajczak, D. & Ryall, K. (2000), ‘Human-guided simple search’, AAAI’00: Seventeenth National Conference on Artificial Intelligence pp. 209–216. Di Battista, D., Eades, P., Tamassia, R. & Tollis, I. G. (1999), Graph Drawing: Algorithms for the Visualization of Graphs, Prentice Hall. Do Nascimento, H. A. D. (2003), User Hints for Optimization Processes, PhD thesis, University of Sydney.

Global Objectives

N 3

Visualization

Global Constraints

2

1

N

Visualization Tool

Adjust

Choose

3

User 2 Constraints 1

Users N

Global Best Solution

1

2

3

Focus & Run

Run

Add & Recover

Optimization Methods

Change

Integration Operators N

Shared Solutions

Best Solution

N

Best Solution Agent

3 2 1

Figure 1: The Co-UserHints framework

Figure 2: The Co-GDHints graphical user interface

3

User 2 Solution 1

Suggest Documents