TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Theory of Computation

122 点作者 charlysl超过 3 年前

11 条评论

pvg超过 3 年前
Recently:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28807222" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=28807222</a>
throwaway81523超过 3 年前
I&#x27;m sure this course is great. Sipser is a terrific teacher and his textbook on the subject looks excellent. I used to be into the subject myself and still hang around Scott Aaronson&#x27;s blog where CS nerds tend to congregate. But, I think there was an era when being a good programmer meant knowing a lot about algorithms, and the pinnacle of the programmer&#x27;s art was supposed to be knowing how to write a compiler (look at the intended outline of Knuth&#x27;s TAOCP as written in the 1960&#x27;s: it was to be a 7 volume buildup finishing with stuff like parsers).<p>These days, I think CS algorithms are pretty well packaged in code you can download, they&#x27;re not even that relevant to most problems most of us face in our work, and being really clueful instead involves more traditional math than CS per se. This might be something like a cycle returning to where it started. I find myself wishing I knew more about probability and statistics (useful all over the place), abstract algebra (fancy type systems use it), a reasonable amount of mathematical logic (program verification), number theory (cryptography), geometry and maybe even functional analysis and PDE&#x27;s (machine learning), etc. I&#x27;m probably more into math than the average programming geek but I still feel like a helpless little kid when I try to understand these topics. This is me, wagging my tail in the picture (j&#x2F;k):<p><a href="https:&#x2F;&#x2F;www.starshipnivan.com&#x2F;blog&#x2F;wp-content&#x2F;uploads&#x2F;2009&#x2F;06&#x2F;lars0896.gif" rel="nofollow">https:&#x2F;&#x2F;www.starshipnivan.com&#x2F;blog&#x2F;wp-content&#x2F;uploads&#x2F;2009&#x2F;0...</a><p>but in all sorts of areas of programming, it always seems like there is a &quot;doorknob principle&quot; just outside my reach. To the extent that I have any motivation to study math these days, I think the above subjects are more likely to be useful than CS theory per se. YMMV.
评论 #28886105 未加载
happy-go-lucky超过 3 年前
There are prerequisites:<p><a href="https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;mathematics&#x2F;18-404j-theory-of-computation-fall-2020&#x2F;syllabus&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;mathematics&#x2F;18-404j-theory-of-co...</a><p>&gt; 6.042J Mathematics for Computer Science<p>&gt; 18.200 Principles of Discrete Applied Mathematics<p>And, prerequisites for the above prerequisites:<p><a href="https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;mathematics&#x2F;18-01sc-single-variable-calculus-fall-2010&#x2F;syllabus&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;mathematics&#x2F;18-01sc-single-varia...</a><p>&gt; 18.01 Single Variable Calculus<p><a href="https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;mathematics&#x2F;18-310-principles-of-discrete-applied-mathematics-fall-2013&#x2F;syllabus&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ocw.mit.edu&#x2F;courses&#x2F;mathematics&#x2F;18-310-principles-of...</a><p>&gt; 18.02 Multivariable Calculus<p>Overall, you need to have a thorough understanding of high-school math (12th grade), which is not unreasonable.
评论 #28885866 未加载
wallscratch超过 3 年前
Sipser’s theory of computation book is one of the best examples of technical exposition I’ve ever seen.
评论 #28886551 未加载
评论 #28885633 未加载
pdhborges超过 3 年前
I think it is cool to contrast Sipser&#x27;s course with a more &quot;modern&quot; take by Mihai Pătraşcu [1] [2].<p>[1] <a href="https:&#x2F;&#x2F;infoweekly.blogspot.com&#x2F;2009&#x2F;02&#x2F;teaching.html" rel="nofollow">https:&#x2F;&#x2F;infoweekly.blogspot.com&#x2F;2009&#x2F;02&#x2F;teaching.html</a><p>[2] <a href="https:&#x2F;&#x2F;inst.eecs.berkeley.edu&#x2F;~cs172&#x2F;sp09&#x2F;" rel="nofollow">https:&#x2F;&#x2F;inst.eecs.berkeley.edu&#x2F;~cs172&#x2F;sp09&#x2F;</a>
评论 #28887772 未加载
评论 #28887339 未加载
评论 #28886942 未加载
tracyhenry超过 3 年前
I&#x27;m fortunate enough to have taken the TOC course by Sipser in person. High clarity despite the arcane nature of the materials. Quite some amusement as well (not sure if it&#x27;s the case in the ocw course). Highly recommended.
hbogert超过 3 年前
I so hated that stuff when it was a requisite in uni. Happen to open the book just 2 days ago after almost 10y , what a coincidence. Now I love this stuff, it&#x27;s truly timeless.
rutherblood超过 3 年前
Something or the other is obsure about this task. But to be honest I&#x27;d have never come across something as ridiculous and what is purported to be true here. My ability to write useless stuff is unprecedented and unmatched. This is how I operate. This is how the dice rolls and how it always lands on an eight or a double-six. That&#x27;s life for you.
dominotw超过 3 年前
For people who are planning to go through this course. What are your motivations for doing so?
rutherblood超过 3 年前
Something or the other does stick and prosper. Intentions are rarely misunderstood or misguided. At best there is weird discrepancy between what is thought and what is revealed. What I&#x27;m saying is strange and may even be out of context I know but this shouldn&#x27;t be taken as evidence of non-chalance.
sillysaurusx超过 3 年前
For a comprehensive overview of computation on a foundational level, see Feynman&#x27;s lectures on computation:<p><a href="https:&#x2F;&#x2F;theswissbay.ch&#x2F;pdf&#x2F;Gentoomen%20Library&#x2F;Extra&#x2F;Richard_P._Feynman-Feynman_Lectures_on_Computation__-Addison-Wesley%281996%29.pdf" rel="nofollow">https:&#x2F;&#x2F;theswissbay.ch&#x2F;pdf&#x2F;Gentoomen%20Library&#x2F;Extra&#x2F;Richard...</a><p>I&#x27;ve been implementing the flip flop gates using SICP wires:<p><a href="https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;sites&#x2F;default&#x2F;files&#x2F;sicp&#x2F;full-text&#x2F;book&#x2F;book-Z-H-22.html#%_sec_3.3.4" rel="nofollow">https:&#x2F;&#x2F;mitpress.mit.edu&#x2F;sites&#x2F;default&#x2F;files&#x2F;sicp&#x2F;full-text&#x2F;...</a><p>It was neat seeing the concept of &quot;feedback&quot; (logic gate output gets fed in as an input) then seeing it actually work in the SICP simulator. It immediately went into an infinite loop, but that&#x27;s correct behavior. The solution was to add a clock line (a wire which goes 0 to 1 and back to 0 over a specific time interval), then update the simulation until the clock line changes. Presto, I had my own flip flops.<p>Ended up implementing some shift registers (thanks to Feynman). Lots of fun, and it clarifies the concept of a &quot;cycle&quot; -- I found it really hard to understand what a &quot;cycle&quot; actually meant till implementing the gates.<p>The reversible computation is cool: NOT, Controlled NOT (CN), and Controlled Controlled NOT (CCN) gives you everything you need to make a reversible universal computer.<p>It turns out that reversible computation is far more energy efficient than normal computation. You can understand with an analogy. Think of a pool table. Imagine the cue ball hitting the 8 ball. When the cue ball is in motion (and ignoring friction), then <i>no energy</i> needs to be spent -- it&#x27;s already in motion, so you don&#x27;t need to do anything to cause the situation to &quot;keep going&quot;. It just keeps going on its own.<p>When the cue ball hits the 8 ball, part of that energy is transferred. In the ideal case, the cue ball stops moving and the 8 ball starts at the same speed.<p>By arranging pool balls in specific ways, you can mimic an AND gate and an OR gate. The outputs are the directions that the balls end up going. And the truth table for AND and OR is simple, so you just need to represent the truth table using &quot;directions&quot; instead of volts.<p>If you have two inputs, you&#x27;ll want two outputs, because otherwise you need to <i>stop a ball entirely</i> (energy is lost) which is very costly in comparison. The best outcome is for the second ball to carry along the energy of the second input, even though you don&#x27;t directly need the answer just to represent AND or OR gates.<p>The result is that you can run the simulation, and then reverse the entire thing to get back your original inputs. :)
评论 #28887559 未加载