9: Past Paper Stuff Flashcards
What is co-NP?
The set of problems whose complement is in NP.
What is PSPACE?
The set of all decision problems that can be solved by a Turing machine using a polynomial amount of space.
What is QSAT?
Quantified SAT, aka Quantified Boolean Formula, are problems finding the satisfiability of formulae defined in quantified propositional logic, where every variable is quantified (or bound), using either existential or universal quantifiers, at the beginning of the sentence.
How do you determine if a problem is NP-complete?
Prove that the problem is in NP, and then that any problem in NP can be reduced/transformed to it (in practice only need to show 1 problem can be transformed into it since, in turn, all others must be able to transform into that 1 problem).
How do you determine if a language can be recognised by an FSA?
??
How do you determine if a language can be recognised by a PDA?
??
What is Turing-completeness?
A programming language is said to be Turing-complete if we can simulate every Turing machine in it, or equivalently that you can simulate the Universal Turing Machine on it.
How do you determine if an algorithm falls within the Master Theorem?
If it is of the general form of π(π) = π β π (π / π) + π (π)
where π β₯ 1 and π > 1 are constants, and π (π) is asymptotically positive
How can you use the master Theorem to find the time complexity of an algorithm to which it applies?
??
How can you determine the best, average, and worst-case time complexities of an algorithm?
??
What does it mean for a problem to be decidable, and semi-decidable?
A language L is Turing-decidable if there exists a decider TM, M with L = L(M). A decider TM is one that always halts and never infinitely loops. So, equivalently, a decidable problem is one that has an algorithm to resolve it to a yes/no answer.
A semi-decidable language is one which accepts all inputs of words in the language and either rejects or infinitely loops on input words not in the language. So the difference between semi and fully decidable languages is the absence of guaranteed halting found with fully decidable languages, since TMs running for semi-decidable words may infinitely loop when the input is a word no in the language.
How can you determine if a problem is decidable, semi-decidable, or undecidable?
??
How can you design a DFA to recognise a specific language?
??
How can you convert from a DFA to a regular expression?
??
What is the Pumping Lemma for formal languages and its proof?
??