Open JavaFXpert opened 2 years ago
Hi @JavaFXpert Ritu here. This seems really interesting to me. Can we chat more about this project?
Of course!
Regards, James (Jim) Weaver
On Aug 19, 2022, at 5:20 AM, Ritu Thombre @.***> wrote:
Hi @JavaFXpert Ritu here. This seems really interesting to me. Can we chat more about this project?
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.
I'm very interested in this project, As I have a background in Game development and as it is a major in mu university. I would love to join this project as a mentee
Awesome!
On Sun, Aug 28, 2022, at 6:22 AM, Hamza Kamel Ahmed wrote:
I'm very interested in this project, As I have a background in Game development and as it is a major in mu university. I would love to join this project as a mentee
— Reply to this email directly, view it on GitHub https://github.com/qiskit-advocate/qamp-fall-22/issues/29#issuecomment-1229426583, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACLZ5WWH63MIVHOLV5TQ2CTV3M4VVANCNFSM56Z5TLUQ. You are receiving this because you were mentioned.Message ID: @.***>
@ritu-thombre99 and @hamzakamel1 Please reply to my message on Slack on when we can meet to discuss details of the project.
Please add your Checkpoint 1 presentation materials.
Link to the jupyter notebook - QAMP Checkpoint 1 - QNim
Mathematical framework for QNim was completed for checkpoint 1, which included strategy development for quantum computer to play game of Nim against a human or a classical computer. A basic prototype UI using Kivy framework in python was also developed for QNim during checkpoint. Kivy framework is discontinued as it has very limited frontend configuration capacity. Since checkpoint 1, pygame, which is a game development library in python, is used to create a visually appealing UI with a retro theme. Nim board consists of 7x4 grid of bulbs similar to Nimatron, which was displayed during 1940 New York fair. The new UI has the following functionalities:
Currently it is difficult to implement asynchronous behaviour in pygame. As a result, pygame will not register any clicks when quantum operations are happening in the background during quantum computer’s turn. This leads to game window becoming non responsive until quantum operations are finished. This may not be noticeable if local qasm_simulator is used as a backend, since it is local and faster. But the lag will be considerable if one wants to play against ibmq_qasm_simulator or a real IBM quantum computers. To deal with this issue, we are planning to implement QNim as a web application through a client server architecture. Server will be implemented using flask REST API which can be called by a client. This REST API will take in the game board state and send the quantum computer move to client in a JSON format. Client will be developed using python frameworks (flask or Django) which have AJAX functionality to handle the required asynchronous behaviour of the QNim game.
Mathematical framework:
Experiment results:
Home page:
Home page with current saved game:
Configuration page:
Player turn:
QC turn:
Player won:
QC won:
@ritu-thombre99 - please upload your Final Showcase presentation materials, and if needed, update the project Title and/or description.
UI using pygame for QNim was completed for checkpoint 2. Since checkpoint 2, QNim is implemented in Roblox. The player's character enters the world and a QNim board is booted, which has a grid of 7x4 neon pink lights. During the player's turn, lights which can be switched off are neon green. To call the quantum computer to play, the player can type qc turn
in the chatbox.
A REST API is created using flask which takes in the current board state through parameters in the URL and returns the quantum move. Lua code in the roblox will call this API using GET request when it is QC's turn to play.
Initially API was hosted locally and board state was passed in headers as follows:
Currently, the API is hosted on the Anvil server and can be accessed publicly. This version of API takes in the board state as params in the URL as follows:
Congratulations on completing all the requirements for QAMP Fall 2022!! 🌟🌟🌟
Description
One of the first games in which a human played against the computer is Nim, so it is an interesting and fitting game to implement on a quantum computer. This Wikipedia article describes the game, strategies and variants: https://en.wikipedia.org/wiki/Nim
Deliverables
A game with a user interface conducive to a human playing Nim against an IBM Quantum computer, both a simulator and real device. The UI could be implemented, for example, as ipywidgets in the IBM Quantum Lab. One idea would be to create a UI or even build a device that emulates the Nimatron, which was first exhibited in 1940 at the New York World's Fair.
Solution requirements
Stretch goals
Mentors details
Number of mentees
3
Type of mentees