diff --git a/flake.lock b/flake.lock index 6c0bafd..47e30ad 100644 --- a/flake.lock +++ b/flake.lock @@ -37,6 +37,22 @@ "type": "github" } }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1767039857, + "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", + "owner": "NixOS", + "repo": "flake-compat", + "rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -57,11 +73,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1767364772, - "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=", + "lastModified": 1772956932, + "narHash": "sha256-M0yS4AafhKxPPmOHGqIV0iKxgNO8bHDWdl1kOwGBwRY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa", + "rev": "608d0cadfed240589a7eea422407a547ad626a14", "type": "github" }, "original": { @@ -121,39 +137,24 @@ "url": "https://static.rust-lang.org/dist/channel-rust-1.91.0.toml" } }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "typst": { "inputs": { "crane": "crane", "fenix": "fenix", + "flake-compat": "flake-compat", "flake-parts": "flake-parts", "nixpkgs": [ "nixpkgs" ], "rust-manifest": "rust-manifest", - "systems": "systems", "typst": "typst_2" }, "locked": { - "lastModified": 1767654408, - "narHash": "sha256-7YhRyF2u7CuhBLMpKnHZy9D5Y2L6k9LRLGf3SE0AUYc=", + "lastModified": 1769829890, + "narHash": "sha256-MxaI0XTFOdFGhPZ5Vx3w+se3aEY9wBU/LpUw3mlv4XQ=", "owner": "typst", "repo": "typst-flake", - "rev": "ec2389e45e1014c746a3a1d6a222cde352c56886", + "rev": "0862b4b4c562fdc245063519b012507951a53181", "type": "github" }, "original": { diff --git a/post-op.md b/post-op.md index 0815346..51677ef 100644 --- a/post-op.md +++ b/post-op.md @@ -2,6 +2,8 @@ Hello me, this is a list for you to get back on track with the QD-QAS you were working on... +Tell Sebastian and Koen "I'm back" + ## Things I've done I have made baselines for two types of optimization free QAS, namely TF-QAS and GA-QAS. diff --git a/presentations/progress.typ b/presentations/progress.typ index fefe258..b5a28f9 100644 --- a/presentations/progress.typ +++ b/presentations/progress.typ @@ -3,6 +3,7 @@ #import "@preview/cetz:0.3.4" #import "@preview/typsium:0.2.0": ce #import "@preview/numbly:0.1.0": numbly +#import "@preview/fletcher:0.5.8": * #import "./theme.typ": * #set heading(numbering: numbly("{1}.", default: "1.1")) @@ -55,10 +56,81 @@ #let today-offset = (datetime.today() - datetime(day: 10, month: 11, year: 2025)).weeks() -= Week 13 -Pre-OP wrapup += Week ?? + +Post Surgery + +== Content + +- Research question +- Solution Architecture +- Comparing with other methods + +== Research Question + +- Uncertain about the wording +#pause +How does Quality-Diversity based Quantum Architecture Search compare to the state-of-the-art in QAS +in speed, noise performance and transferability between problems? + +== Hypothesis + +I think the speed of the search itself will be comparable to the GA-QAS, which is slower than +TF-QAS but likely faster then problem specific searches. + +In noise performance I think it would be possible to improve upon both GA-QAS and TF-QAS as neither +attempts to optimize for it. + +I think the transferability of the output will be a significant improvement over TF-QAS, +especially when counting the whole set of PQCs. + +== QD-QAS architecture + +#let nodes = ("Make Initial Population", "Create Offspring", "Calculate Cost Function", "Take Best Offspring", "Offspring Becomes Parents") +#let edges = ( + (0, 1), + (1, 2), + (2, 3), + (3, 4), + (4, 1), +) +#align(center + horizon)[ +#diagram({ + for (i, n) in nodes.enumerate() { + let θ = -90deg + i*360deg/nodes.len() + node((θ, 0.8), n, stroke: 0.5pt, name: str(i)) + } + for (from, to) in edges { + let bend = if (to, from) in edges { 10deg } else { 5deg } + // refer to nodes by label, e.g., <1> + edge(label(str(from)), label(str(to)), "-|>", bend: bend) + } +}) +] + +== Comparing + +- Preferences + - Same benchmarks for all QAS types + - Not implementing tests multiple times + - Consistent program outputs + + +== Comparing + +- Options I see + - Replicate other papers to have consistent outputs \ + \- need to get it all working as expected \ + \+ will have identical tests and outputs + - Create an interface and adapt the other papers to it \ + \- limited by the lowest common denominator \ + \+ don't need to fully replicate papers + - Use the tests of the other papers \ + \- Likely can't compare all together \ + \- Can't choose tests freely \ + \+ Not necessary to rerun tests of the other papers \ + \+ Don't have to implement tests for the other papers -== = Week 12 Making Baselines diff --git a/src/all_qas.py b/src/all_qas.py old mode 100644 new mode 100755