Hi everyone,

My name in Anna, and I'm a research fellow in #ArtificialIntelligence. I'm mostly interested in Boolean satisfiability and counting.

I'm a nerd, a feminist and a traveller, not always in that order.

I'm an expat who misses her friends and family, and recently moved in with a dog and a cat.

In my spare time, I like #hiking, #geocaching, #knitting, #reading, #cooking and #baking.

#introduction #introductions #AcademicMastodon #AcademicChatter #PostDocLife #CatsOfMastodon

@anna Welcome! So... Encode anything knitting wise into (#)SAT yet?

@cjmuise Thanks! Not really, yet. I think the closest I came was a cowl generated by Wolfram's Rule 30 (https://mathworld.wolfram.com/Rule30.html). I initialised the first 100 bits using the python random number generator, seeded with 42, and from then on just followed the Rule.

It was my first time using alpaca wool, and hadn't realised that it would smell of wet dog as soon as it gets wet, so I ended up never wearing it, unfortunately.

#knitting #automata #mathematics #maths #FunWithMaths #math #FunWithMath

Wolfram MathWorld: The Web's Most Extensive Mathematics Resource

Comprehensive encyclopedia of mathematics with 13,000 detailed entries. Continually updated, extensively illustrated, and with interactive examples.

@anna So cool!! Well, not the wet-dog-smell aspect of it...

I've always wanted to do something fun with @terri 's PyKnit project ( https://pyknit.readthedocs.io/en/latest/ ), and a SAT/CP based project has been on the top of the list.

Welcome to pyKnit’s documentation! — pyKnit 0.0.5a documentation

@cjmuise @terri Oooh that looks great! I wasn't aware of that python package, will have to try it out some time. Thanks for sharing!

As for CP or SAT: an obvious one would be something with the travelling sales person problem?

#knitting #mathematics #programming #python

@cjmuise @terri There's a technique called "Illusion Knitting", where the piece only has stripes when you look at it at a right angle, but reveals a pattern once you look at it from an angle of, say, \(\frac{\pi}{8} \leq \theta \leq \frac{3\pi}{8}\).

You could knit a map and have the shortest path revealed when looking at an angle \(\theta\)?

#mathematics #knitting

@cjmuise @terri Some work-in-progress pics from a baby blanket I once made. My apologies for the bad quality. I should really start taking pictures of finished projects! 😅

#knitting #stars

@anna @terri That's mind blowing! I had no idea of such a technique.

Now are you suggesting the TSP would help create such patterns, or just that it would be a cool thing to visualize with illusion knitting?

Any time I've tried to bit-blast my way through something with geometry and solve it with a SAT solve, it's been a mess. Feels like something that would need at least SMT.

I was thinking something along the lines of resource management on the yarn, or planning the actual pattern out.

@cjmuise @terri Ah, so you're proposing to cast (pun intended) the knitting pattern problem as a CSP/SAT/SMT problem that takes as input things like measurements and gauge and returns a solution that encodes a knitting pattern? That should be relatively easy for specific patterns, but hard to do in general.

@cjmuise @terri Creating a Mosaic Knitting pattern generator could be an interesting place to start. There are quite some limitations to mosaic knitting patterns, and they are typically geometric. It could be an interesting challenge to capture the rules of mosaic knitting into a CNF and have a solver generate solutions, then visualise them as patterns and allow the user to select one they like?

#knitting #geometry #programming #SATSolving #BooleanSatisfiability

@cjmuise @terri I only ever did one mosaic knitting pattern, and that was many years ago, so I'd have to refresh my memory on the details. See also: https://knitfarious.com/art-of-mosaic-knitting/

#knitting

The Art of Mosaic Knitting

If you’ve ever wanted to learn how to knit with two colors, mosaic knitting might be a great colorwork technique to try first.  Haven’t heard of

Knitfarious

@cjmuise @terri Oh, I found some pics of the fingerless gloves I knit in a mosaic pattern. I wore them so much that I eventually had to throw them out, because I couldn't repair the holes anymore.

#knitting #geometry #MosaicKnitting

@anna @terri So cool! And ya -- looking for a nice combinatorial nugget in the process of pattern construction (and hoping for something beyond just the design of the pattern image (e.g., visualizing a SAT theory on a scarf (though that'd be cool too!))).

From the link you sent, this quote (under "limitations") stands out:
> The pattern cannot have unlimited slipped stitches between worked stitches.

There some added constraints on what patterns are actually feasible with the technique?

@cjmuise @anna there's a nice generator with some explanation of the rules here: https://www.pakin.org/mosaicknit/

(I've used it to design mosaic patterns but it's been a while!)

Create your own mosaic knitting patterns

@terri @cjmuise Oooooooh yes! Something like this was what I had in mind, only with the generation process more automated, maybe with optional extra constraints that users can toggle, or with functionality for some kind of optimisation criterion (e.g., "try to get twice as many black squares as white squares"), or starting with one row or column as a prompt or something?

This is great, thanks for creating and sharing! 😍

#knitting #programming #MosaicKnitting

@cjmuise @terri Yes, the number of consecutive slipped stitches is an important constraint. The link that @terri shared contains a good summary of the constraints: https://www.pakin.org/mosaicknit/

I can imagine that you can make the patterns more interesting by allowing offset tiling, especially when knitting in the round. That could make patterns more interesting, and create an extra challenge for the modelling/encoding.

#knitting #CombinatorialOptimisation #programming

Create your own mosaic knitting patterns

@cjmuise @terri Having functionality for generating patterns with rotational and/or mirror symmetry would also be cool. I guess you'd get translational symmetry for free.