How can a jigsaw have two distinct solutions?

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ม.ค. 2025

ความคิดเห็น • 1.3K

  • @standupmaths
    @standupmaths  4 หลายเดือนก่อน +173

    Jane Street's paid internships are amazing! Tell people graduation by 2026/2027. jane-st.co/SUM-internships
    And yes, I'll visit at least the Hong Kong interns this June 2025. Maybe other Jane Street offices as well.

    • @Deragaergadgfadsfasd
      @Deragaergadgfadsfasd 4 หลายเดือนก่อน +6

      I think M.C. Escher would have loved all this, especially the bit about assembling the puzzle. 🧩

    • @wbfaulk
      @wbfaulk 4 หลายเดือนก่อน +3

      What exactly is "quantitive trading" (24:16) and how does it differ from "quantitative trading"?

    • @AexisRai
      @AexisRai 4 หลายเดือนก่อน

      Anyone interested in jigsaw puzzles and pure deduction should look up the puzzle "Cornered" by game developer Portponky.

    • @cicik57
      @cicik57 4 หลายเดือนก่อน +1

      nice puzzle, sorry very bad programming :D

    • @smithsmith6402
      @smithsmith6402 4 หลายเดือนก่อน +4

      I would desperately love to see this image generation applied to a Hexaflexagon for multiple finished images in the various configurations.

  • @NigelMelanisticSmith
    @NigelMelanisticSmith 4 หลายเดือนก่อน +2840

    "Terrible Python Code" is at "Say The Line, Bart" levels by now lol

    • @brianphelps2415
      @brianphelps2415 4 หลายเดือนก่อน +109

      I'm not complaining, it helps me with Parker Bingo!

    • @RavenMobile
      @RavenMobile 4 หลายเดือนก่อน +73

      Maybe bad Python code should be called Monty Python code.

    • @guiorgy
      @guiorgy 4 หลายเดือนก่อน +26

      Parker Code?

    • @1st2nd2
      @1st2nd2 4 หลายเดือนก่อน +6

      Cowabunga!

    • @vincentpelletier57
      @vincentpelletier57 4 หลายเดือนก่อน +5

      I didn't do it.

  • @Thagrynor
    @Thagrynor 4 หลายเดือนก่อน +1095

    The look of Matt's soul dying just a little when Steve uttered the phrase "public code review" is priceless lol .....

  • @IceMetalPunk
    @IceMetalPunk 4 หลายเดือนก่อน +3366

    Matt: "I wrote some terrible Python code."
    Me: "You're always so hard on yourself, Matt. I'm sure it's not *that* bad."
    Matt: "It brute-forces a combinatorics problem by exploring millions of permutations for guess-and-check at every iteration."
    Me: "...why must you Parker it again?"

    • @MatheusC1729
      @MatheusC1729 4 หลายเดือนก่อน +313

      Matt wrote MiracleSort Wikipedia page

    • @sixty502
      @sixty502 4 หลายเดือนก่อน +152

      this would be so faster if it included not rechecking the same permutation twice...

    • @bandana_girl6507
      @bandana_girl6507 4 หลายเดือนก่อน +169

      Hey, the *code* isn't terrible, it's the algorithm

    • @billybionicle
      @billybionicle 4 หลายเดือนก่อน +96

      ​@@bawilson999thats like pointing out there's chip in the paint of a car when the entire engine is missing

    • @unusedTV
      @unusedTV 4 หลายเดือนก่อน +82

      @@bawilson999 Recusion is fine if you can make it tail end recursion and avoid spamming the call stack, especially with Python's function overhead. But there's other low hanging fruit too: lists instead of tuples for the puzzle pieces mean he's allocating way more memory than necessary, as Python's lists are dynamic and preallocate extra room for future appends which he'll never need.

  • @Rubrickety
    @Rubrickety 4 หลายเดือนก่อน +1838

    I wrote what I thought was improved code for this problem, but when I ran it the lights on my Christmas tree went insane.

    • @LeeAnnC
      @LeeAnnC 4 หลายเดือนก่อน +23

      😆

    • @dinhero21
      @dinhero21 4 หลายเดือนก่อน +6

      I don't get it, are you referring to the quality (or lack thereof) and inconsistency (not really the word I was looking for but whatever) of the original code?

    • @xinpingdonohoe3978
      @xinpingdonohoe3978 4 หลายเดือนก่อน +26

      ​@@dinhero21 or perhaps the lights are flickering on and off in an attempt to create two distinct patterns simultaneously?

    • @OliverMarkewärn
      @OliverMarkewärn 4 หลายเดือนก่อน +177

      @@dinhero21I think he’s refering to when a fan made matt’s code like a billion times better, and that fans made programs to light his christmas tree

    • @patu8010
      @patu8010 4 หลายเดือนก่อน +5

      I thought it was a reference to Stranger Things. Like your code was so cursed, your house is haunted now.

  • @SJrad
    @SJrad 4 หลายเดือนก่อน +1950

    Topologically consistent jigsaw puzzle

    • @aleksitjvladica.
      @aleksitjvladica. 4 หลายเดือนก่อน +61

      What everybody thought but as a sentence.

    • @Supermath101
      @Supermath101 4 หลายเดือนก่อน +44

      You forgot to add the adjective "bistable" to the phrase.

    • @seventoast
      @seventoast 4 หลายเดือนก่อน +4

      I am pleased that someone beat me to this comment 😂 What an audience Matt has

    • @hilburn-
      @hilburn- 4 หลายเดือนก่อน +27

      I think they should be called "ambigsaws"

    • @gm2407
      @gm2407 4 หลายเดือนก่อน +5

      ​@@seventoastI am pleased there are so many topologist comments.

  • @ares395
    @ares395 4 หลายเดือนก่อน +1284

    Oh I can't wait for the "a viewer made my code *obscene number*% better"

    • @Thk10188965
      @Thk10188965 4 หลายเดือนก่อน +16

      Fairly sure that is a past video. Possibly with christmas lights if I remember correctly

    • @3nertia
      @3nertia 4 หลายเดือนก่อน

      @@Thk10188965 That's the joke!

    • @EggBastion
      @EggBastion 4 หลายเดือนก่อน

      @@Thk10188965/videos Yes, it's referenced right here in the video 12:48, but it'll happen again. Believe me. Unless Matt really turns a number of corners with his coding... it'll happen again.

    • @TheRenegade...
      @TheRenegade... 4 หลายเดือนก่อน

      @@Thk10188965 You're thinking of "Someone improved my code by *obscene number*%". Completely different concept

    • @xinpingdonohoe3978
      @xinpingdonohoe3978 4 หลายเดือนก่อน +47

      If he makes code that doesn't work, and a random guy improves it to make it work, we can just say the guy improved his code by ∞% which is probably the ultimate victory.

  • @WizoML
    @WizoML 4 หลายเดือนก่อน +287

    Even though it gets called terrible python code, I think this is a beautiful thing about python that lets people solve interesting problems with computing power. Putting optimization aside, 1. the problem statement and 2. an approach to solving it both show incredible creativity on Matt's part. That's why people click on the video in the first place. I'd be proud of writing "terrible" python code that can actually solve an interesting problem.

    • @oncedidactic
      @oncedidactic 4 หลายเดือนก่อน +13

      This for sure

    • @creativecraving
      @creativecraving 3 หลายเดือนก่อน +14

      Exactly. And, Matt's code is unoptmized for the same reason that every bit of code s less perfect than it "should" be: deadlines and competing priorities.

    • @finchhawthorne1302
      @finchhawthorne1302 3 หลายเดือนก่อน +4

      Yep. Programming is a tool!

    • @FriedMonkey362
      @FriedMonkey362 3 หลายเดือนก่อน +5

      And the best part is the code might not be optimal but it is already written, slightly more advanced programmers dont really have to understand how it works, because the code already works, they can read it and make slight/low hanging fruit performance improvements

  • @aidenkoh2426
    @aidenkoh2426 4 หลายเดือนก่อน +191

    I love that the mathematician in you felt the need to say “distinct” in the title.

  • @Zarunias
    @Zarunias 4 หลายเดือนก่อน +514

    And now I wish that a jigsaw publisher takes this concept and publish a little series of these with different pictures.

    • @KenLieck
      @KenLieck 4 หลายเดือนก่อน +11

      JIGAZO from Hasbro.

    • @danhorus
      @danhorus 4 หลายเดือนก่อน +40

      Somebody call Karen Puzzles

    • @Stratelier
      @Stratelier 4 หลายเดือนก่อน +29

      As a kid, I could've sworn Mom had a jigsaw puzzle which advertised the ability to assemble it in like six different ways (including a semblance of the Mona Lisa). And this was back in the 80s. I think the picture(s) had a square-tile-based mosaic aesthetic, with colors ranging from black to brown to orange to yellow.
      BUT as a childhood memory it is unreliable at best ... unless, of course, I actually find it again.

    • @AdnanAli-rb3lt
      @AdnanAli-rb3lt 4 หลายเดือนก่อน +6

      ​@Stratelier it might be Tenyo Jigazo. Not sure how old that puzzle is

    • @KenLieck
      @KenLieck 4 หลายเดือนก่อน +1

      @@AdnanAli-rb3lt 2010.

  • @apokatastasian2831
    @apokatastasian2831 4 หลายเดือนก่อน +550

    this has made me question every puzzle i've ever assembled. what lovecraftian horror, or forbidden knowledge eluded perception once again, simply because i followed the picture on the box

    • @nikkiofthevalley
      @nikkiofthevalley 4 หลายเดือนก่อน +43

      Nothing, because all normal jigsaw puzzles will only have one solution.

    • @5thearth
      @5thearth 4 หลายเดือนก่อน +136

      Fun fact: companies often reuse cutting patterns on different puzzles, so two puzzles with different images may have pieces of the same shape. So you can mix the pieces from one puzzle with another and make a combination image.

    • @bzboii
      @bzboii 4 หลายเดือนก่อน +4

      goated comment

    • @wintersxlstice21
      @wintersxlstice21 4 หลายเดือนก่อน +15

      this would be an awesome scp

    • @dinklebob1
      @dinklebob1 4 หลายเดือนก่อน

      ​@@nikkiofthevalley Look up The Magic Puzzle Company. Technically different (and certainly not normal), but still mind blowing.

  • @brandyballoon
    @brandyballoon 4 หลายเดือนก่อน +40

    As a software engineer currently studying intelligent systems and path finding search algorithms at post graduate level, this was fascinating and has given me a new problem to attack! Often the greatest challenge with something novel like this is figuring out how to make it fit an established algorithm. Sometimes you have a "oh it's just that one in disguise" moment, other times it truly is a unique problem.

  • @not_David
    @not_David 4 หลายเดือนก่อน +466

    I’m about half way through the video and really loving it but I’m starting to think/realize that years of blender donut tutorials have really done some irreparable psychological damage…

    • @chemistrymickey
      @chemistrymickey 4 หลายเดือนก่อน +29

      Oh my gosh, not_David! I love your maths videos too!

    • @WoolyCow
      @WoolyCow 4 หลายเดือนก่อน +25

      rare footage of an elusive not david spotted in the wild!

    • @oyora
      @oyora 4 หลายเดือนก่อน +10

      sprinkles 🥹

    • @artemis.nnnnnbbbbb
      @artemis.nnnnnbbbbb 4 หลายเดือนก่อน +5

      those blender donuts!!!

    • @Brandon-oc8lr
      @Brandon-oc8lr 4 หลายเดือนก่อน +6

      I can’t look at a sprinkle donut without a shiver going down my spine

  • @NonTwinBrothers
    @NonTwinBrothers 4 หลายเดือนก่อน +160

    A simple 'context' or 'result' would do, but Matt books it with SPUD.
    Very on brand

    • @baksatibi
      @baksatibi 4 หลายเดือนก่อน +9

      It reminds me of how you make a non-tail recursive function tail recursive. It doesn't really matter because jigchecker is a backtracking algorithm so it uses the call stack to store state and Python doesn't support tail call optimization anyway.

    • @johnrehwinkel7241
      @johnrehwinkel7241 4 หลายเดือนก่อน +3

      Every time it has a vision, it adds an eye. So eventually you end up with a potato with many eyes, or the Lovecraftian horror @apokatastasian2821 mentioned.

    • @HaloInverse
      @HaloInverse 4 หลายเดือนก่อน +4

      "It took _how_ long to complete? What are you running your code on, a potato?"

  • @pseudo_goose
    @pseudo_goose 4 หลายเดือนก่อน +498

    The Python code isn't as bad as the "version control"

    • @Bobbias
      @Bobbias 4 หลายเดือนก่อน +45

      I felt a chill run up my spine when I saw that.

    • @lindhe
      @lindhe 4 หลายเดือนก่อน +2

      Love that! 😂

    • @hentielover
      @hentielover 4 หลายเดือนก่อน +51

      At first I though Matt implemented some sort of version control software for whatever reason, so I thought "Sounds kinda difficult, it makes sense that it would suck", but then I read your comment again and understood that you meant 16:18, where you can see the interesting "version control"

    • @v0id_d3m0n
      @v0id_d3m0n 4 หลายเดือนก่อน +1

      oh lord

    • @icefreez3r815
      @icefreez3r815 4 หลายเดือนก่อน +1

      amongus

  • @Imperial_Squid
    @Imperial_Squid 4 หลายเดือนก่อน +368

    16:44 it causes me physical pain to see Matt naming his python files the way people label their English essay drafts lol

    • @xinpingdonohoe3978
      @xinpingdonohoe3978 4 หลายเดือนก่อน +5

      What would you name yours?

    • @LethalChicken77
      @LethalChicken77 4 หลายเดือนก่อน +12

      Honestly still better version control than github 😂

    • @bigsmoke6414
      @bigsmoke6414 4 หลายเดือนก่อน +78

      ​@@LethalChicken77lol no

    • @Anohaxer
      @Anohaxer 4 หลายเดือนก่อน +4

      amongus

    • @stefanalecu9532
      @stefanalecu9532 4 หลายเดือนก่อน +28

      ​@@LethalChicken77 you're as """good""" of a programmer as Matt is with that opinion

  • @geothermie_
    @geothermie_ 4 หลายเดือนก่อน +92

    Now I want to see the version with 10 solutions : the mug and the donut plus
    - A mario pipe
    - A watch
    - An unknnot
    - A top hat with the closing part ripped like in old disney shorts
    - The chaos emerald minigame from sonic 3
    - The twisty scares on a 2x2 grid
    - A pair of trousers with one leg knotted (bc why not?)
    - A squircle
    (I would have loved to find all 15 of them but that's all for me)

    • @clobre_
      @clobre_ 4 หลายเดือนก่อน +1

      that wouldn't generate very well :p

    • @im.empimp
      @im.empimp 3 หลายเดือนก่อน +1

      still needs a coffee pot

  • @wdvorak
    @wdvorak 4 หลายเดือนก่อน +13

    I'm a coder by passion and training. I love a simple bit of program code -- C, Python, Pascal, Forth, Lisp, Basic -- that does a simple operation (usually in the nature of a "tool"), but it can be easily followed (doesn't need excessive amounts of documentation), that fits on a screen or a couple of screens, that computes something quite complex. I actual like your coding. With time it can be optimized and refined, but it's not about the code, but the solution that you were after.

    • @kakaz98
      @kakaz98 หลายเดือนก่อน

      I 110% agree. It's much more important to get your initial program working than spend time trying to make it fast or elegant

  • @SupercriticalSnake
    @SupercriticalSnake 4 หลายเดือนก่อน +356

    5:18
    Person with a British accent: Open source.
    My brain: Mmmm.... open sauce.

    • @bacon.cheesecake
      @bacon.cheesecake 4 หลายเดือนก่อน +48

      William Osman has a convention for you

    • @MichaelPiz
      @MichaelPiz 4 หลายเดือนก่อน +3

      Language barriers are fun. 😁

    • @ares395
      @ares395 4 หลายเดือนก่อน +8

      @@MichaelPiz That's not... relevant here...?

    • @jameswise9171
      @jameswise9171 4 หลายเดือนก่อน +17

      @@ares395The distinctions between language, dialect, and accent get VERY blurry

    • @gswcooper7162
      @gswcooper7162 4 หลายเดือนก่อน +25

      I, a British person: Wait, you pronounce "sauce" and "source" differently?

  • @wiiza4ever
    @wiiza4ever 4 หลายเดือนก่อน +88

    If we don't require the edge of the jigsaw to be straight, there should be a pleasant cut that achieves the rotating square effect from Steve's demonstration.

    • @xinpingdonohoe3978
      @xinpingdonohoe3978 4 หลายเดือนก่อน

      With all those holes and lumps, we can say they're already not straight, so let's do it.

    • @lrizzard
      @lrizzard 4 หลายเดือนก่อน +13

      if the puzzle includes false edges, it might be possible to have both have straight edges with different edge pieces. but that makes it very complicated

    • @ApothecaryTerry
      @ApothecaryTerry 3 หลายเดือนก่อน

      Given the context of the video, someone has to get an AI to solve the puzzle bit...

    • @wiiza4ever
      @wiiza4ever 3 หลายเดือนก่อน

      @@ApothecaryTerry The AI is to create the picture, not to solve the puzzle.

    • @ApothecaryTerry
      @ApothecaryTerry 3 หลายเดือนก่อน

      @@wiiza4ever I know, that was my point - we're looking for a solution to solve the puzzle so, given the context of the video, someone should train an AI to do that.

  • @LinusBoman
    @LinusBoman 4 หลายเดือนก่อน +80

    In and out combos? I prefer the technical term "knobbly bits".

    • @lrizzard
      @lrizzard 4 หลายเดือนก่อน +3

      oh it's you!

  • @permalost4059
    @permalost4059 4 หลายเดือนก่อน +4

    I was thinking about laser cutting it on cardboard as Matt was talking about making it yourself. Very happy when Steve mentioned it directly afterward, and devastated when I found out there is no already made file.

  • @konstanty8094
    @konstanty8094 4 หลายเดือนก่อน +21

    The code is good if it does the job and you don't intend to reuse it.
    some simple fixes:
    - instead of int(a/b) you can do a // b
    - instead of using lists to represent the pieces, you can use tuples (they are easier on the memory)
    - instead of putting a large portion of code in the body of `if candidate_poential`, you can do `if not candidate_poential: continue` to make the code less nested.

    • @daniel.watching
      @daniel.watching 4 หลายเดือนก่อน +5

      You could massively save time with a bit of numpy. Start by representing each "pair" as a byte where they are each other's compliment (bitwise inverse). It would fit in a byte or even a nibble.
      Then you can pre-calculate an array of the top-two edges of every price in its four orientations (so 25x4 or 100 bytes/16-bit uints). Then for each iteration of the "checker" all it needs to do it concat the left and top edge for that slot and then bit-wise OR against the array. Then logical NOT the result and you'll have a logical array of every match.
      If you pass down a list of "already used" indicies (or a boolean array) then you don't have to copy the puzzle or the pieces with each recursion step.
      Finally, wrap the whole thing up in a numba decorator so it can JIT-compile the recursive part of the function and you've got a ~1000x speed improvement without changing any of the behaviour or doing anything particularly fancy.
      Of course the best way to save time would be to turn the problem on its head and generate a puzzle with the properties you want rather than find one in randomness. Matt's approach is the equivalent of trying to generate a sudoku puzzle by randomising all the numbers and checking if it's still valid. It's conceptually easier but so many orders of magnitude slower.

    • @kakaz98
      @kakaz98 หลายเดือนก่อน

      Good suggestions

  • @Ryan25116
    @Ryan25116 4 หลายเดือนก่อน +21

    'Matt Parker - lower third enthusiast' while placed in the lower third is a deep level of humor that tickles my brain in just the right way

  • @NolieRavioli
    @NolieRavioli 4 หลายเดือนก่อน +110

    my 4k video buffered for a minute when you introduced the noise to the screen thats pretty epic

    • @bacon.cheesecake
      @bacon.cheesecake 4 หลายเดือนก่อน +24

      Being a mess with no patterns, noise is really hard to compress, so it takes a lot more data than video of a couple blokes sitting in front of a still background

    • @OmateYayami
      @OmateYayami 4 หลายเดือนก่อน +9

      Ooohhhhh, so that's why the video stuttered... I thought I need to check my WiFi signal and router antenna lol.

    • @NolieRavioli
      @NolieRavioli 4 หลายเดือนก่อน +2

      @OmateYayami I thought it was part of the video for a couple seconds, ngl

    • @dielaughing73
      @dielaughing73 4 หลายเดือนก่อน

      That's entropy for ya

    • @NolieRavioli
      @NolieRavioli 4 หลายเดือนก่อน

      @@dielaughing73 what's entropy?

  • @theminecraft4202
    @theminecraft4202 4 หลายเดือนก่อน +20

    I like to imagine Steve got the coffee mug again when reassembling it and had to give it another go around

  • @Sjoerd-gk3wr
    @Sjoerd-gk3wr 4 หลายเดือนก่อน +514

    they are 2 donuts I dont see the difference

    • @mimasweets
      @mimasweets 4 หลายเดือนก่อน +4

      Lol

    • @XxKilleredxX
      @XxKilleredxX 4 หลายเดือนก่อน +42

      I don't even plan on watching this video until later; just came here to make sure someone made this joke.

    • @Carbon_Crow
      @Carbon_Crow 4 หลายเดือนก่อน +51

      We found the topologist!

    • @Fanny-Fanny
      @Fanny-Fanny 4 หลายเดือนก่อน +28

      That is no way to speak about these two announcers 😉

    • @orterves
      @orterves 4 หลายเดือนก่อน +16

      Nonsense, those are two coffee mugs

  • @genericgamer2003
    @genericgamer2003 4 หลายเดือนก่อน +163

    Haha 12:48 poor Matt is never going to live down the fourty billion percent increase in code efficiency

    • @xM0nsterFr3ak
      @xM0nsterFr3ak 4 หลายเดือนก่อน +1

      That's what i thought 😂

    • @MttGaming904
      @MttGaming904 4 หลายเดือนก่อน

      ikr

    • @vsm1456
      @vsm1456 3 หลายเดือนก่อน +2

      that was not the end. by the time the video came out people found even better solutions, so fast that reading file with words from a disk took more time that the execution of the code

  • @thedayb4tomorrow
    @thedayb4tomorrow 4 หลายเดือนก่อน +17

    The Matt Parker Process:
    Strange idea -> terrible python code -> spreadsheets -> magic 🙂

  • @matthewmilunic612
    @matthewmilunic612 4 หลายเดือนก่อน +224

    The hidden joke that to a mathematician a coffee mug and a donut are the same is very sneaky.

    • @andrasbiro3007
      @andrasbiro3007 4 หลายเดือนก่อน +20

      You can tell he's a mathematician, because he used a coffee mug instead of a teapot (famous computer graphics object).

    • @elementw74
      @elementw74 4 หลายเดือนก่อน +10

      @@andrasbiro3007 A teapot has a genus of 2 (handle + spout) while donuts and mugs have a genus of 1 (handle), so the joke would fall apart.

    • @saarl99
      @saarl99 3 หลายเดือนก่อน

      It really isn't...

    • @KeaveMind
      @KeaveMind 3 หลายเดือนก่อน

      How is it the same?
      I dont get how math people see the world..
      Is it cause both have a ring??

    • @matthewmilunic612
      @matthewmilunic612 2 หลายเดือนก่อน +2

      @@KeaveMind Well its a common topology joke basically saying that since a donut and a coffee mug both have one hole, they are topologically equivalent. The joke is that since they're topologically equivalent they're the same (which obviously isn't true), but it does come with some symbolism that through some rearranging, you can morph one into another.

  • @riuphane
    @riuphane 4 หลายเดือนก่อน +5

    Steve's video was fascinating, but i did not expect this video to be so dramatically different for being related and having overlap

  • @mimasweets
    @mimasweets 4 หลายเดือนก่อน +29

    Make a 500 piece one and take it to the speed puzzle solving world championship 😂

  • @MeisterKleisterHeisstEr
    @MeisterKleisterHeisstEr 4 หลายเดือนก่อน +10

    This reminds me of an idea I read in a philosophy book. It's theoretically possible via radical translation to create two very different dictionaries of some foreign language x, both equally valid. The book also contained a 4x4 crossword puzzle that had 2 possible solutions. He called it a "Quinian Crossword Puzzle", in case you wanna look it up.

  • @mikerich32
    @mikerich32 4 หลายเดือนก่อน +40

    1:11 this needs to become a meme, I swear 😂

    • @thinecyber_cat
      @thinecyber_cat 4 หลายเดือนก่อน +3

      Someone please make a gif of it

    • @danijelandroid
      @danijelandroid 4 หลายเดือนก่อน +1

      What?

    • @mr.duckie._.
      @mr.duckie._. 3 หลายเดือนก่อน

      donutjumpscare.gif

  • @BramCohen
    @BramCohen 4 หลายเดือนก่อน +22

    If you're going the route of simply taking random assignments of edges and checking if that has other solutions then you can get a big speedup by having the alternate checker start in the upper left corner then go right, down, left, down, right, right, up, up, right, etc. forming a sort of zig-zag going out. But I suspect that's not a great overall approach. Far more promising is to a priori decide what the remapping is between the two solutions, check for what the different potential assignments of edges can be given those restrictions (there will be a lot of chains of 'these edges must be the same' and you can specifically tailor it so the chains are 'good' lengths) then check those to see if they have extraneous solutions.

  • @lexbailey
    @lexbailey 4 หลายเดือนก่อน +8

    14:15 "fade from reality" is my new favourite synonym for "terminate"

  • @larspos8264
    @larspos8264 4 หลายเดือนก่อน +143

    Now we want a three solution jigsaw puzzle

    • @SupremeInvigilator
      @SupremeInvigilator 4 หลายเดือนก่อน +1

      Infinitely many!

    • @d3vitron779
      @d3vitron779 4 หลายเดือนก่อน

      @@SupremeInvigilatorpixels

    • @dropkickedmurphy6463
      @dropkickedmurphy6463 4 หลายเดือนก่อน +2

      Yes, a puzzle with n solutions

    • @xinpingdonohoe3978
      @xinpingdonohoe3978 4 หลายเดือนก่อน

      ​@@SupremeInvigilator would you need to break the initial photo into a continuum?

    • @terry_the_terrible
      @terry_the_terrible 4 หลายเดือนก่อน +4

      I think it would be much easier to find a 4 solution puzzle rather than a 3 solution puzzle.

  • @dojelnotmyrealname4018
    @dojelnotmyrealname4018 4 หลายเดือนก่อน +80

    Fun fact: Jigsaw puzzle makers often reuse cuts. So you can replace pieces of one jigsaw pieces with pieces of a different jigsaw puzzle, as long as they have the same amount of pieces and came from the same manufacturer.

    • @dankeseb4825
      @dankeseb4825 4 หลายเดือนก่อน

      A point noticed by Dave Gorman (and family members who receive jigsaws as gifts from him) 😊
      th-cam.com/video/wRxslt5XLnk/w-d-xo.htmlsi=e3BqV5yiTEX6sLFG

    • @amarissimus29
      @amarissimus29 4 หลายเดือนก่อน +2

      And the same picture on them.

    • @richardking4514
      @richardking4514 4 หลายเดือนก่อน +16

      ​@@amarissimus29There's a fun series where someone combined two puzzles at a time to make creative mashups. I just did a quick search, the artist is Tim Klein.

    • @Caltor_Storm
      @Caltor_Storm 4 หลายเดือนก่อน +7

      Dave Gorman did it too in Modern Life is Goodish

    • @GetToTheFarm
      @GetToTheFarm 3 หลายเดือนก่อน +1

      @@Caltor_Storm was just thinking the same thing that was a funny episode!

  • @Yatornado
    @Yatornado 4 หลายเดือนก่อน +17

    One obvious optimisation if you haven't done so. When you fit a piece it only depends on the pieces to the left and to the top. You could've precalculate answers to each combination of 3 pieces incliding empty space (26*25*24 combinations) and get a precalculated answer instead of computing them each time. All this rotations etc done only 26*25*24 times instead of 25! times.

    • @daniel.watching
      @daniel.watching 3 หลายเดือนก่อน +1

      I said this on another post but yes and you could take it a step further and concat the two pre-calcualted edges into a single digit (with some bit shifting etc) and then you can store them in a numpy array and use a single operator to find every valid piece/rotation, no loops required.
      You should probably do the edges and corners first though because they're an exception. Each only has one valid rotation and the middle and edge pieces are mutually exclusive.

    • @nsiivola
      @nsiivola 3 หลายเดือนก่อน

      This ☝️

  • @jonathanjoestar1938
    @jonathanjoestar1938 4 หลายเดือนก่อน +7

    This jigsaw has 2 solutions.
    Topologist: no it doesn’t.

  • @JohannaMueller57
    @JohannaMueller57 3 หลายเดือนก่อน +1

    can't express how much i love steve and matt

  • @Dalemoooooon
    @Dalemoooooon 4 หลายเดือนก่อน +48

    "Technically, there is a better one out there"
    So is this one the Parker Puzzle? Close to perfect, but not quite.

  • @asitisrequiredasitisrequir3411
    @asitisrequiredasitisrequir3411 4 หลายเดือนก่อน +5

    genuinely amazing. I want one of those block things that steve played with halfway through

  • @mister19stick
    @mister19stick 4 หลายเดือนก่อน +3

    i like the way you convinced Steve it's inTERNship, and kept it up in person. Matt, well played.

  • @M4TCH3SM4L0N3
    @M4TCH3SM4L0N3 4 หลายเดือนก่อน +18

    Variants #15 and #20 were my preferred mug/donut examples.

  • @TeagueChrystie
    @TeagueChrystie 4 หลายเดือนก่อน +11

    Watching that puzzle UV animate blew my mind.

  • @oasntet
    @oasntet 4 หลายเดือนก่อน +119

    It's an interesting application of AI, but I wonder if an artist could now step in and drastically improve both solutions, using a drawing application that shows both permutations side-by-side.

    • @hoebare
      @hoebare 4 หลายเดือนก่อน

      I would love to see that process and hear the artist's thoughts before, during and after.

    • @Bedinsis
      @Bedinsis 4 หลายเดือนก่อน +21

      Probably someone like John Langdon (who made the ambigrams for the Dan Brown novel Angels and Demons).

    • @lucbloom
      @lucbloom 4 หลายเดือนก่อน +19

      That tool exists, in Steve’s video. Need to find the artist.

    • @geekjokes8458
      @geekjokes8458 4 หลายเดือนก่อน +5

      it's not exactly the same, but it reminds me of those drawings of like "how many people" where you move something and count, then there are 11 or 12... (i think there's even a numberphile video on that)

    • @eragon78
      @eragon78 4 หลายเดือนก่อน +1

      It would be extremely difficult, but maybe its possible.

  • @weaselcon
    @weaselcon 4 หลายเดือนก่อน +6

    Oh man, I feel like a Collab between Matt and Stuff Made Here would be EPIC!!!

  • @jonasla4011
    @jonasla4011 4 หลายเดือนก่อน +1

    Is there anything better than this duo? The smile on my face every time I see a new collab on one of the channels

  • @stoatystoat174
    @stoatystoat174 4 หลายเดือนก่อน +4

    As someone born before home computers were in homes I am still a bit amazed by
    The machine learning for making the images
    Matt using computer to do his maths for him
    A network of other humans who will use machine learning to help them with code to use computers to do Matt's maths better

  • @ahirshfield
    @ahirshfield 4 หลายเดือนก่อน +1

    I like the little circle with realtime reaction of Steve’s expressions whilst Matt takes him through the graphs and code. Just so that we can all see if Steve does one of those stifled internal yawns through clenched teeth.

  • @thefoxoverlord
    @thefoxoverlord 4 หลายเดือนก่อน +40

    i wonder if you could make an art program that shows two simultaneous viewports, one in each puzzle arrangement, of the same canvas, so that you could draw both solutions at the same time

    • @egodreas
      @egodreas 4 หลายเดือนก่อน +21

      There are many image editing applications that can apply ST maps and show both the original and remapped image. I work in VFX, and can do it with the industry standard compositing application called Nuke, for example. And I can paint on it while viewing both images simultaneously. Not sure what the simplest available program would be though. All the ones I can think of are rather specialized, and perhaps a bit technical (not to mention expensive).

    • @Gudine
      @Gudine 4 หลายเดือนก่อน +5

      I know Blender has UV Map support, so maybe it can do that

    • @potetopancakes
      @potetopancakes 4 หลายเดือนก่อน +18

      yes !!! the AI images are interesting but i would love to see someone draw one of these themself, since a lot of people are iffy on the morals of generative AI

    • @Purplesquigglystripe
      @Purplesquigglystripe 4 หลายเดือนก่อน +1

      It would be cool if you could input your own images too and the computer finds a way to make them compatible.

    • @eragon78
      @eragon78 4 หลายเดือนก่อน +3

      @@potetopancakes I mean this is one of the best applications of AI, I dont think there really is much of a moral problem with this specific use case.

  • @andonel
    @andonel 4 หลายเดือนก่อน

    You never get to hear Steves hearty laugh in his own videos (Probably because he's by himself). It's great and I love it!

  • @theyruinedyoutubeagain
    @theyruinedyoutubeagain 4 หลายเดือนก่อน +11

    With all this effort, Matt will eventually become a half-decent programmer 😄FWIW the code is indeed terrible, but that's why we love you

  • @quadrplax
    @quadrplax 4 หลายเดือนก่อน +2

    This is one of the most interesting ideas I've seen for using AI image generation! Now I want one of these and look forward to viewers improving on the idea

  • @Nacimota
    @Nacimota 4 หลายเดือนก่อน +54

    lol "Lower Third Enthusiast"; you're killing me already, Matt

    • @dpatts
      @dpatts 4 หลายเดือนก่อน +23

      For those (like me) who didn't know:
      The lower third is the area of the screen that videographers use for text and graphics, usually to identify who's on camera and what they do. It's a frivolous and self-referential joke, and yes it's very funny, but nobody tell Matt. It will only encourage him

    • @lucbloom
      @lucbloom 4 หลายเดือนก่อน +4

      @@dpatts thank you captain 🫡

    • @meijuta
      @meijuta 4 หลายเดือนก่อน +5

      @@dpatts ty

  • @atomic3691
    @atomic3691 4 หลายเดือนก่อน +7

    I can't wait until Matt comes out with his 10th Jigsaw sequel

  • @vighneshsivakumar3418
    @vighneshsivakumar3418 4 หลายเดือนก่อน +13

    I would love to see an artist take a crack at drawing a two solution puzzle

  • @Pleeze
    @Pleeze 4 หลายเดือนก่อน +4

    Can't wait to see everyone's better Python code.
    I don't know if it helps much, but I could create Photoshop Actions for rearranging the pieces in 1 go.
    Also, maybe it's worth a try to make human art the same way, so like, the artist starts sketching something loosely, rearranges the pieces, continues the drawing, rearranges the pieces again and continues... repeat until both versions look decent

    • @whyitisme2410
      @whyitisme2410 4 หลายเดือนก่อน

      Sounds so cool to draw both version at the same time manually

  • @teddy4271
    @teddy4271 4 หลายเดือนก่อน +6

    So for code optimizations it would be helpful to generate edges first without considering interior pieces at all. If you only consider edges and corners, they must have two connections each, which makes permuting them very cheap relative to the full 5x5 brute force method. Since nothing else can go in the edge slots, either, you can consider edge connections as belonging to a separate group from the center connections. 16 unique connection types for a single solution puzzle mean you'd need at most 8 unique connections dedicated just for the edges, none of which need to be considered again for the interior, leaving a 3x3 interior that just needs to satisfy two different edge configurations. And those interior pieces only need 24 connectons, leaving 12 in the perfect case.
    Generate pieces as you need them, don't just guess and check.

  • @Apophlegmatis
    @Apophlegmatis 4 หลายเดือนก่อน +1

    I am especially pleased the fact that the solutions have the same implied topography

  • @fudgesauce
    @fudgesauce 4 หลายเดือนก่อน +22

    I have a puzzle that has 1280x1024 pieces and the number of images I can generate by rearranging the pieces is astounding.

    • @karlhendrikse
      @karlhendrikse 3 หลายเดือนก่อน +1

      You aren't rearranging them though, and also, please get a new monitor

    •  2 หลายเดือนก่อน

      @@karlhendrikse An aspect ratio of 5:4 is rather strange.
      4:3 is the usual old format, and 16:9 is the most common one now.

  • @joseywales6168
    @joseywales6168 4 หลายเดือนก่อน +33

    Why is Steve EVERYWHERE
    I love all the science tuber collabs

    • @insu_na
      @insu_na 4 หลายเดือนก่อน +12

      Matt and Steve have been friends for a very long time, probably before TH-cam even existed. They've been doing maths comedy together for many years

    • @lucbloom
      @lucbloom 4 หลายเดือนก่อน

      Where is he else?

    • @xerfrex7869
      @xerfrex7869 4 หลายเดือนก่อน +1

      @@lucbloom He recently made an Assasin's Water Bottle with Vsauce

  • @platinummyrr
    @platinummyrr 4 หลายเดือนก่อน +4

    matt: technically there is a better one out there
    everyone: so what you're saying is that this is the parker jigsaw puzzle?

  • @JohnDoe-nq4du
    @JohnDoe-nq4du 3 หลายเดือนก่อน +1

    The intro wasn't the surprise you were hoping it'd be, because we all already know that mathematicians can't tell a donut from a coffee cup: they're the same shape.

  • @feffy380
    @feffy380 4 หลายเดือนก่อน +6

    If anyone's wondering why the images look kinda distorted (oversaturated, noisy, etc), this is because Stable Diffusion's VAE (image encoder) is not robust to transformations on the encoded latents. Some of the latent pixels encode global information that gets corrupted when you rearrange things. I think the only way to avoid this would be to perform the transformations in pixel space instead of latent space, but this is incredibly expensive because that means you need to decode and re-encode the image on every single denoising step

    • @dave7038
      @dave7038 4 หลายเดือนก่อน

      How expensive are we talking, and do you suppose that the resulting image would be substantially better?
      If it's only, like, an order of magnitude or two more expensive it seems like it would be worth trying.

    • @dave7038
      @dave7038 4 หลายเดือนก่อน

      Partially answering my own question, it appears to take around 3 times longer to decode/re-encode on each step.
      Since I don't have a clue how to use this thing, I'm doing something wrong and can't get a valid image out of a step-by-step image generation, but the basic process isn't absurdly slow.

  • @jack-mil9150
    @jack-mil9150 4 หลายเดือนก่อน

    what a good video format! I love that you are explaining to each other instead of the audience!

  • @thedead456321
    @thedead456321 4 หลายเดือนก่อน +12

    2:56 I could swear when i was younger I had a toy like this that wouls display two differents images with this sytem. But I was like 5 or 6 and it was a time at the peak of cassette tapes.

    • @xinpingdonohoe3978
      @xinpingdonohoe3978 4 หลายเดือนก่อน +3

      I feel like I did, but then I realised it might have just been those sliding square puzzles.

  • @brololler
    @brololler 3 หลายเดือนก่อน +1

    that was a very convoluted way of proving that a donut and a coffee cup is homeomorphic

    • @kingasparagoose6849
      @kingasparagoose6849 3 หลายเดือนก่อน

      Does not prove it. While its true that they are, you could make this with things that are not

  • @MichaelJM
    @MichaelJM 4 หลายเดือนก่อน +5

    12:14 "Technically there is a better one out there." I'd expect nothing less from a Parker Puzzle!

  • @oc-steve
    @oc-steve 3 หลายเดือนก่อน

    Forget the maths and code for the jigsaw, i just love the examples of making two different pictures from the same pieces. Looks like magic.

  • @joseville
    @joseville 4 หลายเดือนก่อน +5

    You could model the edges as positive numbers for outies and negative numbers for innies. Outie A fits into innie alpha iff outie A is represented by +n and innie alpha is represented by -n. A solved puzzle will have all outie and innie pairs adding to 0.
    15:50 If that's all SPUD is doing, and it doesn't ever get modified, then you can just define SPUD outside your recursive function (no need to pass it in as a parameter), and it can be accessed from any call to the function.

  • @scottwright7177
    @scottwright7177 4 หลายเดือนก่อน

    A couple of my favorite TH-camrs together! Amazing!

  • @furbyfubar
    @furbyfubar 4 หลายเดือนก่อน +10

    I feel like I'm *probably* missing something crucial here? Couldn't this problem be solved with just pen and paper? If we select two different piece orders that are sufficiently different and then simply pair up the edge shapes so that we have the 7:50 "terrible way to do it" of having each edge fit in exactly two places?
    If we do that naively I can see that we will run into one issue with parity, but I think I found two different ways around it. So here's my best solution explained with way more words:
    1. We start with a single jigsaw layouts with all (non edge/corner) pieces have alternating innie and outie edges when going around the piece. Let's say all innies are identical for now so pieces can be moved around.
    2. We then move around and rotate the pieces so that we break up as many edges as possible. But we take care to preserve the the parity of innies and outies. A rotation of 90 degrees changes the parity, as does one more left, right, up, or down. If we want to be able to swap corner pieces around this means that we need a puzzle size that has an even number of pieces along each side, so 5x5 is out. But that's OK, I'm looking to draw a proof of concept on paper, so 2x2 is probably a better size to start. Let's name the pieces ABCD in reading order and make a terrible ASCII representation that youtube not having uniform character width will no doubt mess up. (You can copy paste this comment to notepad if you need to make it easier to read.)
    A | B
    -----
    C | D
    3. Let's number all the (non-straight) edges of the pieces. Since we care about innie and outie, (as an innie can't become an outie when later make some edge shapes identical), we make all the innies even numbers and all the outies odd numbers.
    A1|2B
    4 | 5
    -----
    3 | 6
    C8|7D
    In the ASCII above I'm *trying* to show that I made the pairs (1,2) (4,3) (5,6) (8,7) connect.
    4. So having drawn up a 2x2 jigsaw it looks like any corner piece can now be moved to any other corner; the rotation to make the corners be rotated correctly to still end up with a square puzzle afterwards works out for the parity of having the innie and outie edges always stay in the same place on the grid. This should still work for any jigsaw size where the side lengths are even.
    5. Time to move some pieces: So we have 4! possible orderings on the 4 pieces. But 4 re-orderings are out since they either *are* the original ordering, or a rotation of it. So we now semi-arbitraryly select to swap places of the top two pieces, and then also swap places of the bottom two pieces. This isn't obvious without drawing it, but this means all original connected edges have been broken up.
    This gives us:
    B5|4A
    2 | 1
    -----
    7 | 8
    D6|3C
    All the pieces are now moved and rotated 90 degrees, and our new edge pairs are: (5,4) (2,7) (1,8) (6,3). As all the odd numbers are still in positions where they were odd before we haven't accidentally changed any innie to be an outie.
    6. This means that to make our four piece jigsaw with two solutions we should only need to make these edges be identical:
    (1,7) (2,8) (3,5) (4,6)
    So, am I missing something? Is there some reason why this couldn't scale up to a puzzle of bigger size?
    Oh right, I wrote that I found two different ways around the parity issue. The other solution is to make it so that each edge shape is rotationally symmetrical. But this means that all edges are both innies and outies, so that solution didn't feel like it was in the spirit of the problem Matt was trying to solve.

    • @georgelionon9050
      @georgelionon9050 4 หลายเดือนก่อน +3

      I'm thinking the same, the problem is solveable manually, just first make up which pieces you want to switch, then draw the in/out edges as duplicates of those edges, every pair with a unique in/out.

    • @Txyxy1
      @Txyxy1 4 หลายเดือนก่อน +2

      You can try it, but I guess you would end up with puzzle that has more than two solutions.

    • @furbyfubar
      @furbyfubar 4 หลายเดือนก่อน +3

      I just drew up a 4x4 example to see if you were right. You don't seem to be, but proving that it can't happen with any rigor isn't all that easy. Or not easy enough that I'm about to get nerd sniped into trying to do it at 1:40am. I can tell for sure that the first quick 4x4 example I drew up only has two unique solutions though.
      I can sort of see why you'd think that it might cause multiple solutions though, as each piece goes into subgroup of spaces it can be moved to. (For 4x4 the groups are: Corners, even edges, odd edges, and middles. The two edge groups can't swap between each other without swapping innies for outies. For a bigger puzzles the number of subgroups seem to stay at 4 though.) So I agree that it *feels* like this might mean that since the multiple smaller subgroups will have to have their own loops/swaps of what pieces they trade places with, these groups could be independent for the solutions as well creating multiple unintended solutions. But that would only be true if puzzle pieces only had a single edge each. Since each puzzle piece has 2 to 4 edges each decision you make force the decisions for other edges.
      So the way it actually works out is that since each edge is only possible to connects to two other edges, once you select two pieces to connect, this leaves some other piece with only one possible connection. So since that connection is forced we make it. But using that piece removes the only possible connection from some other piece and so on. (The thing I can't prove with much rigor is that this *always* happens no matter what swap choices I make for the two solutions.)
      Or the other way to look at it: If I connect two edges that only go together in the first solution and I also connect another edge on one of *those* pieces with an edge it only goes with in the seconds solution I will quickly run into a contradiction where some edge either needs to be connected to two different edges, or it will lead to some unused edge that won't have any legal connection left.

  • @andrasbiro3007
    @andrasbiro3007 4 หลายเดือนก่อน +13

    Reminds me of old factories that were primarily making civilian stuff, but could be quickly reconfigured to make weapons. There's an old joke about this, where a guy working in a sewing machine factory steals pieces one by one, but when he tries to put it together at home he always gets an assault riffle.

  • @macronencer
    @macronencer 4 หลายเดือนก่อน +2

    OK, too many comments queued in my brain so bullet points.
    * I'm a big fan of puzzles of all kinds. This is one of the greatest videos you've made, and the detail level was appreciated very much!
    * This might be the thing that finally makes me a little bit interested in AI... and that's a high bar.
    * I appreciate the appropriate choice of mugs on the table.
    * M C Escher would probably have LOVED to see this happen.

  • @uninable
    @uninable 4 หลายเดือนก่อน +48

    I enjoy the unnecessary rotoscoping on Steve's hand and the mug at 1:43

    • @MichaelJM
      @MichaelJM 4 หลายเดือนก่อน +10

      Ha nice catch. I appreciate it though. Makes for a cleaner video. I didn't even notice.

    • @MichaelDarrow-tr1mn
      @MichaelDarrow-tr1mn 4 หลายเดือนก่อน +3

      Pretty sure that's done with luma keying

    • @gus_melton
      @gus_melton 4 หลายเดือนก่อน +2

      ⁠@@MichaelDarrow-tr1mn my money is on roto

  • @minaballerina
    @minaballerina 4 หลายเดือนก่อน +31

    omg karen puzzles needs to do this

    • @mracin24
      @mracin24 4 หลายเดือนก่อน +2

      Came here to add this comment and saw it's already here!

  • @VaughanMcAlley
    @VaughanMcAlley 4 หลายเดือนก่อน +1

    The history of music is full of people creating musical lines that will fit in more than one context, and (usually) mathematically inclined theorists showing how to do so. Jacob Gran recently did a series of videos about the late 19th century Russian theorist Taneev which I found very interesting.

  • @sociallysupreme7101
    @sociallysupreme7101 4 หลายเดือนก่อน +8

    donut and a mug, do i smell topology?

  • @dolphinbro3300
    @dolphinbro3300 4 หลายเดือนก่อน

    I love that warm chuckle that Steve gave when seeing how Matt named his constant for mutations per round ( 17:02 )

  • @avramlevitter6150
    @avramlevitter6150 4 หลายเดือนก่อน +3

    Something that's both a donut and a coffee cup? You've just summoned the topologists!

  • @SeanHoulihane
    @SeanHoulihane 4 หลายเดือนก่อน

    I do like the way that you show how functional code beats performant code, at least if you only need it to run once, and if you have enough time. For non-programmers, this is important. Its probably important to know there are more optimal solutions, but all to often its not really worth the final stages of optimisation.

  • @paulosebresos7864
    @paulosebresos7864 4 หลายเดือนก่อน +4

    This all looks like a super advanced captcha

  • @JoachimFavre
    @JoachimFavre 4 หลายเดือนก่อน +2

    Great video! Can't wait for the follow-up video where viewers optimise your code o/

  • @jrouquie
    @jrouquie 4 หลายเดือนก่อน +3

    Another approach :
    1. postulate a reordering of the pieces. E.g. piece (x,y) goes to new position (a×x % p, b×y %p) where prime p is the puzzle side length.
    2. compute the constraints on which piece edges must be identical
    3. check (with your existing code) there aren't spurious new solutions. If there are, back to step 1. Maybe also rotate the pieces.
    Maybe you tried it already ?

  •  4 หลายเดือนก่อน +1

    Matt's computer is like the Doctor's sonic screwdriver, which spent a thousand years on a background process that calculated how to open a door, only for that to not be necessary.

  • @Nolan-3835
    @Nolan-3835 4 หลายเดือนก่อน +6

    The image of a Yoda becomes itself a Yoda

  • @joshuascholar3220
    @joshuascholar3220 4 หลายเดือนก่อน

    This is the most entertaining thing I've seen in days.

  • @Crawsome_Crustacean
    @Crawsome_Crustacean 4 หลายเดือนก่อน +3

    You should make 2 of these puzzles on each side of the puzzle piece so you can have 4 solutions in one

  • @westonmarkham1294
    @westonmarkham1294 4 หลายเดือนก่อน +2

    quick construction for a jigsaw puzzle that has exactly two configurations that fit together: Take a puzzle with all distinct edges and exactly one solution, and replace the edges on one corner piece so that that piece is a duplicate of another corner piece. It should be fairly easy to show that this has exactly one more solution, in which those two pieces are swapped.

    • @MikeBindschadler
      @MikeBindschadler 4 หลายเดือนก่อน +2

      Agree that this is a pretty trivial solution for a 2-solution jigsaw puzzle, but it also obviously will fail pretty terribly at having two meaningfully different images, since all but those two corner pieces will be in identical arrangements. Solutions along this vein are why it made lots of sense to apply some sort of "maximally different" metric for all piece positions.

    • @westonmarkham1294
      @westonmarkham1294 4 หลายเดือนก่อน +2

      @@MikeBindschadler yes. And he does address that in the video. I was just responding to the initial question of whether any such thing even exists.
      For maximum degeneracy, though, we can continue with my idea, and make the image be a Necker cube.

  • @Supermath101
    @Supermath101 4 หลายเดือนก่อน +3

    A good name for these would be "bistable jigsaw puzzles".

  • @jakeruss331
    @jakeruss331 4 หลายเดือนก่อน

    I love it when Steve Mould is in a video, then it makes sense that it is Stand-up Maths instead of Stand-up Math

  • @Marconius6
    @Marconius6 4 หลายเดือนก่อน +3

    15:30 Matt slowly discovering functional programming...

  • @sierpinskibrot
    @sierpinskibrot 4 หลายเดือนก่อน

    2 incredible collaborations in the span of 4 days this is exactly what i needed thank you matt parker

  • @davidfinch7418
    @davidfinch7418 4 หลายเดือนก่อน +5

    Them talking about taking the noise and leaving a donut reminds me of how to carve an elephant out of marble.
    1. Take a block of marble
    2. Remove all the parts that don't look like an elephant
    3. Done.

    • @Cyrribrae
      @Cyrribrae 3 หลายเดือนก่อน

      Steve's video has an explanation of the AI process that exactly uses this analogy. Two different sculptors working on the same block of marble to make two different sculptures from each of their own perspectives, that are nevertheless still one unified carving.

  • @MK73DS
    @MK73DS 4 หลายเดือนก่อน +2

    « They're the same picture » _a topologist_

  • @KenLieck
    @KenLieck 4 หลายเดือนก่อน +15

    I picked up a fascinating thing at a thrift store -- it's a jigsaw puzzle, but comes with software (horribly out of date and obsolete, unfortunately) that enables you to take any photograph and process it so that by renumbering the pieces, the puzzle can be assembled to match the photograph. So you can go much farther than the mug/donut combo -- to infinity, I suppose -- with the help of a computer, and a commercially available novelty product allowing you to do so came out a couple of decades ago.

    • @diestormlie
      @diestormlie 4 หลายเดือนก่อน +10

      So, basically, it's a bunch of physical pixels?

    • @KenLieck
      @KenLieck 4 หลายเดือนก่อน

      I managed to dig the thing up out of my stuff! It's called JIGAZO from Hasbro, came out in 2011 based on a Japanese design from the year before. The software is now available free on the Internet Archive but I don't know if that's of any use without the puzzle pieces themselves.
      The Hasbro site described it thusly:
      "JI GA ZO's 300 pieces have varying levels of Sepia-colored gradations on one side and distinguishing symbols on the other. When the pieces are locked together, any face can be created. The key to this puzzle is the advanced JI GA ZO software. Upload a digital image to the JI GA ZO CD-ROM included in the box, and the software will produce a unique map that shows where each of the 300 pieces should be placed on the assembly grid to complete the JI GA ZO image.
      "The symbols make it possible for the JI GA ZO pieces to be individually identified and arranged in the correct position. In
      under an hour, the approximate time needed to place all of the pieces together, the JI GA ZO image will be revealed. Since the puzzle is assembled based on a custom map, the pieces can be continuously reshuffled and put back together to create new designs based on new maps."

    • @cosmicjenny4508
      @cosmicjenny4508 4 หลายเดือนก่อน +1

      That sounds amazing! Do you have any more information about it please?

    • @KenLieck
      @KenLieck 4 หลายเดือนก่อน

      @@cosmicjenny4508 Its called JIGAZO from Hasbro. There's plenty of info online including demo videos on TH-cam.

    • @natescode
      @natescode 4 หลายเดือนก่อน

      ​@@cosmicjenny4508just use mini Rubik's cubes

  • @mitaskeledzija6269
    @mitaskeledzija6269 4 หลายเดือนก่อน

    This must be a dream, two of my fav creators collab 😯❤️

  • @matt_miles
    @matt_miles 4 หลายเดือนก่อน +6

    Computer science student here.Your jig checker quite fundementally is a jig solver. What you're doing is a version of the backtracking algorithm where rather than trying to solve as much as possible and then going back (depth first search) you're finding all the solutions for the next step first and testing those (breadth first search), which is to say you're doing all the same steps but in a different order. It's a little misleading to say that just because you thought of a different order to do the same operations in, it makes it an entirely different concept (checker vs solver) but I totally understand the confusion.