Progetto informale di una sola persona: creazione di buoni requisiti

1

(Per ulteriori retroscena / spiegazione, vedi la mia domanda precedente .)

Sono uno studente della scuola media che lavora su un progetto molto, molto informale; la mia affermazione sul problema è la seguente:

There is no way for theoreticians, researchers, and students in the field of quantum computing to simulate and test complex, large quantum circuits in an intuitive, efficient way without creating the code for the application themselves. A web application that works in popular browsers with an simple interface that could accurately produce results on the outcomes of quantum algorithms, error correction codes, entanglement, decoherence, and the other aspects of both an ideal and realistic interface would allow professionals and students alike to test their ideas and get a better understanding of the field of quantum computing.

Quindi, mentre sto lavorando al codice completo del libro, il passo successivo è stato quello di elencare i requisiti. Dato che non l'ho mai fatto prima ed è un progetto così informale, non sono sicuro che la lista dei requisiti che ho trovato sia valida, o se ci sono miglioramenti che dovrebbero essere apportati. Quindi, ecco la lista:

  1. Si inserisce come stato iniziale di input dei qubit, ogni gate da applicare a quale qubit, quanti qubit dovrebbero essere usati e quale implementazione di calcolo quantistico vorrebbe testare (per le stime del tempo di decoerenza).
  2. Gli output dovrebbero essere lo stato corrente di ogni qubit e la probabilità di | 0 > e | 1 > stato per ogni qubit.
  3. Gli output dovrebbero essere forniti sul sito web e scaricabili insieme agli input in un file di testo.
  4. Lo stato dei qubit dovrebbe essere un vettore, la probabilità dovrebbe essere un numero compreso tra 0 e 1, le porte dovrebbero essere una delle diverse porte comunemente usate o l'opzione del gate personalizzato.
  5. Gli ingressi per le porte dovrebbero essere uno dei vari pulsanti (premuto).
  6. Gli input per lo stato e il numero di qubit devono essere input interi.
  7. Una volta che l'utente immette i dati e preme il pulsante per calcolare, non dovrebbe richiedere molto tempo per produrre la risposta (ad esempio, un minuto max per i calcoli a 5 qubit è un punto di riferimento).
  8. Dovrebbe essere un'interfaccia del sito web, con spazi in input basati su input dell'utente precedente, cioè creare un account per salvare le tue simulazioni (accetta e-mail e password), quindi una scheda per guardare i file di testo precedenti da simulazioni e una scheda per crea una nuova simulazione. Quindi, l'utente inserirà il numero di qubit e lo stato di partenza dei qubit, fare clic su Avanti e vi verranno elencati i gate per 1st qubit, click done, 2nd qubit, ecc. Se l'opzione immessa è custom gate, viene visualizzato uno spazio vuoto dove è possibile inserire i dati necessari per il gate. Al termine, passa a una schermata di stile "calcolatrice" e quindi fornisce il file di risultati e di testo da scaricare, con un'opzione per il salvataggio e un'opzione per ricominciare (ultima opzione disponibile in tutto).
  9. La sicurezza dell'email, della password e dei file di testo dell'utente deve essere elevata, in quanto potrebbero esserci informazioni importanti / riservate relative alla ricerca memorizzate lì.
  10. Posiziona sul sito per segnalare bug e richiedere miglioramenti.
  11. Ha porte quantiche comuni disponibili e un'opzione di gate personalizzata.
  12. Simula decoerenza, entanglement e altre caratteristiche comuni dell'informatica quantistica.
  13. Permette la scelta tra il computer quantistico ideale (nessuna decoerenza) e non ideale (decoerenza).
  14. Generalizzabile a un grande numero di qubit (funziona nel modo più efficiente possibile).
  15. Documentazione sul posto per gli utenti.
  16. Risultati accurati (casi di base, come minimo, verificati rispetto ai risultati accettati.
  17. Opzione per rendere pubblici i file di testo / privati e una posizione per accedere alle simulazioni pubbliche?
posta heather 29.12.2016 - 03:55
fonte

1 risposta

2
  1. Takes in as input starting state of the qubits, each gate to be applied to which qubit, how many qubits should be used, and what implementation of quantum computing they'd like to test in (for decoherence time estimates).

  2. Outputs should be current state of every qubit and probability of |0> and |1> state for every qubit.

  3. Outputs should be given on the website and downloadable along with inputs in a text file.

Quelli sopra sembrano ragionevoli e testabili

  1. State of qubits should be a vector, probability should be a number from 0 to 1, gates should be one of several commonly used gates or the custom gate option.

Eh? Come mi permette di capire se è stato usato un brutto tipo di cancello? Elenca o cita la tua definizione di "porte comunemente usate".

  1. Inputs for gates should be one of several buttons (pressed).

Quindi, l'input del gate può essere solo un pulsante? Uno dei quali pulsanti?

  1. Inputs for state and number of qubits should be integer input.

Hai ricordato che -1 è un numero intero vero?

  1. Once user inputs data and presses the button to compute, it should not take very long to produce the answer (e.g., one minute max for 5 qubit calculations is one benchmark).

Sembra che questo sia stato un requisito di prestazioni, ma è diventato un requisito per avere un requisito di prestazioni. Se vuoi eseguire calcoli a 5 qubit per 1 minuto, basta dire quello.

  1. Should be a website interface, with input blanks based on previous user input, i.e., create an account to save your simulations (takes in email and password), then a tab to look at previous text files from simulations and a tab to create a new simulation. Then, the user would input the number of qubits and starting state of qubits, click next and it will have you list gates for 1st qubit, click done, 2nd qubit, etc. If the option inputted is custom gate, a blank pops up where you can fill in the necessary data for the gate. When done, it transitions to a "calculating" style screen, and then gives the result and text file to download, with an option to save and an option to start over (last option available throughout).

Questo è un caso d'uso non un requisito.

  1. The safety of the user's email, password, and text files must be high, as there could be important/confidential research-related information stored there.

Alta? Per favore definisci alto.

  1. Place on site to report bugs and request improvements.

Questo significa solo che è distribuito in modo che le persone possano usarlo?

  1. Has common quantum gates available and a custom gate option.

Di nuovo, definisci le porte quantistiche comuni.

  1. Simulates decoherence, entanglement, and other common features of quantum computing.

Qui abbiamo bisogno di esempi obiettivi di ciò che questo può fare quando funzionano queste funzioni.

  1. Allows choice between ideal (no decoherence) and non-ideal (decoherence) quantum computer.

Questo va bene

  1. Generalizable to large numbers of qubits (runs as efficiently as possible).

Che cosa è grande? Tutto funziona nel modo più efficiente possibile fino a quando qualcosa di meglio arriva. Questo è un tentativo di un requisito di prestazioni che alla fine non richiede nulla.

  1. Documentation on-site for users.

Un popup che dice "chiedi ad un amico" soddisfa questo requisito.

  1. Accurate results (basic cases, at minimum, checked against accepted results.

Funzionerebbe se i casi e i risultati accettati fossero inclusi o citati.

  1. Option to make text files public/private and a location to access public simulations?

Questo sembra essere un doppio requisito.

I requisiti non sono una lista dei desideri. Non sono un insieme di dichiarazioni di valore. Non dovrebbero essere confusi. Ognuno dovrebbe definire chiaramente quando una funzionalità è completata o meno.

    
risposta data 29.12.2016 - 14:09
fonte

Leggi altre domande sui tag