# Hardware-Aware QAOA Selector Pilot

## Scope

- 목적: 저장된 QPU pilot 결과에서 QPU winner를 더 잘 예측하는 selector scoring 방향을 점검한다.
- 새 QPU job은 실행하지 않았고, 기존 backend-comparison CSV와 layout/calibration CSV만 사용한다.
- backends: ibm_kingston, ibm_marrakesh
- QPU jobs: 4 (d8a6rmop0eas73dpfntg, d8a6tq9789is73945510, d8a6tvdg7okc73epghh0, d8aprj2vnmpc73bqvnag)
- selector candidates: `robust`, `noisy_expected`, `optimizer`
- 해석: exploratory pilot only. 표본이 작아서 학습된 모델이나 일반 hardware validation으로 주장하면 안 된다.

## Main Result

Hardware-aware score는 QPU expected-cut winner와 success winner를 3/4 jobs에서 맞췄다. Top-2 후보 안에는 expected-cut winner가 4/4 jobs 포함됐다.

이 결과는 `simulator_noisy_expected_cut`만 보는 predictor가 같은 QPU jobs에서 winner를 맞추지 못한 것보다 나은 출발점이다. 다만 4개 job에서 weight를 바꾸면 결과가 쉽게 움직일 수 있으므로, 다음 단계는 사전 고정한 weight로 `ibm_kingston`/`ibm_marrakesh` 추가 반복을 실행해 out-of-sample로 검증하는 것이다.

중요한 제한: 현재 top-1 winner accuracy는 단순 `low_transpiled_depth` baseline과 동일하다. 따라서 이 리포트가 보여주는 것은 hardware-aware score의 우월성이 아니라, simulator-only predictor보다 hardware execution metadata를 넣는 방향이 더 타당하다는 초기 근거다.

## Predictor Summary

| predictor | rule | E[C] winner match | E[C] accuracy | success winner match | success accuracy | E[C] top-2 hit | success top-2 hit |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: |
| hardware_aware_score | execution-risk adjusted hardware-aware score | 3/4 | 75.0% | 3/4 | 75.0% | 4/4 | 4/4 |
| low_simulator_noise_sensitivity | lowest simulated noise sensitivity | 1/4 | 25.0% | 1/4 | 25.0% | 4/4 | 4/4 |
| low_transpiled_depth | lowest transpiled depth | 3/4 | 75.0% | 3/4 | 75.0% | 3/4 | 3/4 |
| simulator_noisy_expected_cut | highest simulator noisy expected cut | 0/4 | 0.0% | 0/4 | 0.0% | 3/4 | 3/4 |
| simulator_success_probability | highest simulator success probability | 0/4 | 0.0% | 0/4 | 0.0% | 3/4 | 3/4 |

## Hardware-Aware Weights

각 feature는 같은 QPU job 안의 세 selector 사이에서 min-max 정규화한다. Score는 simulator 성능을 약하게 보상하고, 실행위험 feature를 더 강하게 penalty로 둔다.

| feature | direction | weight |
| --- | --- | ---: |
| simulator_noisy_expected_cut | reward | 0.060 |
| simulator_success_probability | reward | 0.030 |
| simulator_noise_sensitivity | penalty | 0.160 |
| transpiled_depth | penalty | 0.050 |
| transpiled_two_qubit_gate_count | penalty | 0.050 |
| mean_readout_error_active | penalty | 0.100 |
| mean_1q_gate_error_used | penalty | 0.070 |
| mean_2q_gate_error_used | penalty | 0.150 |
| max_2q_gate_error_used | penalty | 0.080 |

## Job-Level Predictions

| backend | job id | predictor | predicted selector | QPU E[C] winner | E[C] match | QPU success winner | success match | top selectors |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| ibm_marrakesh | d8a6rmop0eas73dpfntg | simulator_noisy_expected_cut | optimizer | noisy_expected | no | noisy_expected | no | optimizer;noisy_expected |
| ibm_marrakesh | d8a6rmop0eas73dpfntg | simulator_success_probability | optimizer | noisy_expected | no | noisy_expected | no | optimizer;noisy_expected |
| ibm_marrakesh | d8a6rmop0eas73dpfntg | low_simulator_noise_sensitivity | robust | noisy_expected | no | noisy_expected | no | robust;noisy_expected |
| ibm_marrakesh | d8a6rmop0eas73dpfntg | low_transpiled_depth | noisy_expected | noisy_expected | yes | noisy_expected | yes | noisy_expected;robust |
| ibm_marrakesh | d8a6rmop0eas73dpfntg | hardware_aware_score | noisy_expected | noisy_expected | yes | noisy_expected | yes | noisy_expected;robust |
| ibm_marrakesh | d8a6tq9789is73945510 | simulator_noisy_expected_cut | optimizer | robust | no | robust | no | optimizer;noisy_expected |
| ibm_marrakesh | d8a6tq9789is73945510 | simulator_success_probability | optimizer | robust | no | robust | no | optimizer;noisy_expected |
| ibm_marrakesh | d8a6tq9789is73945510 | low_simulator_noise_sensitivity | robust | robust | yes | robust | yes | robust;noisy_expected |
| ibm_marrakesh | d8a6tq9789is73945510 | low_transpiled_depth | optimizer | robust | no | robust | no | optimizer;noisy_expected |
| ibm_marrakesh | d8a6tq9789is73945510 | hardware_aware_score | optimizer | robust | no | robust | no | optimizer;robust |
| ibm_marrakesh | d8a6tvdg7okc73epghh0 | simulator_noisy_expected_cut | optimizer | noisy_expected | no | noisy_expected | no | optimizer;noisy_expected |
| ibm_marrakesh | d8a6tvdg7okc73epghh0 | simulator_success_probability | optimizer | noisy_expected | no | noisy_expected | no | optimizer;noisy_expected |
| ibm_marrakesh | d8a6tvdg7okc73epghh0 | low_simulator_noise_sensitivity | robust | noisy_expected | no | noisy_expected | no | robust;noisy_expected |
| ibm_marrakesh | d8a6tvdg7okc73epghh0 | low_transpiled_depth | noisy_expected | noisy_expected | yes | noisy_expected | yes | noisy_expected;robust |
| ibm_marrakesh | d8a6tvdg7okc73epghh0 | hardware_aware_score | noisy_expected | noisy_expected | yes | noisy_expected | yes | noisy_expected;robust |
| ibm_kingston | d8aprj2vnmpc73bqvnag | simulator_noisy_expected_cut | optimizer | noisy_expected | no | noisy_expected | no | optimizer;noisy_expected |
| ibm_kingston | d8aprj2vnmpc73bqvnag | simulator_success_probability | optimizer | noisy_expected | no | noisy_expected | no | optimizer;noisy_expected |
| ibm_kingston | d8aprj2vnmpc73bqvnag | low_simulator_noise_sensitivity | robust | noisy_expected | no | noisy_expected | no | robust;noisy_expected |
| ibm_kingston | d8aprj2vnmpc73bqvnag | low_transpiled_depth | noisy_expected | noisy_expected | yes | noisy_expected | yes | noisy_expected;robust |
| ibm_kingston | d8aprj2vnmpc73bqvnag | hardware_aware_score | noisy_expected | noisy_expected | yes | noisy_expected | yes | noisy_expected;robust |

## Hardware-Aware Score Detail

| backend | job id | selector | score | QPU E[C] rank | QPU success rank | depth | 2Q | mean readout error | mean 2Q error | QPU E[C] |
| --- | --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| ibm_kingston | d8aprj2vnmpc73bqvnag | noisy_expected | -0.034882 | 1 | 1 | 101 | 34 | 0.006683 | 0.001601 | 3.583008 |
| ibm_kingston | d8aprj2vnmpc73bqvnag | optimizer | -0.340000 | 2 | 2 | 119 | 34 | 0.006683 | 0.001612 | 3.577148 |
| ibm_kingston | d8aprj2vnmpc73bqvnag | robust | -0.175000 | 3 | 3 | 110 | 34 | 0.006683 | 0.001612 | 3.418945 |
| ibm_marrakesh | d8a6rmop0eas73dpfntg | noisy_expected | -0.050000 | 1 | 1 | 100 | 34 | 0.006348 | 0.001632 | 3.661133 |
| ibm_marrakesh | d8a6rmop0eas73dpfntg | optimizer | -0.536667 | 2 | 3 | 114 | 28 | 0.007202 | 0.001726 | 3.639648 |
| ibm_marrakesh | d8a6rmop0eas73dpfntg | robust | -0.386373 | 3 | 2 | 108 | 25 | 0.007202 | 0.001709 | 3.637695 |
| ibm_marrakesh | d8a6tq9789is73945510 | noisy_expected | -0.120000 | 3 | 3 | 110 | 34 | 0.006348 | 0.001632 | 3.628906 |
| ibm_marrakesh | d8a6tq9789is73945510 | optimizer | -0.070000 | 2 | 2 | 106 | 34 | 0.006348 | 0.001632 | 3.666992 |
| ibm_marrakesh | d8a6tq9789is73945510 | robust | -0.120000 | 1 | 1 | 110 | 34 | 0.006348 | 0.001632 | 3.676758 |
| ibm_marrakesh | d8a6tvdg7okc73epghh0 | noisy_expected | -0.050000 | 1 | 1 | 101 | 34 | 0.006348 | 0.001630 | 3.708008 |
| ibm_marrakesh | d8a6tvdg7okc73epghh0 | optimizer | -0.520000 | 3 | 3 | 114 | 28 | 0.007202 | 0.001726 | 3.649414 |
| ibm_marrakesh | d8a6tvdg7okc73epghh0 | robust | -0.089575 | 2 | 2 | 110 | 34 | 0.006348 | 0.001632 | 3.656250 |

## Interpretation

현재 데이터에서 hardware-aware score가 하는 일은 optimizer의 높은 simulator metric을 그대로 믿지 않고, transpiled depth, two-qubit exposure, active readout error, calibrated gate error를 함께 반영하는 것이다. 이 방향은 simulator-only predictor보다 observed QPU ranking과 더 잘 맞지만, 단순 low-depth rule보다 좋다는 증거는 아직 없다.

논문에는 이 결과를 새로운 알고리즘 성능 claim으로 넣기보다, `calibration-aware selector follow-up` 또는 `hardware-aware selector hypothesis`로 넣는 편이 객관적이다. 강한 주장은 추가 QPU 반복과 사전등록된 weight, 다른 graph/backend validation 이후에만 가능하다.
