Fidelity-aware lookahead, lookahead-based initial layout, DisjointSameOpType
layering, upper limits for active qubits per layer
#416
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
FidelityCurrentLocation
just sums up the fidelity costs and distances of/within future gates with the current mapping,FidelityCurrentTargetLocation
does the same but for the mapping the heuristic is currently aiming for, e.g. forFidelityBestLocation
this is the globally, individual best location for each qubit)DynamicGreedyLookahead
, which is similar toDynamic
but instead of just looking at distances in the current layer, each qubit is mapped greedily such that the lookahead penalty is minimized. This increases the quality of mapping results significantly (also in the non-fidelity-aware case) in almost all cases with not too much runtime overhead. We might consider making this the new default.DisjointSameOpType
equivalent toDisjoint2qBlocks
but separating different gate types to different layers. This is necessary for fidelity-aware mapping, whereDisjoint2qBlocks
might make it impossible to find the global optimum.Checklist: