Parity Twine Optimizer API 참조
Qiskit Functions — 파트너 기관들이 개발한 사전 구축형 도구들은 — 소프트웨어 개발 워크플로우의 일부를 추상화하여, 대규모 알고리즘 탐색 및 애플리케이션 개발을 간소화하고 가속화합니다. 이 Qiskit 함수에 대한 가이드를 보려면 클릭하세요.
ParityQC 패리티 트와인 최적화 도구 가이드
입력
이 API가 허용하는 모든 입력 매개변수는 다음 목록을 참조하십시오.
problem
유형: dict[str, float]
해결해야 할 비용 함수. 사전의 키는 큐비트 레이블에, 값은 계수에 해당합니다.
- 필수: Yes
- 예:
{"()": 3, "(0,)": 1, "(0, 1)": 2, "(1, 2)": -1}
variable_type
유형: str
변수의 유형이 spin ( )인지, 아니면 binary ( )인지에 관계없이.
- 필수: Yes
- 선택 사항:
spin또는binary
backend_name
유형: str
사용할 백엔드의 이름. 명시되지 않은 경우, 부하가 가장 적은 백엔드가 선택됩니다.
- 필수: 아니오
- 예:
ibm_phoenix
problem_type
유형: str
기본값: ""
특화된 후처리를 활성화할 문제의 유형을 지정합니다. 현재는 ( mis 최대 독립 집합)만 지원됩니다. 이 옵션이 mis 설정되면, 알고리즘은 MIS 구조를 활용하는 특정 후처리를 적용합니다. 이 필드를 비워두면 표준 후처리가 적용됩니다.
- 필수: 아니오
- 선택사항:
mis
옵션
유형: dict[str, Any]
다음과 같은 입력 옵션: (선택 사항) 옵션은 중첩된 사전 형태로 지정됩니다. 옵션의 전체 목록과 해당 기본값을 확인하세요.
- 필수: 아니오
- 예:
{"shots": 1000, "problem_type": "my_problem", "postprocessing_level": 1, "transpile_only": False, "job_tags": ["my_tag"]}
옵션 목록
shots
유형: int
기본값: 100000
사용할 샷의 수.
postprocessing_level
유형: int
기본값: 1
고전적인 후처리를 할지 말지. 가능한 값은 0(후처리 없음)과 1(후처리 수행)입니다.
transpile_only
유형: bool
기본값: False
회로의 트랜스파일레이션만 수행할지 여부를 나타내는 부울 값입니다. 그렇다면 회로 메트릭스가 반환됩니다.
job_tags
유형: list[str]
기본값: None
IBM Quantum® Platform 에서 작업을 식별하기 위한 레이블입니다.
- 기본값:
None - 예:
["my_job_tag"]
출력
이 API의 출력 결과는 해, 해의 비트열, 목적 함수 값 및 메타데이터를 포함하는 객체입니다 dict . 이 transpile_only 플래그가 설정된 경우, 회로 메트릭 필드에만 값이 채워집니다.
예:
{
'solution': {'0': -1, '1': 1, '2': 1},
'objective_value': -1.0,
'solution_bitstring': '100',
'metadata': {
'circuit_metrics': {
'depth': 23,
'gate_count': 200,
'two_qubit_gate_depth': 4,
'two_qubit_gate_count': 4,
'num_qubits': 3,
'operations': {'delay': 158, 'rz': 18, 'sx': 15, 'cz': 4, 'measure': 3, 'x': 2}
},
'solver_info': {
'variable_mapping': {'0': 0, '1': 1, '2': 2},
'bitstring_distributions': {
'before_postprocessing': {'011': 3, '001': 1, '110': 1, '111': 3, '101': 1, '010': 1},
'after_postprocessing': {'011': 4, '100': 6}
},
'best_parameters': {
'beta': [-0.46259546391008877],
'gamma': [0.6181957189727373]
}
},
'resource_usage': {
'RUNNING: MAPPING': {'CPU_TIME': 15.536},
'RUNNING: OPTIMIZING_FOR_HARDWARE': {'CPU_TIME': 0.04},
'RUNNING: WAITING_FOR_QPU': {'CPU_TIME': 0.0},
'RUNNING: EXECUTING_QPU': {'QPU_TIME': 8.945},
'RUNNING: POST_PROCESSING': {'CPU_TIME': 0.765}
}
}
}
출력 구조
solution
유형: dict[str, int]
해법의 가치. 키들은 problem.에 정의된 것과 일치합니다.
- 예:
{'0': -1, '1': 1, '2': 1}
objective_value
유형: float
해결책의 비용. 솔루션의 품질을 수치화합니다.
- 예:
-1.0
solution_bitstring
유형: str
최저 비용에 해당하는 비트 문자열.
- 예:
'100'
metadata
circuit_metrics
유형: dict[str, Any]
Twine 트랜스파일링에 관한 정보.
depth
유형: int
회로의 깊이.
gate_count
유형: int
회로 내 게이트의 개수.
two_qubit_gate_depth
유형: int
회로의 2큐비트 깊이.
two_qubit_gate_count
유형: int
회로의 2-큐비트 수.
num_qubits
유형: int
회로에서 활성 상태인 큐비트의 수.
operations
유형: dict[str, int]
회로 내 게이트 유형(키) 및 발생(값).
solver_info
유형: dict[str, Any]
알고리즘에 대한 통찰
variable_mapping
유형: dict[str, int]
계산에 사용된 변수-큐비트 매핑.
bitstring_distributions
유형: dict[str, Any]
기저 상태와 해당 상태가 샘플링된 횟수를 나타낸 도표.
before_postprocessing
유형: dict[str, int]
고전적인 사후 처리 전 측정된 비트열의 분포.
after_postprocessing
유형: dict[str, int]
고전적인 후처리를 거친 측정된 비트열의 분포.
best_parameters
유형: dict[str, Any]
최적화된 변분 학습 매개변수.
beta
유형: list[float]
변분 매개변수 베타를 최적화했습니다.
gamma
유형: list[float]
최적화된 변분 매개변수 감마.
resource_usage
유형: dict[str, Any]
일정에 관한 정보.
RUNNING: MAPPING
유형: dict[str, float]
매핑 문제에 소요된 CPU 시간 (초).
RUNNING: OPTIMIZING_FOR_HARDWARE
유형: dict[str, float]
하드웨어 최적화를 위한 CPU 시간 (초).
RUNNING: WAITING_FOR_QPU
유형: dict[str, float]
QPU를 대기하는 CPU 시간 (초).
RUNNING: EXECUTING_QPU
유형: dict[str, float]
사용된 QPU 시간 (초).
RUNNING: POST_PROCESSING
유형: dict[str, float]
결과 후처리에 소요된 CPU 시간 (초).