Upload
gautam
View
39
Download
0
Tags:
Embed Size (px)
DESCRIPTION
מערכת החזיה וממשק משתמש גרפי לסימולטור בעיבוד אילוצים מבוזר. אז מה אתם עושים בפרוייקט שלכם?. ניר הרשהורן וגיא רפפורט הנדסת תוכנה 2010/2011. Here’s an example CSP we all know: - PowerPoint PPT Presentation
Citation preview
משתמש וממשק החזיה מערכתגרפי
אילוצים בעיבוד לסימולטורמבוזר
רפפורט וגיא הרשהורן נירתוכנה 2010/2011הנדסת
מה אזאתם עושים
בפרוייקט שלכם?
BackgroundThe 4 Queens Problem
• Here’s an example CSP we all know:• Place n (=4 in our case) Queens on a [n x n] Chess Board so that no queen is threatening/being threatened by another queen.• Constrains are obvious (in terms of Chesse).• Always solvable.
BackgroundSudoku
• A more complex form of CSP: Sudoku.• Always solvable? Depends on initial configuration!• CSP, like SAT, is NP-Hard: you can express any problem in terms of CSP.• COP (Constraint Optimization Problems) are also available and treated in our project, but we will not touch these during this presentation.
Backtracking example
Backtracking example
Backtracking example
Backtracking example
BackgroundDistribution comes into Play (DisCSP)
If all knowledge about the problem can be gathered into one agent, this agent could solve the problem alone using normal centralized constrained satisfaction alogrithms. However, Collecting all information about a problem requires not only communications costs but also the costs of translating one’s knowledge into an exchangeable format. For example, a constraint might be stored as a very complicated specialized internal function within an agent. In order to commnicate the knowledge of this constraint the another agent, which might be implemented on different computer architecture, the agent would have to translate the knowldege into an interexchangeable format, such as a table of allowed (or not allowed) combinations of variable values. These costs of centralizing all information to one agent could be prohibitively high.
BackgroundDistribution comes into Play (DisCSP)
(So our first motivation was – that sharing information requires a common format, which is sometimes not so easy to achieve.)
Furthermore, in some application problems, such as software agents in which each agent acts as a secretary of an individual, gathering all information to one agent is undesirable or impossible for security/privacy reasons. In such cases, multiple agents have to solve the problem without centralizing all information.
–Makoto Yokoo, inventore of ABT
BackgroundThe Distributed Environment
Tuesday, 9AM
?
BackgroundThe Distributed Environment
Tuesday, 9AM?
Fine by me!
Wednesday, 16:00
?
BackgroundThe Distributed Environment
Tuesday, 9AM?
NO WAY!!!
Wednesday, 16:00?
Tuesday, 9AM!
Fine with me
!
Problem Domain• A CSP is defined by the tuple
<X, D, R>– X: a finite set of variables (or agents)– D: Domain of each variable– R: Relations or Constraints between variable
assignments.• Assignment: a <var,val> pair..• Solution: a set of |X| assignments, which
satisfies all relations.• Each of the different algorithms tries to solve
more efficiently – minimizing constraint checks, assignments, and convering a minimal part of the search tree of the problem.
• More at the BGU-DCR team’s page (cs/~dcr).
Current Situation• The BGU-DCR team headed by Prof. Amnon Meisels
is operating in the field of DCR for several years.• Group members find themselves developing
personal frameworks for DCR over and over again.• A Simulator with GUI has been written but is now
deprecated.• Recently, a new simulator was born out of the final
CS project of Guy Yafe.• They’ve been toying with the idea of visualization
for a couple of years – and this is where we enter.
Proposed Solution• The project consists of two parts:• Developing a practical GUI for the existing simulator– May enhance usability!– World fame ensues?– Competing with current FRODO GUI
• Developing visualization for DCR Algorithms– Appeals to user.– Allows researchers to ‘get the feel’ of different
algorithms’ behaviour.– Great tool for debugging an implementation!
Proposed Solution• The project consists of two parts:• Developing a practical GUI for the existing simulator– May enhance usability!– World fame ensues?– Competing with current FRODO GUI
• Developing visualization for DCR Algorithms– Appeals to user.– Allows researchers to ‘get the feel’ of different
algorithms’ behaviour.– Great tool for debugging an implementation!
System Architecture + Technologies
System Architecture + Technologies
• Written in JAVA, which is preferred by our customers and is also the implementation language of the current simulator.
• Using JUNG for Java graphs visualizations.• Contrasted and competing other DCR
simulators (FRODO, Choco, et al).
Main Functional Requirements
• Visualizations• MEB• Message Delay Mechanism• Synchronization Of Runs• Structured Output Files
Visualizations
• Dynamically-built Search Tree• Inter-agent communication graph• HistogramsBranch is part of assignment
Assignment is currently checked
Deprecated assignment
Old failed assignments will fadeand disappear.
• Dynamically-built Search Tree• Inter-agent communication graph• Histograms
A message is currently sent fromA2A1. These two have arather recent messages history.{A1,A3} also have profound message history butthey link was inactive for a long time.
Visualizations
A1 A2
A3
Visualizations
A1 A2 A3 A4 A5 A6 A7 A8 Agents
Different Measurements. For instance: number of assignments, number of messages sent, number of consistency-checks performed, etc.!
• Dynamically-built Search Tree• Inter-agent communication graph• Histograms
Main Non-Functional Requirements
• Based on Guy Yafe’s existing simulator (integration must be seamless).
• Implement More Algorithms:DPOP, O-DPOP, BnB-ADOPT, AFC, AFB-BJ
• Tutorial (as opposed to FRODO!)• Open Source, hosted at SourceForge,
observable by all peers around the world.
Major Use-Cases
Project Risks
• “Risk” is coincidentally the middle name of both of us! Here are some risks we might encounter:
• Integration with existing simulator.• Dependency upon existing Graph packages.• Visualization overload on Problem Solving.• Inevitable loss of execution information.• Visualization rate limited to human capabilities:
algorithm executes numerous LIPS!• Writing to file in real time.
אם אין שאלות נוספות –נותר לנו רק לאחל לנו ולכולכם
וכמובן – חג אורים שמח לכל בית ישראל
גיא וניר – http://www.cs.bgu.ac.il/~guyrap/visu