|
Top/Computers/Programming/Languages/Constraint |
|
Constraint : |
| Constraint programming was invented, or discovered, in the early 1960s. A main idea in constraint programming is to tell a computer what you want without specifying an exact procedure and/or process to follow.
Constraints are relations that must be satisfied; examples: a line must remain horizontal, a component in an electrical circuit simulation must obey Ohm's Law, one column in a web page table must be at least twice as wide as another. Constraints have been used in many types of languages and systems, especially in user interface toolkits, planning and scheduling, and simulation.
It is often easy to write constraints where the answer is hard to compute. Example: In constraint programming, X * X = 2 will find X even if you don't tell a program exactly how to do it. For this, it solves by iteratively changing X and converging on an answer, without knowing how to do the square root algorithm; this was Isaac Newton's method for finding square roots.
In programming and mathematics, constraints can be algebraic or logical (Boolean): often an equality or inequality relation, between the values of one or more variables, often between two; example: x > 2 is a constraint on x. Constraint satisfaction is the process of assigning values to variables so all constraints are true.
In programming, constraints are relationships that are declared once, and then maintained automatically by a system. Constraints are automatically evaluated when needed, rather than needing programmers to call them when needed. They should have no side effects. Constraints can also serve as a type of inheritance.
Constraint programming uses methods from mathematics, artificial intelligence, and operations research. It allows fast development, economic maintenance, and high performance. Directly representing a problem as constraints results in shorter, simpler programs, easier to understand and adapt to changing needs.
On this page, languages are arranged in three groups and levels: 1) Top group: types or classes of languages. 2) Middle group: languages for which there are more than one instance of a language of this name/type, a language family. 3) Bottom group: specific languages, individual instances; there is only one language of this name/type. |
|
44 web sites matced for Constraint |
|
Guide to Constraint Programming
|
Online tutorial/textbook for beginners to the area of constraint programming. This area is of the set of less known software technologies, but is evolving rapidly and has a growing, significant commercial interest.
|
|
University of Essex: Constraint Programming Group
|
Several very interesting projects: GENET; Guided Local Search, GLS; Guided Genetic Algorithm, GLS; Adaptive Constraint Satisfaction, ACS; Computer-Aided Constraint-Programming, CACP.
|
|
E-constraints.net
|
Home of Explanation-based Constraint Programming. Definitions, applications, libraries, links.
|
|
DeltaBlue Constraint Solver
|
Efficient, incremental local propagation constraint solver. Like most local propagation algorithms, it cannot accommodate cyclic constraints. University of Washington site.
|
|
DeltaBlue Code Archive
|
For incremental dataflow constraint solver, implemented in varied languages, each in a subdirectory named after the language: C DEC, C SUN4; Common Lisp, Smalltalk.
|
|
University of Washington: Constraint-Based Systems
|
Constraints research group, Department of Computer Science and Engineering. Home of DeltaBlue, Cassowary. Neat constraint Java Applet demonstrates a theorem about quadrilaterals.
|
|
Book: Programming with Constraints: an Introduction
|
Description of book, MIT Press, release March 1998: programs from book, slides for courses for use with book.
|
|
Book: Foundations of Constraint Satisfaction
|
Description of book, Academic Press, release 1993: programs from book.
|
|
Brandeis Interval Arithmetic Constraint Solver
|
Java applet that solves non-linear real arithmetic constraints.
|
|
Koalog Constraint Solver
|
Java library for constraint programming. It provides technology for solving satisfaction and optimization problems including: scheduling, planning, routing, time tabling, resource allocation, configuration and many others. KCS includes a solver on boolean, integer and set domains, global constraints. KCS also includes a local search solver useful for solving huge problems when exact methods are too slow.
|
|
ILOG Solver
|
ILOG's constraint-programming optimization engine, providing cutting-edge optimization technology and an optimization library for workforce scheduling, league scheduling, sequencing, configuration, dispatching and resource-allocation applications with logical constraints.
|
|
Graph Theory and Constraint Programming
|
University course: definitions, lecture notes, books, language descriptions, links.
|
|
Automated Construction of Virtual Worlds Using Modeling Constraints
|
Designing and specifying 3D scenes is a tedious, time consuming process that often degenerates into trial and error. We propose a new way to form virtual worlds based on geometric modeling constraints and higher-level modeling abstractions.
|
|
Advanced Constraint Techniques for User Interface Implementation
|
Project to develop and explore using advanced constraint methods to make user interface software. Constraints as a general computational technique allow declaring a set of relationships between entities. A constraint satisfaction system is employed to automatically ensure that the relationships hold under changing conditions.
|
|
Techno-Pulsar
|
Potent new optimization technology for multidimensional optimization practical problems with continuous, breaking nondifferentiative and stochastic goal functions, 100 or more variables, cuts the cost and time to creation of new technical systems.
|
|
GUIdeLA: Constraint Language and System for Constructing Graphical User Interfaces
|
Building a user-friendly Graphical User Interface (GUI) with languages like C++ or Java is difficult and time-consuming, because such languages demand specifying many details about the geometric data of layout, the sequence in which items are displayed, the sequence in which events are handled.
|
|
Constraint-based Languages and Environments for Building Interactive Systems
|
Page about Alan Borning, a leading researcher in the field. From NSF conference ISGW '97: Interactive Systems Grantees Workshop.
|
|
Pascal Van Hentenryck
|
Brown University, US. Some constraint papers.
|
|
StarFLIP++
|
Free, reusable iterative optimization library for combinatorial problems with fuzzy constraints. GNU LGPL.
|
|
DeltaBlue: Benchmarking Java with Richards and DeltaBlue
|
Constraint solver benchmark, in Java; about 1000 lines of code. DeltaBlue first implemented by John Maloney at University of Washington, translated to many languages: C, C++, Java; Smalltalk. [Sun Microsystems Labs]
|
|
Principles and Practice of Constraint Programming
|
Book by Vijay Saraswat and Pascal Van Hentenryck. Description of book, MIT Press: collection of 23 original papers is first effort to assemble the work of constraint programming researchers scattered across the world in multiple disciplines.
|
|
Constraint Handling Rules: CHR
|
High-level programming language to write constraint systems; makes it easy to define constraint reasoning: simplification and propagation, and incremental solving (satisfaction) of constraints. Run and test CHR online; do a demo, try it now.
|
|
Omega Project
|
Frameworks and algorithms for analyzing and transforming scientific programs; 2 major components: the Omega test system to manipulate sets of affine constraints over integer variables; and developing frameworks to analyze and transform programs.
|
|
Constraints for the Web
|
Constraints can specify desired layout of web documents, and behavior of embedded applets: 2 system architectures where author and viewer can make layout constraints, needed and optional. Final appearance of page comes from negotiation between author and viewer, via solving all the constraints.
|
|
A Differential Approach to Graphical Interaction
|
The ad hoc manner in which direct manipulation interfaces have been designed and implemented restricts the types of interactive controls. This dissertation presents a new approach for a systematic method to implement flexible, combinable interactive controls.
|
|
University of London, Royal Holloway: Constraints Group
|
In the Department of Computer Science: descriptions, research, members, publications, links.
|
|
Cassowary
|
Incremental constraint solving toolkit, efficiently solves systems of linear equalities, inequalities. Constraints can be requirements or preferences. Client code specifies constraints to maintain, and the solver updates constrained variables to have values that satisfy the constraints.
|
|
Garnet Toolkit FAQ
|
Frequently Asked Questions about Garnet user interface development environment for Common Lisp and X11 or Macintosh developed by User Interface Software Group, Human-Computer Interaction Institute, Carnegie Mellon University.
|
|
Seventh International Conference on Principles and Practice of Constraint Programming
|
2001 November 26 - December 1, Paphos, Cyprus.
|
|
Constraints Archive
|
Holds comp.constraints FAQ, pages of constraint-related pointers, source code for various systems, benchmarks, directory of people interested in constraints, constraint bibliographies, collection of online papers, extensive links. Clearly the product of much work.
|
|
MAC
|
FTP download, no separate documentation.
|
|
ThingLab - A Constraint-Oriented Simulation Laboratory
|
Book by Alan Borning.
|
|
Garnet: Multi-Garnet: Integrating Multi-Way Constraints with Garnet
|
ResearchIndex: Constraints provide a useful mechanism to maintain relations in user interface toolkits. Garnet is a widely used user interface toolkit with high functionality, based on one way, required constraints. Multi-Garnet extends this by adding support for multi-way constraints and hierarchies.
|
|
MAC and Combined Heuristics: Two Reasons to Forsake FC (and CBJ?) on Hard Problems
|
ResearchIndex: In the last 20 years, many algorithms and heuristics were developed to find solutions in constraint networks. Their number increased so much that it quickly became vital to compare performance to propose a small number of good methods.
|
|
ResearchIndex: Kaleidoscope: A Constraint Imperative Programming Language
|
The Constraint Imperative Programming CIP family of languages integrates constraints and imperative, object oriented programming. Besides merging useful features of both paradigms, such integration has synergistic effects.
|
|
Garnet Project
|
Generating an Amalgam of Real-time, Novel Editors and Toolkits; developed by User Interface Software Group, Human Computer Interaction Institute, School of Computer Science, Carnegie Mellon University. Free: public domain.
|
|
Natural Programming
|
Attempt to make a system that is easier to learn and use than anything available to novice programmers today: HANDS: Human-centered Advances for Novice Development of Software. School of Computer Science, Carnegie Mellon University; NSF funded.
|
|
Garnet: Brad A. Myers
|
Personal page of Garnet inventor and lead researcher. Describes Garnet motives, rationale.
|
|
ThingLabII: Constraint-based user interfaces
|
Supports exploration of constraint-based user interfaces; consists of a set of classes that define constraints and constrainable objects called things. Incremental constraint satisfier, module compiler, construction-set style user interface, many tools, extensible set of primitive user interface building blocks.
|
|
ICOT Free Software
|
Free constraint software developed by Institute for New Generation Computer Technology (ICOT), Japan: Constraint MGTP (CMGTP) model generation theorem prover (MGTP), MGTP-G, KLIC, some cu-Prologs, and documents. FTP site.
|
|
Artelys Kalis
|
Extensible constraint programming framework for fast solving of many kinds of combinatorial problems: schedules, timetables, resource allocation, network design, etc. Define constraints and heuristics. As C++ library or Java package. Port to Xpress-Mosel environment gives easy-to-use modeling.
|
|
Gecode
|
Generic Constraint Development Environment. Constraint solver implemented as C++ library. Main goals: modifiability, extensibility, speed. Features: integer and set variables, large constraint set, copying-based search. [Open Source, BSD]
|
|
Choco
|
Java library for constraint satisfaction problems (CSP), constraint programming (CP), explanation-based constraint solving (e-CP). Built on event-based propagation mechanism with backtrackable structures. [Open Source, BSD]
|
|
Constraints: An International Journal
|
Covering all aspects of computing with constraints; on paper or online; fee required.
|
|
| |
| Web Site Directory - powered by Dmoz |
Arts
Movies, Television, Music... |
Business
Jobs, Real Estate, Investing... |
Computers
Internet, Software, Hardware... |
Games
Video Games, RPGs, Gambling... |
Health
Fitness, Medicine, Alternative... |
Home
Family, Consumers, Cooking... |
News
Media, Newspapers, Weather... |
Regional
US, Canada, UK, Europe... |
Science
Biology, Psychology, Physics... |
Shopping
Auctions, Clothing, Gifts... |
Society
People, Religion, Issues... |
Sports
Baseball, Soccer, Basketball... |
| |
|
|
|
|
Sponcer Links
|
Live Chat
mioot Live chat system help you to track your web site visitor in real time and enable live chat features with your web site visitor.
|
|
miOOt Technologies is an Indian based software company offering complete onsite offshore software development solutions with high end technologies and standard. |
| |
|
|
|