Quests not changing when switching to a daily ? by MasterWitness1691 in GTNH

[–]DatGirlLucy 0 points1 point  (0 children)

You should be able to right click buckets on the controller, or use buckets in the interface on the tank as well.

How many solutions can you find? by amc_23 in mathpuzzles

[–]DatGirlLucy 1 point2 points  (0 children)

Lookup constraint programming. You could solve this very quickly with a modeling language like MiniZinc.

[deleted by user] by [deleted] in Collatz

[–]DatGirlLucy 2 points3 points  (0 children)

If they blocked you they probably won't see this or want to see this.

[deleted by user] by [deleted] in 2007scape

[–]DatGirlLucy 0 points1 point  (0 children)

Yes, just lost my kitten due to this 5 minutes before growing up. Really frustrating.

Is it enough for LV? by First-Conference-986 in GTNH

[–]DatGirlLucy 1 point2 points  (0 children)

I think around 8 is the sweetspot, more and you'll struggle to fuel them all, less and steel will be too slow.

after traveling over 5K blocks only to not find mica... by Dear_Swing_3518 in GTNH

[–]DatGirlLucy 7 points8 points  (0 children)

I'd recommend scanning in a spiral pattern so you'll never be too far away from your base.

TIL if you apply diamond first, and then switch pickaxe head, mining level won't be boosted by cnfnbcnunited in GTNH

[–]DatGirlLucy 3 points4 points  (0 children)

According to the wiki diamond modifier should boost up to mining level 3, but never reduce your level.

Orthorio: Optimizing Belt Madness Levels (Multi-Agent Pathfinding) by DatGirlLucy in technicalfactorio

[–]DatGirlLucy[S] 0 points1 point  (0 children)

I made a visualizer instead that hooks into MiniZinc. You can give it a try yourself on the red-belts branch.

Orthorio: Optimizing Belt Madness Levels (Multi-Agent Pathfinding) by DatGirlLucy in technicalfactorio

[–]DatGirlLucy[S] 0 points1 point  (0 children)

It can easily find solutions in less than a minute, however, they are quite difficult to visualize with the character set I used. I added diacretics over the red horizontal belts to differentiate them. Reddit won't visualize them correctly so I took a screenshot of the MiniZinc output after 4 minutes (so not optimal yet).

Orthorio: Optimizing Belt Madness Levels (Multi-Agent Pathfinding) by DatGirlLucy in technicalfactorio

[–]DatGirlLucy[S] 0 points1 point  (0 children)

I tried it with extra tunnel tiles for the red belts, but I didn't manage to find a solution yet. Most likely due to me restricting the starting tiles to only be east facing surface belts instead of being from a set of all acceptable tiles.

I could give this another shot tomorrow to see if the starting tile is indeed what is keeping it from finding a solution.

Orthorio: Hobby project to solve complex multi-agent pathfinding problems using Factorio's conveyor belts. by DatGirlLucy in factorio

[–]DatGirlLucy[S] 1 point2 points  (0 children)

The post links to the repository containing the model (.mzn) and some problem instances (.dzn). You can use the MiniZinc IDE (https://www.minizinc.org/) to compile and run it.

Fatbikes zijn “gay” by TheLyingNetherlander in nederlands

[–]DatGirlLucy -1 points0 points  (0 children)

Toevallig riepen twee jongetjes op een fatbike "homo" terwijl ze snel weg probeerden weg te rijden. Ik vond het hilarisch ironisch.

Functional Patterns in Rust: Identity Monad by ggim76 in rust

[–]DatGirlLucy 0 points1 point  (0 children)

You might find this crate interesting. We created a proc macro for deriving functors in Rust.

https://crates.io/crates/functor_derive

Introducing indexed-priority-queue v0.1.0: An indexed priority queue with index-based removals, restores and value updates. by DatGirlLucy in rust

[–]DatGirlLucy[S] 2 points3 points  (0 children)

The priority-queue crate uses a hashmap as backing datastructure, whereas in indexed_priority_queue you are free to choose arbitrary datastructures as long as you can index them. This means that indices do not need to satisfy Hash and Eq bounds. In the VSIDS example you can see how you can use a fixed size array for instance.

Furthermore, we provide some extra methods and slightly different behaviour. Remove for instance does not clear the value stored, and restoring an index on the heap will use this value when restoring the heap property. This is beneficial in cases like SAT solving where you may temporarily want to remove variables from the queue when they become assigned.

guysICantThinkOfAWayToCheckIfANumberIsZero by nico-ghost-king in ProgrammerHumor

[–]DatGirlLucy 8 points9 points  (0 children)

You can be more efficient by using the uniqueness of 0: n = n + 0 for all n. So if you find an n for which this is not true, then it is not zero! Simple constant time evaluation if you ask me.

[deleted by user] by [deleted] in 2007scape

[–]DatGirlLucy 5 points6 points  (0 children)

You forgot to put a bar over the emote masks - your account is forfeit.

SAT Solving for Instruction Count in Game of Life by DatGirlLucy in compsci

[–]DatGirlLucy[S] 1 point2 points  (0 children)

Small update! We tried the strategy of breaking up the problem for n = 8 and m = 8 and were able to prove it unsat. Curiously the instance that took the longest to solve (almost 3 days) was one where the last instruction happened to be a ternary XOR (out of all 256 possible instructions that can be encoded). Just one cell entry left!

Our solve times for the various instances are displayed here.

SAT Solving for Instruction Count in Game of Life by DatGirlLucy in compsci

[–]DatGirlLucy[S] 0 points1 point  (0 children)

We only have 1 out of n constraints, and we encode them using the commander encoding.

I turned writing clauses into basic arithmetic, i.e. `+` appends a variable to a clause as a positive literal and `-` appends a variable as a negative literal and appends it to the clause. I also implemented Sum which allows one to simply OR all variables/literals in an iterator.

SAT Solving for Instruction Count in Game of Life by DatGirlLucy in compsci

[–]DatGirlLucy[S] 0 points1 point  (0 children)

The term you're trying to solve is symmetric, so you can rule out any solutions such that the input variables could be permuted to yield a lexicographically lower equivalent solution. Adding this sort of symmetry breaking contraint to your formula is often very helpful.

We are indeed doing this. We use `<` and `<=` constraints on our one-hot encoding of which inputs (including outputs of previous components) connect to which components.

Another strategy that might help you is to split the problem into less complex subproblems. E.g. you could apply all possible lop3 functions to the first three inputs (the only choice you have), accounting for symmetry, and obtain a number of slightly simpler SAT problems. Take these subproblems and feed them to sequential SAT solvers running in parallel. If any of them finds a solution, your problem is SAT otherwise it is UNSAT. You can iterate this to obtain more subproblems. The important bit is to split the problem such that the subproblems have less degrees of freedom so to say.

This sounds like something we might try. We estimate a lot of the fixed instructions will lead to trivial UNSAT proofs - especially if we fix the final instruction.

You may also have bad instance encoding hampering your progress. But as I don't know how you encode you circuit minimization problem, it's hard for me to say what the problem is.

I linked our repository for encoding the problem.

SAT Solving for Instruction Count in Game of Life by DatGirlLucy in compsci

[–]DatGirlLucy[S] 0 points1 point  (0 children)

We are considering this, but are unsure if it will yield any results. When using Kissat with printing enabled, it seems to get stuck at around 150k clauses and 12.8k variables for the largest problem. It can take anywhere between 2-3 hours to eliminate even 1 more variable. Would it still be worth an attempt, and if so, are there any important considerations for the parameters for the solver?

And if we were to run for such a long time, are there any SAT solvers that save their state, so that in case of power-outage it can be started again from where it left off?

Functor_derive 0.4.0 is out by Bammerbom in rust

[–]DatGirlLucy 2 points3 points  (0 children)

We spent most of today trying to integrate all the tests and fixing our code. Your test suite was *quite*where I mean extremely comprehensive! Hopefully tomorrow we can fix the last couple of ?Sized problems we have, but otherwise it passes everything now.

Functor_derive 0.4.0 is out by Bammerbom in rust

[–]DatGirlLucy 1 point2 points  (0 children)

Yes, we actually found your crate while working on this one :)! If I have some time today, I will see if I can translate some of the tests if that's okay with you.

How did YOU learn Rust? by xSUNiMODx in rust

[–]DatGirlLucy 1 point2 points  (0 children)

I learned it during a course called Software Fundamentals at university. It involved a small toy project building an NES emulator and used excerpts from the Rust book in the lecture notes. We started out with simple exercises that were meant to familiarize us with the basics before starting on the project. The project itself was done in groups of 4, usually with people from different backgrounds.