Turing_Machine | Turing Machine - an abstract performer

 by   tivole Python Version: Current License: MIT

kandi X-RAY | Turing_Machine Summary

kandi X-RAY | Turing_Machine Summary

Turing_Machine is a Python library. Turing_Machine has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. However Turing_Machine build file is not available. You can download it from GitHub.

Turing Machine (TM) - an abstract performer (abstract computing machine). It was proposed by Alan Turing in 1936 to formalize the concept of an algorithm. The Turing Machine is an extension of the finite state machine and, according to the Church-Turing thesis, is able to simulate all performers (by setting transition rules) that somehow implement the process of stepwise calculation in which each step of the calculation is quite elementary. That is, any intuitive algorithm can be implemented using some Turing machine.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              Turing_Machine has a low active ecosystem.
              It has 7 star(s) with 1 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              Turing_Machine has no issues reported. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of Turing_Machine is current.

            kandi-Quality Quality

              Turing_Machine has 0 bugs and 0 code smells.

            kandi-Security Security

              Turing_Machine has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              Turing_Machine code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              Turing_Machine is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              Turing_Machine releases are not available. You will need to build from source code and install.
              Turing_Machine has no build file. You will be need to create the build yourself to build the component from source.
              Installation instructions, examples and code snippets are available.
              It has 254 lines of code, 7 functions and 2 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of Turing_Machine
            Get all kandi verified functions for this library.

            Turing_Machine Key Features

            No Key Features are available at this moment for Turing_Machine.

            Turing_Machine Examples and Code Snippets

            No Code Snippets are available at this moment for Turing_Machine.

            Community Discussions

            QUESTION

            What is the most efficient way to represent the infinite tape of a Turing machine in Python?
            Asked 2017-Mar-30 at 07:36

            A Turing machine manipulates symbols on an infinite strip of tape according to a table of rules.

            In my case entries on the tape can be either 0's and 1's (binary).

            The tape starts off 'empty' with an infinity of 0's in both positive and negative directions. This tape gets written on based on the rules that the machine follows, potentially adding 0's or 1's to the unwritten edges.

            Since the tape values are binary is there a most efficient way to represent them in memory as the machine writes to the tape, adding new values to the left or right? Obviously I don't need to represent the infinite zeros (unwritten tape), but I do need to expand the data structure as new values are added to the ends of the tape.

            A python list could do the trick, shown here inserting a 1 on the left:

            ...

            ANSWER

            Answered 2017-Mar-30 at 07:36

            Given that the tape is infinite at both ends, you will have to consider the (-inf, -1] range of indices too. The best representation, IMO, would be a pair of lists - one for the non-negative range and the other for the negative range (with indexing reversed). As you move beyond the allocated range of the tape, you will simply have to append to the respective list (which, unlike prepending to a list, is a fast operation).

            A draft implementation (using an enhanced version of GrowingList from this answer):

            Source https://stackoverflow.com/questions/43110398

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install Turing_Machine

            Now you can use Turing_Machine.
            Run git clone https://github.com/tivole/Turing_Machine.git to clone repository.
            Run cd Turing_Machine/src to change directory.
            Run pip install -r requirements.txt to install required libraries.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/tivole/Turing_Machine.git

          • CLI

            gh repo clone tivole/Turing_Machine

          • sshUrl

            git@github.com:tivole/Turing_Machine.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link