+1443 776-2705 panelessays@gmail.com

 Initial requirements are attached (computing theoryAssignment2Aa (1).docx and tips(1).txt with this email.

  • Subject: computing theory
  • No of Page/Words : 4/1000 Words
  • Reference : APA

—————————————————-Some messages share by the student


Just wondering if we are allowed to enable transitions out of final states?

As by default JFLAP does not allow.


. Remember, we are using the course/book acceptance condition: halts in final. JFLAP does not uses that and just accepts when a final is reached.

So, yes, in our definition, the machine can keep executing when reaching the final, you must be careful. 

In the automaker, if you get to a final state but there are still possible transitions, the machine will keep executing!! So make sure that if you want to accept, your machine does stop in a final state (not just arrive to a final state!). There is a very easy way to make sure you never ever make a mistake here.. 😉
Some Notes share by the student:(CT19-practical-08.zip and mathematical symbols.pdf)

The solution file received from the expert in attachments.
Feedback received from the student.
Student :comment kindly follow the guideline strictly and provide the correct solution.We cant afford to loose this client
This  assignment is all wrong expert did not creat a turning machine it should be  created by clicking the "Turing Machine" button from the main JFLAP menu !! what he did is  wrong and also two words need to be separated by # is written in the assignment specification also name the solutions as it is stated on the assignment specification do not name them as damn long number! this work is poor and wrong and not acceptable i need revising for the work as soon as possible!.
this  how Turning machine look like see the attachment
JFLAP has two acceptance conditions under Preferences, one can make JFLAP “Accept by final state” or “Accept by halting”, or by either of them (if both selected). We recommend to work with only “Accept by final state” selected, but remember that by itself “Accept by Final State” does not require halting, so think how to build your machine to capture the halting in final state acceptance condition that shall be used.

e solutions for 

Exercise 2: Undecidability part b

Exercise 3: Complexity answer is wrong  what is this is not even related to the questions defied the answer as a,b,c,d

E1-Qa1 test inputs: The specification says that w1 and w2 are strings over Σ∗={a,b,c,d}∗, so your machine should have all of the following behaviours: qi,Ba−aaa#aB ← accept qi,Ba−#aaaaB ← reject qi,Bb−bbb#bB ← accept qi,Bb−#bbbbB ← reject qi,Bc−ccc#cB ← accept qi,Bc−#ccccB ← reject qi,Bd−ddd#dB ← accept qi,Bd−#ddddB ← reject qi,Ba−bcabc#aB ← accept qi,Ba−bcabc#dB ← reject Of course w2 does not have to be a single character, it can be anything in {a,b,c,d}∗. ——————————————————————————————————————– Make sure your Turing machines are deterministic! If you have any looping non-deterministic transitions in your machine and the automarker tries a string that should be rejected, JFLAP will just keep looping on the transition forever, looking for a way to accept the string.. There is no way to build a truly non-deterministic machine, so JFLAP just has to enumerate all possible paths it can take and reject it if none of them work – however, if it can loop forever, JFLAP would rather do that than admit that it can't find a path (too much pride, i guess……) so be very careful for and test that your machine accepts strings in the language AND REJECTS STRINGS THAT AREN'T!. ———————————————————————————————————————————————————————————————- Exercise 2 "Let L = {M | M is a TM that halts with exactly two words on its tape in the form Bw1Bw2B}", is this describing the input that will cause the machine to halt, or describing the state of the tape when it halts? L={M∣M is a TM that halts leaving exactly two words on its tape in the form Bw1Bw2B} maybe it's more clear to say "leaving on the tape" than "with". —————————————————————————————————————————————————————————- Blank symbol in Exercise 1 Is the blank symbol in Exercise 1 the character 'B' or the blank symbol built-in to JFLAP (mentioned later in the spec)? This doesn't seem to be made entirely clear in the specification The B symbol in the assignment specification is the blank symbol (it says so at the top of the second page) Importantly though, we have deviated from what you have probably become used to in class, in that for the string aabb, the input configuration is q0,Ba−abbB and not q0,B−aabbB, i.e., the head starts on the first character of the input string and NOT the blank to the left of it! This is to avoid making you use the weird blank symbol that is built into JFLAP – so that you dont have to cut-and-paste the blank symbol every time you want to put in a string like □aabb So, for this reason, your machines should not start with the transition B/B,R as they have in most of your tutorial exercises. ————————————————————————————————————————————————————– M testing I am wondering how do you make tests for our TMs? and how we test them exactly as you test. When I test, some inputs show the dialog shown in @174. which requires me to click yes to continue. so, how tests click yes automatically, or how to disable that in JFLAP? Unfortunately I am not sure that you can. The automarker is built by editing the source-code for JFLAP, so it just uses JFLAP as a back-end for computing everyone's marks. The closest you can come is through batch testing with JFLAP. Our test cases for the automarker are all formatted exactly the way that that link specifies at the bottom under the "Batch Run Turing Machines" heading. You can write a text file with as many lines as you like in the format: <input> <expected output> <accept/reject> and then run it as a batch test.. You will still have to click the button though, unfortunately, unless you can find a way to disable it, but I don't think you can do it.. if your machine accepts the string, then it will compare its output against the <expected output> and if they match it will say "accepted" If you dont care about the output string then replace <expected output> with ~ and that will work with any output.. ————————————————————————————————————————————————————– Excercise 1A When designing the Turing machine are we allowed to use symbols that are not in the alphabet for marking purposes? Will you be sending in inputs to test that it only accepts the alphabet {a,b,c,d}, for instance by throwing in a few e's and f's, or even capitals? for part (a), we will not check any of the outputs – only accept/reject.. so you can leave whatever you want on the tape for that your machine for part (b) must ALWAYS accept, and in that case we will ONLY check the output for part (c), we will be checking whether your machine accepts or rejects correctly, and if it accepts we will also check the output.. if it rejects, we dont care about the output.. as for combining the machines, it is up to you how you do it.. determining if the language of two Turing machines is the same is an undecidable question, so there is no way we can check that.. all we are interested in is what your machine produces.. so if you want to use a completely different algorithm for part (c) as for parts (a) and (b), then you are welcome to, but you would be making unnecessary extra work for yourself! said so, you probably cannot simply just bolt the two machines together, it is very likely you will need to make some modifications to them so that they play together nicely….


moore 272.0 121.0 301.0 292.0 509.0 379.0 d 695.0 392.0 c 891.0 336.0 b 956.0 204.0 a 1 2 a d 2 3 b c 5 1 5 2 a d 0 1 4 5 d a 3 4 c b



Computing Theory


Q1: Learning Project of Deterministic Machine Simulation

This is the logical machine learning project where some deterministic machine simulation has to implement. For that JFLAP software is needed this is a java oriented software where this simulation can run. So for that we have to go to the Moore machine button where some node can be taken and then can logically connect the nodes as required. So as required answer need to take two variable as w1 and w2 and have to implement the whole logic with a, b, c, d nodes so for the first question take 6 nodes and name this nodes as a ,b ,c ,d and take the other node one as a space and another as a lambda. Then connect the nodes sequentially as connect the space node and the lambda node with the value space or as per question “B”.B is using as a space value to understand this properly. So then connect the B node and the‘d’ node with the value of ‘a’ (Cunningham et al. 2018, p.972). Then connect the‘d’ node and the ‘c’ node with the value of ‘b’. Then connect the ‘c’ node and the ‘b’ node with the value of ‘c’. Then connect the ‘b’ node and the ‘a’ node with the value of‘d’. Then connect the ‘a’ node with the both ‘B’ and‘d’ note so that loop can operate again. Then select the lambda node as a initial point then go to the input button and run all the simulation if “BabcdabcdB” will be the input then the output will be “BdcbadcbaB”

The structure of the body and the output will be like

Figure 1: Body Structure and the Output

(Source: FLAP software)

According to the second question we can implement this in two ways for the first technique 10 output have to be taken.8 nodes will connect with each other with the same value which is ‘a ‘and all nodes will be with the same name as ‘a ‘and rest of the two nodes is an initial node and the other will ‘B’ node. Last ‘a’ node will directly connect with the ‘B’ node so that when input will be gives as ‘BaaaaaaaaB’ the output will be ‘BaaaaaaaaB’. The body structure for the solution and the output will be like

Figure 2: Body Structure and the Output

(Source: JFLAP software)

The other one is the simplified way to solve the problem. So for that no need to take this number of nodes all is needed is 3 nodes one is the initial node another two is a ‘B’ node and an ‘a’ node. So connect the initial node with the ‘B’ node with the value of ‘B’ and the ‘B’ node will connect with the rest ‘a’ node with the value of ‘a’ and take the self loop on that ‘a’ node and connect with the ‘B’ node reversely (Oliva et al. 2018, p.64). So in this way the same output can come. The body structure and the output will be like

Figure 3: Body Structure and the Output

(Source: JFLAP software)

For the third question 12 node is needed one is the initial node and one is the ‘B’ node. So let's take the other node as required one ‘c’ node will be taken which is directly connect with the ‘B’ node with the value of ‘a’. In another side ‘c’ node connect with the ‘a’ node with the value of ‘b’ and ‘a’ node will connect with‘d’ node with the value of ‘c'. Let's make a self loop in‘d’ node with the value of ‘c’. Then connect the‘d’ node with the ‘c’ node with the value of‘d’. Then connect the ‘c’ node with ‘b’ node with the value of ‘a’. Then connect the ‘b’ node and the ‘a’ node with the value of ‘b’. Then connect the ‘a’ node and‘d’ node with the value of ‘c’. Then connect the‘d’ node and the ‘c’ node with the value of the‘d’. Again make a self node in ‘c’ node with the value of‘d’. Then take the ‘c’ node and connect with the ‘b’ node with the value of ‘a’. After that take the ‘b’ node and connect with the ‘a’ node with the value of ‘c’ and then connect the ‘a’ node with the ‘B’ node. After that if the input will be like ‘BabccdabcddacB’ so the output will be like ‘BcaddcbadccbaB’ so the body structure and the output will be like

Figure 3: Body Structure and the Output

(Source: JFLAP software)


This is the part of the solvable solution so solvable solution is nothing but either knows there is some potential solution or an algorithm to find it or otherwise proved the problem cannot be solved. So undecidable is nothing but a solution which is only containing the procedure not algorithm and for this there is no Turing machine output will be there (Mohammed , Shaffer, Rodger, 2018, p.8).

this determining problem of containing Turing machine of two tape where never writes the blank symbol in its tape, where N = { M , wi | M where M is the tape Turing machine where writes a non blank symbol on its tape when this will be runs on w. So that will be show N is undecidable. Such as Use a reduction from Atm for that lets take N is as decidable and D which will be a decider for N = accept if M running on w writes a non-blank on its second tape reject if M running on w so this will not write a non-blank on its second tape. Use D to define a tm .On input hM, where M is an arbitrary one-tape Turing machine and w ∈ Σ ∗ , (1) Create TM M0 that will differs from the M only in being a two-tape Turing machine that doesn't use the second tape except for that one case. If M will accept the input, it writes a non-blank symbol on the second tape (Pereira & Terra, 2018, p.76). This was done by a simple change of the transition function. the transition function which is δ of M maps the accept state of M for a tape symbol to the empty set , the transition function δ 0 of M0 writes the non-blank on the second tape. If D = accept and if D = reject. That means H = (accept if M will accept and w reject if M will not accept W So, H will decided that Atm which is a undecidable. So it can say that N cannot be a decidable value.


Complexity is the part of the computer theory which helps to solve the complexity problem which is used in Turing machine. An algorithm also comes with the complexity. Complexity classes can be used in a group or together problems which require similar amounts of resources. For example, problems which easily can solved in the polynomial time which is considered as a part of the class P. The group of problems which is takes an exponential amount of the space in the class EXPSPACE. Some of the classes are contained other classes .If a problem that can be solved in polynomial time then this can be solved in exponential time as well.

Reference List

Cunningham, C., Mokuvos, J., Li, M., Zhou, S., & Liu, S. (2019). Automated Exercises.

Mohammed, M., Shaffer, C. A., & Rodger, S. H. (2019, February). Using Interactive Visualization and Programmed Instruction to Teach Formal Languages. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (pp. 1263-1263). ACM.

Oliva, E. S., Diaz Ogas, M., Molina, A. L., & Alonso, N. (2019, June). Abordaje de expresiones regulares y sus derivadas mediante la utilización del software JFLAP. In XXI Workshop de Investigadores en Ciencias de la Computación (WICC 2019, Universidad Nacional de San Juan)..

Pereira, C. H., & Terra, R. (2018). A mobile app for teaching formal languages and automata. Computer Applications in Engineering Education26(5), 1742-1752.


PRA-SEP-190919-1226PM-BAE- 30092019-1832-3-3270

by Pra-sep-190919-1226pm-bae-30092019-1832-3-3270 Pra-sep-190919- 1226pm-bae-30092019-1832-3-3270

Submission date: 25-Sep-2019 03:43AM (UTC+0300) Submission ID: 1179418376 File name: PRA-SEP-190919-1226PM-BAE-30092019-1832-3-3270_new.docx (343.75K) Word count: 1219 Character count: 5102





1 14%

Exclude quotes Off

Exclude bibliography Off

Exclude matches Off

PRA-SEP-190919-1226PM-BAE-30092019-1832-3-3270 ORIGINALITY REPORT


ais.informatik.uni-freiburg.de Internet Source

  • PRA-SEP-190919-1226PM-BAE-30092019-1832-3-3270
    • by Pra-sep-190919-1226pm-bae-30092019-1832-3-3270 Pra-sep-190919-1226pm-bae-30092019-1832-3-3270
  • PRA-SEP-190919-1226PM-BAE-30092019-1832-3-3270

,moore 51.0 227.0 81.0 408.0 204.0 423.0 c 364.0 433.0 a 456.0 434.0 d 623.0 356.0 c 613.0 228.0 b 587.0 118.0 a 520.0 78.0 d 452.0 54.0 c 220.0 55.0 b 101.0 65.0 a 4 6 d c 13 1 4 4 c d 10 10 d c 6 7 a b 3 4 c d 0 1 1 2 a c 12 13 c a 2 3 b a 10 12 a b 8 9 c d 7 8 b a 9 10 d c,moore 373.0 144.0 306.0 331.0 a 519.0 452.0 a 763.0 435.0 a 923.0 310.0 a 1077.0 184.0 a 907.0 80.0 a 705.0 63.0 a 539.0 47.0 a 208.0 78.0 5 6 a a 4 5 a a 6 7 a a 9 0 0 1 a a 7 8 a a 1 2 a a 2 3 a a 3 4 a a 8 0,

– Computing Theory

Total marks: 90 (15% whole course)

Please read all the following information before attempting your assignment. This is an individual assignment. You may not collude with any other individual, or plagiarise their work. Students are expected to present the results of their own thinking and writing. Never copy another student’s work (even if they “explain it to you first”) and never give your written work to others. Keep any conversation high-level and never show your solution to others. Never copy from the web or any other resource.

You are to submit a PDF file and one zip file named with your student number (e.g., 3451234.zip) containing (in its root folder) your three .jff files for exercise 1 via the following Google Form: The PDF file can have any name as long its extension is .pdf, but it must must be typeset in a word processor (scanned files will not be marked) and have your student name and number on it. Python validator scripts for the zip file can be obtained here . The three JFLAP files must follow the exact name conventions as specified below in each question, and must load & run in JFLAP 7.0 with no errors whatsoever in reasonable amount of time (see below).Submission Instructions

Corrections: From time to time, students or staff find errors (e.g., typos, wrong/missing symbols, ambiguous text) in the assignment specification. In that case, a corrected version will be uploaded to the course web page as quickly as possible, an announcement will be made on the course web page as well as in the forum. Check the version on the bottom left.


Exercise 1: Turing Machine Design 20 marks

In this exercise you will build a few Turing Machines in JFLAP. Your machines will be fully automarked, so you must

follow the following conventions (please read them carefully and ask if in doubt1):

•Your Turing machine will always start with the head in the first symbol of the input on the tape. For example, if your initial state is q0 and the input string is abcd#cba, then the initial configuration would be q0, Babcd#cbaB, where B is the blank symbol (in red for better legibility), and the underlined symbol is where the head is reading. Note this is a different convention to that used in many machines done in tutorials where the head was assumed to begin reading the blank symbol on the left of the input, and so one must do a B/B, R initial transition.

•The acceptance condition to be used will be halting in a final state, as in the Sudkamp’s book.

JFLAP has two acceptance conditions under Preferences, one can make JFLAP “Accept by final state” or “Accept by halting”, or by either of them (if both selected). We recommend to work with only “Accept by final state” selected, but remember that by itself “Accept by Final State” does not require halting, so think how to build your machine to capture the halting in final state acceptance condition that shall be used.

•The output of a Turing machine (when it accepts) consists of the character directly under the tape head until the first blank to the right consists of the symbol underneath the tape head and all symbols to the right of the tape head until the blank is encountered. In the event that the tape head is on a blank, the output is the empty string. For example, if the Turing Machine accepts with the tape left as Baaaaabcd#cbaB, then the output of the Turing Machine is the string abcd#cba. When a Turing Machine rejects, what is left in the tape is irrelevant—there is no output.

•Your machines must be syntactically error-free, and load and terminate always within a reasonable amount of time using JFLAP version 7: at most 5 secs. per run. These two are minimal standards that must be met. Machines with syntactic errors or requiring more than 5 seconds on any input will be awarded zero marks.

•No manual changes or repairs will be done to any of the submitted files. It is your responsibility to test your files in

JFLAP 7 before submitting (you have the tool!).

•Your TM has to be one-tape standard “Turing Machine” in JFLAP (no multi-tape machine or block machine); refer to post @151. You are free however to use any advanced features provided by JFLAP for standard Turing Machines, as long as the machine submitted solves the problem. Please refer to some information and tips on JFLAP at the end of the document.

•You can assume that any input given to your machine will have the correct shape, so you do not need to check for the input having a valid form.

.(8 marks) [E1-Qa1.jff] Build a deterministic Turing machine that takes two words w1, w2 ∈ {a, b, c, d}*

(a) separated by a # symbol in the form Bw1#w2B and determines (by accepting/rejecting) whether string w2 is a substring of w1.

(b) (8 marks) [E1-Qb1.jff] Build a deterministic Turing machine that takes an input string w ∈ {a, b, c, d}* , and replaces it with wr, the reverse of w. After reversing the string, the machine must accept.

For example:

· When run on input BabcdabcdB, it should leave BdcbadcbaB on the tape.

· When run on input BaaaaaaaaB, it should output BaaaaaaaaB.

· When run on input BabccdabcddacB, it should output BcaddcbadccbaB.

Remember the output starts on the symbol the head is left until the first blank on the right. Also recall the machine must always accept (after producing the output, of course!).

(c) 1(4 marks) [E1-Qc1.jff] Combine your machines to produce a single deterministic machine that takes an input of the form Bw1#w2B and if if w2 is a substring of w1, it replaces w1 with wr and accepts; otherwise (if w2 is not a substring of w1), the machine rejects. When rejecting, it does not matter what is left on the tape (i.e., the tape can be left in any way).

For example:


Exercise 2: Undecidability 20 marks

Let L = {M | M is a TM that halts leaving exactly two words on its tape in the form Bw1Bw2B}.

(a) (15 marks) You have seen the proof in class that AT M , the problem of deciding whether an arbitrary Turing machine will accept an arbitrary input, is undecidable. Use this result to prove, formally using problem reduction, that given an arbitrary Turing machine M , the problem of deciding if M L is undecidable.

(b) (5 marks) Is L1 recursive, recursively enumerable, non-recursively enumerable, uncomputable? Justify your answer.

Exercise 3: Complexity 25 marks

(a) (6 marks) Prove mathematically that if a Turing Machine runs in time O(g(n)), then it runs in time O(h(g(n)) + c), for any constant c ≥ 0 and any non-decreasing functions g(n) and h(n).

(b) R ELEMENTARY . . . 2EXPTIME EXPSPACE EXPTIME PSPACE NPC PTIME LOG Space LOG Time(14 marks) A cutting-edge publisher based in Melbourne is publishing a book on complexity theory. They learnt that you are taking Computing Theory at RMIT, so they offered you a very well paid job! For the job, you are asked to write the part of the book that explains the following picture:


Some tips for JFLAP:

•JFLAP has a number of shortcuts that you can use to avoid having to use too many transitions. For instance, the !

Page 2 of 7

symbol can be used to indicate “anything but”. So if you wanted to move the head right on the string until it reaches th

Version: September 15, 2019 Exercise 1 continues on the next page. . .

character a, you can use the transition (!a/ , R). Here, ∼ tells JFLAP to use the last character read. In order to move until the next blank use the transition (!/ , R) — JFLAP inserts the blank symbol automatically.

{ } ∪ { }∪{ } ∼ ∼ { } { } •Keep in mind though, that you cannot combine these transitions to say “anything but a or b” by having the transitions (qi, !a) = (qi, , R) and (qi, !b) = (qi, , R). This is because if the input alphabet is Σ = a, b, c, d , L1 = a and L2 = b , then L1 L2 = b, c, d a, c, d = Σ, the entire input alphabet! If you need to do this with two characters, you have to put them all in manually, I’m afraid..

•As the ! symbol is now reserved for “anything but”, you can no longer use it to mean λ or “blank”, as you could with regular expressions! The symbol that JFLAP uses for blank symbol is Q. Never copy-and-paste these symbols from PDF documents like this one, as you will get a wrong encoding and symbol in JFLAP.

•There is a way to save yourself from clicking “Step” a million times when testing your machine if you only want to see the final tape output. Go to “Input/Multiple Run” (or Multiple Run (Transducer), it does not matter which) and put your inputs in.Click “Run Inputs” and once it has finished running them, select the input you want to check the output for and click “View Trace”. That should give you a pop-up window with the state that it ended up in and the tape output when the machine halted.

•When combining your machines, with both of the files open, go to Convert/Combine Automata and then select the other file. JFLAP will put both of your machines in a new window. You will still have to make some modifications to make them play nicely together, but it will save you having to re-create everything from scratch!

•There are a number of other shortcuts that JFLAP uses, although they are reasonably fiddly and might not work under every circumstance. To avoid any problems with your machine failing to operate when being run with our automarker, we advise not to use any shortcuts except for the ! shortcut. Said so, your machine is being tested solely on the output that it produces, so you can use whatever methods you like — just be warned that you are doing so at your own risk if you try and be too fancy.