code: def remove_redundant_acquaintance_opportunities(
          strategy: circuits.Circuit) -> int:
      
      if not is_acquaintance_strategy(strategy):
          raise TypeError('not is_acquaintance_strategy(circuit)')
  
      qubits = sorted(strategy.all_qubits())
      mapping = {q: i for i, q in enumerate(qubits)}
  
      expose_acquaintance_gates(strategy)
      annotated_strategy = strategy.copy()
      LogicalAnnotator(mapping)(annotated_strategy)
  
      new_moments = [] # type: List[ops.Moment]
      acquaintance_opps = set() # type: Set[FrozenSet[int]]
      n_removed = 0
      for moment in annotated_strategy:
          new_moment = [] # type: List[ops.Operation]
          for op in moment:
              if isinstance(op, AcquaintanceOperation):
                  opp = frozenset(cast(Sequence[int], op.logical_indices))
                  if opp not in acquaintance_opps:
                      acquaintance_opps.add(opp)
                      new_moment.append(acquaint(*op.qubits))
                  else:
                      n_removed += 1
              else:
                  new_moment.append(op)
          new_moments.append(ops.Moment(new_moment))
      strategy._moments = new_moments
      return n_removed
docs: Removes redundant acquaintance opportunities.