

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IonQ デバイスのエラー緩和手法
<a name="error-mitigation-ionq"></a>

エラー緩和とは、複数の物理回路を実行し、その測定値を組み合わせて結果を改善することです。

**注記**  
IonQ の各デバイスの場合: オンデマンドモデルを使用するとき、100 万[ゲートショット](braket-terms.md#gateshot-limit-term)の制限があり、[エラー緩和](https://docs.aws.amazon.com/braket/latest/developerguide/braket-error-mitigation.html)タスクには最低 2,500 ショットを実行する必要があります。直接予約の場合、ゲートショットに制限はなく、エラー緩和タスクでは最低 500 ショットを実行する必要があります。

## デバイアス処理
<a name="error-mitigation-ionq-debiasing"></a>

IonQ デバイスは、*デバイアス処理*と呼ばれるエラー緩和手法を備えています。

デバイアス処理は、量子ビットの複数の順列または複数のゲート分解で動作する、複数のバリアントに回路をマッピングします。これにより、測定結果にバイアスをかける可能性のある回路について、そのさまざまな実装を使用することで、ゲートの過回転や単一の故障した量子ビットなどの系統誤差の影響が緩和されます。これには、複数の量子ビットとゲートを較正するための余分なオーバーヘッドが掛かるという代償を伴います。

デバイアス処理の詳細については、「[Enhancing quantum computer performance through symmetrization](https://arxiv.org/abs/2301.07233)」を参照してください。

**注記**  
デバイアス処理を使用するには、少なくとも 2500 ショットが必要です。

IonQ デバイスでデバイアス処理を行って量子タスクを実行するには、次のコードを使用します。

```
from braket.aws import AwsDevice
from braket.circuits import Circuit
from braket.error_mitigation import Debias

# choose an IonQ device
device = AwsDevice("arn:aws:braket:us-east-1::device/qpu/ionq/Forte-Enterprise-1")
circuit = Circuit().h(0).cnot(0, 1)

task = device.run(circuit, shots=2500, device_parameters={"errorMitigation": Debias()})

result = task.result()
print(result.measurement_counts)
>>> {"00": 1245, "01": 5, "10": 10 "11": 1240} # result from debiasing
```

量子タスクが完了すると、量子タスクの測定確率と何らかの結果タイプを確認できます。すべてのバリアントの測定確率および測定カウントは 1 つの分布に集約されます。期待値など、回路で指定された結果タイプは、総測定カウントを使用して計算されます。

## シャープニング
<a name="error-mitigation-ionq-sharpening"></a>

また、*シャープニング*と呼ばれる別の後処理戦略で計算された測定確率にアクセスすることもできます。シャープニングとは、各バリアントの結果を比較し、一貫性のないショットを破棄して、バリアント間で最も頻度の高い測定結果を優先することです。詳細については、「[Enhancing quantum computer performance through symmetrization](https://arxiv.org/abs/2301.07233)」を参照してください。

重要なのは、シャープニングは出力分布の形式がスパースで、確率の高い状態がほとんどなく、確率が 0 の状態が多いことを前提としていることです。この前提が有効でない場合、確率分布がゆがむ可能性があります。

シャープニングされた分布から読み取れる確率に、Braket Python SDK の `GateModelTaskResult` の [`additional_metadata`] フィールドからアクセスできます。シャープニングは測定カウントを返さず、代わりに再正規化された確率分布を返すことに注意してください。次のコードスニペットは、シャープニング後の分布にアクセスする方法を示しています。

```
print(result.additional_metadata.ionqMetadata.sharpenedProbabilities)
>>> {"00": 0.51, "11": 0.549} # sharpened probabilities
```