
Closed
Posted
Paid on delivery
**Task:** Implement a program in C that receives as input a state of the Game of Life (Conway's Game of Life) in a matrix of limited size and returns an immediately preceding state that minimizes the number of live cells in the matrix. **Specification:** The program should read a game state from the system’s standard input. An instance is given as a text file in the following format: - The first line of the file contains 2 integers, `n` and `m`, separated by a space, where `n` is the number of rows on the board and `m` is the number of columns. - The rest of the file contains `n` lines with `m` integers each, separated by spaces, where 0 represents a dead cell, and 1 represents a live cell. - All border cells of the matrix (first and last rows, first and last columns) are dead. - The example below represents a game instance with 4 rows and 6 columns: ``` 4 6 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 ``` The rules defining the evolution of one state to another in the game are: - Any dead cell with exactly three live neighbors becomes alive. - Any live cell with fewer than two live neighbors dies. - Any live cell with more than three live neighbors dies. - Any live cell with two or three live neighbors remains alive. These rules are applied simultaneously to all cells to reach the next game state. A cell's neighborhood consists of its 8 adjacent neighbors. For cells on the board’s edges, non-existent neighbors are considered dead. The objective of the program is to reverse the game, finding an immediately preceding state of the given input state. Furthermore, the preceding state must minimize the number of live cells in the matrix. The program’s output should be printed to the system’s standard output and must contain a matrix in the same format and size as the input, representing an immediately preceding state. Given the example above, a possible preceding state is: ``` 4 6 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 ``` Another possible preceding state is: ``` 4 6 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 ``` Considering the goal of minimizing the number of live cells, the first solution is more appropriate. **Evaluation Criteria:** - Strategy used. - Implementation quality and source code. - Performance in competition with other implementations. - The solution must solve an instance of the problem within a maximum time of 300 seconds and use no more than 8GB of memory. - Source code defense, if necessary. **Deadline:** Until 23:59 on 08/12/2024. The program should primarily use a heuristic-based algorithm to find the preceding state.
Project ID: 38855772
9 proposals
Remote project
Active 1 yr ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
9 freelancers are bidding on average $42 USD for this job

Oi! I'm Julio Trasferetti, experienced Programmer and Computer Engineer. My past work experience includes more than 14 years with C/C++ development. I've read your description and I feel confident to help you. My workflow is very transparent, and communication is the base. Bests, - J
$30 USD in 5 days
5.5
5.5

Greetings Felipe13088, With my extensive experience in C programming and software architecture, I am excited to take on the challenge of reverse engineering the Game of Life. Implementing a heuristic-based algorithm to find the preceding state aligns perfectly with my skill set in optimizing program performance. I am confident that my background in C++ programming will be invaluable in delivering a high-quality solution that meets all specified criteria. Rest assured, I will prioritize strategy, implementation quality, and efficient resource utilization throughout the development process. I look forward to discussing this project further and collaborating to create an innovative and effective solution. Let's work together to bring your vision to life. Best regards, rajat23091969
$21 USD in 3 days
4.6
4.6

Hello, I am excited to assist you in developing a C program to reverse-engineer the Game of Life state while minimizing live cells. My approach will involve a heuristic-based algorithm combined with systematic backtracking to ensure valid and optimized results. I’ll focus on efficient parsing, rules-based calculations, and minimizing live cells using a cost-effective approach, ensuring compliance with the 300-second limit. With extensive experience in C programming, algorithm design, and matrix computations, I can confidently tackle the challenges of this project. I’ll deliver a fully functional, well-documented program, complete with test cases to validate its robustness. Regular updates will keep you informed about the progress, and I’ll ensure the final solution meets all performance and quality criteria. I can start immediately and finish within a day. Let’s connect to discuss further details, and I look forward to contributing to the success of your project! Best regards, Zivko
$20 USD in 1 day
2.0
2.0

Hello Felipe13088, I understand that you require a program in C that can reverse engineer a state of the Game of Life, minimizing the number of live cells in the matrix. I will develop a solution that reads the game state from standard input, applies the rules of the Game of Life, and outputs an immediately preceding state in the specified format. With my expertise in C Programming and Software Architecture, I am confident in delivering a high-quality solution that meets your requirements. Please review my portfolio for examples of my previous work: https://www.freelancer.com/u/sobia49 I assure you of effective communication throughout the project to ensure that your expectations are met. Best regards, Sobia
$20 USD in 7 days
0.0
0.0

There is no such this as "reverse engineering". That is the stupidest and most pathetic lie ever. Stop being disrespectful & insulting to Engineering and Engineers. You wannabe losers hijacked the great words "Engineer" and "Engineering", and started applying it to the most random, stupid and irrelevant subjects. You know nothing about what Engineering entails. Engineering means designing, building and producing real MECHANICAL systems, like turbojets and vehicular engines. You know nothing about what Engineering entails. It has nothing to do with clowns sitting behind a keyboard and decoding/programming/deciphering etc. Software dev is easy and for kids. And it has absolutely nothing to do with a serious and real subject like Engineering (Mechanical Engineering is the ONLY Engineering). Quit making false claims against engineering you. And stop being disrepectful to real engineers (Mechanical Engineering is the ONLY Engineering, PERIOD).
$20 USD in 7 days
0.0
0.0

I can deliver a robust and optimized solution for your Conway's Game of Life reverse engineering task in C. With my expertise in C programming and algorithm development, I will focus on crafting an efficient heuristic-based algorithm to meet the requirements of minimizing live cells while adhering to the specified constraints. My approach includes: Developing a scalable and high-performance algorithm for the reverse problem. Thorough testing to ensure accuracy and compliance with the game's rules. Providing well-documented and maintainable code for clarity and ease of future modifications. I will also ensure the program runs efficiently within the provided constraints of time and memory. Looking forward to collaborating on this intriguing challenge!
$30 USD in 3 days
0.0
0.0

The program will use a heuristic-based algorithm to iteratively adjust the state. It applies reverse rules of Conway's Game of Life, prioritizing configurations that minimize live cells, and checks all feasible configurations for each cell to ensure consistency with the next state.
$20 USD in 7 days
0.0
0.0

Curitiba, Brazil
Member since Dec 3, 2024
€30-250 EUR
₹12500-37500 INR
€3000-5000 EUR
$15-25 USD / hour
$250-750 USD
₹12500-37500 INR
₹400-750 INR / hour
€30-250 EUR
₹600-1500 INR
€1500-3000 EUR
$30-250 USD
$1500-3000 AUD
$30-250 USD
₹1500-12500 INR
₹37500-75000 INR
$10-30 USD
$750-1500 USD
₹3500-7000 INR
$250-750 USD
₹400-750 INR / hour