How Many Ways Can You Fold a Map?

Поделиться
HTML-код
  • Опубликовано: 17 дек 2024

Комментарии • 401

  • @santoast24
    @santoast24 Месяц назад +1739

    This video is VERY important because it adds more, and perhaps so far the most conclusive evidence to the lore that the voice is NOT the Bird but rather they are two distinct entities

    • @theminecraft4202
      @theminecraft4202 Месяц назад +210

      it's called physics FOR the Birds, not physics BY the Birds...

    • @hopperdown811
      @hopperdown811 Месяц назад +15

      Schizo

    • @idontwantahandlethough
      @idontwantahandlethough Месяц назад +28

      @@theminecraft4202 well what if one assumes that it's most plausible that birds are best taught by their fellow birds?
      HMM? WHAT THEN?

    • @tickaten
      @tickaten Месяц назад +19

      ​@@hopperdown811wtf are you on about

    • @CrispyGFX
      @CrispyGFX Месяц назад +2

      I'm not convinced

  • @TheBillzilla
    @TheBillzilla Месяц назад +830

    I was a pilot for many years and as you'd expect we use a lot of maps flying around the world. When they get folded too many times the corners start to fail, and the map starts to come apart. I flew with one clever chap who figured out how to get around this - He simply scrunched the map up into a ball when we were done with it, so the fold lines didn't get used all the time.
    Weird, but it worked.

    • @Waccoon
      @Waccoon Месяц назад +113

      I guess that's why scrolls were invented.

    • @tinnguyen5055
      @tinnguyen5055 Месяц назад +67

      Scrolls for maps is genius

    • @bartrammeloo5046
      @bartrammeloo5046 Месяц назад +47

      Scrolls for maps have a practical limit: the width of the map. They're also heavy,. So from a conservation pov: good choice. But usability? Not so much.

    • @Tahgtahv
      @Tahgtahv Месяц назад +16

      @@bartrammeloo5046 You could fold and roll your map. Plus, I'm pretty sure I've seen scrolls that were only the writing material? Maybe some of them had block rollers on the ends, but I'm sure not all were that way.

    • @TomasGradin
      @TomasGradin Месяц назад +1

      Heresy!

  • @ixiai8294
    @ixiai8294 Месяц назад +390

    Paper folding maths is one of those XKCD 1831 things that feel easy until you try them.
    Thanks for making these videos, I would have never heard about all of this without you.

    • @Gaming1Doge
      @Gaming1Doge Месяц назад +33

      there really is an XKCD comic for everything huh?

    • @DukasFiguliras
      @DukasFiguliras Месяц назад +18

      I can't believe I got the reference. Maybe I really am a giga nerd after all

    • @Nate-bd8fg
      @Nate-bd8fg Месяц назад +3

      I HATE that I'm a big enough nerd to not have to google that

  • @AdrianHereToHelp
    @AdrianHereToHelp Месяц назад +311

    I can't believe you didn't mention the best part about "boustrophedon", which is that it's commonly translated to "as the ox plows", directly describing the kind of covering problem that's being solved by robot vacuums!

    • @ovencake523
      @ovencake523 Месяц назад +17

      isnt that also the description for how greek texts were written or something? left to right and right to left so your eyes dont have to jump back over a large gap each time

    • @AdrianHereToHelp
      @AdrianHereToHelp Месяц назад +20

      @@ovencake523 It is! "Boustrophedon" is the form of writing where, when you get to the end of the line, you just start from that end one line down and head back (including writing the letterforms backwards). That's where I (and most people) learned the term from - it's an incredibly interesting, like, "writing direction" that a language can have

    • @deltamico
      @deltamico Месяц назад +9

      So both lefties or right handed peeps will smudge their letters

    • @AdrianHereToHelp
      @AdrianHereToHelp Месяц назад +5

      @@deltamico Sort of! In most ancient examples, where boustrophedon writing is mainly seen, this was done when carving writing into stone, so that's not as much of a problem (and for some examples, like writing across a massive wall, you can see why someone would want a system where you don't have to keep walking back and forth between lines). That said, there are some modern scripts that do actually use a boustrophedon writing direction, such as Avoiuli (though unfortunately I'm not super familiar with that example).

    • @impendio
      @impendio Месяц назад +1

      It comes from ancient greek writing in one direction and then flipping so the guy carving the rock wouldn’t have to go all the way to the beginning to keep writing after finishing a line

  • @Canadian_Teemo
    @Canadian_Teemo Месяц назад +190

    Seeing the number of possible ways to fold a map, then I can finally rest knowing, I wasn't bad at folding the instructions manual and mathematicians also don't know how to fold a map.

  • @scarletbard6511
    @scarletbard6511 Месяц назад +550

    Thank you for the wonderfu1 video as a1ways, Physics Bird.

  • @Zippsterman
    @Zippsterman Месяц назад +112

    Boustrophedon was a super oldschool way of writing, our Latin teacher had an extra credit assignment once where you had to transcribe using it. There are no spaces, reading direction changes every line as well as letters flip horizontally, and words that are cutoff at the end of a line are just continued on the next in the other direction. It's wild.

    • @kaitlyn__L
      @kaitlyn__L Месяц назад +12

      Oh, like the fairy language in Artemis Fowl

    • @error.418
      @error.418 Месяц назад +29

      As as survivor of 6 years of Latin, same. Also, for anyone else chiming in, the original term comes from Ancient Greek: βουστροφηδόν, boustrophēdón, a composite of βοῦς, bous, "ox"; στροφή, strophḗ, "turn"; and the adverbial suffix -δόν, -dón, "like, in the manner of" - that is, "like the ox turns [while plowing]". Yet another occasion of Romans "borrowing" from Greece.

    • @ShankarSivarajan
      @ShankarSivarajan Месяц назад +11

      @@kaitlyn__L No, Gnommish spirals outward. (Well, at least _Classical_ Gnommish.)

    • @kaitlyn__L
      @kaitlyn__L Месяц назад +8

      @ clearly I haven’t read them recently enough, since I even forgot the species name :) I just remembered Artemis cutting them up into “normal” lines for his translation software.

    • @DanK-d3b
      @DanK-d3b Месяц назад

      ​@@error.418
      bou-strophe-don
      ox-turn-like
      ox-turn-wise
      new words?

  • @darkguardian011
    @darkguardian011 Месяц назад +22

    If I could give some constructive feedback? Lower/less harsh tones for the bird squeaking would be highly appreciated. It may be just me not jiving with the audio and not an issue with most other viewers though. Thank you for the wonderful video 💜

  • @NomadicVoxel
    @NomadicVoxel Месяц назад +72

    About that thing at the end about vacuum robot path-finding. My parents have had three robots I helped set up and fix. None really follow either of the path algorithms you suggest.
    - The first was an early Roomba, as far as I could tell it was completely random. Walk straight until it hits something, back up, spin around anywhere from 90 to 180 degrees either side, repeat. It didn't even have a smart way to find the charger, it would just turn off the vacuum but keep doing this until it could see the charger's beacon. Though it did have the spiral mode if you put it on a spot and hit a button, but it wouldn't get the whole room.
    - Second was a RoboMow. It was random too, but it would follow an "invisible fence" wire back to the dock at least. It also had a remote control like an RC car, buuuuut then they broke the remote control in the app and then never brought it back...
    - The newest is a Bissel wet/dry vacuum with a mop attachment. (I wonder how it knows what carpet is and where not to bring the mop?) It does attempt that zig-zag pattern, but it isn't perfect. It doesn't go parallel to the walls, it doesn't go all the way to the wall if it starts in the middle of the room, it doesn't really compensate for bumping into a chair and forgets what direction it was going in... But it's doing *something* right, when it mopped the kitchen I didn't see any dry areas except for where it couldn't reach.

    • @johnfinkbiner3599
      @johnfinkbiner3599 Месяц назад +10

      The original Roombas used a random walk combined with a measurement of the average distance between collisions to estimate how long to run. There was no guarantee that the entire floor would be covered, but it was good enough most of the time.

    • @deltamico
      @deltamico Месяц назад +1

      A moving average would make sense in that case

  • @thomasgreenhill2482
    @thomasgreenhill2482 Месяц назад +108

    The birds can SPEAK!? the plot thickens...🐦🐦

  • @michaelf8221
    @michaelf8221 Месяц назад +134

    That pseudocode was clearly written with FORTRAN in mind IMO

    • @pierrecurie
      @pierrecurie Месяц назад +13

      It could be argued the other way around: fortran was designed to mimic pseudocode. As does basic and python later. If you ignore the {}, C/++ and java are not that different.

  • @cinaeth83
    @cinaeth83 Месяц назад +318

    Hey all, stop what you're doing. There's birds doing physics

    • @physicsforthebirds
      @physicsforthebirds  Месяц назад +98

      You guys are so awesome for watching these

    • @cinaeth83
      @cinaeth83 Месяц назад +23

      @physicsforthebirds you're awesome for making them! I always look forward to your videos. Even if I think I have a general understanding of the topic, you somehow bring a fun fact into each one that no one else really talks about - which is usually the real world application of why a physics problem is important to solve.
      I kind of wonder if the map folding solution can also explain The Traveling Salesmen problem.

    • @chixenlegjo
      @chixenlegjo Месяц назад +1

      Yeah, I know. We’re right here.

    • @scarletbard6511
      @scarletbard6511 Месяц назад +5

      @@physicsforthebirds
      "No _you're_ breathtaking!"

    • @maxwelljennings4178
      @maxwelljennings4178 Месяц назад

      who are they doing physics for? themselves? seems selfish...

  • @not_David
    @not_David Месяц назад +8

    5:48 I don't know why, but something about this method of encoding the folds is genuinely beautiful to me.

  • @pncka
    @pncka Месяц назад +14

    For the valuable contributions you have made to the flock, I wish you plentiful good and many shiny things.

  • @auroreinara7322
    @auroreinara7322 Месяц назад +37

    This was fun. I wonder if you posting this video will have a direct result of someone discovering the 8x8 number.

    • @enochliu8316
      @enochliu8316 Месяц назад

      Will probaly do so.

    • @DantevanGemert
      @DantevanGemert Месяц назад +9

      All you need is a couple people going "it can't be that hard", making a relatively efficient implementation and running it on a high end computer

    • @Windeycastle
      @Windeycastle Месяц назад +7

      My hands are itching to give it a shot, and see if I can get it running on a good server from my uni XD
      Just checked, and students can use our high-performace-cluster for free.
      Interesting...
      I first need to finish a graded project though

    • @cipeman3498
      @cipeman3498 Месяц назад +2

      this feels like an incredibly easy problem for a gpu to do
      unfortunately i have no clue how to write in a gpu based programming language, nor do i know how to write asynchronous/parallel code lol

    • @haskucy
      @haskucy 23 дня назад +1

      Ill be honest with ya, I kinda want to tinker with it a little bit. I gonna dive in, will update you guys later!

  • @higztv1166
    @higztv1166 Месяц назад +10

    the kind of videos I watch youtube for, I'm always amazed at how silly questions like this one may lead you into a rabbit hole

  • @christopherfaytvlarknsassi9013
    @christopherfaytvlarknsassi9013 Месяц назад +7

    The approach I would take, if a map were a checkerboard (8X8) to be folded only along all the 7 horizontal and 7 vertical borders ("creases") that fell between two rows or between two columns (not that I would have any idea what "fold it along the line at its edge" would mean anyway), would be to try cope with the fact that you can't just assign unique numbers 1 through 14 to unique creases and then believe that there are as many ways to fold a map as there are to put 14 objects in an order. The problem is that if you fold along a crease that is one square inwards from a square, you've only eliminated one crease from all future creases to fold. But if you choose a crease that is two folds in, then you end up stacking the crease to its left on top of the crease to its right. They've become one possible future crease-location. You started out with 14 possible choices, picked one (eliminating it, leaving 13) but also eliminated 1 more future choices because two choices have merged to become one choice. So you have only 12, not 13, possible moves left. But this elimination of 2 choices applies only if your first choice is 1 inside from the edge. Start by folding a crease TWO from the edge, and you stack TWO remaining choices on top of two others. This means that you had 14 choices before you started, executed ONE of them, but not have only ELEVEN choices remaining. It seems to me that maybe it'd be easier to start with a folded map that shows only one checkerboard square when it's lying on a table (another square touching the table). What are all the possible results that can be achieved by unfolding only the last fold made?

  • @peterirvin7121
    @peterirvin7121 Месяц назад +10

    My roomba does not appear to follow a map folding pattern all of the time. When it reaches a new zone, it starts moving in a curve with a relatively large radius of curvature. The roomba will bump into an object and then turn with an angle that looks suspiciously like some fraction of the golden ratio ~137 deg. I have not measured this but I suspect the turn angle is irrational to prevent the roomba from getting caught in a repeating path across the floor and to guarantee that it will (eventually) cover every bit of area.

  • @eduardorodrigocayansanchez8824
    @eduardorodrigocayansanchez8824 Месяц назад +6

    I'm so genuinely happy that you made a new video. Thank you and I'm sure it will be amazing.

  • @forever_stay6793
    @forever_stay6793 Месяц назад +8

    Hooray one of my favorite niche channels that teach math with real world examples posted a new video!

  • @anindyaguria6615
    @anindyaguria6615 Месяц назад +9

    Absolutely fascinating! Love your content man, awesome balance with the technical details.

  • @buchel3364
    @buchel3364 Месяц назад +21

    There are videos that are very informative and interesting and then there are videos like yours. You make it very interesting and also cozy and cute at the same time. I don't only feel intrigued watching your videos, I feel comforted and good.

  • @breznknedl
    @breznknedl Месяц назад +6

    Your Videos are always such a pleasure to watch with all the detail you put in them, like the map as a background. Thank You!

  • @kaitlyn__L
    @kaitlyn__L Месяц назад +84

    I loved “higher-dimensional paper” being said so casually

    • @blyan4g
      @blyan4g Месяц назад +12

      I adore his sense of humor. I still giggle about "Think back to the time when you were a single fertilized cell-a zygote."

  • @sephdebusser
    @sephdebusser Месяц назад +6

    These kinds of pseudocode are oftentimes just the _worst_ for readability. Once spent several weeks trying to understand a piece of pseudocode in a paper like this and it turned out to be just a heuristic search, basically a variation on A*, but it was so riddled with symbols defined five pages earlier that it was near incomprehensible

  • @fadran11
    @fadran11 Месяц назад +51

    and yet my dad always puts the atlas back together with perfect precision

    • @qwfp
      @qwfp Месяц назад +7

      Yet another W for the Meat Thinkers

    • @deltamico
      @deltamico Месяц назад +1

      You can reconstruct a fold from a O(log(creasts)) memory

  • @Y81715
    @Y81715 Месяц назад +4

    Hi Physics for the Birds
    Ornithologist and mariner here. Wrapping my head around the numbers, I got one question for you (had two until I started folding paper and numbering them myself this morning)
    1 Cancelled question
    2 At certain size there will be material constraints (yeh I get it, it's math), you can at least simulate paper thickness and yes is it a fold if the paper curls around in a tube? Ie. turning ratio for vacuum robots too. A fold is super efficient as technique, but if you travel on the edge of a fold, it is incredibly inefficient to not short cut edges. Ie. the moment we aren't in paper no more, how to estimate when to soften the waypoints? (Think rute calculation for commercial ships)
    just a thought

    • @mikki429
      @mikki429 Месяц назад

      I recall seeing a news report about the young woman who developed an equation to find the maximum number of folds you can put in a piece of paper. She had to answer exactly the issues you raise in your second question.

  • @MaloneDunlavy
    @MaloneDunlavy Месяц назад +5

    HURRAY! Another Physics for the Birds vid!!! seriously, love your content... I watch a lot of science/physics/math channels... yours is by far my favorite! :) Thank you!

  • @jaspermcjasper3672
    @jaspermcjasper3672 Месяц назад +5

    6:35 - I'm really glad to find out that the On-Line Encyclopedia Of Integer Sequences keeps track of sequences of integers, but, further, I'd like to know if we have to buy it as a paper book or can we just find it on-line?

  • @YOUTY209
    @YOUTY209 Месяц назад +5

    In my experience, robot vacuums really limit the amount of efficiency in their route in favor of just covering areas many times over just to be safe.

  • @Marcel-yu2fw
    @Marcel-yu2fw Месяц назад +14

    Wait, what does the "if" in the second line at 9:39 do? it tests if == /2 *2 !? How can that possibly make any sense?

    • @physicsforthebirds
      @physicsforthebirds  Месяц назад +22

      It's not obvious, but this is an absurd way of checking if the number is even. It assumes that the programming language it was written in divides integers into other integers (so 5/2 = 2 and 5/2*2 = 4, not 5), which is NOT an assumption you should make while writing pseudocode!

    • @timseguine2
      @timseguine2 Месяц назад +1

      @@physicsforthebirds It is weird today for sure, but I wouldn't necessarily call it absurd. It is more or less exactly the rigorous definition of divisibility.

    • @Marcel-yu2fw
      @Marcel-yu2fw Месяц назад +5

      I guess it makes sense if the language used had limited operations, e.g. only +,-,*,/ and no %/"modulo" operator. But even in that case, just write a mod() function for it please.

    • @Alceste_
      @Alceste_ Месяц назад +5

      I, too, like to present "the following pseudocode:" followed by exact assembly implementation.

    • @leave-a-comment-at-the-door
      @leave-a-comment-at-the-door Месяц назад

      @@Alceste_ at that time, that's how you wrote pseudocode. code was the literal numbers that you punched into your cards, your pseudocode was the equations your code is designed to solve.

  • @K_Boar
    @K_Boar 18 дней назад +1

    I'm not a fluent Java developer, but C++ (which I do know) tends to be very similar syntax-wise. Reading the code against the pseudocode reveals some shorthands:
    - The if statement in the second line will always be true, unless working with integers. That's why I think that the "delta condition", which involves a bitwise and operation, wraps the underlying logic that is equivalent to that seemingly useless if statement. That 'bitwise and' basically checks if the number is even or odd in binary, and acts accordingly, and the second line in the pseudocode seems to do the same check (even integers will be 'cleanly' divisible by two, but not odd ones, thus multiplying by 2 again and comparing with the original number). As I said, I don't know what each variable represents so I could be wrong.
    - From line 4 onwards, the developer used terniary operator syntax, which is very common in many programming languages and permits summarizing "if (condition) { doIf(); } else { doElse(); }" as "(condition) ? doIf() : doElse();", but in some cases (like in this one imo) can make it difficult for a programmer to read.
    - I'm not aware of what the p array is, but it seems that checking that "C[i][m]==p[i-1]" or that "m + bigP[i-1] > l" is the same as checking that both that last condition (m + bigP[i-1] > 1) is true and that "C[i][m]==p[i]" is bigger that "m+bigP[i-1]". Maybe there's some mathematical properties that make it that way, note that p[i-1] may not be the same value as p[i].

    • @K_Boar
      @K_Boar 18 дней назад +1

      TL,DR: The Java code should do the same as the pseudocode when working with integers, and the only line that's different is the last if on the pseudocode, which corresponds to the last line on the Java version (which is the one involving the "1 vs l" conundrum

  • @Metruzanca
    @Metruzanca Месяц назад +1

    I love the pauses before the unit measurement. Reminds me of my favorite icarly quote.. "3, 4... maybe 5"

  • @HululusLabs
    @HululusLabs Месяц назад +1

    I have a Roborock and my friend has a Roomba, both are pretty new, and the Roomba has the vaccum dock, so it should be a higher end model. The Roomba seems to always have a random pattern (although my friend says it has the house mapped), but the Roborock always circles the outline of each room and then fills it in with the Boustrophedon pattern (thanks for making me look this up). It even rotates the pattern and repeats if you have it do multiple passes. Obstacle avoidance is done with both lidar and the bumper, and it just moves around the object until it can resume the path.

  • @colin3504
    @colin3504 Месяц назад +1

    I wasn't expecting the video to turn out how it did and it was super interesting!

  •  28 дней назад

    I absolutely did not expect a video about map foldings to transform into the topic of my dissertation, coverage path planning :D Going to look up the paper right now :) Thanks!

  • @impendio
    @impendio Месяц назад +2

    As a hobby origamist, paper folding feels like this impossibly deep rabbithole with infinite knowledge waiting at the end. You can do so many things and it lets you visualize a bunch more, and in general it gives you an intuition of space that you wont find on digital media.

  • @blackamaterasuflame
    @blackamaterasuflame Месяц назад +3

    12:42 never have I been more excited to watch my roomba clean.

  • @mateoguerreroschmidt5278
    @mateoguerreroschmidt5278 Месяц назад +7

    I really like your videos and these cool problems you always bring up. And i was wondering, how do you find these niche problems? Are problems that you already heard of or do you find them searching?

    • @physicsforthebirds
      @physicsforthebirds  Месяц назад +12

      Many of my videos are things that I notice myself and then they turn out to be real problems, and many are things that I find while reading. This one was something I read about, I think I first got interested when I saw it on Wikipedia's list of "unsolved math problems". In any case, each of my videos involves lots of searching through citations and books and trying to solve things myself to get interesting examples. I always put the most relevant references in the description, so feel free to explore it yourself!

    • @mateoguerreroschmidt5278
      @mateoguerreroschmidt5278 Месяц назад +1

      @physicsforthebirds wow, thanks for answering! I didn't know about that page of Wikipedia but I will definitely look at it!
      I'm a Data Science student and it's gonna be fun trying to advance in some of these problems.

  • @ewmcrab
    @ewmcrab Месяц назад +8

    I legit grt excited for this 🎉❤

  • @Leander_
    @Leander_ Месяц назад

    Hi! Just wanted to say this was an incredibly charming video, very well presented. It struck a great balance between being too technical and being too general/wishy woshy with details.

  • @ZagRS121
    @ZagRS121 Месяц назад

    Love this channel, the topics you cover are so niche, but exactly the kind of interesting topics I wonder about!

  • @basketcase77
    @basketcase77 Месяц назад

    I actually noticed exactly what you were describing about my robot vacuum a while back. Really interesting to see the why and how of the decisions it made planning a route.

  • @afonsomartins969
    @afonsomartins969 Месяц назад +2

    Nice vid as always!

  • @jiffylou98
    @jiffylou98 Месяц назад

    In 6th grade I asked my math teacher if you could math out origami patterns and he said "yeah, probably." I had never seen an honest reaction from a mathematician before then

  • @andrewchen6226
    @andrewchen6226 Месяц назад +1

    Loved the bird looking unimpressed

  • @matthewse2882
    @matthewse2882 Месяц назад

    Super neat video! Last year I also got interested in enumerating over (and visualizing) all closed meanders - which have a one-to-one correspondence with open meanders (the 1D stamp folding case but the stamps aren't labelled). Highly recommend checking out the paper "A Fast Algorithm To Generate Open Meandric Systems and Meanders" which I used for my Python implementation. It has some nice diagrams and the pseudo-code is a bit easier to comprehend (though still pretty complicated).

  • @MatthijsvanDuin
    @MatthijsvanDuin Месяц назад +3

    7:45 uhhhhh, no? Are there actually programmers who would voluntarily use such a font? I'd consider the ability to clearly distinguish between 1, l, I, and | (and also 0 and O) to be a pretty basic and essential feature of any decent font used for programming

  • @Whatalunatik
    @Whatalunatik Месяц назад +5

    The outro music is wonderful! did you write it?

    • @physicsforthebirds
      @physicsforthebirds  Месяц назад +5

      Yep, the music I use is mine, made for these videos. We'll see if I ever release it alone.

  • @pauljones9150
    @pauljones9150 Месяц назад

    I never thought this much about folds before. Thank you mr. Bird

  • @petribalanceisnice
    @petribalanceisnice Месяц назад

    Im so happy you are back

  • @HorseEmoji
    @HorseEmoji Месяц назад +1

    Yes, Mr. the Birds, I also enjoy Folding Ideas.

  • @ares395
    @ares395 Месяц назад +1

    It is absolutely hilarious to me that the paper might be wrong in this specific place for so long

  • @CurlBro15
    @CurlBro15 Месяц назад +2

    Hi, this was another great video! I am curious, so the problem seems to be set up in such a way that one would expect todays computers to be able to compute the number of folding for more n than was previously known in the 60’s. However, through the process of trying to get a modern computer to solve the problem, your code wasn’t able to run properly. If you were able to get your code to run properly do you think this would output more values of map foldings for a given n?

    • @physicsforthebirds
      @physicsforthebirds  Месяц назад +6

      My code, which was based off of Sean Irvine's code in the description, did work. Sean used this code to calculate up to a 7x7 a few years ago (and the original paper in the 60s calculated up to 5x5 if I remember correctly). He might say somewhere what hardware he ran it on, but I wouldn't be surprised if it was his personal setup. If people dedicated more advanced hardware to this problem for some reason, I'm sure they could do better, but there are many, many sequences of integers that need to be calculated!

    • @enochliu8316
      @enochliu8316 Месяц назад +1

      @@physicsforthebirds Sean Irving version is based on a C implementation by Fred Lunnon, the original paper author, which is corrected from the paper.

  • @user-.--.-
    @user-.--.- Месяц назад

    fascinating vid. i always assumed there would be an equation about combinatorics, but i learned something new :)

  • @bashkillszombies
    @bashkillszombies Месяц назад

    This is why you take the gigachad approach. Scrunch it into a ball and throw it into the back seat.

  • @FllamingBarfiYT
    @FllamingBarfiYT Месяц назад

    I think the roomba problem the way you described it, can be compared with maze generation or snake bots. Code bullet made a video about snake, where it follows a hilbert-like path (iirc) and then chooses shortcuts to get to the apples faster. The maze algorithm I saw (in another video) started with a space filling path, and then changed some paths into walls and vice versa semi-randomly.

  • @thestudentofficial5483
    @thestudentofficial5483 Месяц назад

    Tom Scott showed the origami they used for spacecraft solar panels that only take 1 axis to fold/unfold. It's quite genius for a quick map

  • @lordrusk6118
    @lordrusk6118 Месяц назад +1

    5:06 wrong. That fold is described by another method, which gives the same end state, but does not include the fold described (folding inside a pre existing fold) - this simplifies calculation heavily.

  • @Ganerrr
    @Ganerrr Месяц назад

    i feel like this video is gonna trigger enough attention that someone figures out a like sublinear/constant alg

  • @PhyMath2
    @PhyMath2 Месяц назад

    i absolutely love content like this

  • @WindyHeavy
    @WindyHeavy Месяц назад

    babe wake up new Physics for the Birds upload

  • @gamingmeetsmath
    @gamingmeetsmath 24 дня назад +1

    IM GOING TO MAKE THE FUNCTION, NO MATTER WHAT IT TAKES

  • @mateusvmv
    @mateusvmv Месяц назад +2

    @9:33
    C[i, m] = p[i] > m + P[i - 1] > 1
    what even is the operator precedence in this
    how did p[i] become p[i-1]

  • @I.____.....__...__
    @I.____.....__...__ Месяц назад

    11:00 Boustrophedon doesn't mean zig-zag, it means "as the ox plows" as in plowing a field. Zig-zag has sharp points as the ends, boustrophedon has 90° turns.

  • @sahasananth987
    @sahasananth987 Месяц назад +1

    Hello, the code @9:35 makes sense to me and seem to be equivalent. I am confused about only one if condition (the hardest one perhaps lmao). This is how I understand the code:
    "delta = c[i, l] - c[i, m]
    d[i, l, m] = 0
    if m != 0 then
    if delta is even then
    if c[i, m] is 1 then
    d[i, l, m] = m
    else
    d[i, l, m] = m - P[i-1]
    else
    if c[i, m] == p[i] > m + P[i-1] > l then #this is the if condition I only partially understand lmao.
    d[i, l, m] = m
    else
    d[i, l, m] = m + P[i-1]"
    My best guess for the if condition is there must've been a typo lol. What do you think? Cause if they f-ed up 1 and l then they can do a mistake like this too?
    Edit: I am a robotics masters (hopefully a PhD student soon) and cleaning robots are dumb af. Most of these papers are just for cases when you want to try out a new algo for funsies. That being said some companies do have fancy algorithms.
    PS, I think you have irked my curiosity and I think you have gained a subscriber. Hoping to see more cool videos from you!

  • @azuln.3765
    @azuln.3765 25 дней назад

    You are my favorite part of the internet

  • @acidnik00
    @acidnik00 Месяц назад

    Since we're talking about folding maps, there's a specific way of folding a map that prevents it from tearing at the creases, it's called Miura fold, you should check it out. It's even used to fold solar panels of spacecrafts!

  • @nujabraska
    @nujabraska Месяц назад

    I get so excited when I see a new bird upload

  • @kamo7293
    @kamo7293 Месяц назад

    4:43 birds like "how dare you ruin my tangent"

  • @TheLurker
    @TheLurker 20 дней назад

    At 9:02 -- this line only makes sense if the comparison is `m + bigP[i-1] > l` rather than `m + bigP[i-1] > 1`. To see why, note that `bigP` stores cumulative products and `bigP[0]` was defined as 1. `m`'s first value in the loop is 1, which means that the sum is bounded at 2. You would always wind up setting `d[i][l][m] = m` if you compared the sum of these variables to 1.
    Now, as for me, my reimplementation of this code in Python did not work initially because I didn't realize that in Java, the division of two integers is truncated (so that you only get the integer quotient). Anyone else trying this will need to replace the `/` in the Java code with `//`.

  • @sodiboo
    @sodiboo Месяц назад

    13:00 this reminds me of the punchline at the end of the intro to Dylan Beattie's "Art of Code".

  • @koniginator
    @koniginator Месяц назад

    Single character copy errors can plague us in biology papers too! I was iterating on an idea regarding reverse transcriptase enzymes (like the one used by HIV) that had been studied in depth in the 90s and kept getting confounding results until I found that the published sequence of an inhibitory aptamer (synthetic nucleic acid sequence) was missing a single base. It was depicted differently (correctly, i believe) in a drawing but transcribed in a table incorrectly.

  • @ShinSpiegel
    @ShinSpiegel Месяц назад

    Thank you very much for the video. It’s a surprisingly interesting topic :D

  • @Kwauhn.
    @Kwauhn. Месяц назад +1

    Lucida Console is by far the best monospaced font. I used to be a Courier stan, until I realized that readability was trash compared to LC. LC just works better as a vector font, and it uses sarifs in the best way possible. As a plus, it looks better on modern IDEs, and is less grating on they eyes somehow. LC FTW.

  • @thesoupin8or673
    @thesoupin8or673 Месяц назад +3

    I didn't care for the bird's staticky little voice (your voice is much more enjoyable) but otherwise, incredible video! Your illustrations were very clear. Well done!

    • @physicsforthebirds
      @physicsforthebirds  Месяц назад +11

      You wanna know a secret? The bird's voice _is_ mine... (speaking syllables that python splices together to form English words that are transcribed into Japanese kana and then pitch-shifted to match actual bird calls)

    • @thesoupin8or673
      @thesoupin8or673 Месяц назад +1

      @physicsforthebirds Dang, I've been bamboozled! Very creative process though

    • @rnengy
      @rnengy Месяц назад +3

      wanna know another secret? the “human” voice is just bird calls pitched down and restructured to approximate English sounds

  • @19Bruno96
    @19Bruno96 Месяц назад

    Physics bird os still around, I can rest easy

  • @Koroistro
    @Koroistro Месяц назад +2

    I'm sure there's a graph somewhere.
    Also it weirdly reminds me of vector multiplication, idk why.
    Now I started to think about how this would scale in N dimensions, damn

  • @murffist
    @murffist Месяц назад

    "Boustrophedon" is an ancient Greek word and means zigzag. Actually, it means "like the ox plows" and describes, especially in epigraphy, a way of writing where the first line is read from left to right and the second from right to left. What is it good for? If a text is written on a long wall, you only have to take half as many steps to be able to read everything.
    Fun fact of the day!

  • @theorixlux
    @theorixlux Месяц назад

    A bird complaining about monospace l's and 1's in a map folding video talks about snake for 1/10th of the video.
    XD great video!

  • @AnastasiaSpangler
    @AnastasiaSpangler Месяц назад

    My roomba goes in an up and down path like the first idea in the gardening illustration. Also, when you look at the internal map that the roomba produces after each clean, it is tiled.

  • @CartoType
    @CartoType Месяц назад

    When I was a Sinclair Spectrum programmer in the 80s I always had variables called i and o, equal to the constants 1 and 0 respectively. That was because numbers, even single-digit ones, took up 5 bytes of memory each, while single-letter variables took up one byte each. Yes, my programs were hard to read, but at least I didn’t use SGN PI for 1 and NOT PI for zero.

  • @Asterism_Desmos
    @Asterism_Desmos Месяц назад

    HES BACK!

  • @Kwauhn.
    @Kwauhn. Месяц назад

    This feels exactly like the problem of finding an equation for prime numbers. Each additional step, whether it be the construction of the number line or a valid fold pattern, seems to add a new "fundamental" property to the system that can only be checked algorithmically with some O(n) that is greater than linear.

  • @timotay22
    @timotay22 Месяц назад

    Randomness seems to help in the actual real world for problems like robot vacuums that need to visit all points. Many use an algorithm like “go straight until you hit a wall, turn a random amount in place, then go again.” Deterministic path planning can break; if you get stuck a little bit, then you lose the whole process. Randomness gives robustness of having a chance that all points would eventually get visited even if your measurement or process gets disrupted.

    • @SgtSupaman
      @SgtSupaman Месяц назад +1

      That works well enough in the real-world application, but the problem of trying to visit each spot once and only once would be virtually impossible with random direction selection. Moving about randomly is inefficient as it will cross the same areas multiple times and could take a very long time to hit every area (the more areas it's already touched, the less and less likely it becomes for it to get to untouched areas).

  • @happily_blue
    @happily_blue Месяц назад

    great. now I'm gonna spend all night figuring out how to fold a map into a spiral

  • @rebelsy4134
    @rebelsy4134 Месяц назад

    I don't know if I misunderstood this, but at 3:00 you say there's only one way to fold the paper in that leaf order, but there's an obvious second way to fold them in the example on the screen, too bad I can't post picture to show it, but you fold it to the other way after leaf 4 and then leaf 2 over leaf 3

    • @leave-a-comment-at-the-door
      @leave-a-comment-at-the-door Месяц назад

      if I'm understanding your folds correctly, that would be labeled as 4123 -- you've flipped the stack over.

  • @felipemldias
    @felipemldias Месяц назад

    The bird sounds like a whole flock combined. Like a meta-consciousness running on several birds at the same time to speed up the computation necessary to contribute to this video.

  • @digama0
    @digama0 29 дней назад

    Regarding your "l" problem: this is exactly why I never ever use this letter in math papers as a variable and instead use the tex \ell symbol, which looks something like "ℓ", basically the cursive form. IMO it fits better with the other math letters anyway. I think we should try to use this style of ell more in monospace fonts too for distinguishability reasons.

  • @zealotoffire3833
    @zealotoffire3833 Месяц назад +10

    13:06 i would never call a variable a single letter so dw no "l"''s for me

    • @basketcase77
      @basketcase77 Месяц назад +1

      Single letter variables are pretty common, x, y, s, t, i... And there's nothing wrong with using them, as long as they're distinct. That's the issue. Plus it's easier and less hassle than worrying about specifying it's not a string or something.

    • @zealotoffire3833
      @zealotoffire3833 Месяц назад

      @ i know, just my personal opinion

  • @adrien5568
    @adrien5568 Месяц назад +6

    Once again the mathematician does not know how to code has struck. How many papers did I read with variables like a, aa, aaa, b, bb, bbb, etc! I'm unfortunately not making this up.

    • @ktbbb5
      @ktbbb5 Месяц назад +2

      When I see this I always think of my statistics professor, who once shared a piece of his code with a variable named theta_hat. 'estimate' would have been both descriptive and shorter!

    • @adrien5568
      @adrien5568 Месяц назад

      @@ktbbb5 I think that these just want to write their code in latex, which is a terrible idea.

  • @durarara911
    @durarara911 Месяц назад

    The variable being lowercase "l" is the plot twist I did not see coming. :'D

  • @SaHaRaSquad
    @SaHaRaSquad Месяц назад

    Another example could be a 3d printer doing a layer's solid infill pattern. The nozzle needs to move back and forth filling the area, but it has to fit within the 2d shape of the layer and you want to minimize the amount of time the nozzle travels without pushing out filament.

  • @LiamHighducheck
    @LiamHighducheck Месяц назад

    This video got me thinking about folding things

  • @DescendDab
    @DescendDab Месяц назад

    I just spent 10+ mins learning about folding, i regret nothing.

  • @aaronsantos4675
    @aaronsantos4675 Месяц назад

    These are always great!

  • @savagesarethebest7251
    @savagesarethebest7251 29 дней назад

    10:52 Boustrophedon: As the ox plows.

  • @arcanine_enjoyer
    @arcanine_enjoyer Месяц назад

    I was taught to fold a map only two ways, and I only remembered the accordion one. Probably just stick to that if you can't shove it all into your bag

  • @Sugar3Glider
    @Sugar3Glider Месяц назад

    Would it be possible to model the folds by showing the corner of each square as a gradient of color, such that each fold along a given axis increases the Hue or Saturation based on the number of folds in a given direction with a split should it flip directions, like tree rings.
    This way you can run a color comparison analysis to identify duplications that erroneously increase the count?
    Think of it like folding a burrito. You fold in the left, bottom, right, and roll it up. It doesn't matter what orientation the ingredients are in, as you've oriented them based on your reference frame.

  • @Acceleratedpayloads
    @Acceleratedpayloads Месяц назад

    The insight that 2d paths are just folded string blew my mind.