Talk:Constraint satisfaction

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Orphaned[edit]

Really nice that someone has gone to the trouble to create this page. Not so nice is that the Constraint satisfaction problem article has existed throughout 2004-2006, and has now been left orphaned by all the new CSP articles (without being linked to). Please resolve this! --Ott2 18:54, 13 June 2006 (UTC)[reply]

That article doesn't look orphaned [1]. - Liberatore(T) 19:03, 13 June 2006 (UTC)[reply]
My mistake -- thanks for your work on the CSP pages. --Ott2 15:51, 15 June 2006 (UTC)[reply]

Merger proposal[edit]

I'm suggesting that the Constraint satisfaction problem page be merged into this one, because it's short and not as informative as this one, and it's not clear why it would need to be kept separate. If there are no objections, I'll proceed ahead with it in a week or two. Jdpipe (talk) 11:33, 27 October 2008 (UTC)[reply]

I prefer having two separated articles. Though strongly related, they are different concepts - and more important, they have different scope. "Constraint Satisfaction Problem" is a very particular subset of the field - that of finite problems represented completely through constraints, while "Constraint Satisfaction" is the whole research field, including infinite domains and mixed problems (with both constraints and other kinds of representation). This article involves all the different techniques and problems that are partially represented with the "constraint" concept.
I suggest instead of merging doing a cleanup between the articles Constraint satisfaction, Constraint satisfaction problem, Constraint programming, Constraint logic programming, Constraint_propagation and every other one directly related to this subject. This current Constraint satisfaction article should act as an entry point explaining the relation between all those related ideas and stating the subtle differences between each term. Then each one of those articles will be free to grow with all the details of that concept, without making this article too big - for example, the "Solving" section in this article could be moved to Constraint Satisfaction Problem, and that article should contain a description of all the common CSP variants - Max CSP, Weighted CSP, Dynamic CSP, Fuzzy CSP... Diego (talk) 12:51, 27 October 2008 (UTC)[reply]
I'll remove the merge proposal if there's no further discussion. Diego (talk) 21:43, 13 November 2008 (UTC)[reply]

I do not believe a merge would improve the readability or informative nature of the information, but if one does occur then constraint satisfaction should be merged into CSP, not the other way around, since the problem is the logical central focus of the various methods for solving that type of problem.AQBachler (talk) 05:51, 16 November 2008 (UTC)[reply]

Support keeping separate articles + cleanup and expansion[edit]

After giving this some thought, I support keeping the articles separate. I especially disagree with an above proposal in discussion (reverse of the recommended merger) to include this into the constraint satisfaction problem page. I agree with that writer's view that the main impetus for "constraint satisfaction" is "constraint satisfaction problems" -- my one paper on the subject has that in the name. My disagreement is that an unfamiliar person would naturally refer to the concept in its simplest form, constraint satisfaction, and a technical reader would refer to the more technical terminology. Thus the simpler name would be the best heading. That is very different from the issue of which article would best serve as the basis TEXT for the merged article. But once again, I support keeping separate as more readable.

But the cleanup and hopefull expansion could include expansion of the constraint satisfaction problem page, and this article could be expanded with regard to the variety of major types of constraint related problems. There are already mentions of "constraint satisfaction" issues here not considered as CSPs. Also this page is written in a way that is more accessible to the general reader not familiar with technical detail on either the subject or methods similar to those use in CSP programming. It should remain generally accessible without going into great detail of solutions of CSP problems -- precisely where references to the constraint satisfaction problem or other more techical pages should be made.

One impression is that the links occur to the constraint satisfaction problem page, witout really suggesting that the reader will find more specific details there. That may foster thinking that the articles should be merged, a sense of duplication. But the duplication is illusory, the "problem" page really is a detailed technical discussion. So suggest that here! Are there more tutorial like examples that can be placed here to learn about the nature of constraint satisfaction itself, as opposed to details of solution? A good example might be further discussion of the 8 queens or Sudoku problems in a form that the reader learns about the notion satisfying constraints itself. This would be seem extraneous on the more technical constraint satisfaction problem page, which would then focus on technical details of solving CSPs. I completely agree with Diego above on "solving" being reduced in scope (and other issues), but not necessarily completely removing the paragraph(s). Rather this is an excellent opportunity to focus on LINKING to the other articles, and suggesting more details of those aspects will be found there. However do not eliminate the description of "solving", as that is the major impetus for constraint satisfaction existing as a topic.

I think that some reference to the examples should remain on the "problem" page, but constraint satisfaction page is right one for more tutorial like examples. But they should not be limited to just those that fall under "problem" heading, as algebraic constraints or some similar examples might fall outside of the AI "problem" grouping, yet be part of the more general discussion. That is an example of pulling some text from the "problem" page to the heading page. —Preceding unsigned comment added by Csp-interest (talkcontribs) 08:23, 1 January 2009 (UTC)[reply]

My time is limited at this point, but in the next year I will see what I can do. Especially the constraint satisfaction problem page should be expanded to include more algorithms and history. I'll repeat this in edited form on that page as this discussion is more applicable there.

OH -- Especially good tutorial for more general reader can be examined for ideas: link. Yes, a discussioni of "... problem", but CONTAINS within some good ideas for general reader!

Csp-interest (talk) 03:52, 1 January 2009 (UTC)[reply]

Good link - I'm adding it to the article. Diego (talk) 21:52, 1 January 2009 (UTC)[reply]

Related systems[edit]

I believe that one can say that boolean SAT, answer set programming and satisfiability modulo theories are all a certain form of constraint satisfaction. It would be nice to see these mentioned and placed in the proper scheme of things. In particular, the constraint programming page lists a series of "domains" which are among the standard domains that the SMT solvers solve and compete on ... and I believe that the SMT solvers are wayyyy faster than any of the systems listed on that page. More generally, a sketch relating constraint satisfaction to the more theoretical notion of satisfiability would also be appreciated. I find the situation a bit confusing. Some clarity would be appreciated. linas (talk) 18:31, 16 June 2011 (UTC)[reply]

Constraint Resolution Theories[edit]

This is a WP:Balance question: are Constraint Resolution Theories sufficiently mainstream that they should be mentioned in this article ("Solving" section)? I can find no reference to those Theories other than a self-published book of the same name. — Preceding unsigned comment added by 86.154.4.58 (talk) 19:14, 7 April 2012 (UTC)[reply]

Industry use[edit]

The approach effectively resolved modeling problems within the context of CAD/CAD (CAX) as applied in design, make, and maintain processes, including management of such through long life-cycles, for large-scale systems, such as aircraft. In particular, for a brief moment, the ICAD system, demonstrated the facility of the approach and contributed to successful completion of projects. Tongue in cheek, 'brief' means two decades. Much of the success came from the gluing abilities of LISP in the framework of silos of competence that had evolved in the application of computing in engineering disciplines. As such, this exercise was real-time, handling formidable problems and heavy program constraints and demands. jmswtlk (talk) 13:10, 13 November 2021 (UTC)[reply]