What is a finite state transducer?

A finite state transducer (FST) is a finite state automaton (FSA, FA) which produces output as well as reading input, which means it is useful for parsing (while a “bare” FSA can only be used for recognizing, i.e. pattern matching). An FST consists of a finite number of states which are linked by transitions labeled … Read more

What is the ‘expression problem’?

Watch this lecture. The idea is that your program is a combination of a datatype and operations over it. The problem asks for an implementation that allows to add new cases of the type and new operations without the need for recompilation of the old modules and keeping static type safety(no casts or runtime type … Read more

Explain the proof by Vinay Deolalikar that P != NP [closed]

I’ve only scanned through the paper, but here’s a rough summary of how it all hangs together. From page 86 of the paper. … polynomial time algorithms succeed by successively “breaking up” the problem into smaller subproblems that are joined to each other through conditional independence. Consequently, polynomial time algorithms cannot solve problems in regimes … Read more

Turing machine vs Von Neuman machine

Turing machines are theoretical concepts invented to explore the domain of computable problems mathematically and to obtain ways of describing these computations. The Von-Neumann architecture is an architecture for constructing actual computers (which implement what the Turing machine describes theoretically). Functional programming is based on the lambda-calculus, which is a another method of describing computations … Read more

Math for computer science [closed]

Very good and important question! A good understanding of math is essential for every computer scientist, and the math requirement is starting to become more diverse. Discrete Math is the most important and basic class for computer science, and for this reason it is usually offered in CS departments instead of math departments. This class … Read more

What is the computer science definition of entropy?

Entropy can mean different things: Computing In computing, entropy is the randomness collected by an operating system or application for use in cryptography or other uses that require random data. This randomness is often collected from hardware sources, either pre-existing ones such as mouse movements or specially provided randomness generators. Information theory In information theory, … Read more

How helpful is knowing lambda calculus? [closed]

The benefit of lambda calculus is that it’s an extremely simple model of computation that is equivalent to a Turing machine. But while a Turing machine is more like assembly language, lambda calculus is more a like a high-level language. And if you learn Church encodings that will help you learn the programming technique called … Read more