Skip to main content
IBM Quantum Platform

Parity Twine Optimizer API 참조

  • Qiskit Functions

    Qiskit Functions — 파트너 기관들이 개발한 사전 구축형 도구들은 — 소프트웨어 개발 워크플로우의 일부를 추상화하여, 대규모 알고리즘 탐색 및 애플리케이션 개발을 간소화하고 가속화합니다. 이 Qiskit 함수에 대한 가이드를 보려면 클릭하세요.


입력

이 API가 허용하는 모든 입력 매개변수는 다음 목록을 참조하십시오.

problem

유형: dict[str, float]

해결해야 할 비용 함수. 사전의 키는 큐비트 레이블에, 값은 계수에 해당합니다.

  • 필수: Yes
  • 예:{"()": 3, "(0,)": 1, "(0, 1)": 2, "(1, 2)": -1}

variable_type

유형: str

변수의 유형이 spin ( s{1,1}s \in \{-1, 1\} )인지, 아니면 binary ( x{0,1}x \in \{0, 1\} )인지에 관계없이.

  • 필수: 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 시간 (초).

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.