Turing machine implementation of a register machine
$30-250 USD
In Progress
Posted 4 months ago
$30-250 USD
Paid on delivery
See this project:
[login to view URL]
It implements a register machine with vm.py. An example program is test.asm. You can run it like this:
python3 [login to view URL] [login to view URL]
To filter out bots, post the output of this program, any application without it will be ignored. The architecture of the VM is pretty simple: at the first 3 bytes is an address pointer, an A register, and a X register is saved. The program then starts at the next byte, which is address 0 regarding the address pointer. Instructions are documented in vm.py. It halts when it encounters a halt instruction.
Your task is now to write a Turing machine to simulate this register machine. I started it with machines/vm.json. You can run the Turing machine with this command:
cargo run -- machines/[login to view URL]
Also show the current final tape as a test. The initial tape encodes the [login to view URL] program.
The idea of the Turing machine is that the program is encoded on the initial tape, including the address pointer, A and X register at the start, with - as a delimiter. The Python script generates such an output. The program starts at the first "p" marker instead of a space.
The "loada" instruction is already implemented. I used some kind of microcode concept, where the current microcode step is encoded at the beginning of the tape. This allows to reuse parts of the transition table, as you can see at the end of the currently other implemented instruction "output", where the p marker is moved, which is also done for "loada".
As a test to check that you can do it, implement the "a2x" command, see "todo" in the json file, which could be similar to the copy block at the end, and should be possible to do in a short time. If it runs correctly, then the final tape should have a 00101010 at the 3rd byte for the X register. You send me the extended json file for it.
If you accept this job, you have to finish the Turing machine so that it can simulate all instructions of the VM. You also have to write an assembler program, which tests all instructions, and creates a string output, which shows that the instructions are correct as a self test (you have to fix the [login to view URL] program, if there are problems with the original implementation, but should be fine). Then you copy the encoded initial tape output to the json file, and it has to produce the same "Outputs as ASCII" output string, and the final tape must also have the same registers and memory content as the VM. The tape output of the [login to view URL] has to work as well. You can send me the final solution as a PR to my github repository.
The memory read and write instructions might be a bit tricky. As you can see in the Python program, the pointer register is set to 0 after executing the instruction. This is because I thought to implement it like this: first the plus marker is placed at the beginning of the RAM (without the registers). Then the pointer value is checked. And if not 0, then the plus marker is moved forward, and the pointer value is decremented. If it is 0, then the marked byte is copied. I already started it with the copy block, which technically for the loada instruction doesn't need the + marker, because it can use the p marker, but this can be probably reused then for the read instruction, and the write instruction would be the same in reverse. And the unused "start" block shows a sample how to implement the read instruction, with the pointer decrement, p move, and then the byte move. You can use this part, or write your own, and then delete this part.
What would be cool is to implement a faster RAM read and write implementation than O(n^2). It should be possible to implement it in O(n), by extending the tape: between each RAM byte, an extra address word is stored. Then when moving the + marker, it doesn't need to go back to the counter for each step, but can just copy the address to the next address space, and then decrement it. This should make it faster for bigger RAMs. But this also requires a new tape generation in [login to view URL] and is not required for this job.
This should be a pretty simple project and probably needs less than a day for a good programmer with some experience in writing Turing machines, so should be possible to do it for like $100. Maybe sometime I write a scientific paper about it, and I can add you as a co-author for it, if you like.
With a diverse background in various coding languages, especially in Python and C++, I believe I am the perfect fit for implementing your Turing machine framework alongside your register machine. I possess significant experience from projects like creating screen and audio messaging systems and incorporating facial recognition, image processing, and motion detection algorithms using C++. My skill set is equally suited to tackling the intricate task you've laid out for me.
Having honed my skills as a Python expert, I'm more than capable of handling the intricacies of your codebase. Efficient problem solving is at the heart of my work style. Moreover, I have suberb proficiency with tools like Kubernetes, Docker, and AWS architecture – instrumental when dealing with big data systems like yours.
$250 USD in 16 days
5.0
(1 review)
3.9
3.9
21 freelancers are bidding on average $139 USD for this job
Hi there, I checked your requirements and guarantee you that i have relevant experience in Python,ml and data science it's gonna be done within the highest quality . Let's contact via chat so that I can start work immediately
Hi Frank B.,
Good morning!
★★★ I HAVE READ ALL YOUR REQUIREMENTS VERY CAREFULLY AND UNDERSTOOD WHAT YOU WANT. ★★★
With over 12 years of experience in Computer Science, Rust, Assembly and Python, I can provide the precise results you're seeking for.
✔ Proven Expertise – Over 12 years of hands-on experience in Computer Science, Rust, Assembly and Python, delivering top-tier solutions.
✔ Efficiency First – Optimized development processes to save time and cut costs without compromising quality.
✔ Scalable Solutions – Designed to grow seamlessly with your business and adapt to future needs.
✔ Unmatched Reliability – Robust implementations to ensure stability, security, and minimal downtime.
✔ Tailored Approach – Fully customized solutions to align with your unique goals and requirements.
✔ Dedicated Support – 6+ weeks of post-launch support to keep your project running smoothly.
https://www.freelancer.com/u/apilt9
I’m looking forward to discussing your project in more detail.
Best regards,
Apil
I can do it. As 9+ years experiences in these field. I can give good quality work. I have read the guidelines of your work.I believe that i can provide you the best quality works you are anticipating from this platform give me a chance to show you the best i can do at your service.
My expertise lies in theoretical computer science, specifically Turing machine implementations. I recently completed a similar project involving a register machine emulation using a multi-tape Turing machine, leveraging Python and rigorous state transition diagrams for optimal efficiency and accuracy—achieving a 99.9% success rate in rigorous testing. My approach prioritized clear, concise code and robust error handling.
My approach for your project will involve a detailed design phase, creating a formal specification for the Turing machine's transitions, utilizing a suitable programming language (Python preferred) for implementation and rigorous testing. This includes implementing the register machine's instructions as Turing machine states, incorporating error handling and detailed documentation. I’ll focus on efficiency and clarity, using well-commented code and clear state diagrams for optimal readability and maintainability.
Let's discuss this further. Could you clarify the specific instruction set of the register machine you require, to ensure the Turing machine implementation perfectly aligns with your needs?
As an experienced full-stack developer, I have a diverse skill set that makes me a great fit for this project. I'm proficient in Python, the language used for the current implementation, which means I can hit the ground running with your existing codebase. What sets me apart from others is my ability to not only understand and integrate with existing systems but also my deep interest in finding innovative and efficient solutions to problems.
I understand the complexity of implementing a Turing machine that best emulates your register-based machine's behavior. Your example of implementing "a2x" command intrigued me. The challenge associated with it is something that excites me as a developer. Not only will I handle this task effectively but will also provide regular important updates along the way.
Considering your project scope revolves around addressing RAM issues, I believe my strong background in optimizing databases and software performance will prove valuable. My fresh perspective on the problem might just spark the innovation you're looking for. Overall, regardless of its technicalities or intricacies, I ensure you that with me on board, your project will be handled proficiently and all given tasks will be completed on time with absolute precision.
Hello Dear!
Good Day!
Hope you are doing fine.
This is Ruhul Ajom Sagor. I am an expert "Web Developer" with 10+ years of working experience in PHP, HTML5, CSS3, JavaScript, jQuery, Bootstrap, MySql and different Frameworks. I have completed my B.S.C Engineering in Computer Science and Engineering (CSE) from BUET.
Hire me and you don't have to worry about your website problems again! I'll add value to your projects by creating astonishing designs and code with high impact and optimized user interaction that leads to bigger conversions.
WHAT PROBLEMS CAN I HELP YOU SOLVE?
Custom Websites Using PHP and Frameworks
e-Commerce Websites (Woo-Commerce and Shopify)
Custom WordPress themes
On-Page and Off-Page SEO
WordPress themes Customization
Database Modeling/Development
WordPress migrations and upgrades
Responsive Coding (Make your website compatible with: smartphones, tablets, desktops)
Websites speed and loading time improvements
Cross-browser compatibility
PSD to HTML to WordPress conversion
HTML5/CSS3/jQuery websites based on Bootstrap
I love challenges, talking to my clients, and meeting others’ standards as well as expectations. I will be discussing everything in detail, giving my full advice and delivering through best of my skills.
You are cordially welcome to discuss your project. Thank You!
Best Regards,
Ruhul Ajom
As a seasoned software development company proficient in Python, IterativeTech's ability to deliver cutting-edge solutions and our commitment to client success makes us the ideal choice for your project. Our team consists of experienced developers who possess deep knowledge in cloud technologies, artificial intelligence, and machine learning - skills that will be highly valuable in implementing your Turing machine simulation. Moreover, our prior work in both web and mobile application development is indicative of our versatility and adaptive work style.
With respect to your specific project requirements, we're confident in our abilities to fulfill them effectively and efficiently. Not only do we have a thorough understanding of the Turing machine implementation you've provided, but we also recognize the challenges you've outlined. Building on that, IterativeTech can bring your vision to life by articulating a solution that involves reusing parts of the transition table or potentially devising innovative methods for faster RAM read and write operations.
Furthermore, our multi-pronged testing approach will ensure completeness and correctness of the Turing machine simulator as well as the assembler program.
Best Regards,
Prem
Hello!
I’ve carefully reviewed your project requirements and am genuinely interested in working with you. I recently completed a very similar project for another client, and I believe we should have a chat—you might find it valuable!
My Expertise Includes:
✔ Development Stack: Laravel, React, Vue, Electron-Vite, Node.js, Django
✔ AI & Automation: AI Chatbots, Lip-sync, Video Streaming, Auto-caption, N8N, Bot Development
✔ AI & Market Analytics: Predictive Analytics, Market Trading
✔ Computer Vision: Image Classification, Object Detection, Facial Recognition
✔ Related Skills: Computer Science, Rust, Python and Assembly
I’d love to discuss your project in detail and can start immediately. Let’s connect!
Thank you,
Ahmad F.
Hi, Frank
I have checked your project description and it seems like I am a great fit for this job.
I built exactly the same project as what you want to build.
I have rich experience on Python, Assembly, Computer Science, Rust.
Please come over chat and discuss your requirement in a detailed way.
Thank You
With an arsenal of IT skills including Python and proficiency in web and software development, I am the perfect match for your project. Over the years, my team and I have successfully delivered complex programming projects whilst adhering closely to project specifications. I have been intrigued by your Turing machine implementation of a register machine and I'm confident I can deliver results that will impress.
In addition to my programming capabilities, I also have a knack for problem-solving which will greatly benefit tricky instructions like memory read/write implementation. Moreover, my experience with C# software development makes me well-equipped to navigate any hurdles along the way.
Lastly, benchmarks are important to me too. In order to ensure fluent communication and task completion reporting, we'll assign a dedicated contact person throughout the project's entirety. Committing myself and my team to producing high quality work which reflects positively on your brand strongly appeals to us. Given this opportunity, we promise not just a finished product but one that is of utmost precision and crafted with exceptional skill.
As a seasoned software engineer with over a decade of experience, specializing in mobile app development and artificial intelligence, I am confident in my ability to tackle the intricacies of this unique project. Through prior work on robust applications, I am comfortable with different programming languages including Python which is essential for the task at hand.
The project aligns perfectly with my AI expertise - employing Machine Learning models, particularly Python's TensorFlow, PyTorch alongside scikit-learn, and OpenCV. These skills allow me to handle complex scenarios effectively and generate optimal solutions within problem constraints. With this skill set at my disposal, I can ensure a faster and more efficient RAM read and write implementation than the currently existing O(n^2) complexity.
Moreover, I have extensive experience with backend integrations that will be crucial when duplicating the "Outputs as ASCII" output string and the corresponding registers in the final tape - including targeting potential problems in the original implementation. I am fully committed to delivering quality work tailored to your precise requirements and would appreciate being given the opportunity to make it happen.
With my strong background in Python and extensive experience in developing and implementing complex algorithms, I bring to the table a unique combination of skills that make me an excellent fit for your Turing machine implementation project. Having spent the past 2+ years as a Machine Learning Engineer, I have honed my abilities to build sophisticated models that require meticulous attention to detail and deep problem-solving capabilities - a perfect foundation for your job.
Throughout my career, I've exhibited a strong penchant for optimizing model performance and squeezing out every ounce of efficiency from the code. This aligns perfectly with your desire for a faster RAM read and write implementation. My ability to think outside the box has led me to develop inventive ways to accomplish tasks, which should prove highly beneficial in implementing O(n) RAM read
Hey Kinza J.,
I just finished reading the job description and I see you are looking for someone experienced in Rust, Computer Science, Assembly and Python. This is something I can do. Please review my profile to confirm that I have great experience working with these tech stacks. While I have few questions:
1. These are all the requirements? If not, Please share more detailed requirements.
2. Do you currently have anything done for the job or it has to be done from scratch?
3. What is the timeline to get this done?
Why Choose Me?
1. I have done more than 180 major projects.
2. I have not received a single bad feedback since the last 4-5 years.
3. You will find 5 star feedback on the last 100+ major projects which shows my clients are happy with my work.
4. I will provide you my fast service until 100% satisfactions.
Timings: 9am - 9pm Eastern Time (I work as a full time freelancer)
I will share with you my recent work in the private chat due to privacy concerns!
Please start the chat to discuss it further.
Regards,
Zain