Due: Tuesday, Oct 25th by 11:59 PM

Your Task

Your task is to construct Turing Machines to recognize the two languages described below. Each Turing machine should enter a final state if and only if the initial string on its input tape belongs to the language.

Use JFLAP to create your Turing Machines. You can download JFLAP from the Resources page.

Language 1 (40 points)

The language over the alphabet {a, b} of all palindromes: strings which, when reversed, produce an identical string.

Examples of strings in the language:

ε
a
b
aba
abba
bbb

Examples of strings not in the language:

ab
abbb
ba

Language 2 (60 points)

The language over the alphabet {a, b, c} of m a's followed by n b's followed by m × n c's, where m and n are nonnegative integers. In other words, the number of c's is the product of the number of a's and the number of b's.

Examples of strings in the language:

ε
abc
aabcc
aaabbcccccc
aaaaabbcccccccccc
a
b

Examples of strings not in the language:

abbc
bbacc
cab
aaabbccccc
aaabbccccccc

Submitting

Submit a zip file containing your two JFLAP files (.jff file extension) to Marmoset as assign4:

https://cs.ycp.edu:8443/

IMPORTANT: after uploading, you should download a copy of your submission and double-check it to make sure that it contains the correct file(s). You are responsible for making sure your submission is correct. You may receive a grade of 0 for an incorrectly submitted assignment.