1. Introduction, Finite Automata, Regular Expressions

Поділитися
Вставка
  • Опубліковано 2 січ 2025

КОМЕНТАРІ • 157

  • @leahthegeek9677
    @leahthegeek9677 2 роки тому +175

    thank you so much for sharing this course, I'm living in a country where buying things from other countries like online courses isn't possible due to sanctions. these free courses are the only things that let me learn, thank you again for your awesome website and courses.

  • @viridianite
    @viridianite 2 роки тому +117

    This is THE Michael Sipser of Sipser's Introduction to the Theory of Computation.

    • @w0nnafight
      @w0nnafight Рік тому

      who asked?

    • @viridianite
      @viridianite Рік тому +42

      @@w0nnafight This is THE W0nnaFight of UA-cam's comment section asking "who asked".

    • @martian0x80
      @martian0x80 9 місяців тому +1

      @@viridianiteThis is THE LuuuZeta of UA-cam's comment section saying "This is THE W0nnaFight of UA-cam's comment section asking "who asked".".

    • @dyinginmyroom-gs2gc
      @dyinginmyroom-gs2gc 6 місяців тому +1

      Holy shit i just noticed that

    • @EzraSchroeder
      @EzraSchroeder 3 місяці тому

      his book is the book for the course this is part of... a course at MIT you can study online for free on MIT OCW... a course at MIT which can count toward degrees (including a PhD in at least one subject) in EECS & Mathematics, also oftentimes taken by physics majors...

  • @swagatochatterjee7104
    @swagatochatterjee7104 3 роки тому +51

    Holy shit! The legendary Michael Sipser is teaching it in video!!!!

  • @EngineersToGoMT
    @EngineersToGoMT 10 місяців тому +11

    Just got automata and regular languages at school for computer science. Surprise surpise, i didn't understand a thing. Thank god for this youtube video.

  • @vaalarivan_p
    @vaalarivan_p 2 роки тому +30

    personal index:
    def of finite automaton : 20:00
    regular lang def : 29:00

    • @gorkemgenc344
      @gorkemgenc344 Місяць тому +1

      how is it going now?

    • @vaalarivan_p
      @vaalarivan_p Місяць тому +3

      @gorkemgenc344 yeah it's going pretty well. Gonna finish my 5 years of CS degree by next six months, and will be joining a company coming Jan! Thanks for asking!

    • @gorkemgenc344
      @gorkemgenc344 Місяць тому +2

      @@vaalarivan_p happy to hear that

  • @AyushBhattfe
    @AyushBhattfe 3 роки тому +76

    so this is that Michael Sipser whose book we all read and love

  • @fnaticbwipo1222
    @fnaticbwipo1222 Рік тому +17

    for those who want to know Mike Sipser is author of the book that in detail explains those fundamentals of computer science, make sure you watch these playlist they have a huge value for those who want to learn theory of computation.

  • @mariuszpopieluch7373
    @mariuszpopieluch7373 4 місяці тому +4

    I’ve had professor Sipser’s textbook for over a decade, and now I have also purchased a Polish edition and teach this material in my discrete mathematics course.

  • @chetashreejagtap7585
    @chetashreejagtap7585 Рік тому +18

    thank you MIT OCW for sharing such wonderful knowledge with detail explanation, for those who are not able to get source to learn things, it is really very great and awesome platform. thank you!

  • @MathNerdGamer
    @MathNerdGamer 3 роки тому +38

    I've been waiting for this ever since I looked at Sipser's page and saw that it was being reviewed for OCW!

  • @FR33Willi
    @FR33Willi 3 роки тому +10

    work begins at 9:12

  • @VictorLG-c2d
    @VictorLG-c2d Місяць тому

    43:10 If the set has the empty string, it is no longer an empty set; it is a set containing the element empty string: A = {epsilon}

  • @whitedevil4123
    @whitedevil4123 3 роки тому +6

    Thanks to all for making this possible.

  • @beelediye6973
    @beelediye6973 3 роки тому +17

    It's always a pleasure listening to lecture of a Legend.

    • @mustafaerenkoc886
      @mustafaerenkoc886 2 роки тому

      teşekkürler geri dönüş melih

    • @yorgunkaptaan
      @yorgunkaptaan 2 роки тому

      Bakıyorum herkes burda

    • @LTG-
      @LTG- Місяць тому

      @@yorgunkaptaan selamlar

  • @vishnusingh4121
    @vishnusingh4121 2 роки тому +3

    31:59 Basically, the reason why you can solve this problem, you can make a finite automaton which recognizes the language B, is because that finite automaton is going to keep track of the parity of the number of 1's
    it's seen before. This has two states, one of them remembering that it's seen an odd number of 1's so far,
    the other one remembering it's seen an even number of 1's before. And that's going to be typical for these automata,
    finite automata. There's going to be several different possibilities that you may have to keep track of as you're reading the input, and there's going to be a state associated with each one of those possibilities. So if you're designing an automaton, you have to think about-- as you're processing the input-- what things you have to keep track of. And you're going to make a state for each one of those possibilities
    41:52 Show finite automata equivalent to Regular Expression.

  • @persi_dev
    @persi_dev 7 місяців тому +4

    This is the curicullum shared by pretty much every computer science department in my country of Greece... using the same book.

  • @MrDiglenson
    @MrDiglenson 3 роки тому +25

    Woah, it's so cool to see him teaching here 😮

  • @sebon11
    @sebon11 3 роки тому +25

    Amazing lecture, everything clear even though it's mathematical, thanks for sharing

  • @MinhazulIslamRoyel
    @MinhazulIslamRoyel 2 місяці тому +1

    This course helped me during my automata course in my undergrad

  • @lesegomatsimela2112
    @lesegomatsimela2112 Рік тому

    is F (which is the set of accept states) the same as saying the set of all final states? @21:54

  • @shanhuang5886
    @shanhuang5886 2 роки тому +1

    that is greatness - shows a different level of clarity....

  • @jolness1
    @jolness1 2 роки тому +5

    Love OCW. Figured they would have something for this to self study

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

    i love you MIT opencourseware

  • @doyourealise
    @doyourealise 2 роки тому +6

    dang just got his book introduction to computation and now i m watching his videos :) amazing video :)

    • @thunderingeagle
      @thunderingeagle 2 роки тому +1

      Hows the book and the course ? I am planning to start this one....so any thoughts please :)

    • @x87-64
      @x87-64 2 роки тому +4

      ​@@thunderingeagle The course and the book both are amazing. The course is pretty much just Sipser repeating whatever is in the book so you can just watch the lectures and do problems from the book.

  • @jasonpark6381
    @jasonpark6381 2 роки тому

    can I think of the definition at 25:54 as exact match regarding regular expression?

    • @viridianite
      @viridianite 2 роки тому

      What do you mean by "exact match"?

  • @net.navigator
    @net.navigator 9 місяців тому +1

    as someone who has used his text on toc, this is fun to watch. i wonder how i missed this playlist earlier.

  • @GuitarheroWWEduh
    @GuitarheroWWEduh 8 місяців тому +1

    I really wish my Formal Languages/Theory of Computation (whichever your university calls the course), professor made it easier to understand like how Dr. Sipser does! Ty so much! Because I have my final this week and Dr. Sipser, as the author of my Theory of Computation course-textbook, and now I actually understand as I review for my final! ^^

  • @ahsanahmad3193
    @ahsanahmad3193 2 роки тому

    At 31:20 , I don't think that automaton can be created with two states. If it is possible, please share answer.

    • @leonardmohr9450
      @leonardmohr9450 2 роки тому +3

      The two states are even and odd. The start state is even. The accept state is even. An input of zero wont change the state, and an input of one will.

    • @ahsanahmad3193
      @ahsanahmad3193 2 роки тому +1

      @@leonardmohr9450 I appreciate your answer but I had forgotten my question. LOL. But don't worry, I have to watch this video again as I don't remember a word about automata but have to study compiler design course which I failed two semesters ago.

  • @epictetus__
    @epictetus__ 10 місяців тому

    Bookmark: 28:00

  • @Joshwism
    @Joshwism 2 роки тому +5

    The slides are so easy on the eyes.

  • @maetamonxg7718
    @maetamonxg7718 2 роки тому +3

    41:00 I was thinking this is like RegEx and then I was like hey this IS RegEx .. Fun to learn TOC at a random point in my education

  • @SigalnShow
    @SigalnShow 17 днів тому

    Thanks for publishing this course!! Is there a newer version of it? Is there any news about the material since this course took place?

  • @autogrant7020
    @autogrant7020 3 роки тому +6

    A Sipser MIT course. :-) :-) :-)

  • @josemilian4167
    @josemilian4167 Рік тому

    watched vid to try and see what course was about since course description was bit unclear to me. reminds me of linear algebra a bit but still unclear as to the materials utility. Anyone have more complete understanding of subject that could tell me about where the information is useful?

  • @A.K.00
    @A.K.00 3 роки тому +14

    Is this Mr. Sipser himself? It's been some years that I read his book. Had a love-hate relationship with that subject lol.

  • @Kenny-nj5te
    @Kenny-nj5te 5 місяців тому

    micheal is a great explainer,

  • @temtamyassine2292
    @temtamyassine2292 Рік тому +1

    Great thanks Mit OCW, the textbook is also great

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

    i am waiting this course for long time☺️☺️☺️ i am very happy

  • @donaldtimpson4320
    @donaldtimpson4320 2 роки тому +2

    One of the silver linings for covid. Thanks.

  • @phuditthawatsasom6869
    @phuditthawatsasom6869 2 роки тому +2

    16:35 To be honest, you did wake me up

  • @muhammadfaruq1782
    @muhammadfaruq1782 Рік тому +1

    the S = (a, b)
    Is the (a* + b*) equals with (a + b)*
    or (ab)* with (a*b*) ??
    Pls help me (sorry for my bad english)

  • @chaitanyasharma6270
    @chaitanyasharma6270 2 роки тому +4

    where can i access the slides?

    • @mitocw
      @mitocw  2 роки тому +9

      You can find the course materials at: ocw.mit.edu/courses/18-404j-theory-of-computation-fall-2020/. Best wishes on your studies!

  • @bowlingfanatikzzz
    @bowlingfanatikzzz 3 роки тому +6

    Very helpful to future students! Great work! Thank you!

  • @TT-bv2nc
    @TT-bv2nc 10 місяців тому +1

    very helpful, thanks!

  • @SandipMukherjee-b6i
    @SandipMukherjee-b6i 3 місяці тому

    Thank you very much for the course

  • @yrthinks6178
    @yrthinks6178 2 роки тому

    At 23:39 why q2 goes to q1 if the input is zero, why not it has circle above it like q1.

    • @viridianite
      @viridianite 2 роки тому +1

      That's because there's a transition from q1 to q2 when the symbol is zero.

    • @viridianite
      @viridianite Рік тому +1

      When the machine is in q2 and the input is zero, it goes back to q1 because there's an arrow labeled with zero that takes the machine from q2 to q1 when zero is the input. q2 doesn't have a circle labeled with zero because it's not making a transition to itself but a transition to q1.
      You can also look at the transition function (the table) which describes where the machine makes a transition based on the state it is in and the input symbol.

  • @muhammadzuhairaskari7924
    @muhammadzuhairaskari7924 2 роки тому +2

    04:30 prerequisites

  • @devmahad
    @devmahad Рік тому

    TOC: Basic TOC concepts:
    FA, Definition, Regular languages & their properties

  • @uzairakram899
    @uzairakram899 3 місяці тому

    I have always had trouble making the connection between these regular expressions/ languages and computation which is about solving problems algorithmically and creating a mechanistic process of solving a problem. I really wish that connection was made more clear

  • @aamodvardhanpandey
    @aamodvardhanpandey Рік тому +1

    Why, thank you, Sir!

  • @potatoboss5239
    @potatoboss5239 3 роки тому +2

    Now I have something to watch on the bus

  • @climbeverest
    @climbeverest Рік тому +1

    Not sure if the professor will alter his opening statement on math and AI, it looks like Q*2 has broken ground on that. Shows how 1 year ago is an eon in CS

  • @federicogasparv
    @federicogasparv 3 роки тому +2

    Boring friday night? mit course sounds like a good plan. XD

  • @austinoquinn815
    @austinoquinn815 2 роки тому +1

    Is (1U0)* actually supposed to be {{1}U{0}}* ? I might be wrong but we defined the union operation on languages which are sets. 1 and 0 do not appear to be set. This is min 40. Thanks in advance.

    • @x87-64
      @x87-64 2 роки тому +4

      Yes, but he said that mostly to be concise, we neglect the braces in singletons.

    • @ABHAYKUMAR-kh4ce
      @ABHAYKUMAR-kh4ce 9 місяців тому

      You are right. By (1U0), he meant {{1}U{0}}. He treated {1} as 1, which is not correct.

  • @Jonathondelemos
    @Jonathondelemos Рік тому +1

    Thanks

  • @danny.math-tutor
    @danny.math-tutor Рік тому +1

    thanks for sharing

  • @yuntaozhao5693
    @yuntaozhao5693 Рік тому +1

    Thank you professor

  • @shawonmajid
    @shawonmajid 2 роки тому

    Where can I get the slides used in the video?

    • @mitocw
      @mitocw  2 роки тому +1

      You can get the slides on MIT OpenCOurseWare at: ocw.mit.edu/18-404JF20. Best wishes on your studies!

  • @AntorFerdous
    @AntorFerdous 3 роки тому +1

    I would have failed this class if it wasn't for these lectures

  • @AtulKumar-od6tn
    @AtulKumar-od6tn 3 роки тому +2

    Thank you

  • @ShubhamSinghYoutube
    @ShubhamSinghYoutube 3 роки тому +2

    Thank you.

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

    Input letters are a and b, then what is the regular expressions no two a's come together (string may be any length) can anyone plz help plz!!!!!!!

  • @thegodfatheram
    @thegodfatheram 3 роки тому +1

    Thank you very much

  • @okaudi
    @okaudi 2 роки тому +2

    Professor, Can we consider that Σ*1 is equal to Σ^1

  • @dakshsharma2209
    @dakshsharma2209 2 роки тому

    can someone please let me know of the prerequisites before starting if you have already seen the course.

    • @mitocw
      @mitocw  2 роки тому +2

      PREREQUISITES: 6.042J Mathematics for Computer Science, 18.200 Principles of Discrete Applied Mathematics. For more info, visit the course on MIT OpenCourseWare at: ocw.mit.edu/18-404JF20. Best wishes on your studies!

  • @NikosXouselas10
    @NikosXouselas10 2 роки тому +4

    Department of Computer Engineering & Informatics
    University of Patras, Hellas.
    Thank you, it was really helpful!

    • @ikebipe
      @ikebipe 2 роки тому

      🤣🤣🤣

  • @vaishnavijahagirdar3835
    @vaishnavijahagirdar3835 2 роки тому

    where are the ppts?

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

    6:15 COMO FUNCIONA EL CEREBRO HUMANO ....

  • @___Truth___
    @___Truth___ 2 роки тому

    What is good homework to test if we clearly understand this lecture? Is there such corresponding homework?

    • @nicolasguardado7466
      @nicolasguardado7466 Рік тому +1

      He wrote the book "Introduction to Theory of Computation" where he provides many exercises that you can use to test yourself.

  • @grzegorzmajcher9237
    @grzegorzmajcher9237 8 місяців тому +1

    Great!

  • @draneolfesoj13
    @draneolfesoj13 Рік тому +1

    i have exam this day, im reviewing today HAHAHA.

  • @sohailakandil2046
    @sohailakandil2046 9 місяців тому

    isn't there a free legal version for the book

  • @SilverlightLantern
    @SilverlightLantern 3 роки тому +1

    1:00:24 Loudly crying face (copyrighted) Source Unknown

  • @sirluoyi2853
    @sirluoyi2853 2 роки тому +1

    Thanks sir!

  • @tamasurban8870
    @tamasurban8870 Рік тому +1

    huge thanks from hungary!!

  • @stardustsong1680
    @stardustsong1680 2 роки тому +1

    Great course! Thanks a lot!

  • @vishalcseiitghy
    @vishalcseiitghy 3 роки тому +2

    Here, before GATE 2022

  • @mistersir3185
    @mistersir3185 Рік тому +1

    It is so hard to keep track of what he is explaining in the last 3 sections. Lost interest...

  • @himeyprogramming7221
    @himeyprogramming7221 3 роки тому +3

    Thank you heard my request

  • @uditjec8587
    @uditjec8587 Рік тому

    No one talks about computability of computer with proper example.

  • @user-ew5vj1sl1u
    @user-ew5vj1sl1u Рік тому +1

    Done ✅

  • @Clory
    @Clory 2 місяці тому +3

    What the Σigma

  • @monsieurbreakyourpc
    @monsieurbreakyourpc 2 роки тому

    32:00

  • @jayvirsingh2357
    @jayvirsingh2357 3 місяці тому

    better than proff sagarmoy

  • @naveenkumard9217
    @naveenkumard9217 7 місяців тому

    4:06

  • @merry6423
    @merry6423 3 роки тому +3

    我是中国人 很感谢🙏

  • @lasranasmalevolas3303
    @lasranasmalevolas3303 2 роки тому

    28:18

  • @zemm9003
    @zemm9003 7 місяців тому

    These definitions are so retrograde it's amazing. It's a big problem with the Theory of Computation. You will often find yourself doing proofs in Python and other tools that actually work nicely and intuitively and then translate the result into Mathematical jargon so that you can get published.

  • @monsieurbreakyourpc
    @monsieurbreakyourpc 2 роки тому

    10:08

  • @wargreymon2024
    @wargreymon2024 2 роки тому

    Take a drink everytime he AUMM

  • @Vickielynnrenegar
    @Vickielynnrenegar 7 місяців тому

    I really hate I never got to hear anything by Alan Turing

  • @MaxMov-sp8hr
    @MaxMov-sp8hr 2 місяці тому

    Hey everyone! Why 'Note that a function may not necessarily use all
    the elements of the specified range. The function abs never takes on the value
    −1 even though −1 ∈ Z'? 🤔 This cite taken from 'Introduction to the Theory of Computation Third Edition' by Michael Sipser, FUNCTIONS AND RELATIONS chapter.

  • @whywakejha
    @whywakejha 4 місяці тому

    not MOCW ending on a cliff hanger...

  • @Iqbal00123
    @Iqbal00123 11 місяців тому +1

    I did not understand 70% of the class

    • @t0wbo2t
      @t0wbo2t 9 місяців тому

      Give a try to "Mathematical Logic" by Joseph R. Shoenfield.

  • @MasterCivilEngineering
    @MasterCivilEngineering 3 роки тому +1

    Master in engineering here🇺🇸🇺🇸🇺🇸

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

    I'm a math major, and my uni only offers theoretical CS as a unit to CS majors (or you'd have to do enough to earn a CS minor at least), which sucks because this really interests me, but I don't care much for the engineering/code-monkey stuff. Thanks for uploading this, I'm gonna follow these closely for sure!

    • @moatef1886
      @moatef1886 Рік тому

      I’ve found the “engineering/code monkey stuff” isn’t what a formal education in CS is about. It’s pretty much mathematics, these theoretical CS courses. Algorithms analysis and design, theory of computation/complexity theory, formal language and automata theory, mathematical cryptography, type theory, etc.
      A lot of a CS degree is pretty far away from the “engineering/code monkey” stuff, and theoretical computer scientists are mathematicians.

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

    Construct NDPDA for the language of all non-palindrome.
    Construct DPDA for the language of all those strings in which the no. of a’s twice the no. of b’s.
    anybody help me please

  • @NEILJOHNRA
    @NEILJOHNRA 2 роки тому

    1 done

  • @imglenngarcia
    @imglenngarcia 3 роки тому +1

    💡

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

    Can be explained by lambda calculus, much more concise and graceful

    • @jedikirby
      @jedikirby 2 роки тому

      is there a good course on UA-cam that can help with the basics? I'd love to watch it