How to make fractals by counting

Поділитися
Вставка
  • Опубліковано 19 чер 2020
  • Algorithm Archive: www.algorithm-archive.org
    Source code: github.com/leios/simuleios/bl...
    Github sponsors (Patreon for code): github.com/sponsors/leios
    Twitch: / leioslabs
    Discord: / discord
    Github: github.com/leios
    Music: www.joshwoodward.com/
  • Наука та технологія

КОМЕНТАРІ • 36

  • @trolololo720
    @trolololo720 4 роки тому +27

    3:03
    "We then did the same for the square and called it quits"
    *_Video ends_*

    • @LeiosLabs
      @LeiosLabs  4 роки тому +4

      I thought about that! The joke was that base-4 trits are sometimes called quits. Well, that's what we called them anyway

  • @LeiosLabs
    @LeiosLabs  4 роки тому +13

    This video took a really long time to make, but I think it turned out pretty well! It was a follow-up to 4 other videos, so it's a bit more complicated than my normal content, but I hope it was still clear! I was blown away when I realized we could do a Breadth-First Search of a full n-ary tree by counting in (a particular version of) trit space.
    Anyway, let me know what you think. I will be experimenting with methods in the near future to minimize the amount of time I spend editing and therefore get content out to everyone faster, so keep an eye out for future videos.
    Also: if anything I said here sounds cool, please consider stopping by twitch (www.twitch.tv/simuleios) or supporting the project on github sponsors (github.com/sponsors/leios). I am working on the project every day, but the videos are the very last part of that process, so even if it takes a while for content to find it's way on youtube, there is a lot more going on on different platforms!

  • @8b8b8b
    @8b8b8b 4 роки тому +17

    The digit for binary is called bits,
    so let’s call ternary digits trits.
    quarternary? I’m just going to call it quits.

  • @MAXPAYNE485
    @MAXPAYNE485 4 роки тому +1

    Love the continued work and streams LeiosOS! Keep it up!

  • @user-lz1rg1ez9s
    @user-lz1rg1ez9s 4 роки тому +2

    Thanks for the insightful content as always!

    • @LeiosLabs
      @LeiosLabs  4 роки тому +1

      Thanks for watching!

  • @BosakMaw
    @BosakMaw 4 роки тому +1

    The video turned out great

    • @LeiosLabs
      @LeiosLabs  4 роки тому

      Thanks! I'm glad you liked it!

  • @NonTwinBrothers
    @NonTwinBrothers 4 роки тому +1

    Very nice, I like

  • @nmmm2000
    @nmmm2000 4 роки тому +1

    Nice!
    now you really over-engineered it :)

  • @r75shell
    @r75shell 4 роки тому +1

    most robust approach is to use space subdivision with functional approach. I did in this way dragon curve in very high resolution several years ago.

    • @LeiosLabs
      @LeiosLabs  4 роки тому +1

      This works well for Sierpinski drawing, but here I was mostly interested in optimizing a BFS. Drawing Sierpinski was just the product.
      That said, I want to cover subdivision methods now...

  • @itsjustme114
    @itsjustme114 4 роки тому +1

    Great video! What software are you using for the simulation?

    • @LeiosLabs
      @LeiosLabs  4 роки тому

      We are using out own library: github.com/algorithm-archivists/GathVL
      Still a work in-progress, but it's slowly getting there!

  • @baptiste-genest
    @baptiste-genest 4 роки тому +2

    What an awesome video! GG! but I don't get why you need to define tryts (on the small program you shown), why don't you just store them as integers and convert them into base 3 when needed?

    • @LeiosLabs
      @LeiosLabs  4 роки тому

      Ah, we could definitely do that. The tryte definition was a bit of a hyperoptimization. I was actually going to just use integers and not worry about it, but twitch chat helped out and I think it was nice to use some bitlogic as well!

  • @JobvanderZwan
    @JobvanderZwan 4 роки тому +1

    Wouldn't reorganizing the set-up to work with a depth-first search have a best-of-both-worlds result regarding computation and memory? Then you could represent the tree as a stack and re-use the computation of the higher levels. Maximum "nodes" would be depth of the tree, and each node needs to be computed only once.

    • @LeiosLabs
      @LeiosLabs  4 роки тому

      There are 2 ways to use DFS for this:
      1. Redo the animation so you follow one child down 10 generations, then the next child, and so on... This would provide a fundamentally different animation. We definitely needed a BFS.
      2. Reframe the DFS so that we do all DFSs up to a certain level. This has the same amount of computation as our solution.
      Honestly, we could have made these solutions work, but we decided against it for 2 reasons:
      1. We are over-engineering the problem, so we might as well fully over-engineer it. I was interested in doing a BFS, not a DFS.
      2. I am used to the world of GPUs with limited recursion depth (recursion was not supported at all until recently). This means that the DFS solution would be bound to CPU architecture, which kinda left a bad taste in my mouth.
      I had this discussion in the video, but ended up removing it because I couldn't think of a good way to animate it.

  • @Tahoza
    @Tahoza 4 роки тому +1

    Very cool and feeling some 3blue1brown vibes in the video.

    • @LeiosLabs
      @LeiosLabs  4 роки тому +1

      Haha, that's a huge complement in my book. Thanks!

  • @danielchin1259
    @danielchin1259 4 роки тому +1

    wow

  • @HebaruSan
    @HebaruSan 4 роки тому +1

    +1 for D Knuth name-drop

    • @LeiosLabs
      @LeiosLabs  4 роки тому +1

      Knuth is super cool!

  • @AndersonSilva-dg4mg
    @AndersonSilva-dg4mg 4 роки тому +1

    thanks

  • @bearb1asting
    @bearb1asting 4 роки тому +1

    Oh. Hai serpinski

    • @LeiosLabs
      @LeiosLabs  4 роки тому

      Yeah, I don't have plans to revisit it after this video. No plans I can think of, at least

    • @bearb1asting
      @bearb1asting 4 роки тому +1

      @@LeiosLabs I enjoyed it. Used to do those on my graphing calculator.

  • @opl500
    @opl500 4 роки тому +3

    Any problem worth solving is worth overengineering

    • @LeiosLabs
      @LeiosLabs  4 роки тому

      That's a new motto to go by!

  • @zoklev
    @zoklev 3 роки тому

    for myself 1:13