-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[RandomNumberGeneration] New tasks: generating correlated random numbers #490
Comments
I would love to work on this. |
@jainvasu631 Sounds good! Feel free to post the "design" before the full pull request, so that we can discuss the tasks at a high level before implementing them. (Also, if you send the actual pull request in October, it will count for Hacktoberfest :-)) |
I will probably send it in October only. I am bit busy during weekdays so I will work on the weekends. I shall try to come up with a design by the coming weekend |
The rough idea that I worked out was a task with generates correlated random numbers. BTW since you specified correlation I have written in terms of correlation coefficient but we can also write it in terms of a given two qubit distribution where a,b,c,d are given and we just need to implement the correct entangled state. In fact we could use this task as a precursor to the one mentioned before. New Task 1: Create 2 bit Correlated Random Number according to rho (correlation coefficient) with P(0)=P(1)=0.5 Let me know your thoughts. |
Hmm, I'm not sure how I'd approach the task if it is framed in terms of correlation coefficient - I'll admit the definition is not very fresh in my mind... If we use that, we'll need to take care to explain what it is and provide ample examples (maybe even a rewording of each task with and without it). I was thinking about starting with tasks that are easy to explain, for example, generate two random numbers so that they always have the same (or different) parity (well, that's super easy), or generate two random numbers so that their sum modulo 3 is never 0, just to show how one can start thinking about it. After that, I think your tasks 1-3 will work great for a more formalized approach. We can probably see how complicated will that make part 2 to see whether we need harder tasks like your task 4. What do you think? |
The common theme is that all these tasks are drifting towards using entanglement. Task 0: Boils down generating Bell States which the readers will almost certainly be familiar with and hence I am not sure if that is necessary. Maybe expressing Task 1 in terms of a correlation coefficient is unnecessary. It can just be as easily be stated as that both bits are same with a certain given probability. However Individually they are random(P(0)=P(1)=0.5) I only used the term correlation coefficient because that's the first thing that came into my mind when correlated numbers were specified. Moreover, as we increase the complexity of these new tasks, we seem to be moving towards tasks more suited to a Kata. If we consider all tasks on a spectrum with one end being those suited to tutorials, and the opposite end being those suited to a Kata. The existing tutorial portion with the addition of the task specified in #489 would be limited to 1 bit random numbers or uniformly distributed random numbers. This tutorial would then serve as a pre-req for the Kata. I am almost certainly getting ahead of myself, but let me know your thoughts. |
The easiest way to do it is to prepare two entangled registers that will yield the necessary distribution. We'd need to focus on coming up with interesting tasks that cover different scenarios, and then use the skills the learner got from the Superposition kata.
Here is a relevant QuantumComputing StackExchange question.
The text was updated successfully, but these errors were encountered: