Presenting a model for solving constraint satisfaction problems using multi-agent systems

Number of pages: 97 File Format: word File Code: 30599
Year: 2013 University Degree: Master's degree Category: Computer Engineering
  • Part of the Content
  • Contents & Resources
  • Summary of Presenting a model for solving constraint satisfaction problems using multi-agent systems

    Master's Thesis in Computer Engineering (Artificial Intelligence)

    Abstract

    Multi-agent systems are computing systems in which several agents interact and work together to achieve a specific goal. The reason for the emergence of such systems is the existence of situations in which a problem must be solved in a distributed fashion. For example, in situations where the use of a central controller is not possible, or when we want to make proper use of distributed resources or computing facilities. Although not much time has passed since the introduction of such systems, the use of agent-based design methods is one of the most successful solutions available, and the result of this design method, the distributed problem solving system, is considered one of the best systems and is known as a new tool for solving all kinds of human processes. The problem of distributed constraint satisfaction has been receiving a lot of attention in the field of multi-agent systems research for years. And this is because many problems ranging from classical problems such as the n-minister problem and graph coloring to large real-world practical problems such as scheduling and planning and resource allocation can be formulated to be solved as a distributed constraint satisfaction problem. Therefore, presenting a new method or modifying the current methods has a great impact on the research scope of this field. What is presented in this thesis is a new technique for solving distributed constraint satisfaction problems. This new technique manages and controls the constraints in a system that is a combination of distributed and centralized systems, which is distinguished from other existing hybrid systems by using a series of specific features defined. The obtained results show that this algorithm will work well in large-scale problems and obtains almost a linear time complexity with the increase of the problem scale. Also, the comparison of this method with several other methods shows the improvement of the performance of this method in different parameters compared to other methods. Chapter 1 Introduction Since 1974, Constraint Satisfaction Problems (CSP[1]) were proposed in the image processing problem[2]. Since then, CSP has been widely used as an important solution method in many fields of artificial intelligence and computer science. From multi-minister problem [3] and graph coloring [4] and other classical problems to scheduling [5] and resource allocation [6] and other large application problems can be formulated to be solved as a CSP problem. After 1990, by replacing the general programming language with the logical programming language, the constraint satisfaction problem of CSP application to solve problems was greatly improved [1]. A CSP is defined by a set of variables, a domain for each of them, and limits on the values ??that the variables may take simultaneously. The role of constraint satisfaction algorithms is to assign values ??to variables in a way that is compatible with all constraints or to specify that no assignment is possible. Today, constraint satisfaction techniques are used in various fields such as machine vision, natural language processing, theorem proving, scheduling, etc. are used [4].

    On the other hand, there are situations in which a problem must be solved in a distributed mode, for example in situations where the use of a central controller is not possible, or when we want to make proper use of distributed resources or computing facilities. In such cases, agents [7] try to reach a common goal. Any multi-agent system is a computing system in which several agents interact and work together to achieve a specific goal [4]. Distributed Constraint Satisfaction Problem (DCSP[8]) is actually a distributed state of the classical constraint satisfaction problem in which the variables are distributed among independent agents. This distributed environment includes a number of intelligent agents, each of which owns one or more variables and controls its value. All these factors are trying to achieve a common goal by maintaining their independence. The goal is still to find an assignment for the variables that takes into account the constraints, but each agent decides for the value of its own variable with relative autonomy. Although the agents do not have a common view, each of them can communicate with its neighbor in the constraint graph.Each agent tries to get closer and closer to this goal not only by satisfying its local constraints but also by communicating with other agents in order to solve external constraints. In general, all problems in which the goal is to find suitable values ??to assign to distributed variables can be considered as distributed constraint satisfaction problems. In a multi-factor system, each factor is assigned one or more variables from among the distributed variables. The task of this autonomous agent is to control and manage the value of this variable [4] and [22]. This general problem has many applications in real life. For example, in many resource allocation problems: in wireless sensor networks, urban traffic signal control, distributed sensor networks, disaster recovery problems, and many scheduling problems, for example, for trains and universities. The common goal in solving all these problems is to find suitable values ??to assign to the distributed variables. In other words, any problem whose purpose is to find a suitable value to assign to distributed variables can be designed as a DCSP.

    In this research, distributed constraint satisfaction problems are discussed, in which agents try to find a possible solution for the problem in a distributed fashion.

    Constraint satisfaction problem

    Definition of the constraint satisfaction problem

    As a formal definition, a CSP can be defined by its three main components. Kord[3]:

    A finite set of variables, {x = {x1, x2, …, xn;

    A domain set D, including a discrete and finite domain for each variable;

    D = {D1, D2, …, Dn}, Di = {d1, d2, . . ., d|Di| } for xi , i = 1, 2, . . . ,        

    A set of constraints, { C = {C1(x1 ), C2(x2 ), …, Cm(xm), where xi, i=1, 2, . . . ,n are subsets of x and Ci(xi) determines the values ??that the variables inside xi cannot assume simultaneously. For example, a constraint in the form ?C({x1, x2}) = ?d1, d2 means that when x1 = d1 then the value of d2 cannot be assigned to x2 and when x2 = d2 x1 cannot take the value of d1. A Cartesian product of n sets of finite domain, in other words, S = D1 × D2 × . . . × Dn. A solution for a CSP in the form: s = ?s1, s2, …, sn ? ? S, is an assignment of values ??to variables so that this assignment satisfies all constraints. Here is a simple example of describing a CSP problem:

    All possible solutions to the problem described above are: ??1,2,2, ??1,2,3, ??2,2,2, ??2,3,2, ??3,2,2.

    In simpler terms, a CSP, with a set of variables, a domain for each of them, and constraints They are defined in the values ??that the variables may take simultaneously. The role of constraint satisfaction algorithms is to assign values ??to variables in a way that is compatible with all constraints or to specify that no assignment is possible. Figure 1-1 shows a simple example of a CSP problem that has three variables x1, x2, x3 and constraints x1<>x3 and x2<>x3.

    (formulas are available in the main file)

    As mentioned, many real world problems can be formulated to be solved as a CSP problem. Figure 2-1 shows a general scheme of applying the constraint satisfaction technique to solve problems. Having a description of the problem, one way to determine how this problem can be solved by the constraint satisfaction technique is to define three components: variables, range of variables, and constraints. If these three components can be defined for the problem, this problem can be solved by constraint satisfaction techniques [54].

    Classical algorithms of constraint satisfaction problems

    In general, 4 algorithms have been introduced as classical paradigms for solving CSP problems [1]:

    Backtracking algorithm (BT[1]), iterative deepening algorithm (IB[2]), forward check algorithm (FC[3]), backward jumping algorithm (BJ[4]).

    These algorithms use a tree structure to show the current search state. Each node of the tree can be considered as a partial solution [5]. At the same time, the values ??of some variables from each node are detected by a parent decision node layer, these variables are called past variables.

  • Contents & References of Presenting a model for solving constraint satisfaction problems using multi-agent systems

    List:

    Chapter One: Introduction

    Constraint Satisfaction Problem (CSP: Constraint Satisfaction Problem). 3

    Definition of the constraint satisfaction problem (CSP: Constraint Satisfaction Problem):  3

    Classical algorithms for constraint satisfaction problems.  5

    CSP as a search problem.. 7

    Improving the efficiency of search algorithms by means of heuristics.  8

    Special constraints.. 12

    Using local searches in solving constraint satisfaction problems.  12

    Problem structure.. 12

    Multi-agent systems.. 14

    CSP problem solving by multi-agent systems (DCSP). 16

    Chapter Two: A Review of Previous Researches

    Overview... 19

    Domain Pruning Algorithms... 22

    Purification Algorithm... 22

    Meta Reasoning Algorithm... 25

    Exploratory Algorithms... 27

    Asymmetric backtracking algorithm..  28

    Asymmetric weak constraint algorithm..  32

    Algorithms that use a combination of centralized and distributed methods. 33

    APO algorithm.. 33

    Incomplete algorithms.. 37

    DBA algorithm .. 37

    Algorithms based on ant colony in solving distributed constraint satisfaction problems.  37

    Chapter three: Designing and implementing proposed methods for DCSP problems and checking the results

    Quality evaluation criteria for solving distributed constraint satisfaction problems. 44

    -1-1- The average execution time of the algorithm by increasing the scale of the problem.  45

    3-1-2- The average number of cycles executed until reaching a solution.  45

    3-1-3- The number of messages sent and received.. 45

    3-1-4- NCCC .. 45

    3-1-5- Legality and completeness.. 46

    Tests and dataset used for tests.  45

    3-2-1- n-minister problem .. 46

    3-2-2- Graph coloring problem .. 47

    3-2-3- Timing problems .. 48

    3-2-4- Binary constraint satisfaction problems .. 51

    3-3- Design and implementation of proposed methods and results of them 52

    3-3-1- Using the combination of evolutionary algorithms and multi-agent systems to solve constraint satisfaction problems.  52

    3-3-2- The power of ants in solving distributed constraint satisfaction problems.  60

    Fourth chapter: The proposed new method 4-1- An overview of the concepts and topics discussed in this proposed method. 69

    Description of distributed constraint satisfaction problems (DCSP).  69

    Definition of Alldiff or Alldifferent constraint.  70

    Exploratory functions .. 70

    Division of proposed algorithms for DCSP problems. 71

    4-3- Description of the proposed new method and details of its implementation. 73

    4-4- Solving an example using this algorithm. 80

    4-5- Evaluation and comparison of our algorithm with other methods.  82

    4-6- Conclusion and listing the advantages and disadvantages of this method.  84

     

     

     

    Chapter Five: Conclusion

    5-1- Conclusion... 87

    5-2- Suggestions and future work.  89

    List of references.. 90

     

    Source:

     

    [1] Caihong Zhao, Yanyan Cui, “An Improved Algorithm of CSP. 2012 International Workshop on Information and Electronics Engineering (IWIEE)", pp. 2832 – 2837, 2012.

    [2] Stuart Russell, Peter Nerving. “Artificial Intelligence: A Modern Approach(second edition)”, 2009.

    [3] W. Zhong, J. Liu, M. Xue, and L. Jiao, “A Multiagent Evolutionary Algorithm for Constraint Satisfaction Problems,” IEEE, pp.54-73, 2004.

    [4] Y. Shoham, K. L. Brown, “ MULTIAGENT SYSTEMS, Algorithmic, Game-Theoretic. and Logical Foundations”, 2009, 2010.

    [5] J. Liu, “Autonomous Agents and Multi-Agent Systems: Explorations in Learning Self-Organization, and Adaptive Computation”, Singapore: World Scientific, 2001.

    [6] J. Liu, H. Jing, and Y. Y. Tang, “Multi-agent oriented constraint satisfaction”, Artif. Intel., vol. 136, no. 1, pp.101–144, 2002.

    [7] W. Zhong, J. Liu, M. Xue, and L. Jiao, “A multiagent genetic algorithm for global numerical optimization”, IEEE Trans. Syst., Man, and Cybern. B, vol. 34, no. 2, pp.1128-1141, 2004.

    [8]

    [8] Makoto yokoo "Multiagent systems. A modern approach to Distributed Artificial Intelligence." edited by Gerhard Weiss, The MIT Press, ISBN: 0262731312, 1999.

    [9] Yokoo, M., Durfee, E. H., "Distributed constraint satisfaction for formalizing distributed problem solving", 12th IEEE International Conference on Distributed Computing Systems, 1, pp. 614–621, 1992.

    [10] Sycara, K., Roth, S. F., Sadeh N., Fox, M. S., “Distributed constrained heuristic search”, International Journal of IEEE Transactions on Systems, Man and Cybernetics, 21(6), pp. 1446–1461, 1991.

    [11] Modi, A P. J., Veloso, M., Smith, S., Cmradar, J. Oh., “A personal assistant agent for calendar management. Agent Oriented Information Systems (AOIS)”, 2004.

    [12] Conry, S. E., Kuwabara, K., Lesser, V. R., Meyer R. A., “Multistage negotiation for distributed constraint satisfaction”, International Journal of IEEE Transactions on Systems, Man and Cybernetics 21(6), pp.1462–1477, 1991.

    [13] Huhns, M. N., Bridgeland, D. M., "Multi-agent truth maintenance", International Journal of IEEE Transactions on Systems, Man and Cybernetics 21(6), pp. 1437–1445, 1991.

    [14] Yokoo, M., Durfee, E. H., “Distributed constraint satisfaction for formalizing distributed problem solving”, 12th IEEE International Conference on Distributed Computing Systems, 1, pp. 614–621, 1992.

    [15] Yokoo, M., “Asynchronous weak-commitment search for solving distributed constraint satisfaction problems”, The First International Conference on Principles and Practice of Constraint Programming, pp.88–102, 1995.

    [16] Mailler, R., Lesser V., “Asynchronous partial overlay: a new algorithm for solving distributed constraint satisfaction problems", Journal of Artificial Intelligence Research (JAIR) 25, pp. 529-576, 2006.

    [17] Mailler, R., "Comparing two approaches to dynamic, distributed constraint satisfaction", Fourth International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2005), pp. 1049–1056, 2005.

    [18] Mailler, R., Lesser, V., “Solving distributed constraint optimization problems using cooperative mediation”, Third International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS 2004), pp.438–445, 2004.

    [19] Mailler, R., “Solving distributed CSPs using dynamic partial centralization without explicit constraint passing", Second Workshop on the Challenges in the Coordination of Large Scale Multi-Agent Systems (LSMAS 2005), pp.27-41, 2005.

    [20] Benish, M., Sadeh, N., "Effect of mediator selection strategy for distributed constraint satisfaction", Workshop on Distributed Constraint Reasoning (DCR), 2005.

    [21] Benish, M., Sadeh, N., "Examining distributed constraint satisfaction problem (DCSP) coordination tradeoffs". International Conference on Automated Agents and Multi-Agent Systems (AAMAS), pp. 1405-1412, 2006.

    [22] S.Hoseyni, K.Zamanifar, the impact of the conflict on solving distributed constraint satisfaction problems, Computing and Informatics, Vol. 28, 2009, pp.673–693, 2007.

    [23] Freuder, E. C., Wallace, R. J., Partial constraint satisfaction. Journal of Artificial Intelligence, 58(13), pp.21–70, 1992.

    [24] Y. Deville and P. Van Hentenryck, “Efficient arc consistency algorithm for a class of CSP problems,” in Proceedings of the International Joint Conference on Artificial Intelligence, v1, pp.325, 1991.

    [25] M. Bruynooghe, “Solving combinational search problems by intelligent backtracking,” Inform. Process. Lett. 12(1), pp.36-39, 1981.

    [27] A. Eiben and J. I. Van Hemert, “SAW-ing EAs: Adapting the fitness function for solving constrained problems,” in New Ideas in Optimization, D. Corne, M. Dorigo, and F. Glover, Eds. New York: McGraw-Hill, pp.389-402, 1999.

    [28] B. Craenen and A.

Presenting a model for solving constraint satisfaction problems using multi-agent systems