<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Diploma Thesis: Domain approximations for finite set constraint
  variables: An integrated approach</title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
   <meta name="description" content="Diploma page of Patrick Pekczynski"/>
   <meta name="author" content="Patrick Pekczynski"/>
   <meta name="keywords" content="Patrick Pekczynski"/>
   <link rel="stylesheet" type="text/css" href="../pagestyle.css"/>
</head>

<body>
<h1 id="title">Domain approximations for finite set constraint
  variables: An integrated approach</h1>


<ul id="navi">
<li><img src="../images/pekopt.jpg" alt="picture of me" width="160"
height="200" /></li>
<li> <a href="http://www.uni-saarland.de">  Saarland University </a></li>
<li> <a href="http://www.cs.uni-saarland.de">  Department of Computer Science </a></li>
<li> <a href="http://www.ps.uni-saarland.de/"> Programming Systems Lab </a></li>
<li><a href="http://www.ps.uni-saarland.de/~pekczynski/index.html">Home</a></li>
<li><a href="../fopra/fopra.html">FoPra thesis</a></li>
<!--	<li><a href="uni.html">Uni</a></li>-->
<!--	<li><a href="privat.html">Privat</a></li>-->
</ul>

<div id="main">
<h2>Patrick Pekczynski</h2>

Diploma Thesis at the
<a href="http://www.ps.uni-saarland.de/">Programming Systems Lab</a> 2006, 
<br/><br/>
<b>Supervisor: </b>
<a href="http://www.ps.uni-saarland.de/~tack">Guido Tack</a> 
<br/><br/>
<b>Responsible Professor:</b>
<a href="http://www.ps.uni-saarland.de/~smolka"> Prof. Gert Smolka</a>
<br/><br/>
<b>Timeframe:</b> 
February 2006 - January 2007<br/>
<hr style="color:#0256A2; background-color:#0256A2; height:2px"/>
<h2>Introduction</h2>
<p style="text-align:justify">
Constraint programming beyond finite integer domains is getting more
and more attention, as witnessed by a great number of conference
papers and a dedicated workshop. The most popular domain beyond
integers is the domain of finite sets. <br/>
The predominant representation of domains for set constraint variables
is to approximate a set with a greatest lower bound and a least upper
bound, as introduced by Gervet
[<a href="./diplomref.html#gervet94conjunto">23</a>].
Alternative representations include arrays of 0/1 variables or ordered 
binary decision diagrams
[<a href="./diplomref.html#HawkinsLagoonStuckeyROBDDs">29</a>]. 
Although many systems implement finite set constraints (for instance
ILOG Solver [<a href="./diplomref.html#IlogReference">64</a>], 
<a href="http://www.mozart-oz.org">Mozart</a> [<a
href="./diplomref.html#MozartSystem">48</a>],  
ECLiPSe [<a href="./diplomref.html#wallace97eclipse">52</a>], 
and Choco [<a href="./diplomref.html#ChocoLaburthe">6</a>]), 
little has been published about efficient data structures that
implement finite set constraint variables.</p>

<h2>Motivation</h2>
<p style="text-align:justify">
Data structures for constraint variable domains must be implemented
very carefully, as their efficiency directly affects the efficiency of
propagators operating on them, and thus the overall efficiency of the
constraint system. For finite set constraints, no such analysis has
been published. <br/>
<a href="http://www.gecode.org">Gecode</a> [<a
href="./diplref.html#GecodeWebsite">7</a>], a generic 
constraint development environment, is designed to be open in the
sense that new constraint domains can be added easily and
efficiently. This makes it an ideal platform for experimenting with
different implementations for finite set constraint variables.
</p>
<h2>Work packages</h2>
The thesis will comprise the following work packages:
<ul>
   <li>Empirical analysis, design and prototyping: </li>
   <li>
     <ul>
     <li>Identification of the operations propagators perform on set
       variables. </li>
     <li>Empirical assessment of the relative importance of the
       individual operations. </li>
     <li>Design of an abstract data type for
       representing set variables. </li>
     <li> Different implementations in the
       Gecode framework, based on separate lower and upper bounds, a
       unified data structure for both, or ROBDDs. </li>
   </ul>
   </li>
   <li> Analytical and empirical comparison of the implemented data
     structures. </li>
   <li> Implementation and evaluation of a set constraint solver based
     on a complete representation of the domains using ROBDDs.</li>
<!-- <li> Generalization of the results to finite multiset variables. -->
</ul>

<h2>Criteria of success</h2>
<ul>
    <li>The work results in an efficient solver for set <!-- and multiset -->
      constraint variables for the Gecode platform. </li>
    <li> The thesis presents a
      careful analysis of the design decisions behind the implemented data
      structures. </li>
</ul>


<h2>Further information</h2>
  <table style="font-size:14pt; background-color:#f0efef;
   border:0">
<!--    <tr>
      <th class="c">Time</th> 
      <th style="width: 20ex;" class="c">Monday</th> 
      <th style="width: 30ex;" class="c">Tuesday</th> 
      <th style="width: 20ex;" class="c">Wednesday</th>
      <th style="width: 20ex;" class="c">Thursday</th>

      <th style="width: 20ex;" class="c">Friday</th>
    </tr>-->
        <tr>
      <td class="c">Introductory Talk</td>
      <td></td>
      <td class="c">Graduate Seminar PS</td>
      <td></td>
      <td class="c">23.03.2006</td>
      <td></td> 
      <td class="c">
       <table> 
         <tr>
	   <td><img src="../images/pdficon.gif"  alt="pdf" 
		    height="26" width="26"/></td> 
           <td><a href="./documents/diplomintro.pdf"> (pdf 400 KB)</a></td>
         </tr>
	</table>
      </td>
    <td>
    <table> 
      <tr>
	<td><img src="../images/tar.png"  alt="tar.bz2" 
		 height="26" width="26"/> </td>
	<td><a href="./documents/talkintro.tar.bz2">(tar.bz2 164 KB)</a></td> 
      </tr>
    </table>
    </td>
    </tr>
    <tr>
    <td class="c"> Final talk</td>
      <td></td>
      <td class="c">MPI AG1 seminar</td>
      <td></td>
      <td class="c">12.02.2007</td>
      <td></td> 
    <td class="c">
     <table>
     <tr>
       <td><img src="../images/pdficon.gif"  alt="pdf"
		height="26" width="26"/> </td>
       <td><a href="./documents/finalmpi.pdf">(pdf 953 KB)</a></td>
     </tr>
     </table>
     </td>
    <td>
       <table>
	 <tr>
	   <td><img src="../images/tar.png"  alt="tar.bz2"
		    height="26" width="26"/> </td>
           <td><a href="./documents/finalmpi.tar.bz2">(tar.bz2 422 KB)</a></td>
       </tr>
       </table>
    </td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td class="c">2nd revision</td>
      <td></td>
      <td></td>
      <td></td> 
      <td></td>
    </tr>
    <tr>
    <td class="c"> Final talk</td>
      <td></td>
      <td class="c"> Graduate seminar PS</td>
      <td></td>
      <td class="c">21.03.2007</td>
      <td></td> 
    <td class="c">
     <table>
     <tr>
       <td><img src="../images/pdficon.gif"  alt="pdf"
		height="26" width="26"/> </td>
       <td><a href="./documents/finalps.pdf">(pdf 742 KB) </a></td>
     </tr>
     </table>
    </td>
    <td>
       <table>
	 <tr>
	   <td><img src="../images/tar.png"  alt="tar.bz2"
		    height="26" width="26"/></td>
           <td><a href="./documents/finalps.tar.bz2">(tar.bz2 321 KB)</a></td>
        </tr>
       </table>
    </td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td class="c">1st revision</td>
      <td></td>
      <td></td>
      <td></td> 
      <td></td>
    </tr>

    <tr>
    <td class="c">Diploma Thesis</td>
      <td></td>
      <td class="c">Submission</td>
      <td></td>
      <td class="c">31.01.2007</td>
      <td></td> 
    <td class="c">
        <table>
         <tr>
	   <td><img src="../images/pdficon.gif"  alt="pdf"
		    height="26" width="26"/> </td>
	   <td><a href="./documents/reportdiplom.pdf">(pdf 663 KB)</a></td>
	 </tr>
        </table>
    </td>
    <td>
       <table>
         <tr>
	   <td><img src="../images/tar.png"  alt="tar.bz2"
		    height="26" width="26"/> </td>
	   <td><a href="./documents/reportdiplom.tar.bz2">(tar.bz2 451 KB)</a>
	   </td>
	 </tr>
       </table>
    </td>
    </tr>
  </table>
<h2>References</h2>
Complete list of 
<a href="./diplomref.html"> references</a>. <br /><br />
Note that links to <em>ic-parc</em> do not work as the center has
been closed in 2005 (see <a href="https://www.imperial.ac.uk/spectrum/secretariat/ohrm/biogs/E000121b.htm
"> https://www.imperial.ac.uk/spectrum/secretariat/ohrm/biogs/E000121b.htm </a>). 

<!--   <table style="font-size:12pt"> -->
<!-- <tr valign="top"> -->
<!-- <td align="right"> -->
<!-- [<a name="GervetFiniteSetConstraints">1</a>] -->
<!-- </td> -->
<!-- <td> -->
<!-- Carmen Gervet. -->
<!--   <em>Finite Set Constraints</em>. -->
<!--   PhD thesis, L'Université de Franche-Comté, 1995.<br /> -->
<!-- [ <a href="./diplref_bib.html#GervetFiniteSetConstraints">bib</a> |  -->
<!-- <a href="http://www.icparc.ic.ac.uk/~cg6/">http</a> ] -->

<!-- </td> -->
<!-- </tr> -->


<!-- <tr valign="top"> -->
<!-- <td align="right"> -->
<!-- [<a name="HawkinsLagoonStuckeyROBDDs">2</a>] -->
<!-- </td> -->
<!-- <td> -->
<!-- P.J. Hawkins, V.&nbsp;Lagoon, and P.J. Stuckey. -->
<!--   Solving set constraint satisfaction problems using ROBDDs. -->
<!--   <em>J. Artif. Intell. Res. (JAIR)</em>, 24:109-156, 2005.<br /> -->
<!-- [ <a href="./diplref_bib.html#HawkinsLagoonStuckeyROBDDs">bib</a> ] -->
<!-- </td> -->
<!-- </tr> -->


<!-- <tr valign="top"> -->
<!-- <td align="right"> -->
<!-- [<a name="IlogReference">3</a>] -->
<!-- </td> -->
<!-- <td>ILOG Inc., Mountain View, CA, USA. -->
<!--   <em>ILOG Solver 5.0 reference Manual</em>, 2000.<br /> -->
<!-- (see also: <a href="http://www.lkn.ei.tum.de/arbeiten/faq/ -->
<!-- man/ILOG/CONCERT/concert20/refsolver/"> ILOG Solver 6.0: Reference Manual </a>, -->
<!-- <a href="http://www.lkn.ei.tum.de/arbeiten/faq/ -->
<!-- man/ILOG/CONCERT/concert20/refconcert/"> ILOG Concert 2.0: Reference Manual -->
<!-- </a>,  -->
<!-- <a href="http://gemini.pds.twi.tudelft.nl/usrlocaldoc/solver51/homepage/manuals.html"> -->
<!-- ILOG Solver 5.1: Reference Manual </a>)<br /> -->
<!-- [ <a href="./diplref_bib.html#IlogReference">bib</a> ] -->
<!-- </td> -->
<!-- </tr> -->

<!-- <tr valign="top"> -->
<!-- <td align="right"> -->
<!-- [<a name="MozartSystem">4</a>] -->
<!-- </td> -->
<!-- <td> -->
<!-- The Mozart Consortium. -->
<!--   The Mozart programming system. -->
<!--   <a href="http://www.mozart-oz.org">http://www.mozart-oz.org</a>, 2006.<br /> -->
<!-- [ <a href="./diplref_bib.html#MozartSystem">bib</a> ] -->

<!-- </td> -->
<!-- </tr> -->


<!-- <tr valign="top"> -->
<!-- <td align="right"> -->
<!-- [<a name="wallace97eclipse">5</a>] -->
<!-- </td> -->
<!-- <td> -->
<!-- M.&nbsp;Wallace, S.&nbsp;Novello, and J.&nbsp;Schimpf. -->
<!--   Eclipse: A platform for constraint logic programming. -->
<!--   Technical report, IC Parc, Imperial College, London, 1997.<br /> -->
<!-- [ <a href="./diplref_bib.html#wallace97eclipse">bib</a> ] -->

<!-- </td> -->
<!-- </tr> -->


<!-- <tr valign="top"> -->
<!-- <td align="right"> -->
<!-- [<a name="ChocoLaburthe">6</a>] -->
<!-- </td> -->
<!-- <td> -->
<!-- F.&nbsp;Laburthe. Choco: Implementing a CP kernel, Trics 2000. <br/> -->
<!--   N.&nbsp;Beldiceanu, W.&nbsp;Harvey, M.&nbsp;Henz, F.&nbsp;Laburthe, E.&nbsp;Monfroy, T.&nbsp;Muller, -->
<!--     L.&nbsp;Perron, and C.&nbsp;Schulte. Trics 2000. <br/> -->
<!--   Technical report, School of Computing, National University of -->
<!--   Singapore, September 2000.<br /> -->
<!-- [ <a href="./diplref_bib.html#ChocoLaburthe">bib</a> ] -->
<!-- </td> -->
<!-- </tr> -->


<!-- <tr valign="top"> -->
<!-- <td align="right"> -->
<!-- [<a name="GecodeWebsite">7</a>] -->
<!-- </td> -->
<!-- <td> -->
<!-- The Gecode team. -->
<!--   Generic constraint development environment. -->
<!--   Available from <a href="http://www.gecode.org">http://www.gecode.org</a>, 2006.<br /> -->
<!-- [ <a href="./diplref_bib.html#GecodeWebsite">bib</a> |  -->
<!-- <a href="http://www.gecode.org">http</a> ] -->

<!-- </td> -->
<!-- </tr> -->
<!-- </table> -->

<br /><br /><br /><br />
<p>
  <a href="http://validator.w3.org/check?uri=referer">
    <img style="border:0;width:88px;height:31px"
	 src="http://www.w3.org/Icons/valid-xhtml10"
         alt="Valid XHTML 1.0 Strict" /></a>
  <a href="http://jigsaw.w3.org/css-validator/check/referer">
  <img style="border:0;width:88px;height:31px"
       src="http://jigsaw.w3.org/css-validator/images/vcss" 
       alt="Valid CSS!" /></a>
</p>
</div>
<p id="foot">
<address>
Last change: $Date: 2007-05-26 15:06:01 +0200 (Sat, 26 May 2007) $ by 
<a href="http://www.ps.uni-saarland.de/~pekczynski/">Patrick Pekczynski</a>
</address>
</div>

</body>
</html>
