I tried to do qubit mapping called 'SABRE' and execute transpiled quantum circuit. I use FakeTokyo backend which has some noise because it is mock version of IBMQ 20-Tokyo. I know using this backend makes some noise but will not change final result when I measure my circuit. But, when I transpile my quantum circuit like below code, the result is always different. I wonder why this happens.
Source code:
from qiskit.test.mock import FakeTokyo
from qiskit.circuit.measure import measure
from qiskit.execute_function import execute
from qiskit.circuit.quantumcircuit import QuantumCircuit
from qiskit.compiler import transpile
backend = FakeTokyo()
final_circuit = transpile(circuits=circuit,
backend=backend,
routing_method='sabre',
layout_method='sabre',
basis_gates=['u1', 'u2', 'u3', 'cx', 'id'])
final_circuit.barrier()
final_circuit.measure_all()
results = execute(final_circuit, backend).result()
counts = results.get_counts()
print("result : ", counts)
circuits = circuit
means I input list of quantum circuits into transpile function. I really don't know why the results always different.