This adds a Kata exploring using Grover's search to solve the constraint satisfaction problem of graph coloring - coloring nodes of a graph in such a way that no adjacent nodes share the same color.
This project was done as part of UW CSE 490 Q as its final project.
The authors are Dan Tran, Daniel Snitkovskiy, and Frederik Schmitt.
Co-authored-by: Mariia Mykhailova <mamykhai@microsoft.com>
This commit also includes several cleanup changes:
* remove unused CounterSimulator
* use ApplyWith instead of deprecated With
* reduce the number of tests for SAT oracle to speed up testing
* Fix issue #128 (test name in Teleportation).
* Remove mentions of unit tests from CHSH and GHZ.
* Add reading material to GroversAlgorithm.
* Fix the description of task 1.2 in CHSH to reflect both strategies.
* using a user defined type Message in the superdense coding kata
* resetting qubits upon decoding
* fixing a typo!
* adding missing comma
* Update SuperdenseCoding/Tests.qs
Co-Authored-By: Chris Granade <cgranade@gmail.com>
* Update SuperdenseCoding/Tests.qs
Co-Authored-By: Chris Granade <cgranade@gmail.com>
* renaming to ProtocollMessage
* Update SuperdenseCoding/Tasks.qs
Co-Authored-By: Mariia Mykhailova <michaylova@gmail.com>
* Update SuperdenseCoding/Tasks.qs
Co-Authored-By: Mariia Mykhailova <michaylova@gmail.com>
* Update SuperdenseCoding/Tasks.qs
Co-Authored-By: Mariia Mykhailova <michaylova@gmail.com>
* giving the syntax for named item access
* updating task description
* adapting another description
* Update SuperdenseCoding/Tasks.qs
Co-Authored-By: Mariia Mykhailova <michaylova@gmail.com>
* Mariia's feedback
* forgot to adapt notebook
* Fix Notebook tasks to work with ProtocolMessage data type, add explanations
* Refer to earlier type definition in Tasks.qs
In https://github.com/microsoft/QuantumKatas/pull/115 we observed that a kata notebook only overrides the task that is currently tested, and uses stubs from the project for the rest of the tasks. This prevents us from implementing tasks which require two related operations be implemented at once, or ones which rely on previously completed tasks.
This change adds tracking of previously attempted tasks and overriding them together with the currently attempted task.
* Update the katas to use QDK 0.6.1905.301.
* Add mechanism to verify that the reference solutions actually solve all tasks of a Notebook correctly.
Co-Authored-By: Bettina Heim <34236215+bettinaheim@users.noreply.github.com>
Co-Authored-By: Andres Paz <anpaz@microsoft.com>
This adds explicit package version to Kata Notebooks, so that an update of the NuGet packages (with potentially breaking changes) does not get picked up immediately.
This change addresses issue #92:
* describe the intent behind the task and the logic of the reference solution,
* add an extra exit condition to prevent infinite loop when trying increasing numbers of iterations.
* Add Microsoft.Quantum.Katas project that contains the infrastructure necessary for representing Katas in Jupyter Notebook format.
* Add Common project that contains the CounterSimulator for the Katas.
* Add Docker image to run Notebooks on Binder.
* Convert BasicGates, Superposition and part of DeutschJozsaAlgorithm katas to Notebook format.
* Update QDK to 0.5.1904.1302 version.
Co-authored-by: Andres Paz <anpaz@microsoft.com>
Three-qubit state discrimination and Peres/Wooters game problems offered in Microsoft Q# Coding Contest - Winter 2019 (https://codeforces.com/contest/1116)
* Fix row/column order in the unitary written to DumpUnitary.txt
* Update threshold for defining zero/non-zero elements of the pattern to match the handling in UnitaryPatterns kata
Test for AssertIsEigenstate run in parallel with the Q#-only tests. This means that member variables of CounterSimulator which store current and max numbers of allocated qubits need to be non-static, otherwise qubits allocated in different tests can be counted together.