Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mzl
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
14 ms
·
151.
▲
by
mzl
5y ago
There are techniques that are purely academic, but there are lots of cases where constraint modeling turns up and is useful. In my experience, the area where constraint programming is used the most is in applications that do things like sch
152.
▲
by
mzl
5y ago
Personally, I would not choose to solve a constraint programming problem in Prolog, unless I really needed to use a specific global constraint that is only available in some Prolog engine (such as the geost constraint in SICStus Prolog). Wh
153.
▲
by
mzl
5y ago
There are a couple of very good coursera courses on modeling with MiniZinc, the first one being https://www.coursera.org/learn/basic-modeling
154.
▲
by
mzl
5y ago
Strong recommendation to take a look at MiniZinc. It’s a modeling language for combinatorial optimization problems, and is often quite easy to model problems in it. The cool thing is that one can then solve the problem using many different
155.
▲
by
mzl
5y ago
I've had to use Azure DevOps recently, and it made me long for the speed, simplicity, and stability of Jira... The most annoying bug was that one could only have around 4-5 tabs open before something went wrong and everything stopped u
156.
▲
by
mzl
5y ago
Yeah, it’s a suboptimal terminology, at least in my opinion. I have a strong bias for the practical side of constraint programming systems, as may have come through.
157.
▲
by
mzl
5y ago
Guess-and-check is usually another term for generate-and-test, which explicitly does not do propagation.
158.
▲
by
mzl
5y ago
Arc consistency is not really a good term to use, since it was originally defined for 2-ary constraints only, but is sometimes used for n-ary constraints. That is why I use the term domain consistency consistently :-) Given a propagator for
159.
▲
by
mzl
5y ago
For many constraints there are propagators that can reach domain consistency (all remaining values for all variables are part of some solution to the constraint, sometimes called generalized arc consistency). For some constraints the best p
160.
▲
by
mzl
5y ago
You are missing the crucial role of propagation - looking at the current state and making inferences based on that. Admittedly, DPLL is pretty weak on that with “just” unit propagation, but it is still _very_ important.
161.
▲
by
mzl
5y ago
All of CP, SAT, and ILP are much more advanced than guess and check, although there are never any guarantees.
162.
▲
by
mzl
5y ago
Sure, there are lots but I think it should be doable. Will probably try sometime. Easiest is to make a model that fixes the lengths of the words, and just run it for different word lengths. As a comparison, see this model solving crosswords
163.
▲
by
mzl
5y ago
In general, modern constraint programming solvers runs the propagators for the constraints until fixpoint. The level of propagation for a constraint is typically chosen by the modeler, and is typically one of domain consistency, bounds cons
164.
▲
by
mzl
5y ago
It’s not terribly hard given a decent enough constraint programming environment I think, although I haven’t tried to implementing the construction problem yet. Given that one is typically limited to at most 10 different letters (since each
165.
▲
by
mzl
5y ago
Normally, solutions that start with zeroes are prohibited in alphametic puzzles.
166.
▲
by
mzl
5y ago
Here is the send more money puzzle in Gecode: https://github.com/Gecode/gecode/blob/develop/examples/money...
167.
▲
by
mzl
5y ago
The underlying implementation of the main classical part of the solvers are fairly similar. See for example the overview of how to implements such systems by the main authors of SICStus Prolog and Gecode in https://chschulte.gith
168.
▲
by
mzl
5y ago
Constraint programming is a thriving area of research that is used a lot in practice for solving various kinds of combinatorial optimization problems. It’s similar in use cases to mathematical programming (such as linear programming and mix
169.
▲
by
mzl
6y ago
Cool, I'll try that out later on. If you have the time, extracting a large sample would be nice. Real-world usage is always more interesting than academic examples. Something that takes around 2 minutes feels like a sweet-spot for opti
170.
▲
by
mzl
6y ago
That sounds like a fun application, both the usage and the implementation. I wonder if you have any interesting example data-files that could be used with the model, preferable both something small and something larger? Would be fun to test
171.
▲
by
mzl
6y ago
This is about the new line of Macs and the M1 chip in them, not iPads
172.
▲
by
mzl
6y ago
Another commenter recommended rust-analyzer as a source of inspiration. the main author, matklad, has written some very interesting blog posts describing ideas used that might be of interest to you: * https://rust-analyzer.github
173.
▲
by
mzl
6y ago
Personally, I tend to use MiniZinc for prototyping and experimenting and for solving simple problems. For building larger solutions, I would also probably use a solver directly. Reasons for that would be customization, integration, and data
174.
▲
by
mzl
6y ago
As another commenter mentioned, MiniZinc is a DSL for modelling combinatorial optimization problems, and Google or-tools is a solver that can solve such problems. So it is not really comparable in that sense. The benefit of using MiniZinc i
175.
▲
by
mzl
6y ago
While there are reasonably good reasons that most scientific articles are in PDF format (way too much work to change), I heartily agree with writing blog posts on articles. I started doing this: the effort (once you have somewhere to publis
176.
▲
by
mzl
6y ago
Similar to many other commenters, I don't really believe the far-reaching conclusions in the paper either. As a scientist, the papers that I download from Sci-Hub are mostly the ones I am interested in with regards to my current resear
177.
▲
by
mzl
6y ago
James Hoffman (self-proclaimed "weird coffee person" with popular youtube channel on coffee) did an interesting walk-through of the results and the suggested process with commentary: https://www.youtube.com/watch?v
178.
▲
by
mzl
6y ago
Some terminology: a propagator is an implementation of a constraint, and is used to remove values from variable domains, by deducing that they are in no solution. In general, propagation strength is about how much a propagator can deduce, t
179.
▲
by
mzl
7y ago
Interesting. I don't think that would be my first choices of study. If you want to know more about how constraint programming works under the hood, I can recommend the coursera course Solving algorithms for Discrete Optimization, in pa
180.
▲
by
mzl
7y ago
I learned programming when I started university, and realized then and there that this was exactly what I wanted to do. I've never felt the "late" start was a hinidrance, and I've been very happy in my professional life.
More ›