🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #156

Re: Solving 4 queens using boolean constraint

#156
From: Mattias Waldau
Date: Wed, 08 Apr 1992 04:49
28 lines
1653 bytes
In article <1992Apr6.140627.10533@dcs.qmw.ac.uk> leonardo@dcs.qmw.ac.uk (Mike Hopkins) writes:


   The problem insists that each row and column contains exactly one
   queens: therefore the program should be:

   fourQueens(q(r(S11, S12, S13, S14),
		r(S21, S22, S23, S24),
		r(S31, S32, S33, S34),
		r(S41, S42, S43, S44))) :-
	   %% rows
	   bool:sat(card([1],[S11, S12, S13, S14])),
	   bool:sat(card([1],[S21, S22, S23, S24])),
	   bool:sat(card([1],[S31, S32, S33, S34])),
	   bool:sat(card([1],[S41, S42, S43, S44])),
	   %% columns
	:
	:

You have pruned the search space, by coding the fact that two queens
cannot stand on the same row or column. However, this is cheating. 

My original question was why the program was so slow. Are there any
uses of boolean constraints except for digital hardware?
--
Mattias Waldau                              
Computing Science Department                mattias@csd.uu.se
P.O. Box 520, S-751 20  Uppsala, Sweden     Phone: +46-18-181055
Technical Details
Message-ID: <1992Apr8.044913.3181@corax.udac.uu.se>
Path: arc1-ca.pugleaf.net!sparky!uunet!olivea!mintaka.lcs.mit.edu!bloom-beacon!eru.mt.luth.se!lunic!sunic!corax.udac.uu.se!corax.udac.uu.se!mattias
References: <1992Apr6.105730.13467@corax.udac.uu.se> <1992Apr6.140627.10533@dcs.qmw.ac.uk>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!olivea!mintaka.lcs.mit.edu!bloom-beacon!eru.mt.luth.se!lunic!sunic!corax.udac.uu.se!corax.udac.uu.se!mattias
From: mattias@groucho.csd.uu.se (Mattias Waldau)
Newsgroups: comp.lang.prolog
Subject: Re: Solving 4 queens using boolean constraint
Message-ID: <1992Apr8.044913.3181@corax.udac.uu.se>
Date: 8 Apr 92 04:49:13 GMT
References: <1992Apr6.105730.13467@corax.udac.uu.se> <1992Apr6.140627.10533@dcs.qmw.ac.uk>
Sender: news@corax.udac.uu.se
Distribution: comp.lang.prolog
Organization: /home/meryl/csd/mattias/.organization
Lines: 28
In-Reply-To: leonardo@dcs.qmw.ac.uk's message of 6 Apr 92 14:06:27 GMT