homework solutions on turing machines

homework solutions on turing machines

Homework Solutions on Turing Machines

1. Introduction to Turing Machines

Turing Machines (TMs) are an abstract model of computation that is completely formalized with a limitless “tape” with certain symbols on it. The tape is initially an input to the operations of TM and serves as the writing device where the TM writes the results of the operations. The tape is considered to be infinite in both directions and only a finite section of the tape is shown since it is impossible to show the infinity. The finite control is the control that determines what operations the machine carries out and that it only selects operations if a certain condition (e.g. certain symbol scanned from the tape) is met. The finite control has the ability to read and write while the tape can only be read. It is important to note that all operations carried out by the TM are a transition between it being in a state and an input symbol. If the TM is in state q and finds a certain symbol say 0 then it must carry out some operations – for our purpose let’s say that the TM writes a 1 over the 0 and moves to the right and change of state would also occur (e.g from q to p). Every transition of the TM is defined by: 1. The current state of the machine 2. The symbol currently scanned by the TM 3. The operation to be executed – e.g. write a symbol from the finite set of symbols to the tape OR move the tape head either to the left OR to the right OR do not move the tape head 4. Change the state of the machine These transitions can be defined using the following format: (old state, symbol scanned) -> (new state, symbol written, direction tape head moves). With the aid of TMs, one is able to carry out any form of computations on strings and since programming languages are equivalent to strings, it can be concluded that TMs are capable of doing any form of computations found in a real computer. This in turn is used to mathematically establish classes of problems that computers can solve in general. Every problem that can be solved using an algorithm is known as a decidable problem and every problem that cannot be solved using an algorithm is known as an undecidable problem. An example of an undecidable problem is the “Halting Problem” – given some arbitrary program and its inputs, whether that program will eventually halt. This is a very important concept in computer science and it was first proved by Alan Turing in 1936. As it turns out, TMs can be modified so that it becomes Turing’s explanation in the paper of Church-Turing thesis. This theorem states that the “problem of determining when a given system of symbols is solvable emerged as the central question of mathematical logic in the 20th century.”

2. Designing Turing Machines

In the 2nd section “Designing Turing Machines”, the article describes different methods and techniques to design a Turing Machine. The section starts with providing the basic overview of the structure of a Turing Machine and what are the essential components of designing a Turing Machine. The section accurately defines and explains the role of each individual’s elements given in the Turing Machine’s designing process. There are three fundamental steps to construct a Turing Machine that is given with strong arguments and examples. The section points the type of problems in which it is difficult to write algorithms for a solution and it perfectly links with why we need a new computing model. The article, later on, gives a very comprehensive yet concise explanation of designing process with a concrete example. A clear explanation is given at each step and how it is made out by the example and all steps make complete sense. This actually aids the reader to come up with an idea on how we can use symbolic notations to simplify complicated process. As there are certain problems which are impossible to solve using algorithms, the section ends by making a thorough reading and understanding of the techniques and methodologies given throughout the process and finally, tries to deduce that how far we can go in terms of technological advancement. The section also covers advanced concepts in Turing Machines, providing further insights and knowledge. Each and every component of a Turing Machine has been discussed and it relates flawlessly to the topic. The structure of the given mathematical proofs is described clearly and it also explains that awarding a lazy tape approach, it can be seen that the given proof is equivalent to a standard first year discrete Mathematical Structures proof. Hyperlinks were logical and well-structured with a clear signposting. Cross-referencing and search functions are suggested which shows there is an opportunity for a practical session using a laptop room. These types of software effectively help students to bridge a gap between the practical and the theoretical knowledge. Overall, the layout of the website allows the reader to locate information very easily. It uses simple, logical headings and easy to read bodies of text. Consistently contains a navigational menu on the left, allowing a straightforward.

3. Solving Homework Problems with Turing Machines

Now, to solve the problem, we are going to design a Turing Machine for that. Step 1: You have to take the number of ‘a’s and ‘b’s on the tape. Step 2: You have to replace the first ‘a’ with ‘x’ and the first ‘b’ with ‘y’. To perform this, we have to move the ‘header’ to the left or right depending on the situations. However, once this step has been finished, you should have something like “xayaba…”. Sometimes we will have situations where there is no ‘a’ or ‘b’ in the homework. You should have to consider these kinds of situations and decide what to do next. In this case, we do not have any ‘a’ in the homework. Then we directly move to the next step, which will be the analysis of the strings “yayay…”. Step 3: The Turing Machine should be able to take the second ‘a’ and replace it with ‘y’. This can be done by the method in step 2. So step 3 is a loop which will replace the ‘a’ after ‘y’ with ‘y’ and find the next ‘a’. However, remember to move the header as well, which depends on the situations. Step 4: Set ‘x’ to blank. Similarly, you have to consider that different cases will be appearing. This essay outlines how to design a Turing Machine to solve a given problem. It provides a step by step process, identifying the inputs and outputs in each step and showing the transition function. It also explains the overall concept in solving the problem with the designed Turing Machine. After that, a step-by-step solution is given to let readers have a thorough understanding of designing a Turing Machine for a specific problem. Moreover, the essay emphasizes the importance of identifying the correct number of states and symbols for designing a Turing Machine. By providing the solutions to three given problems, this essay demonstrates the effectiveness of Turing Machine in solving computational problems. Last but not least, the comparison between Turing Machine and finite automata is discussed. The design of both machines and their applications in computational problems are compared in this essay. I think the “Turing Machine” methodology is great. The Turing test, developed by Alan Turing in 1950, is a test of a machine’s ability to exhibit intelligent behavior equivalent to, or indistinguishable from, that of a human. A Turing machine is a tool used in the field of computer science, being a base for the function of a computer. It can be used for storing and recalling information. A Turing machine is the simplest type of computer as it can be used to perform any computation. It consists of a state register, the contents of which may affect the machine’s future behavior, a ‘tape’ that is divided into separate cells, each capable of holding a single symbol, and a tape head that can read or write a single cell on the tape and move to an adjacent cell to the left or to the right.

4. Advanced Concepts in Turing Machines

This is where we take a turn away from the straightforward, day-to-day Turing machines and reach the more theoretical side of these machines. This section will explore what happens if we imagine expanding the number of states/final states or symbols that our Turing machine uses. We will also explore the concept of a ‘Busy Beaver’ and how this is used to find the most efficient machines. Finally, we will introduce the theory of a ‘2D’ or ‘multi-tape’ Turing machine. A Turing machine could be created to have a finite number of states: just one, or two or three, or any number. Or it could be created with just a few symbols in its alphabet. Whilst a ‘real’ machine would typically have a large number of both, by investigating simpler machines, we can use them to build up more complex machines and prove how useful certain machines are. This area of study is called ‘Computational Complexity Theory’ and by using a more sensible method to create hypothetical machines, we can find the most efficient machines for certain tasks. The ‘Busy Beaver’ is a research project which studies Turing machines with a set number of states and symbols, with the aim of finding the most efficient machines. By simulating these machines it is possible to find an upper limit on the number of steps that the machine will run before it stops (known as halting). There is a challenge to find a set of states and symbols that can create a machine that runs the most number of steps before stopping – this hypothetical machine is the ‘Busy Beaver’. This is an important study because it helps us to understand and develop new technologies – for example if we can find a method to prove how long a computer program will run for (known as the ‘Halting Problem’) then we can devise methods to cancel these programs if they are going to run indefinitely.

5. Conclusion

Our academic assistance extends well beyond standard services like fixing papers, finding sources, and doing math work. Students truly struggle with the complex material found in advanced computer science concepts like Turing Machine homework problems, and we’re here to make sure that struggling – and then learning how to correct a struggle – is a manageable and educational process. The biggest error that students can make is to continuously look for an “easy way out”; constantly getting a correct answer via a tutor or academic assistant, choosing an easier question, or skirting the difficult portions of a complex problem all lead to the greedy mistake everyone makes at some time in their life – assuming that the world is much simpler than it actually is. Our staff and technology experts at Homework Engine embrace the harder questions, the questions that show that college-level learning is as much about the process as it is about the answer. Every completed problem and correct solution, coupled with the detailed instructions on how that result is reached, serves as a prime example of the work that truly drives the “computer science engine” – methodology, problem-solving, and creativity. As we have explained how our academic assistance can benefit students when applied to learning how to solve complex problems in computer science using a method like the Turing Machine, we are pleased to provide the complete, correct solution to a common homework problem using a “Practice Run” flowchart to physically demonstrate the process we have previously outlined symbolically. Hopefully, this example has combined with our methodology guide so that students may begin to understand the power of using an abstract machine.

Place Your Order
(275 Words)

Approximate Price: $15

Calculate the price of your order

275 Words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total Price:
$31
The price is based on these factors:
Academic Level
Number of Pages
Urgency
Principle features
  • Free cover page and Reference List
  • Plagiarism-free Work
  • 24/7 support
  • Affordable Prices
  • Unlimited Editing
Upon-Request options
  • List of used sources
  • Anytime delivery
  • Part-by-part delivery
  • Writer’s sample papers
  • Professional guidance
Paper formatting
  • Double spaced paging
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)
  • 275 words/page
  • Font 12 Arial/Times New Roman

•Unique Samples

We offer essay help by crafting highly customized papers for our customers. Our expert essay writers do not take content from their previous work and always strive to guarantee 100% original texts. Furthermore, they carry out extensive investigations and research on the topic. We never craft two identical papers as all our work is unique.

•All Types of Paper

Our capable essay writers can help you rewrite, update, proofread, and write any academic paper. Whether you need help writing a speech, research paper, thesis paper, personal statement, case study, or term paper, Homework-aider.com essay writing service is ready to help you.

•Strict Deadlines

You can order custom essay writing with the confidence that we will work round the clock to deliver your paper as soon as possible. If you have an urgent order, our custom essay writing company finishes them within a few hours (1 page) to ease your anxiety. Do not be anxious about short deadlines; remember to indicate your deadline when placing your order for a custom essay.

•Free Revisions and Preview

To establish that your online custom essay writer possesses the skill and style you require, ask them to give you a short preview of their work. When the writing expert begins writing your essay, you can use our chat feature to ask for an update or give an opinion on specific text sections.

A Remarkable Student Essay Writing Service

Our essay writing service is designed for students at all academic levels. Whether high school, undergraduate or graduate, or studying for your doctoral qualification or master’s degree, we make it a reality.