The Algorithm Behind Spell Checkers

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ม.ค. 2024
  • 🖥️ GitHub: github.com/b001io/wagner-fischer
    ⭐ Join my Patreon: / b001io
    💬 Discord: / discord
    🐦 Follow me on Twitter: / b001io
    🔗 More links: linktr.ee/b001io

ความคิดเห็น • 285

  • @e2myearly288
    @e2myearly288 5 หลายเดือนก่อน +1772

    This video wouldve been super helpful 3 years ago in college. A professor had us make a spellchecker. It didnt not go well

    • @NoGentle
      @NoGentle 5 หลายเดือนก่อน +80

      serious question:
      when you gotta make a program or a piece of code, whatever.
      how "original" it needs to be until it is acceptable to you?
      i mean, how many lines of code you can copy without have a guilty conscience? (not literally, but you get it, i think)
      also having in mind that you don't know that specific algorithm but you got to do it anyway

    • @GetUrFunnyUp
      @GetUrFunnyUp 5 หลายเดือนก่อน +93

      ​@@NoGentleIt relally does depend on what you are trying to achive
      If it's for learning purpopses why would you use someone elses solution to a problem, why not make it yourself? that implies that by copying you mean literally copying the code line by line but if by copying you mean that someone just has the idea of the solution to it
      you solve x by doing z thing and y thing
      you still have to code z and y thing even tough you know in what way you should i think these are what you call patents

    • @raymondarrington5339
      @raymondarrington5339 5 หลายเดือนก่อน +32

      @@NoGentleI would say that if you are programming something and you copy code because you know it but don’t want to type it all out then it’s fine. Alternatively, you could also copy code to try and pick it apart and learn it better. There are no rules though, so do what you think is best for your situation

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

      it wouldn't help you at all... you can't do basic research

    • @e2myearly288
      @e2myearly288 5 หลายเดือนก่อน +27

      @@krolmuch bro what's with the attack? I'm a visual learner. I struggle to read. Video education is just easier for me to understand. It was mostly a joke anyway.

  • @bhushanlaware
    @bhushanlaware 5 หลายเดือนก่อน +313

    It took 20 years to solve the Edit Distance problem for the first time, but they want us to solve it in 1 hour of interview.

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

      honestly this does open some interesting philosophical ideas about how genius solutions and algorithms come to be. the best ideas are those that even though took a while to come up with, are comparatively easy to teach after they've been discovered.

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

      you’d better consider yourself lucky if you get edit distance asked in an interview. It’s popular, intuitive and fairly moderate in complexity. I mean, it’s solving a real world problem and I’m all for it. There can be many DP problems that are just bad for interviews.

    • @jagadeeshgurana4490
      @jagadeeshgurana4490 22 วันที่ผ่านมา +1

      Theres a difference between inventing and solving something already famous.

  • @andrewjknott
    @andrewjknott 5 หลายเดือนก่อน +519

    Excellent explanation. Modern spell checkers also use other techniques. One is transposition because that is one of teh most common spelling mistakes. Another is nearness of letters on the keyboard because people can mistype letters that are clise to each other.

    • @haidaralhassan4621
      @haidaralhassan4621 5 หลายเดือนก่อน +117

      excellent showcasing of tranpsosition and nearnesd

    • @awesomedude3247
      @awesomedude3247 5 หลายเดือนก่อน +15

      it seems like the modern ones bridged the difference betweens actual spelling errors and what we might call typos

    • @arandomguy9669
      @arandomguy9669 5 หลายเดือนก่อน +40

      I see whay yuo did there

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

      @@arandomguy9669 hwat a mitzure

  • @ScienceSuds
    @ScienceSuds 5 หลายเดือนก่อน +423

    This algorithm actually paved the way for a lot of modern bioinformatics algorithms used to align two DNA sequences together, some of the most famous being Smith-Waterman and Needleman-Wunsch! It’s so cool to see the overlap!

    • @aswinsnair1702
      @aswinsnair1702 5 หลายเดือนก่อน +14

      do you know where i could find more about bioinformatics algorithms?

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

      ​​@@aswinsnair1702try look up the terms that @ScienceSuds commented in Google Scholar, as well as terms such as "Sequence Alignment". There's really a ton of work in this field!

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

      ​@@aswinsnair1702 search for fasta and blasta methods

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

      Oh yeah don’t biologists check for mutations and differences in a genome by pasting it into word and spellchecking it when the original is in the spellcheckers dictionary?

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

      It is so cool to see the overlap! pun intended

  • @portalwalker_
    @portalwalker_ 5 หลายเดือนก่อน +117

    I always thought spellcheckers would incorporate the keyboard layout into their suggestions, as in correcting "worls" to "world", because s is one key away from d

    • @natescode
      @natescode 5 หลายเดือนก่อน +28

      I'm sure some do.

    • @jacksondeane1629
      @jacksondeane1629 5 หลายเดือนก่อน +10

      Same! I’m always like “why can’t you tell that I just missed one letter!!!”

    • @stt.9433
      @stt.9433 5 หลายเดือนก่อน +16

      Keep in mind many different keyboard layouts exist. You could also have a case where a written file is OCR'd in which case that wouldn't be relevant.

    • @seanewing204
      @seanewing204 5 หลายเดือนก่อน +1

      This and parts of speech.
      Maybe track the most common errors based on vocab and document length, like the TH-cam algorithm recommending videos based on age, gender, etc.

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

      Of course it does now. There is a video from Enrico Tartarotti released recently "The LIES That Make Your Tech ACTUALLY Work" where you can learn more about your idea and how it is implemented!

  • @ToddVanyo
    @ToddVanyo 5 หลายเดือนก่อน +58

    Would have loved TH-cam 30 yrs ago. In my day-yeah, I’m old-I had a class in which the last assignment was an assembly program for the intel 8086 that implemented a spellchecker. Prof said it would take 40 hrs if we knew what we were doing. No mention of Levenstein, Gorin, or any known algos. I took a 0, as I was behind in other things.

    • @samueljehanno
      @samueljehanno 5 หลายเดือนก่อน +6

      That's insane

    • @vadiks20032
      @vadiks20032 24 วันที่ผ่านมา +2

      one of the students names was probably fischer or wagner

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

    Algorithms like Levenshtein distance and Jaro Winkler are amazingly important and have impacted the development of a lot of sophisticated systems.

  • @tomchapman128
    @tomchapman128 5 หลายเดือนก่อน +161

    You should absolutely make more videos like this! You're extremely good at explaining things and this video was genuinely so interesting. Well done :)

  • @thekwoka4707
    @thekwoka4707 5 หลายเดือนก่อน +152

    What is an interesting addition to the algorithm is actually providing a list of the changes between the two, like for a typewriter.

    • @maker0824
      @maker0824 5 หลายเดือนก่อน +12

      I read this like 7 times and I can’t tell what you are trying to say

    • @phiscz
      @phiscz 5 หลายเดือนก่อน +10

      @@maker0824 not sure what they meant w the typewriter mention but i read this as to mean implementing something that provides a diff-like output (it being character-by character instead of by line tho)

  • @birch_tacos
    @birch_tacos 5 หลายเดือนก่อน +18

    that was the best explanation of Dynamic programing ive ever heard

  • @anirudhbakare3547
    @anirudhbakare3547 5 หลายเดือนก่อน +24

    Love your work ❤. Make a series on Programming Algorithms 🙌

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

    It's very nice to discover dev channels with quality content and interesting topics, keep up the good work!

  • @heliolbs
    @heliolbs 26 วันที่ผ่านมา

    Loved all of it! Smooth editing and voiceover, and a nicely paced explanation! Great work ✌

  • @Simplified-Script-Development
    @Simplified-Script-Development 5 หลายเดือนก่อน +1

    i like your videos, because it dive deep in tiny important stuf which realy helps a lot

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

    This is awesome, I learned a lot, thank you! I heard that some spell checkers use tries (prefix trees) for better auto-completion. I'd love to see a video on those as well, I adore your way of explaining!!

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

    Oh my god! This was so simple to understand.
    Thank you so much. Please keep these coming :)

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

    This was a great video, this explanation was made so intuitive and I have wondered in the past how spell checkers work

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

    Thank you for this! The visuals are great!

  • @thekwoka4707
    @thekwoka4707 5 หลายเดือนก่อน +45

    levenshtein distances is basically a pathfinding algorithm.

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

      what??? its not even remotely close to that

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

      @@Zaary i agree

    • @NachitenRemix
      @NachitenRemix 5 หลายเดือนก่อน +1

      Yes, its working out the unknown path (there could be more than one) from one word to another, thats true.

    • @TheHDreality
      @TheHDreality 5 หลายเดือนก่อน +11

      For anyone confused he's saying that because the levenshtein distance is considered a "metric space" Which basically means that if you imagine all strings as points in space, that the levenshtein distance works much the same as distance in real space.
      It sounds kind of meaningless at first but if you use it that way it actually unlocks certain properties of strings that enable some other clever algorithms for searching text.

    • @Zaary
      @Zaary 5 หลายเดือนก่อน +1

      pathfinding makes it possible to backtrack, this does not, it has only 1 thing in common with patfinding - finding the shortest path, this alghoritm however works completely different from pathfinding and has nothing in common with it.

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

    Great video! You should make more where you explain interesting algortihms. Maybe you can do Bresenham’s line drawing algorithm next. Keep it up. 😃

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

    Great video! Thanks for the excellent explanation. I found it really friendly and easy to understand.

  • @felixstuber8046
    @felixstuber8046 5 หลายเดือนก่อน +33

    Levenshtein algorithm can also be extended to calculate the Damerau-Levenshtein distance. Simply put, this means that you get another operation that switches two neighbouring letters. E.g. the words "world" and "wordl" have Levenshtein distance 2, but Damerau-Levenshtein distance 1 since it is enough to switch the last 2 letters. Especially in keyboard typing, such errors are common. It is also possible to fine tune even more by giving weights different from 1 to the operations.

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

      Essentially what they're proposing is that the weight of of 2 substitution actually has the weight of 1 substitution. And this goes into a much deeper topic which is that realistically the weight between each mistake(insertion, deletion or substitution) is actually not equal. There are things like phonetic mistakes where two similarly phonetic letters are interchanged, happens a lot in French for example. Common spelling errors have roots and generally it's because of phonetics, double consonants sound the same as single consonants etc...
      In the Deep Learning approach, you could build a model which would in fact be able to extract these features including not by limited to insertion, deletion, substitution, phonetic difference, common spelling mistakes that would determine the true distance between spelling errors and better determine your intent when writing.

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

      @@stt.9433It’s not a proposal, it’s an algo from 1965, a base for all search engines. levenstein distance in pure form is very insufficient for real applications and been used since forever without any need for ML (doh)

  • @daveys
    @daveys 5 หลายเดือนก่อน +37

    I used a Levenshtein program to match software names and categories to a list that I scraped from somewhere or other. Worked nicely, but took a while to run, even running on 12 cores because it was running 140,000 unsorted items against 40,000 items with a category and type. Still, 5mins isn’t bad compared to how long it’d have taken to do it manually.

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

      im using it in my application to actively read text boxes and compare them to a script im using.

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

    I would love to see more of these history of algorithms videos.

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

    Great video! Love the username. I will definitely be watching more and subscribed. I'm a python novice and don't code but love to see how the sausage is made. Maybe one day I'll get into the sausage biz.

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

    Wow this video is amazing and now I have learnt the core concept behind the spell check :)

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

    Although I was familiar with the algorithms presented in the video visualizations were great and helped to understand them much better. Thank you.

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

    Wow such a great explanation, I am definitely trying out writing a spellchecker

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

    This is very interesting! Great video.

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

    I saw "spell checker alogrithm" I subbed. thanks for the video and hoping to see moreeee!❤

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

    Great explanation, and your voice is pretty soothing

  • @Leet.Time.
    @Leet.Time. 5 หลายเดือนก่อน

    What an exceptionally good and well researched video

  • @mudliyar_jayesh
    @mudliyar_jayesh 25 วันที่ผ่านมา

    I'd love a deep dive series into such algorithms, slowly building up to NLPs

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

    It was extremely wonderful. Thanks for your great explanations 😍

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

    Wow this is also what i learned in uni but then in the context of DNA sequences because they can also have deletions, insertions, and substitutions (i studied bioinformatics)

  • @jademonass2954
    @jademonass2954 15 วันที่ผ่านมา +1

    had to make a levenshtein distance calculator (in python) for college about 2 months ago, had no idea it would be helpful for spellcheckers though! super interesting stuff

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

    i was hoping to learn about the modern algortihms, but well, now i know the history behind it. hope to see a part 2

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

    I've done some word with Levenshtein distances in the past, but it's cool to see what's actually going on under the hood. Thanks for this!

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

    This was a great video, MAKE ANOTHER ONEEEE !❤❤❤

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

    Amazing video! Well done!

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

    Great video! Thanks for making it!
    I would love to see you expand this video/topic to include the use of different types of edits having different probabilities and/or 'costs', which is a useful and interesting application for things like calculating the 'distance' between two things which have different physical/theoretical processes for causing different kinds of edits.
    For example, in DNA sequences, nucleotide substitutions might be much more common than deletions or insertions. And perhaps deletions are more common than insertions -- or vice versa.
    One way to model this is to have less-common types of edits 'cost' more than more-common ones. Another way to model this is to go by actual probabilities (aka likelihoods).
    There are algorithms which incorporate such ideas, and can be solved in a similar way to the Wagner & Fischer method, but unfortunately I can't recall the name(s) off the top of my head.
    But still it is both a really interesting question with really interesting and instructive solutions, so IMHO I think it would make a great topic for a follow-up video. What do you think?
    Cheers!

  • @ebol08
    @ebol08 5 หลายเดือนก่อน +1

    Wonderful video!

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

    Nice video, very pedagogical, if you ever get tempted to make a follow up there is an optimization where instead of computing the entire matrix you only compute the distance bellow a threshold d, this corresponds to computing a wide diagonal in the middle of the dynamic programming matrix.

  • @Tom-lz9pu
    @Tom-lz9pu 5 หลายเดือนก่อน

    As others also pointed out this is so similar to needleman Wunsch and or Smith-Waterman, and its insane to me. I learned about bioinformatics algorithms and now end up in a situation in which I can think of sequence aligning being responsible for my spellchecking

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

    Two points: it’s actually the Damerau-Levenshtein algorithm; and the implementation given is O of n^2, which is unnecessary. You can use a moving window into the grid that is a diagonal stripe wide enough to hold the maximum acceptable edit distance. That makes the algorithm O of n.

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

      I meant that the commonly used algorithm is Damerau-Levenshtein.

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

    Amazing video extremely interesting, simple and high quality

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

    Omg could this be a channel about algorithms? 🤩

  • @LukasSmith827
    @LukasSmith827 5 หลายเดือนก่อน +1

    really helpful ngl, didn't know much about spell checkers! but now i understand we really need NN's in this area because of how bad the functions are

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

    Thank you so much for this video!

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

    Just amazing explanation

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

    i really thought it was just ai, didnt realize it was already this old, good video quality!

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

    6:36 Wagner-Fischer algorithm looks a lot like NeedleMan-Wunsch algorithm(it also a dynamic programming algorithm that is used for alignment of nucleotide, protein and other genetic sequences). It’s possibly the same algorithm but repurposed for alignment in genetic sequences.

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

    This was awesome!! I think I just found an awesome new channel :D

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

    Great video!

  • @Chris-cx6wl
    @Chris-cx6wl 5 หลายเดือนก่อน

    Algorithms with historical context videos are the best.

  • @sanatsharma653
    @sanatsharma653 23 วันที่ผ่านมา

    While edit distance is still common, newer spellcheckers involve other techniques and have moved on to using neural networks for a lot of the heavy lifting.

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

    Best way to teach Dynamic Programming is just simple hashmap memoization of the recursive function, and only teaching the 2D matrix after solving multiple DP problems with memoization.

  • @BenjaminBobkin
    @BenjaminBobkin 5 หลายเดือนก่อน +1

    Great video. How did you create thise animations. Did you use manim or something else, or have you done it with after effects. Im just curious

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

      I'm curious too!

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

    Can you upload DSA contents with visualizations? It would really help. Enjoyed this video, will try implementing it myself.

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

    How do you do this animations? Are you using some kind of library like Manim?

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

    The matrix is similar to an action table used to determine the symmetry of a group in accordance to an operation. Basically the math of dp which is you think of it is fractal

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

    great video!

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

    I thought it'd be obvious to incrporate the distance between two letters on a keyboard into the calculation but I was surprised that after so many iterations its still not there!!!

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

    Dynamic Programming is one of the coolest design techniques in computer science. First time I learned it I was amazed. Cudos to the Richard Bellman who first developed the idea for it

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

    excelente !!! muchas gracias !!!

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

    I love the kingsman reference

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

    What theme do you use for VSCode? It looks so good

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

    That's very interesting. I'm wondering if perhaps this algorithm could be implemented more efficiently in an array programming language like APL or J?

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

    now this is awesome

  • @idocoding2003
    @idocoding2003 5 หลายเดือนก่อน +1

    Nice video 👍👍❤

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

    Awesome video

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

    this video is causing flashbacks to the time I wrote autocorrect for bash

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

    this is some good content

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

    Could you weigh the edit distance to favor letter substitutions that are physically close in the keyboard?

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

    Wow I really want to write the levenstein algo!

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

    whats the font? looks good
    overall nice video

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

    super informative .. thanksss

  • @samgoel4283
    @samgoel4283 5 หลายเดือนก่อน +1

    This algorithm is very similar to one you use in finding longest common subsequence between 2 strings a very popular LeetCode question

    • @Alexander-zt9kz
      @Alexander-zt9kz 5 หลายเดือนก่อน

      As well as Edit Distance ( same as LCS ) - This is the first thing I noticed when he started explaining the video, as it felt as if I had solved this before.

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

    Which tool are you using for the slides and transitions?

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

    Very good video, but I guess using a binary search tree on a pre-sorted list for words is more efficient which would make a worst case of roughly O(log n) in the above example. It will also perform both checking if the word is correct or not and finding the suggested words by traversing through the tree only one time. correct me if i'm wrong please

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

    what a great video. food for curiosity

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

    I tried thinking of a way to check against a dictionary faster. while Levenshtein distance is computable in O(nm), using it repeatedly would lead to O(nmk) if the dictionary has k words. The string space sort of behaves like a metric space, with stuff like the triangle inequality. I believe in computational geometry we know how to efficiently find the “k nearest neighbors” in Euclidean space, but Idk how to do that for the space of strings . I was curious if there’s a way to use Levenshtein distance smartly to only perform something like log k queries. If that were possible, the running time would effectively be O(log k) since the lengths of individual words are much smaller than the length of an entire dictionary.

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

    One thing I’ve always wondered is how with find the distance between strings from a dictionary- if the strings contain a close substring, starting at an ambiguous index.
    It’s not very intuitive, but thanks for the video.

  • @adimascahyaning9202
    @adimascahyaning9202 5 หลายเดือนก่อน +9

    This algorithm is also used in the field of bioinformatics, to solve sequence alignment problem.

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

    Banger vid

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

    really cool video

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

    my head hurts, crazy sudoku

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

    If you have enough data, may create a map of all wrongly type words as key then the values would be an array?

  • @PavanKumar-if7zi
    @PavanKumar-if7zi 5 หลายเดือนก่อน

    Awesome 😍

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

    Great video joined as a sub .

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

    Which font are you using in VS Code?

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

    11:29
    In your wagner_fischer implementation, why are you incrementing change? (line 17) If "previous_row[j-1]" was guaranteed to always be the smallest value, and none others shared that value, maybe it would work. Why not choose the minimum first and then add 1 to it after checking if the two letters are not the same? Or am I misunderstanding something?

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

    Quite a interesting history.

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

    Whenever I see matrices, I think GPU. GPU accelerated spell checker?

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

    Could add a cache layer so we never have to check a misplaced word more than one. That counts for an easy improvement.

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

    u r amazing bro u directly helping me doing my P.hD

  • @null-0x
    @null-0x 5 หลายเดือนก่อน

    Why does this awesome channel have such a low number of views??

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

    Reminds me of my 1st semester in uni, but ZIEGE and TIGER instead of FLOAT and BOAT

  • @the_ashhar
    @the_ashhar 29 วันที่ผ่านมา

    It blows my mind how much co. Computer science have evolved

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

    What theme do you use in your vscode ?