COMP2181 Theory of Computation 2023Prolog

Java Python COMP2181-WE01

Theory of Computation

2023

Section A Models of Computation

Question 1

(a) For an infinite binary word, call a ”segment” the alternating contigu-ous sub-words of identical symbols, 0’s or 1’s. For instance, the word 00111010110001 . . . has segments 00, 111, 0, 1, 0, 11, 000, 1 . . . . Consider the following ω-languages.

A = {w|w has segments of even length only} ,

B = {w|w has no segment of odd length} , and

C = {w|w has infinitely many segments,

at least two of which having the same length} .

i. Design B¨uchi automata for A and B. [7 Marks]

ii. What is the relation between A and B? [2 Marks]

iii. Prove that C is not ω-regular. [8 Marks]

(b) Evaluate the Computation Tree Logic (CTL) formula A(p U EXr) on all states of the model below and show all your work. [8 Marks]

Question 2

(a) Construct a single-tape Turing Machine (TM) that, on input consisting of a number of binary strings separated by (a special symbol) #, decides if there are two identical strings or not.

There is no need to give the precise transition function - you should explain how the machine works in plain English.

Give the time-complexity of your TM, i.e. an upper bound on the number of steps it takes in terms of the input length. [10 Marks]

(b) Consider a single-tape TM with two heads that can move right or stay in place (but cannot move left); initially, the first head points to the beginning of the input, while the second head points to the end. Prove that this kind of TM can simulate a standard TM. [8 Marks]

(c) Let a TM A be given which is a decider, i.e. terminates on every input. Consider the question of whether A accepts all inputs. What is the com-plexity of this question when compared, e.g. with the Halting Problem? Explain your reasoning. [7 Marks]

Section B Algorithms and Complexity I

Question 3

(a) Consider the fractional knapsack problem with weight limit W = 82 kilo-grams and five items whose value vi in euros and weight wi in kilograms is given for 1 ≤ i ≤ 6 as follows:

v1 = 48, w1 = 40

v2 = 48, w2 = 12

v3 = 32, w3 = 16

v4 = 45, w4 = 30

v5 = 60, w5 = 20

v6 = 30, w6 = 24.

Solve it using a greedy algorithm. Show all your work. [9 Marks]

COMP2181 Theory of Computation 2023Prolog (b) i. Recall that two n × n matrices can be multiplied using Strassen’s algorithm in O(n log2 7 ) time. How quickly can you multiply an n×kn matrix A with a kn × n matrix B, using Strassen’s algorithm as a subroutine? Justify your answer. [4 Marks]

ii. Professor Zweistein developed a matrix-multiplication algorithm which uses the divide-and-conquer method. Her algorithm divides each ma-trix into pieces of size n 3/n × 3/n, and the steps divide and combine take together Θ(n 2 ) time. What is the greatest number of subproblems that her algorithm creates at every iteration, in order to be asymp-totically faster than Strassen’s algorithm? [4 Marks]

(c) The Cograph Independent Set problem is as follows:

Cograph Independent Set

Instance: a connected cograph G = (V, E).

Task: compute the independence number α(G) in G, i.e. the size of a largest subset S ⊆ V of vertices which does not induce any edge in G.

Give a polynomial-time algorithm for Cograph Independent Set. [8 Marks]

Section C Algorithms and Complexity II

Question 4

(a) The output of Dijkstra’s algorithm is two arrays d and π, where d records the distance from the source vertex to the other vertices and π records predecessors. Compute d and π when Dijkstra’s algorithm is performed on the weighted directed graph G represented by the adjacency matrix below, where the source vertex corresponds to the first row and first column of the matrix. [8 Marks]

(b) Consider the following flow network with source s and sink t, where each edge is marked with its capacity:

i. What is the value of a maximum flow in this network? Justify your answer using the Max-Flow Min-Cut theorem. [6 Marks]

ii. After how many flow augmentations does the Edmonds-Karp al-gorithm compute the maximum flow from s to t in this network? [3 Marks]

(c) Recall the definition of the decision problem Colouring:

Colouring

Instance: an undirected graph G and an integer k.

Question: is it possible to assign k different colours to the ver-tices of G such that every vertex is assigned exactly one colour and any two adjacent vertices are assigned different colours?

Consider the following decision problem:

Clique Partition

Instance: an undirected graph G = (V, E) and an integer k.

Question: can we partition V into at most k subsets such that each of these subsets is a complete graph?

Provide a polynomial-time reduction from Colouring to Clique Par-tition         

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值