1. Course Overview, Interval Scheduling

Sdílet
Vložit
  • čas přidán 3. 03. 2016
  • MIT 6.046J Design and Analysis of Algorithms, Spring 2015
    View the complete course: ocw.mit.edu/6-046JS15
    Instructor: Srinivas Devadas
    In this lecture, Professor Devadas gives an overview of the course and introduces an algorithm for optimal interval scheduling.
    License: Creative Commons BY-NC-SA
    More information at ocw.mit.edu/terms
    More courses at ocw.mit.edu

Komentáře • 141

  • @alexisglennespina8471
    @alexisglennespina8471 Před 8 lety +305

    Thanks MIT for providing an updated version of your algorithms class. You are truly awesome. You continue to inspire me to learn more.

    • @neuron8186
      @neuron8186 Před 3 lety +4

      what do you mean by updated version

    • @ru2979
      @ru2979 Před rokem

      @@neuron8186 hey u , why u mocking him

  • @SharatS
    @SharatS Před 7 lety +582

    The MIT recommended order for watching this is 6.042J (Mathematics for Computer Science) , then 6.006 (Introduction to Algorithms) and finally 6.046J (Analysis and Design of Algorithms).

    • @Suborneer
      @Suborneer Před 6 lety +2

      Sharat Sachin where did you find recommended order

    • @kwokpinglau2400
      @kwokpinglau2400 Před 5 lety +1

      Thx mate

    • @minh_tran
      @minh_tran Před 4 lety +1

      Thank you so much!!!

    • @hujake5406
      @hujake5406 Před 4 lety +15

      Thank you!!!!!!!!!!!!!!! you just save my soul which fcked up by corona virus

    • @yeowzh
      @yeowzh Před 4 lety +5

      Thanks mate. I was looking for this comment. Really helpful

  • @siyuanliu4581
    @siyuanliu4581 Před 8 lety +92

    The video quality is truly amazing, and it keeps getting better and better. Thanks MIT, the professors and staffs behind the scene!

  • @ozziekhoo
    @ozziekhoo Před 3 lety +6

    Thanks whoever wrote up the subtitles, they really do help to ensure you don't miss out on anything.

  • @asadullahfarooqi254
    @asadullahfarooqi254 Před 7 lety +91

    thanks MIT i am a poor guy learned alot from you and when i got my future bright i will make donation as i can that time and i would be glad to do more then anyone

  • @abhineet5834
    @abhineet5834 Před 6 lety +48

    Interval Scheduling starts at 17:30

  • @shymaaarafat1342
    @shymaaarafat1342 Před 5 lety +5

    Here in Egypt, at least till the end of 2011 & to be accurate in the places I teached in CE/CS,
    We take most of these topics 6.042 ,6.006, 6.046 between Data structures course (2nd yr) & algorithm design & analysis (3rd yr),
    usually we start with parts from knuth "Sorting & Searching" , then a variety of books on Algorithms (I recall Sartaj Sahni as one of them) , then a part from Sara Base "The Hardest Problems"
    -We probably end data Structures on B-trees, B+ trees,
    -Also, we don't use python, we write Pseudo code in lectures (like 5503 course lectures), and the labs use the main programming language these students study for implementation to emphasize more on it(u see sometimes some colleges prefer to concentrate on implementation and programming skills in the Data Structures course)
    -Probabilistic algorithms is a post graduate course
    -We address Cryptography in completely different course (Security from Stallings)
    -I took FFT very very long time ago as an undergraduate in a half semester Digital Signal Processing course yes connected to Algorithms, I never teached it but I know it is taught in different courses

  • @ShingHim
    @ShingHim Před 6 lety +39

    Coming from the 2011 6.006 course, the cinematography for this lecture should win an Oscar! The multiple camera angles, the 1080p definition....I think I'm about to shed a tear
    But for real, great lecture! I'm looking forward to watching the rest of the series. You rock, MIT

  • @vexilligerave9356
    @vexilligerave9356 Před 8 lety +3

    A very good series. More contents from CLRS are covered compared to the previous 6046 and 6006 courses.

  • @SameerSk
    @SameerSk Před 4 lety +2

    *_Very big thanks to MIT OCW for helping us with this beautiful course_*

  • @stevewu9372
    @stevewu9372 Před 4 lety

    I love everything about MIT, I am very grateful and willing to donate!

  • @sai4007
    @sai4007 Před 8 lety +1

    Thanks a lot for uploading this, Srini, Erik you rock on .. .

  • @waltermitty6446
    @waltermitty6446 Před 6 lety +1

    Thanks MIT for providing these amazing course!!!

  • @coolcodingtips4624
    @coolcodingtips4624 Před 7 lety +2

    Thanks a lot for MITOCW, it deeply help me to find the real knowledge. I think MITOCW really save me from the poverty and ignorance. THANK YOU MIT THANK YOU MITOCW

  • @nickmartinez4064
    @nickmartinez4064 Před 8 lety +11

    great reinforcement of my current undergrad algorithms class!

    • @ilyakopyl
      @ilyakopyl Před 7 lety +4

      +1 I take the classes at my local university for credits, I watch these lectures for knowledge.

  • @SiddharthaJoshi
    @SiddharthaJoshi Před 7 lety +14

    Weighted Interval Scheduling starts at 1:02:15
    Thank you MIT OCW, and thank you Prof. Devadas.

  • @darianharrison4836
    @darianharrison4836 Před 6 lety

    Thank you MIT for this opencourse, it is very good

  • @nickwhite8238
    @nickwhite8238 Před 7 lety +43

    Course begins at 4:35.

  • @hannahbansal4572
    @hannahbansal4572 Před 4 lety +1

    professor devdas is no doubt an excellent professor but the thing that makes him even better is how similar his voice and articulation is to RICK SANCHEZ!!

  • @ameslouis4264
    @ameslouis4264 Před 8 lety

    Thanks you very much, It helps me a lot.

  • @Marc-lh7te
    @Marc-lh7te Před 3 lety +2

    Just finished 6.006, I am here to devour 6.046J

  • @hanfuzhao805
    @hanfuzhao805 Před 5 lety +3

    hi where can i find the corresponding reading assignment for the course?

  • @SergeyLeschinsky
    @SergeyLeschinsky Před 3 lety

    From 480p to 1080p! Wow! Possible it's a good time to upload 4k version of 6.006

  • @livingwithlinlin3122
    @livingwithlinlin3122 Před 4 lety +3

    Wonderful content. I love the course, the professor and your sharing the knowledge with the world for free.
    Interval Scheduling: 17:30, Greedy Algorithm: 25:50, Greedy Interval Scheduling: 27:30, Prove: 42:50

  • @DeedeeM3gaDooDoo
    @DeedeeM3gaDooDoo Před 8 lety +1

    you guys are awesome thanks

  • @hansu7474
    @hansu7474 Před 5 lety

    I hope I can learn this within a year after I satisfy prerequisites. I will be back!

  • @GoogleUser-ee8ro
    @GoogleUser-ee8ro Před 5 lety +1

    Why can greedy algorithm solve the interval scheduling problem? Is there any limitation to the type of problems greedy can solve? And how to develop an intuition to guess the best strategy, such as the earliest finish time? on the first sight, the minimum conflict strategy totally makes sense, although one counter example proves its invalid. My other guess is to a strategy which concurrently picks smallest tasks and minimizes time waste (intervals between tasks) .

  • @jakeroosenbloom
    @jakeroosenbloom Před 4 lety +6

    9:25 Lectures starts here.

  • @memoriasIT
    @memoriasIT Před 6 lety

    Thanks for providing information for free

  • @jamest2736
    @jamest2736 Před 3 lety

    Are there any plans of making an edX version of this course? (also for 6.006)

  • @ns4k_tv
    @ns4k_tv Před 5 lety

    I didn't understand a thing, any class that i should watch before this? can someone help me with links?

  • @SmokingNoir
    @SmokingNoir Před 7 měsíci

    Thank you MIT for uploading. I might just pass my coding test and get a job thanks to you. Maybe...

  • @random-characters4162
    @random-characters4162 Před rokem +3

    I love how we have literally thousands of years of teaching tradition and we still cannot afford ourself a desk that is easy to clean

  • @srinidevadas9965
    @srinidevadas9965 Před 6 lety +5

    Those of you interested in algorithmic puzzles, check out my new book "Programming for the Puzzled" mitpress.mit.edu/books/programming-puzzled
    www.amazon.com/dp/0262534304/

  • @WhateverYouLove
    @WhateverYouLove Před 7 lety +65

    God, I love their big-ass chalks.

    • @rj-nj3uk
      @rj-nj3uk Před 5 lety +1

      Good!! Human.

    • @hektor6766
      @hektor6766 Před 5 lety +5

      It'scalled railroad chalk, similar to sidewalk art chalk, usually used for construction and insurance claim investigation.

  • @BipinOli90
    @BipinOli90 Před 8 lety +1

    How about compiling the contents into small quick videos where absolutely necessary things are covered just like those math videos of Gilbert Strang. It will be a great help as a quick refresher.
    PS: Great Thanks to MIT for this new and updated HD course

  • @sonurony5171
    @sonurony5171 Před 5 lety +3

    Can someone tell me what are the prerequisites for this course.
    ps. I know c and cpp fairly well

    • @mitocw
      @mitocw  Před 5 lety +9

      The prerequisites are: 6.006 Introduction to Algorithms, 6.042J / 18.062J Mathematics for Computer Science. See the course on MIT OpenCourseWare for more information at: ocw.mit.edu/6-046JS15. Best wishes on your studies!

  • @ndmath
    @ndmath Před 7 lety

    Bless MIT.

  • @adiigeak8568
    @adiigeak8568 Před 4 lety

    Not able to get the third example of incompatibility in 37:55

  • @devgumdrop3700
    @devgumdrop3700 Před 5 měsíci

    Interesting proof. Essentially, the induction step is possible because can be swapped into any optimal solution, and we know there exists a k+1 sized optimal solution in which the last k elements can be found using the greedy algorithm, as k is the maximum amount of intervals that fit in the rest of any k+1 sized optimal solution alongside . (By assumption, the greedy algorithm can find a solution when the maximum size is k). So, as the greedy algorithm always finds , and it always finds the next k intervals when it's possible too, then the greedy algorithm can find a k+1 sized optimal solution, hence the greedy algorithm works.

  • @akshaymathur2225
    @akshaymathur2225 Před 6 lety

    Why are so many people leaving ?

  • @17teacmrocks
    @17teacmrocks Před 3 lety +1

    i think i'm in the wrong course lol. I was looking for the newest one but the intro one must be 6.006

  • @yue7987
    @yue7987 Před 7 lety

    Thank You!

  • @xpwasteeldevin
    @xpwasteeldevin Před 7 lety

    I was looking at 6.006 and 6.046j....can anyone please tell in which course do they teach about asymptotic notaions, how to calculate them?? Even in 6.006 they assume students know how to find it.

  • @ashijoshi7982
    @ashijoshi7982 Před 3 lety

    I didn't understand why k* should be maximum?

  • @codethings271
    @codethings271 Před 7 lety

    im loving it :)

  • @coding99
    @coding99 Před 3 lety

    resolutions really tells the time between 6.006 and 6.046...!

  • @Alice_Dawn23
    @Alice_Dawn23 Před rokem

    prove of choosing ealiest finish time: 42:48

  • @sushantrocks
    @sushantrocks Před 2 lety +1

    I don't why but i intently started listening to the logistics as well 😂😂.

  • @forheuristiclifeksh7836
    @forheuristiclifeksh7836 Před 3 měsíci

    14:41 deyrrmining graph if it is hamiltonian cycle is difficult

  • @MrEternalFool
    @MrEternalFool Před 8 lety +35

    I want a frisbee.

    • @TheGerakas
      @TheGerakas Před 5 lety

      It costs $250K
      (I had the same thought)

  • @jerrys5387
    @jerrys5387 Před 4 lety +1

    Hi guys, which version is better to watch this one or the 2011’s?

    • @silveriofex
      @silveriofex Před 4 lety

      I was wondering this too, I love the 2011 first chapters

  • @harryhoang7734
    @harryhoang7734 Před 7 lety +1

    Anyone can tell me which section in the course textbook assigned with each video lecture?

    • @mitocw
      @mitocw  Před 7 lety

      Sorry, there doesn't appear to be a Readings section, but the Calendar lists the topics and the required textbook. ocw.mit.edu/6-046JS15.

    • @ravitheja012345
      @ravitheja012345 Před 7 lety +1

      Study from Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein

  • @Gokulbhusal-oj3fy
    @Gokulbhusal-oj3fy Před 4 lety +1

    Thk you sir

  • @saranshthakur9999
    @saranshthakur9999 Před 4 lety

    Hello Sir, I want to learn data structure and algorithm and as I don't have any knowledge about coding or about data structure & algorithm.
    I have to start from beginning .So ,this course is suitable for me or I need to have any background knowledge.

    • @mitocw
      @mitocw  Před 4 lety +1

      Prerequisites:
      6.006 Introduction to Algorithms
      6.042J / 18.062J Mathematics for Computer Science
      See the course on MIT OpenCourseWare for more info at: ocw.mit.edu/6-046JS15. Best wishes on your studies!

  • @chinmaydas4053
    @chinmaydas4053 Před 6 lety +2

    Sir, what is the best programming language to understand, implement the data structures and algorithms, analyse and design algorithms.. c/c++/java/c#/python etc???.. please sir answer me.. it will be very helpful.. eagerly waiting for your valuable answer..

    • @srinidevadas9965
      @srinidevadas9965 Před 6 lety +2

      I would start with Python. Good luck!

    • @chinmaydas4053
      @chinmaydas4053 Před 6 lety +1

      Thank you sir for your reply.. Sir what's the best video resources for learning python in depth.. Please answer me sir..

    • @srinidevadas9965
      @srinidevadas9965 Před 6 lety +2

      ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/
      ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-s095-programming-for-the-puzzled-january-iap-2018/index.htm?OCWCourseList&CarouselSm&FeaturedCourse

    • @chinmaydas4053
      @chinmaydas4053 Před 6 lety +2

      Thank you sooo much sir.. Lots of love and respect for your Sir from India 🙏🙏🙏..

    • @hektor6766
      @hektor6766 Před 5 lety +1

      @@srinidevadas9965 Glad I have the opportunity to say to you directly that you are a great prof.

  • @holdenmcgroin8917
    @holdenmcgroin8917 Před 3 lety

    The show starts at 17:39

  • @isbestlizard
    @isbestlizard Před 3 lety +1

    HI! I'm from 006! :D

  • @liangyuliu3648
    @liangyuliu3648 Před 4 lety

    Soooooooo Awesome!!!

  • @FelipeCampelo0
    @FelipeCampelo0 Před 6 měsíci

    What is a request actually?

  • @seblewongelashenafi3417

    You are helpfull !!!!

  • @sushantkumar4917
    @sushantkumar4917 Před 2 lety +1

    23:46 I really hoped he pick that duster there 😳

  • @theaveragecoder6182
    @theaveragecoder6182 Před 4 lety +2

    Oops , there goes the duster 23:47 .

  • @SJ23982398
    @SJ23982398 Před 8 lety +23

    What level of math do I need for this? 10 min in some of it sounds like chinese already.

    • @mitocw
      @mitocw  Před 8 lety +16

      +ijw z The prerequisites for this course are: 6.006 Introduction to Algorithms (ocw.mit.edu/6-006F11) and 6.042J / 18.062J Mathematics for Computer Science (ocw.mit.edu/6-042JF10).

    • @mitocw
      @mitocw  Před 8 lety +11

      +ijw z The prerequisites for this course are: 6.006 Introduction to Algorithms and 6.042J / 18.062J Mathematics for Computer Science. See the course on MIT OpenCourseWare for more information at ocw.mit.edu/6-046JS15

    • @Rooot-username
      @Rooot-username Před 7 lety +1

      lol

    • @ilyakopyl
      @ilyakopyl Před 7 lety +1

      Thank you! Would you recommend taking 6.041 Probabilistic Systems Analysis and Applied Probability as well?

    • @HarshitSharma-kk6yz
      @HarshitSharma-kk6yz Před 3 lety

      @@ilyakopyl yes

  • @user-zp3nd6ht8v
    @user-zp3nd6ht8v Před 6 lety +2

    everyone buy the proof? not me.

  • @pablonapan4698
    @pablonapan4698 Před 7 lety

    This a grad course?

    • @mitocw
      @mitocw  Před 7 lety

      This is an undergraduate course. See the course on MIT OpenCourseWare for more details at ocw.mit.edu/6-046JS15.

  • @bavidlynx3409
    @bavidlynx3409 Před 4 lety

    is this course updated?

    • @mitocw
      @mitocw  Před 4 lety

      There is an update: ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012/. Best wishes on your studies!

  • @tfluan0606
    @tfluan0606 Před 2 lety

    after 4 years they really make Frisbee instead of cushion

  • @Mumbaicarmeet
    @Mumbaicarmeet Před rokem

    is this thing is worth watching in 2023. Things are still same or updated?

    • @mitocw
      @mitocw  Před rokem +3

      This class is still worth watching in 2023. These topics are the same now as they were back then. Best wishes on your studies!

    • @Mayank93000
      @Mayank93000 Před 10 měsíci

      @@mitocw that's I'm searching about

  • @user-mv4oh8yp1y
    @user-mv4oh8yp1y Před 6 lety

    18109:1532

  • @junweima
    @junweima Před 6 lety

    I would get all the frisbees if I'm in the class

  • @hamids4550
    @hamids4550 Před 5 lety

    what is the prerequisite to this course? I don't understand most of it

    • @rahulpujari9607
      @rahulpujari9607 Před 5 lety

      6.006 He says it himself at 1:17 if you were paying attention

  • @trentonfeda7350
    @trentonfeda7350 Před 5 lety +1

    23:45 poor eraser :(

  • @ahokai
    @ahokai Před 8 lety

    finally :D

  • @anythingstudio5208
    @anythingstudio5208 Před rokem +1

    Interval Scheduling: 17:30
    Greedy Algorithm: 25:50
    Greedy Interval Scheduling: 27:30
    Prove: 42:50

  • @o.y.930
    @o.y.930 Před 3 lety

    I don't get 1:19:41. If recursive calls are O(1) then shouldn't the complexity be n? Why is it n^2, can somebody explain?

    • @mytennisjourney4949
      @mytennisjourney4949 Před 3 lety

      The O(n) here is that we need to compare n sub problem to get max value, which means we need call n times to solve sub problems, as you said, the recursive call are constant, so a subproblem complexity is N* O(1) = O(N). And there has N subproblems, so N * O(N) = O(N^2)

    • @WeirdAlSuperFan
      @WeirdAlSuperFan Před rokem

      I don't understand why there are n subproblems. If we're taking the max over n things, that's O(n), but Srini said that just solves a single subproblem. Can someone give an concrete example of two different subproblems here, and why we need to calculate them? It seems to me that Srini is saying we need to calculate something else after we find that max in order to really solve the problem, but he didn't write it out anywhere and it's not in CLRS :(

    • @devgumdrop3700
      @devgumdrop3700 Před 4 měsíci

      @@WeirdAlSuperFan All of the subproblems correspond to an interval in the set, and are the problem of finding the max weight of intervals that fit after that interval. For the interval with the latest finishing time, it's not actually going to have a deep subproblem, as there are no later intervals, so solving that subproblem is going to be O(1). For the interval that has the 2nd latest finishing time, the subproblem consists of a choice between including the last interval or not. It's also O(1) to do this check. If we consider the third latest interval though, we can begin to see a pattern. The third latest subproblem now consists of a checking three options, either having no later intervals included, or having the solution for the second latest interval included or having the solution for the last interval included. Any check we need to do is an O(1) check thanks to memoisation, and we have to do 3 checks at most, although it's likely in this case that some of my phrased options are the same. As we continue this line of reasoning, we can see that each subproblem is O(n) because it can consist of up to n checks that are O(1) each (thanks to memoisation and the fact we are backtracking from the subproblem corresponding to the latest interval upto that subproblem). As there are n intervals, there are n subproblems hence O(n^2)

  • @jiaweixue6396
    @jiaweixue6396 Před 2 lety

    Greedy proof starts from 43:00

  • @merr5593
    @merr5593 Před 6 lety +4

    That Asian on 3:55

  • @sahilshah9047
    @sahilshah9047 Před rokem

    whatttt , its out of my league ...

  • @merlingrim2843
    @merlingrim2843 Před 3 lety

    Why do lecturers not use presentation slides and digital white boards?
    While I do appreciate the OCW initiative, it seems really odd to me the MIT fails to innovate or even adopt solutions which would improve efficacy.

    • @jordanozang3317
      @jordanozang3317 Před 2 lety +2

      Maybe I'm not as smart as you, but I know that this mode of presentation keeps me at about full mental capacity. Something faster would just leave me far behind. If I wanted information to be densely packed, I wouldn't be watching a lecture anyways. I'd read the corresponding chapter in the CLRS book. Again, that's just me.

    • @merlingrim2843
      @merlingrim2843 Před 11 měsíci

      @@joeyfalcone3990 Hmmm, I don’t see how this modality adds value or efficacy.

  • @Poti221
    @Poti221 Před 4 lety

    Sleep Party 6.046

  • @JoffreyB
    @JoffreyB Před 4 lety +1

    Does this guy for real using paper notes to write P and NP definitions on a board?

    • @navjotsingh2251
      @navjotsingh2251 Před 4 lety +3

      Well they have to cover a lot of topics in such a way that the students (who are most likely new to all of this) will undergrad, so it requires a lot of planning before hand.

  • @IiiIiIIIiiiiiIiIII-nh9zx

    fhd? wow

  • @RiteshKumar-vd7rc
    @RiteshKumar-vd7rc Před 4 lety +2

    Professor is indian. So i am feeling comfortable.

  • @rvrishav7
    @rvrishav7 Před 6 lety +3

    proud to be an indian..