Sender | Message | Time |
---|---|---|
9 Sep 2021 | ||
semi#5753 | I know literally nothing about algorithms my stuff is super hacky lol | 03:20:58 |
semi#5753 | whorf might know about that | 03:21:02 |
Apsu | They're simulated annealing variations I believe | 03:21:45 |
semi#5753 | I was using simulated annealing for a while, but genkey currently uses a custom one I made that I'm baffled works well occasionally. | 03:22:04 |
semi#5753 | though someone said it was kinda similar to gradient descent | 03:22:56 |
semi#5753 | so I should look into that ig | 03:22:58 |
dashy#3629 | Hahaha, yeah cool. Lots of experimentation and tinkering. TBH it's often really hard to model solutions in a way that things like gurobi understand. There's so much shit baked into min/maxing linear equations in there, but it was a real art to get things in the right shape. | 03:23:50 |
dashy#3629 | It was all a bit magical to me when I worked at an applied maths / optimisation type software house too. 🙂 | 03:24:23 |
semi#5753 | Ya. Whorf is currently working on constraint programming, it'll be interesting to see how that shapes out | 03:24:55 |
Apsu | ^ was just going to share that | 03:25:06 |
Apsu | byrgr best girl is also well-read on algorithmic application to this domain it seems from previous conversations | 03:25:44 |
Apsu | I am decently so but old and busy :P | 03:26:05 |
whorf#7361 joined the room. | 03:45:16 | |
whorf#7361 | MIP and CP are methods involved in discrete optimization. The solver I'm using can interface with either depending on what you're doing. | 03:45:16 |
whorf#7361 | In my typical style I only work on it like 20 minutes every week or so but eventually I'll learn minizinc well enough to make an interesting layout generator. | 03:46:03 |
dashy#3629 | Interesting. Most constraint programming things I have seen are about feasibility rather than optimisation. But relational programming has often been likened with algebra (because it removes some of the side effecting BS from constraint programming things like prolog, like the functional programming of the logic programming world) which I guess if you squint a bit guest you to a computational model that is very like the models that MIP Solvers work on. That very likely be that I haven't thought deeply enough about that relationship or paradigm in this context. It would make sense that once you defined everything in a relational programming model you'd be free to do a lot of things. 🙂 https://matt.might.net/articles/microkanren/ | 03:46:16 |
dashy#3629 | I have heard of a lot of work in the haskell space about a relational programming library call guanxi that was kinda along these lines. For both type system proofs and optimisations of code. So it does make sense but I have to squint and trust a gut feel. 🙂 | 03:47:32 |
whorf#7361 | These courses have been decent intros to the subject for me: https://www.coursera.org/learn/basic-modeling https://www.coursera.org/learn/discrete-optimization I've focused on Constraint Programming more because MIP seemed like witchcraft when the details were explained and the problems that are solved with it don't seem as relevent to me. | 03:47:34 |
whorf#7361 | * These courses have been decent intros to the subject for me: https://www.coursera.org/learn/basic-modeling https://www.coursera.org/learn/discrete-optimization I've focused on Constraint Programming more because MIP seemed like witchcraft when the details were explained and the problems that are solved with it don't seem as relevant to me. | 03:47:39 |
whorf#7361 | You can do both. You can write something like: | 03:48:15 |
whorf#7361 | haskell chads unite | 03:49:37 |
whorf#7361 | relational programming is a paradigm I haven't heard of, so I'll read up on it | 03:49:56 |
whorf#7361 | Download unknown.png | 03:52:06 |
whorf#7361 | Here's an example minizinc problem (solving the wedding problem), where you define your parameters, decision variables, constraints, and objective function: | 03:52:06 |
whorf#7361 | pretty dense but very expressive and fast | 03:52:12 |
dashy#3629 | From how it is explained to me, thing of RP as like the pure version of constraint programming as pure functions in haskell are pure vs imperative programs. There are a couple of side effects in prolog that make what you are saying actually tricky to do in prolog type things. Purity gives the evaluator more freedoms, as the usual thing goes in the FP world. | 03:52:15 |
dashy#3629 | MiniZinc is a language for specifying constrained optimization and decision problems over integers and real numbers. A MiniZinc model does not dictate how to solve the problem - the MiniZinc compiler can translate it into different forms suitable for a wide range of solvers, such as Constraint Programming (CP), Mixed Integer Linear Programming (MIP) or Boolean Satisfiability (SAT) solvers. Yeah, that sounds like Relational Programming to me. 🙂 | 03:53:55 |
dashy#3629 | http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf | 03:54:35 |
dashy#3629 | I think the microkanren paper explains the difference the best. | 03:55:06 |
dashy#3629 | Sorry about hijacking #help with computer science semantics, haha. | 03:55:28 |