diff --git a/planning/main.typ b/planning/main.typ index 2752478..714ffd8 100644 --- a/planning/main.typ +++ b/planning/main.typ @@ -56,7 +56,7 @@ or research usage, generally, one or a few topologies are used by the user in th The proposed method is to use user defined criteria, such as expressivity, entanglement (e.g., Schmidt strength@quantum-dynamics-physical-resource), and number of trainable parameters as a cost function, and generating an Ansatz to best fulfill the requirement given a topology. Methods of generating the Ansatz can be done either by procedural generation -(algorithmic), using optimization methods such as genetic algorithms@architecture-search@evolutionary-architecture-search, or by using machine learning +(algorithmic), using optimization methods such as genetic algorithms@genetic-expressibility@evolutionary-architecture-search, or by using machine learning methods such as generative AI@generative-quantum-eigensolver. The choice is to be determined by the MSc. student, based on a review of methods. Targets for the projects are comparisons on standard benchmarks of the QML Ansatz using hardware @@ -95,6 +95,16 @@ This experience will be useful since my project will have a significant focus on = Risk Management +== Project related + +The planned search does not perform well at all, in this case I'll try to figure out why it isn't perfoming decently. +If I find that it just won't work I'll write down the negative result so someone else doesn't get the same idea later. + +To mitigate the risk of losing progress I will be using Git all throughout my development cycle. This will give a +history of edits made to the code and texts so I can easily go back to an earlier point if something didn't work out. + +== Personal + Due to the nature of making something new, there are a couple of risks in the time management. If, after the literature research, I decide to use a certain strategy and figure out that it won't work much later on this could lead to a significant amount of wasted time. @@ -141,30 +151,37 @@ to join as well. week(9), [Work on Project], week(10), [Work on Project], week(11), [Work on Project], - week(12), [Work on Project], - week(13), [Work on Project], - week(14), [Create progress report], - week(15), [Midterm], - week(16), [Benchmarking], - week(17), [Implement Project Improvements], - week(18), [Implement Project Improvements], - week(19), [Benchmarking], - week(20), [Implement Project Improvements], - week(21), [Implement Project Improvements], - week(22), [Testing with hardware], - week(23), [Implement issue fixes], - week(24), [Testing on hardware], - week(25), [Write Report], - week(26), [Write Report], - week(27), [Draft 1], - week(28), [Green Light], - week(29), [Write Report], - week(30), [Draft 2], - week(31), [Write Report], - week(32), [Final version], - week(33), [], + week(12), [Prepare project for surgery], + week(13), [Prepare for surgery], + week(14), [Surgery], + week(15), [Recovery], + week(16), [Recovery], + week(17), [Recovery], + week(18), [Recovery (might take longer, if so the rest slides)], + week(19), [Work on Project], + week(20), [Work on Project], + week(21), [Work on Project], + week(22), [Create progress report], + week(23), [Midterm], + week(24), [Benchmarking], + week(25), [Implement Project Improvements], + week(26), [Implement Project Improvements], + week(27), [Benchmarking], + week(28), [Implement Project Improvements], + week(29), [Implement Project Improvements], + week(30), [Testing with hardware], + week(31), [Implement issue fixes], + week(32), [Testing on hardware], + week(33), [Write Report], week(34), [Help Organise Festival], week(35), [Help Organise Festival], week(36), [Help Organise Festival], + week(37), [Write Report], + week(38), [Draft 1], + week(39), [Green Light], + week(40), [Write Report], + week(41), [Draft 2], + week(42), [Write Report], + week(43), [Final version], ) diff --git a/presentations/progress.typ b/presentations/progress.typ index 78a8db9..fefe258 100644 --- a/presentations/progress.typ +++ b/presentations/progress.typ @@ -55,6 +55,11 @@ #let today-offset = (datetime.today() - datetime(day: 10, month: 11, year: 2025)).weeks() += Week 13 +Pre-OP wrapup + +== + = Week 12 Making Baselines diff --git a/report/sections/2theory.typ b/report/sections/2theory.typ index fb97d2b..2ca8d8d 100644 --- a/report/sections/2theory.typ +++ b/report/sections/2theory.typ @@ -3,4 +3,20 @@ #import "@preview/unify:0.7.1": num, numrange, qty, qtyrange #import "@preview/zero:0.5.0" += Theory + +This section explains the concepts necessary to understand the goal. +We start by explaining what Quantum Architecture Search is about, +followed by an explanation of various proxies used in the implemented search, namely Expressivity and Entanglement + +== Quantum Architecture Search + +The act of finding the best parametrized quantum circuit to optimize for a specific quantum computer and task. +In our case I will be talking about "Optimization-Free" QAS as well, which indicates that the parameters of the +circuits aren't optimized during the search process. +A consequence of this limitation are task agnostic results like the task agnostic nature of the Hardware Efficient Ansatze as described by Kandala@hea-kandala. + +== Expressivity + +== Entanglement diff --git a/report/sections/3methods.typ b/report/sections/3methods.typ index 1871aec..1b86b4d 100644 --- a/report/sections/3methods.typ +++ b/report/sections/3methods.typ @@ -2,3 +2,40 @@ #import "@preview/physica:0.9.6": * #import "@preview/unify:0.7.1": num, numrange, qty, qtyrange #import "@preview/zero:0.5.0" + += Methods + +In this chapter I'll go into what I made, how I made it and a bit of why I did it a certain way. +It won't be written in a chronological order. +I will start by talking about the created algorithm, after which I will explain the benchmarks, +and finally the shortly mention the algorithms@training-free@genetic-expressibility used as baselines. + +== Quality-Diversity Quantum Architecture Search + +== Benchmarking + +As the goal of QD-QAS is to create quantum circuits that are hardware-specific but task-agnostic. +The same search outputs should be tested on multiple problems. They should be compared to the +transpiled versions of Hardware Efficient Ansatze@hea-kandala as well as other searches that don't involve +search-time optimization. + +== Baseline tests + +We started by implementing the protocols from Training-Free Quantum Architecture Search@training-free and +Genetic optimization of ansatz expressibility for enhanced variational quantum algorithm performance@genetic-expressibility. +So we have some related algorithms to compare our QD-QAS against. +In this section I'll go into how these implementations went. + +=== Training-Free Quantum Architecture Search + +As the source code wasn't linked anywhere in the paper I started by trying to replicate it purely from the texts. +But doing it this way I ran into an issue with reproducibility. This led me to contact the authors who +sent me the code very quickly. Translating their code so I could use it with the same testing as mine was +my next goal. I already had large parts the same but not all so this isn't done yet as of 06-02-2026, +but I might be able to finish later today. + +=== Genetic optimization of ansatz expressibility for enhanced variational quantum algorithm performance + +Like the other paper there was no link to a repository with the code, but this paper included more pseudocode +samples so I think I was able to replicate it quite quickly. I need to create some more actual benchmarks to compare +them (and mine once I make it)