Skip to main content
IBM Quantum Platform

MinimumPoint

class qiskit.transpiler.passes.MinimumPoint(*args, **kwargs)

GitHub

베이스: TransformationPass

DAG가 이전 실행에 비해 상대적으로 반 안정된 지점에 도달했는지 확인합니다

이 패스는 트랜스파일러 패스와 유사하며 FixedPoint 트랜스파일러 패스와 유사하며 주로 프로퍼티 세트에서 루프 중단 조건을 설정하는 데 사용됩니다. 그러나 두 개의 연속된 실행이 동일한 값을 가질 때만 조건을 설정하는 FixedPoint 클래스가 2개의 연속 실행에 동일한 값의 속성 집합 값이 있는 경우에만 조건을 설정하는 것과 달리, 이 패스는 로컬 최소값을 찾아서 대신 사용하도록 설계되었습니다. 이 패스는 고정점에 도달하지 못할 수 있는 최적화 루프를 위해 설계되었습니다(예: 합성을 사용하고 경우에 따라 여러 개의 동등한 출력이 있는 경우).

이 패스는 과거 실행을 통해 프로퍼티 세트의 필드 상태를 추적하고 역추적 깊이에서 고정점에 도달하거나 역추적 깊이에 도달한 경우 발견된 최소값을 선택하면 부울 필드를 설정합니다. 이를 위해 속성 세트에 현재 최소 DAG의 딥 카피를 저장하고 마지막 최소값 이후 backtrack_depth 실행 횟수에 도달하면 출력 DAG가 이전 최소값의 해당 카피로 설정됩니다.

속성 세트에서 이 패스가 사용하는 필드는 (모두 prefix 인수를 기준으로) 다음과 같습니다:

  • {prefix}_minimum_point_state - 최소 포인트 검색 상태를 추적하는 데 사용됩니다

  • {prefix}_minimum_point - 이 값은 고정점 중 하나가 True 로 설정됩니다

    를 초과하여 backtrack_depth 실행에 도달하거나 backtrack_depth 초과하여 이전 최소값으로 복원됩니다.

이 패스의 인스턴스를 초기화합니다

매개변수

  • property_set_list (list) – 로컬 최소값을 평가하는 데 사용할 프로퍼티 세트 키 목록입니다. 이러한 프로퍼티 세트 키의 값은 비교를 위해 튜플로 사용됩니다
  • prefix (str) – 이전 평가를 추적하는 데 사용되는 속성 집합 키에 사용할 접두사입니다
  • backtrack_depth (int) – 저장할 최대 항목 수입니다. 이 수에 도달하고 다음 반복에서 값 수가 감소하지 않으면 이전 n의 최소값이 출력 dag로 설정되고 minimum_point 는 속성 세트에서 True 로 설정됩니다

속성

is_analysis_pass

패스가 분석 패스인지 확인합니다.

패스가 AnalysisPass, 인 경우 패스가 DAG를 분석하고 해당 분석 결과를 속성 집합에 쓸 수 있음을 의미합니다. 이러한 종류의 패스에서는 DAG에 대한 수정이 허용되지 않습니다.

is_transformation_pass

패스가 변환 패스인지 확인합니다.

패스가 TransformationPass, 인 경우 패스가 DAG를 조작할 수는 있지만 속성 집합을 수정할 수는 없음을 의미합니다(단, 읽을 수는 있음).


메소드

execute

execute(passmanager_ir, state, callback=None)

GitHub

입력된 키스킷 IR에 대한 최적화 작업을 실행합니다.

매개변수

  • passmanager_ir (DAGCircuit) – 최적화할 Qiskit IR.
  • state (DAGCircuit) – 패스 관리자 자체에 의한 워크플로 실행과 관련된 상태.
  • callback (Callable[[Task, DAGCircuit, PropertySet, float, int], None] | None) – 최적화 작업이 실행될 때마다 호출되는 콜백 함수입니다.

리턴

최적화된 키스킷 IR 및 워크플로 상태.

리턴 유형

튜플 [ DAGCircuit, PassManagerState ]

name

name()

GitHub

패스 이름.

리턴 유형

str

run

run(dag)

GitHub

Dag에서 MinimumPoint 패스를 실행합니다.

update_status

update_status(state, run_state)

GitHub

워크플로 상태를 업데이트합니다.

매개변수

  • state (PassManagerState) – 관리자 상태를 전달하여 업데이트합니다.
  • run_state (RunState) – 현재 작업의 완료 상태입니다.

리턴

패스 관리자 상태가 업데이트되었습니다.

리턴 유형

PassManagerState

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