31Y7 : Computing Science Options: Biologically Inspired Computation and Computability
Wednesday 16 December 1998 1400 - 1700 hours
Answer TWO questions from Section A and TWO questions from Section B. Write your answers to each section in separate answer books.
All questions carry equal marks.
The distribution of marks among the parts of each question is indicated.
It is essential that you write your registration number on the front of each answer book.
Also, when you have completed the examination, the number of answer books that you have used must be prominently written on the front of one book.
a) Both computers and real neurons process inputs to produce outputs.
Discuss the differences between
i) The input to a neuron and the input to a computer
ii) The way processing takes place in a neuron, and in the CPU of a computer
iii) The output of a neuron, and the output of a computer.
Considering your answers to the above, discuss whether there is any similarity between neurons and computers. [3,4,3,4]
iii) describe how a single McCulloch-Pitts neuron (with either a bias input or a threshold), may be used to implement a 2-input AND gate. [3,4,4]
The perceptron learning rule and the Delta rule are superficially identical. Yet applying the Delta rule and the perceptron learning rule to the same training data will generally lead to different results.
iii) The value used for the learning rate is more critical in the Delta rule than it is in the perceptron learning rule. Explain the reason for this. [4,4,4]
iv) Briefly describe how a set of data which has been collected may be used to train a Back-propagated Delta rule network. [2,3,3,5]
i) Explain what is meant by a self-organising neural network.
ii) Explain why it is difficult to find clusters in high-dimensional data by inspection, and discuss how self-organised neural networks can assist in finding clusters in high-dimensional data.
iii) Briefly explain the differences between Vector Quantisation and the Kohonen feature mapping algorithm. [3,6,4]
b) Genetic algorithms are an optimisation technique inspired by Darwinian selection. Briefly describe the operation of a genetic algorithm, explaining terms such as generation, fitness function, crossover and mutation. 
a) Consider the following problem:
Given a string s consisting of a number of "(" characters followed by a number of ")" characters, answer "yes" if the number of "(" characters is the same as the number of ")" characters, and answer "no" otherwise.
Prove that it is not possible to construct a finite state machine to solve this problem. 
b) State the components of a Turing machine. 
c) Construct a Turing machine to solve the following problem:
Given a string s consisting of "(" and ")" characters (in any combination), answer "yes" if each ")" matches a previous "(", i.e. the machine should accept only strings of matched nested brackets, and answer "no" otherwise. 
d) Sketch informally how you might modify the Turing machine of part c) so that in the case where the answer is "no" the machine outputs the original string indicating the position at which the fault occurred.
You should not give the set of tuples for the new machine. 
a) State the Halting Problem for Turing machines, and discuss the significance of the unsolvability of this problem. 
b) Given the unsolvability of the Halting Problem, show the following problem is also unsolvable.
Given a Turing machine M and an input tape t, does the symbol "@" appear on the output tape at any point in the computation (assuming that the alphabet of symbols includes "@"). 
c) State the Church-Turing thesis. Discuss this statement, indicating its implications for designers and programmers of real hardware and software. How does the study of computational models provide evidence to support the Church-Turing thesis? Why cant we prove the Church-Turing thesis holds? 
a) State the components of a Deterministic Finite Automaton (DFA). 
b) What does it mean if we say that a DFA M accepts a language L? The Deterministic Finite Automata as a class of machines accepts a class of languages (called
c) Consider the class of Finite Automata obtained by adding nondeterminism (Nondeterministic Finite Automata NFAs). Sketch the proof that the class of languages accepted by DFAs and NFAs is the same. 
d) Define the problem classes P, NP and NP-complete. Discuss the relationship between these problem classes and the significance of the question "does P=NP?". 
e) Consider the problem EC, which is known to be NP-complete. What conclusion can be drawn if:
iii) it were shown that P=NP?
END OF EXAMINATION