title: "5A. Reporte escrito. Experimentos y análisis de algoritmos de intersección de conjuntos." subtitle: "Análisis de Algoritmos 2025-2" author: "Mendiola Alavéz Dalia Isabel" format: pdf: documentclass: article fontsize: 12pt geometry: margin=1in code-overflow: wrap output-width: 0.9\textwidth include-in-header: text: | \usepackage{fancyhdr} \pagestyle{fancy} \fancyhead[L]{Mendiola Alavéz Dalia Isabel} \fancyhead[R]{Análisis de Algoritmos 2025-2} \fancyfoot[C]{\thepage} \usepackage[htt]{hyphenat}
Introducción¶
La operación de intersección de listas ordenadas es fundamental en diversas áreas de la computación, particularmente en recuperación de información, bases de datos, motores de búsqueda y procesamiento de grandes volúmenes de datos. Su eficiencia es crucial para sistemas modernos que requieren respuestas rápidas a consultas complejas y de alta frecuencia. Debido a esto, la literatura ha propuesto múltiples estrategias para optimizar la intersección, especialmente cuando se manejan listas desbalanceadas o colecciones masivas de datos.
Uno de los enfoques más clásicos es el método de Melding (ME), que consiste en comparar los elementos de las listas de forma secuencial (Wang et al., 2011). Si bien es simple de implementar, su rendimiento se degrada rápidamente cuando el tamaño de las listas aumenta o existen diferencias significativas entre ellas. Para mejorar esta limitación, Baeza-Yates (BY) propuso un algoritmo más eficiente basado en realizar búsquedas sobre la lista más larga, aprovechando la propiedad de ordenamiento y reduciendo el número total de comparaciones (Baeza-Yates, 1991). El método BY permite, además, ser parametrizado con diferentes estrategias de búsqueda—como búsqueda binaria, búsqueda no acotada B1 y B2—lo que abre la puerta a variantes más eficientes en escenarios específicos.
Posteriormente, Barbay y Kenyon (BK) desarrollaron un algoritmo que optimiza de manera adaptativa la intersección tomando en cuenta la distribución y la longitud relativa de las listas, logrando un comportamiento más eficiente en términos de número de comparaciones en promedio (Barbay & Kenyon, 2002). Este enfoque ha demostrado ser competitivo frente a métodos clásicos, especialmente cuando se trabaja con colecciones heterogéneas.
En este proyecto se evaluaron los algoritmos ME, BY (con variantes Binary, B1 y B2) y BK utilizando tres conjuntos de datos en formato JSON, cada uno conformado por pares, tripletas y cuádruplas de listas. El objetivo principal fue comparar el rendimiento de los algoritmos en términos de tiempo de ejecución, número de comparaciones y tamaño de la intersección resultante, utilizando un enfoque experimental reproducible con múltiples repeticiones por algoritmo.
Los resultados obtenidos permiten analizar cómo se comportan estos métodos en diferentes escenarios, identificando fortalezas, limitaciones y condiciones bajo las cuales ciertos algoritmos resultan más eficientes que otros. Este análisis contribuye a una comprensión más completa de las técnicas de intersección de listas y su aplicabilidad en sistemas de búsqueda y procesamiento de información.
Desarrollo¶
El objetivo de este trabajo es comparar el rendimiento de distintos algoritmos de intersección de listas invertidas, evaluando específicamente el número de comparaciones realizadas por cada método bajo diferentes configuraciones de datos. Para ello se diseñó un experimento controlado que permite medir, de forma repetida y consistente, el comportamiento de cada algoritmo cuando se aplican sobre colecciones de listas con características previamente definidas.
Para comenzar, se establece la conexión con Drive:
from google.colab import drive
drive.mount('/content/drive')
Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount("/content/drive", force_remount=True).
Se importan las librerías a utilizar:
# Para cargar los archivos con las posting lists:
import json
# Para medir los tiempos de ejecución de cada algoritmo:
import time
# Para generar gráficos:
import matplotlib.pyplot as plt
# Para la creación de boxplots:
import seaborn as sns
# Para almacenar los resultados experimentales en un DataFrame:
import pandas as pd
Se establece un contador simple para rastrear el número de comparaciones lógicas realizadas por los algoritmos durante los experimentos.
class Counter:
def __init__(self):
self.count = 0
def inc(self):
self.count += 1
def reset(self):
self.count = 0
cmp_counter = Counter()
Las siguientes funciones son usadas por el algoritmo de Baeza-Yates (BY) como estrategias alternativas para localizar elementos dentro de listas ordenadas. Cada una tiene distinto comportamiento y costo en comparaciones:
def binary_search(A, x):
"""
- Divide el rango de búsqueda a la mitad en cada iteración
- Costo: O(log n)
- Es la operación base sobre la cual BY define su versión parametrizada
"""
left, right = 0, len(A) - 1
while left <= right:
mid = (left + right) // 2
cmp_counter.inc()
if A[mid] == x:
return True
cmp_counter.inc()
if A[mid] < x:
left = mid + 1
else:
right = mid - 1
return False
def unbounded_search_B1(A, x, sp=0):
"""
- Primero expande el rango exponencialmente (1,2,4,8...), hasta encontrar un
intervalo que pueda contener x
- Después ejecuta una búsqueda binaria dentro de ese intervalo
"""
i = 1
n = len(A)
# Expansión exponencial del rango
while sp + i < n:
cmp_counter.inc()
if A[sp+i] >= x:
break
i *= 2
# Determinar subrango donde hacer binary search
left = sp + i//2
right = min(sp + i, n-1)
# Búsqueda binaria dentro del subrango acotado
while left <= right:
mid = (left + right) // 2
cmp_counter.inc()
if A[mid] == x:
return True
cmp_counter.inc()
if A[mid] < x:
left = mid + 1
else:
right = mid - 1
return False
def unbounded_search_B2(A, x, sp=0):
"""
- Igual que B1 expande el rango exponencialmente
- La diferencia principal está en la forma de reducir el rango:
B1 -> binary search directa
B2 -> bisección del rango
- B2 está diseñada para mejorar el rendimiento en casos donde la distribución
de elementos es irregular
"""
i = 1
n = len(A)
# Expansión exponencial del rango
while sp + i < n:
cmp_counter.inc()
if A[sp+i] >= x:
break
i *= 2
# Rango final para buscar
left = sp + i//2
right = min(sp + i, n - 1)
# "Range bisection" divide el rango completo en lugar de hacer binary search
# directa
while left <= right:
mid = (left + right) // 2
cmp_counter.inc()
if A[mid] == x:
return True
cmp_counter.inc()
if A[mid] < x:
left = mid + 1
else:
right = mid - 1
return False
Se establecen las funciones para ejecutar los algoritmos de intersección:
def intersection_me(lists):
"""
Este método compara elementos de dos listas ordenadas al mismo tiempo
usando dos punteros. Cada vez que se encuentra un elemento igual, se
agrega al resultado. Si los elementos difieren, se avanza en la lista
cuyo elemento actual es menor.
"""
result = lists[0]
for L in lists[1:]:
out = []
i = j = 0
# Recorrido simultáneo tipo merge
while i < len(result) and j < len(L):
cmp_counter.inc()
if result[i] == L[j]:
# Coincidencia -> agregar a la salida
out.append(result[i])
i += 1
j += 1
else:
cmp_counter.inc()
if result[i] < L[j]:
i += 1
else:
j += 1
# Actualizamos la intersección parcial
result = out
return result
def intersection_by(lists, search_fn):
"""
Este método toma la primera lista y verifica cada uno de sus elementos
buscando si aparece en las demás listas utilizando la función de búsqueda
'search_fn', que puede ser búsqueda binaria, búsqueda acotada B1, B2, etc.
"""
result = lists[0]
for L in lists[1:]:
out = []
for x in result:
# Pregunta si x está en la lista L usando la estrategia dada
if search_fn(L, x):
out.append(x)
result = out
return result
def intersection_bk(lists):
"""
El algoritmo ordena las listas por tamaño y utiliza la más pequeña
como referencia. Para cada elemento de esta lista, hace búsqueda binaria
en todas las demás.
"""
# Ordenar listas de menor a mayor tamaño
sorted_lists = sorted(lists, key=len)
smallest = sorted_lists[0]
others = sorted_lists[1:]
out = []
for x in smallest:
found = True
# Verificar presencia en todas las listas grandes
for L in others:
if not binary_search(L, x):
found = False
break
if found:
out.append(x)
return out
Se utilizaron tres conjuntos de datos provistos en formato JSON, cada uno con diferente número de listas y longitudes crecientes:
A-k=2: Dos listas con distribución de tamaños moderada.
B-k=3: Tres listas, con incremento en longitud para aumentar el costo de búsqueda.
C-k=4: Cuatro listas, representando el caso más costoso.
En cada archivo, las listas ya contenían enteros ordenados, por lo que únicamente se realizó una verificación de ordenamiento previo a los experimentos.
# Carga de archivos JSON
def load_lists(path):
with open(path, 'r') as f:
data = json.load(f)
return data[0]
files = {
"A-k2": "/content/drive/MyDrive/algoritmos_interseccion/postinglists-for-intersection-A-k=2.json",
"B-k3": "/content/drive/MyDrive/algoritmos_interseccion/postinglists-for-intersection-B-k=3.json",
"C-k4": "/content/drive/MyDrive/algoritmos_interseccion/postinglists-for-intersection-C-k=4.json",
}
El código implementa los siguientes algoritmos clásicos de intersección:
ME (Merge-based Intersection): Algoritmo secuencial que avanza simultáneamente en todas las listas, comparando elementos de manera ordenada.
BY-binary: Usa un elemento pivote y realiza búsquedas binarias en las demás listas.
BY-B1: Variante basada en búsqueda exponencial (unbounded search B1) seguida de búsqueda binaria.
BY-B2: Variante basada en búsqueda exponencial B2, optimizada para reducir saltos largos.
BK (Barbay-Kenyon): Algoritmo adaptativo que intenta minimizar el coste total utilizando estrategias dependientes del tamaño relativo de las listas.
Cada implementación fue instrumentada para contar explícitamente el número de comparaciones realizadas, independientemente del tiempo de ejecución, con el fin de obtener una medida que no dependa de las condiciones del hardware.
Para garantizar resultados estables, cada algoritmo fue ejecutado 100 veces sobre cada dataset. El valor de 100 repeticiones se eligió porque:
Reduce el efecto del ruido estadístico.
Proporciona boxplots estables y comparables.
Permite estimar la variabilidad sin introducir un costo computacional excesivo.
En cada repetición, las listas del dataset se reutilizaron sin modificaciones.
# Experimentos
def run_all_algorithms(lists, reps=100):
"""
Ejecuta todos los algoritmos de intersección definidos y recopila
métricas de rendimiento para cada uno
"""
results = []
# Conjunto de algoritmos a evaluar
algos = {
"ME": intersection_me,
"BY-binary": lambda x: intersection_by(x, search_fn=binary_search),
"BY-B1": lambda x: intersection_by(x, search_fn=unbounded_search_B1),
"BY-B2": lambda x: intersection_by(x, search_fn=unbounded_search_B2),
"BK": intersection_bk
}
# Medición repetida de cada algoritmo
for name, func in algos.items():
for _ in range(reps):
cmp_counter.reset()
start = time.perf_counter()
out = func(lists)
t = time.perf_counter() - start
results.append({
"Algoritmo": name,
"Tiempo": t,
"Comparaciones": cmp_counter.count,
"Longitud_Interseccion": len(out)
})
return results
Se unen los resultados obtenidos en un solo DataFrame final:
all_results = []
# Iterar sobre cada dataset disponible (A-k2, B-k3, C-k4)
for tag, path in files.items():
lists = load_lists(path)
# Asegurar orden
lists = [sorted(L) for L in lists]
r = run_all_algorithms(lists)
for row in r:
row["dataset"] = tag
all_results.extend(r)
# Convertir los resultados acumulados en un DataFrame para facilitar su análisis
# y visualización mediante gráficos
df = pd.DataFrame(all_results)
pd.set_option("display.max_rows", None)
pd.set_option("display.max_columns", None)
print(df)
Algoritmo Tiempo Comparaciones Longitud_Interseccion dataset 0 ME 0.006858 42938 2 A-k2 1 ME 0.006952 42938 2 A-k2 2 ME 0.006701 42938 2 A-k2 3 ME 0.007252 42938 2 A-k2 4 ME 0.006991 42938 2 A-k2 5 ME 0.006806 42938 2 A-k2 6 ME 0.007192 42938 2 A-k2 7 ME 0.006834 42938 2 A-k2 8 ME 0.006949 42938 2 A-k2 9 ME 0.006771 42938 2 A-k2 10 ME 0.006999 42938 2 A-k2 11 ME 0.007109 42938 2 A-k2 12 ME 0.007203 42938 2 A-k2 13 ME 0.006975 42938 2 A-k2 14 ME 0.007120 42938 2 A-k2 15 ME 0.006941 42938 2 A-k2 16 ME 0.006769 42938 2 A-k2 17 ME 0.006799 42938 2 A-k2 18 ME 0.008588 42938 2 A-k2 19 ME 0.007734 42938 2 A-k2 20 ME 0.006871 42938 2 A-k2 21 ME 0.006989 42938 2 A-k2 22 ME 0.007136 42938 2 A-k2 23 ME 0.006949 42938 2 A-k2 24 ME 0.008308 42938 2 A-k2 25 ME 0.007508 42938 2 A-k2 26 ME 0.006891 42938 2 A-k2 27 ME 0.006781 42938 2 A-k2 28 ME 0.006983 42938 2 A-k2 29 ME 0.007024 42938 2 A-k2 30 ME 0.012574 42938 2 A-k2 31 ME 0.014800 42938 2 A-k2 32 ME 0.012709 42938 2 A-k2 33 ME 0.013105 42938 2 A-k2 34 ME 0.014774 42938 2 A-k2 35 ME 0.010799 42938 2 A-k2 36 ME 0.013639 42938 2 A-k2 37 ME 0.014435 42938 2 A-k2 38 ME 0.014853 42938 2 A-k2 39 ME 0.014214 42938 2 A-k2 40 ME 0.014666 42938 2 A-k2 41 ME 0.014452 42938 2 A-k2 42 ME 0.016896 42938 2 A-k2 43 ME 0.014695 42938 2 A-k2 44 ME 0.014857 42938 2 A-k2 45 ME 0.013785 42938 2 A-k2 46 ME 0.012081 42938 2 A-k2 47 ME 0.010391 42938 2 A-k2 48 ME 0.012556 42938 2 A-k2 49 ME 0.013204 42938 2 A-k2 50 ME 0.012808 42938 2 A-k2 51 ME 0.012531 42938 2 A-k2 52 ME 0.012784 42938 2 A-k2 53 ME 0.012943 42938 2 A-k2 54 ME 0.014183 42938 2 A-k2 55 ME 0.012062 42938 2 A-k2 56 ME 0.011409 42938 2 A-k2 57 ME 0.012571 42938 2 A-k2 58 ME 0.013016 42938 2 A-k2 59 ME 0.013161 42938 2 A-k2 60 ME 0.013529 42938 2 A-k2 61 ME 0.013156 42938 2 A-k2 62 ME 0.013625 42938 2 A-k2 63 ME 0.013222 42938 2 A-k2 64 ME 0.013295 42938 2 A-k2 65 ME 0.013595 42938 2 A-k2 66 ME 0.013106 42938 2 A-k2 67 ME 0.013360 42938 2 A-k2 68 ME 0.013463 42938 2 A-k2 69 ME 0.013781 42938 2 A-k2 70 ME 0.013190 42938 2 A-k2 71 ME 0.013132 42938 2 A-k2 72 ME 0.013481 42938 2 A-k2 73 ME 0.013153 42938 2 A-k2 74 ME 0.013133 42938 2 A-k2 75 ME 0.015173 42938 2 A-k2 76 ME 0.014193 42938 2 A-k2 77 ME 0.013795 42938 2 A-k2 78 ME 0.013324 42938 2 A-k2 79 ME 0.013448 42938 2 A-k2 80 ME 0.012930 42938 2 A-k2 81 ME 0.014913 42938 2 A-k2 82 ME 0.013437 42938 2 A-k2 83 ME 0.013399 42938 2 A-k2 84 ME 0.014681 42938 2 A-k2 85 ME 0.013016 42938 2 A-k2 86 ME 0.013033 42938 2 A-k2 87 ME 0.013211 42938 2 A-k2 88 ME 0.012998 42938 2 A-k2 89 ME 0.013055 42938 2 A-k2 90 ME 0.013189 42938 2 A-k2 91 ME 0.012993 42938 2 A-k2 92 ME 0.013424 42938 2 A-k2 93 ME 0.013559 42938 2 A-k2 94 ME 0.014850 42938 2 A-k2 95 ME 0.011981 42938 2 A-k2 96 ME 0.011515 42938 2 A-k2 97 ME 0.012358 42938 2 A-k2 98 ME 0.012372 42938 2 A-k2 99 ME 0.012443 42938 2 A-k2 100 BY-binary 0.001096 3400 2 A-k2 101 BY-binary 0.001252 3400 2 A-k2 102 BY-binary 0.001042 3400 2 A-k2 103 BY-binary 0.000967 3400 2 A-k2 104 BY-binary 0.000983 3400 2 A-k2 105 BY-binary 0.000955 3400 2 A-k2 106 BY-binary 0.000948 3400 2 A-k2 107 BY-binary 0.000951 3400 2 A-k2 108 BY-binary 0.000961 3400 2 A-k2 109 BY-binary 0.000968 3400 2 A-k2 110 BY-binary 0.000937 3400 2 A-k2 111 BY-binary 0.000969 3400 2 A-k2 112 BY-binary 0.000959 3400 2 A-k2 113 BY-binary 0.000941 3400 2 A-k2 114 BY-binary 0.000964 3400 2 A-k2 115 BY-binary 0.000951 3400 2 A-k2 116 BY-binary 0.000942 3400 2 A-k2 117 BY-binary 0.000951 3400 2 A-k2 118 BY-binary 0.000953 3400 2 A-k2 119 BY-binary 0.000961 3400 2 A-k2 120 BY-binary 0.000960 3400 2 A-k2 121 BY-binary 0.000947 3400 2 A-k2 122 BY-binary 0.000952 3400 2 A-k2 123 BY-binary 0.000906 3400 2 A-k2 124 BY-binary 0.001037 3400 2 A-k2 125 BY-binary 0.001016 3400 2 A-k2 126 BY-binary 0.000995 3400 2 A-k2 127 BY-binary 0.001062 3400 2 A-k2 128 BY-binary 0.000992 3400 2 A-k2 129 BY-binary 0.000970 3400 2 A-k2 130 BY-binary 0.000963 3400 2 A-k2 131 BY-binary 0.001143 3400 2 A-k2 132 BY-binary 0.001021 3400 2 A-k2 133 BY-binary 0.000998 3400 2 A-k2 134 BY-binary 0.001012 3400 2 A-k2 135 BY-binary 0.001007 3400 2 A-k2 136 BY-binary 0.000980 3400 2 A-k2 137 BY-binary 0.000986 3400 2 A-k2 138 BY-binary 0.000980 3400 2 A-k2 139 BY-binary 0.001013 3400 2 A-k2 140 BY-binary 0.001014 3400 2 A-k2 141 BY-binary 0.001008 3400 2 A-k2 142 BY-binary 0.001011 3400 2 A-k2 143 BY-binary 0.001016 3400 2 A-k2 144 BY-binary 0.001125 3400 2 A-k2 145 BY-binary 0.001042 3400 2 A-k2 146 BY-binary 0.001156 3400 2 A-k2 147 BY-binary 0.001020 3400 2 A-k2 148 BY-binary 0.001049 3400 2 A-k2 149 BY-binary 0.001027 3400 2 A-k2 150 BY-binary 0.001023 3400 2 A-k2 151 BY-binary 0.001018 3400 2 A-k2 152 BY-binary 0.001009 3400 2 A-k2 153 BY-binary 0.000993 3400 2 A-k2 154 BY-binary 0.001006 3400 2 A-k2 155 BY-binary 0.000953 3400 2 A-k2 156 BY-binary 0.000950 3400 2 A-k2 157 BY-binary 0.000942 3400 2 A-k2 158 BY-binary 0.000968 3400 2 A-k2 159 BY-binary 0.000936 3400 2 A-k2 160 BY-binary 0.000949 3400 2 A-k2 161 BY-binary 0.000943 3400 2 A-k2 162 BY-binary 0.000947 3400 2 A-k2 163 BY-binary 0.000984 3400 2 A-k2 164 BY-binary 0.001009 3400 2 A-k2 165 BY-binary 0.001015 3400 2 A-k2 166 BY-binary 0.001005 3400 2 A-k2 167 BY-binary 0.001016 3400 2 A-k2 168 BY-binary 0.001006 3400 2 A-k2 169 BY-binary 0.001000 3400 2 A-k2 170 BY-binary 0.001005 3400 2 A-k2 171 BY-binary 0.001021 3400 2 A-k2 172 BY-binary 0.001003 3400 2 A-k2 173 BY-binary 0.001003 3400 2 A-k2 174 BY-binary 0.001019 3400 2 A-k2 175 BY-binary 0.001189 3400 2 A-k2 176 BY-binary 0.001003 3400 2 A-k2 177 BY-binary 0.001009 3400 2 A-k2 178 BY-binary 0.001011 3400 2 A-k2 179 BY-binary 0.001001 3400 2 A-k2 180 BY-binary 0.001023 3400 2 A-k2 181 BY-binary 0.000996 3400 2 A-k2 182 BY-binary 0.001005 3400 2 A-k2 183 BY-binary 0.000995 3400 2 A-k2 184 BY-binary 0.001001 3400 2 A-k2 185 BY-binary 0.001010 3400 2 A-k2 186 BY-binary 0.000999 3400 2 A-k2 187 BY-binary 0.000998 3400 2 A-k2 188 BY-binary 0.000975 3400 2 A-k2 189 BY-binary 0.001001 3400 2 A-k2 190 BY-binary 0.001004 3400 2 A-k2 191 BY-binary 0.000986 3400 2 A-k2 192 BY-binary 0.000989 3400 2 A-k2 193 BY-binary 0.000979 3400 2 A-k2 194 BY-binary 0.000989 3400 2 A-k2 195 BY-binary 0.000987 3400 2 A-k2 196 BY-binary 0.000952 3400 2 A-k2 197 BY-binary 0.000967 3400 2 A-k2 198 BY-binary 0.000993 3400 2 A-k2 199 BY-binary 0.000992 3400 2 A-k2 200 BY-B1 0.001446 4407 2 A-k2 201 BY-B1 0.001366 4407 2 A-k2 202 BY-B1 0.001353 4407 2 A-k2 203 BY-B1 0.001364 4407 2 A-k2 204 BY-B1 0.001529 4407 2 A-k2 205 BY-B1 0.001319 4407 2 A-k2 206 BY-B1 0.001313 4407 2 A-k2 207 BY-B1 0.001302 4407 2 A-k2 208 BY-B1 0.001278 4407 2 A-k2 209 BY-B1 0.001271 4407 2 A-k2 210 BY-B1 0.001317 4407 2 A-k2 211 BY-B1 0.001308 4407 2 A-k2 212 BY-B1 0.001278 4407 2 A-k2 213 BY-B1 0.001295 4407 2 A-k2 214 BY-B1 0.001285 4407 2 A-k2 215 BY-B1 0.001572 4407 2 A-k2 216 BY-B1 0.001371 4407 2 A-k2 217 BY-B1 0.001324 4407 2 A-k2 218 BY-B1 0.001342 4407 2 A-k2 219 BY-B1 0.001342 4407 2 A-k2 220 BY-B1 0.001316 4407 2 A-k2 221 BY-B1 0.001322 4407 2 A-k2 222 BY-B1 0.001335 4407 2 A-k2 223 BY-B1 0.001307 4407 2 A-k2 224 BY-B1 0.001312 4407 2 A-k2 225 BY-B1 0.001325 4407 2 A-k2 226 BY-B1 0.001313 4407 2 A-k2 227 BY-B1 0.001305 4407 2 A-k2 228 BY-B1 0.001355 4407 2 A-k2 229 BY-B1 0.001291 4407 2 A-k2 230 BY-B1 0.001305 4407 2 A-k2 231 BY-B1 0.001332 4407 2 A-k2 232 BY-B1 0.001311 4407 2 A-k2 233 BY-B1 0.001322 4407 2 A-k2 234 BY-B1 0.001312 4407 2 A-k2 235 BY-B1 0.001310 4407 2 A-k2 236 BY-B1 0.001304 4407 2 A-k2 237 BY-B1 0.001543 4407 2 A-k2 238 BY-B1 0.001329 4407 2 A-k2 239 BY-B1 0.001322 4407 2 A-k2 240 BY-B1 0.001318 4407 2 A-k2 241 BY-B1 0.001306 4407 2 A-k2 242 BY-B1 0.001340 4407 2 A-k2 243 BY-B1 0.001321 4407 2 A-k2 244 BY-B1 0.001337 4407 2 A-k2 245 BY-B1 0.001331 4407 2 A-k2 246 BY-B1 0.001309 4407 2 A-k2 247 BY-B1 0.001321 4407 2 A-k2 248 BY-B1 0.001303 4407 2 A-k2 249 BY-B1 0.001347 4407 2 A-k2 250 BY-B1 0.001315 4407 2 A-k2 251 BY-B1 0.001318 4407 2 A-k2 252 BY-B1 0.001349 4407 2 A-k2 253 BY-B1 0.001821 4407 2 A-k2 254 BY-B1 0.001480 4407 2 A-k2 255 BY-B1 0.001355 4407 2 A-k2 256 BY-B1 0.001350 4407 2 A-k2 257 BY-B1 0.001317 4407 2 A-k2 258 BY-B1 0.001324 4407 2 A-k2 259 BY-B1 0.001319 4407 2 A-k2 260 BY-B1 0.001322 4407 2 A-k2 261 BY-B1 0.001296 4407 2 A-k2 262 BY-B1 0.001298 4407 2 A-k2 263 BY-B1 0.001315 4407 2 A-k2 264 BY-B1 0.001312 4407 2 A-k2 265 BY-B1 0.001337 4407 2 A-k2 266 BY-B1 0.001298 4407 2 A-k2 267 BY-B1 0.001310 4407 2 A-k2 268 BY-B1 0.001310 4407 2 A-k2 269 BY-B1 0.001325 4407 2 A-k2 270 BY-B1 0.001331 4407 2 A-k2 271 BY-B1 0.001321 4407 2 A-k2 272 BY-B1 0.001278 4407 2 A-k2 273 BY-B1 0.001303 4407 2 A-k2 274 BY-B1 0.001294 4407 2 A-k2 275 BY-B1 0.001316 4407 2 A-k2 276 BY-B1 0.001505 4407 2 A-k2 277 BY-B1 0.001320 4407 2 A-k2 278 BY-B1 0.001296 4407 2 A-k2 279 BY-B1 0.001303 4407 2 A-k2 280 BY-B1 0.001290 4407 2 A-k2 281 BY-B1 0.001314 4407 2 A-k2 282 BY-B1 0.001308 4407 2 A-k2 283 BY-B1 0.001294 4407 2 A-k2 284 BY-B1 0.001309 4407 2 A-k2 285 BY-B1 0.001322 4407 2 A-k2 286 BY-B1 0.001331 4407 2 A-k2 287 BY-B1 0.001327 4407 2 A-k2 288 BY-B1 0.001305 4407 2 A-k2 289 BY-B1 0.001298 4407 2 A-k2 290 BY-B1 0.001326 4407 2 A-k2 291 BY-B1 0.001299 4407 2 A-k2 292 BY-B1 0.001286 4407 2 A-k2 293 BY-B1 0.001312 4407 2 A-k2 294 BY-B1 0.001292 4407 2 A-k2 295 BY-B1 0.001298 4407 2 A-k2 296 BY-B1 0.001292 4407 2 A-k2 297 BY-B1 0.001299 4407 2 A-k2 298 BY-B1 0.001289 4407 2 A-k2 299 BY-B1 0.001340 4407 2 A-k2 300 BY-B2 0.001560 4407 2 A-k2 301 BY-B2 0.001309 4407 2 A-k2 302 BY-B2 0.001314 4407 2 A-k2 303 BY-B2 0.001324 4407 2 A-k2 304 BY-B2 0.001319 4407 2 A-k2 305 BY-B2 0.001283 4407 2 A-k2 306 BY-B2 0.001322 4407 2 A-k2 307 BY-B2 0.001296 4407 2 A-k2 308 BY-B2 0.001285 4407 2 A-k2 309 BY-B2 0.001311 4407 2 A-k2 310 BY-B2 0.001293 4407 2 A-k2 311 BY-B2 0.001301 4407 2 A-k2 312 BY-B2 0.001304 4407 2 A-k2 313 BY-B2 0.001302 4407 2 A-k2 314 BY-B2 0.001297 4407 2 A-k2 315 BY-B2 0.001310 4407 2 A-k2 316 BY-B2 0.001318 4407 2 A-k2 317 BY-B2 0.001343 4407 2 A-k2 318 BY-B2 0.001297 4407 2 A-k2 319 BY-B2 0.001310 4407 2 A-k2 320 BY-B2 0.001304 4407 2 A-k2 321 BY-B2 0.001304 4407 2 A-k2 322 BY-B2 0.001302 4407 2 A-k2 323 BY-B2 0.001510 4407 2 A-k2 324 BY-B2 0.001349 4407 2 A-k2 325 BY-B2 0.001318 4407 2 A-k2 326 BY-B2 0.001298 4407 2 A-k2 327 BY-B2 0.001300 4407 2 A-k2 328 BY-B2 0.001308 4407 2 A-k2 329 BY-B2 0.001304 4407 2 A-k2 330 BY-B2 0.001295 4407 2 A-k2 331 BY-B2 0.001327 4407 2 A-k2 332 BY-B2 0.001375 4407 2 A-k2 333 BY-B2 0.001302 4407 2 A-k2 334 BY-B2 0.001310 4407 2 A-k2 335 BY-B2 0.001296 4407 2 A-k2 336 BY-B2 0.001311 4407 2 A-k2 337 BY-B2 0.001317 4407 2 A-k2 338 BY-B2 0.001308 4407 2 A-k2 339 BY-B2 0.001297 4407 2 A-k2 340 BY-B2 0.001300 4407 2 A-k2 341 BY-B2 0.001288 4407 2 A-k2 342 BY-B2 0.001301 4407 2 A-k2 343 BY-B2 0.001308 4407 2 A-k2 344 BY-B2 0.001304 4407 2 A-k2 345 BY-B2 0.001291 4407 2 A-k2 346 BY-B2 0.001302 4407 2 A-k2 347 BY-B2 0.001503 4407 2 A-k2 348 BY-B2 0.001304 4407 2 A-k2 349 BY-B2 0.001303 4407 2 A-k2 350 BY-B2 0.001306 4407 2 A-k2 351 BY-B2 0.001307 4407 2 A-k2 352 BY-B2 0.001291 4407 2 A-k2 353 BY-B2 0.001306 4407 2 A-k2 354 BY-B2 0.001326 4407 2 A-k2 355 BY-B2 0.001290 4407 2 A-k2 356 BY-B2 0.001305 4407 2 A-k2 357 BY-B2 0.001314 4407 2 A-k2 358 BY-B2 0.001321 4407 2 A-k2 359 BY-B2 0.001362 4407 2 A-k2 360 BY-B2 0.001297 4407 2 A-k2 361 BY-B2 0.001309 4407 2 A-k2 362 BY-B2 0.001320 4407 2 A-k2 363 BY-B2 0.001291 4407 2 A-k2 364 BY-B2 0.001343 4407 2 A-k2 365 BY-B2 0.001306 4407 2 A-k2 366 BY-B2 0.001310 4407 2 A-k2 367 BY-B2 0.001300 4407 2 A-k2 368 BY-B2 0.001298 4407 2 A-k2 369 BY-B2 0.001296 4407 2 A-k2 370 BY-B2 0.001453 4407 2 A-k2 371 BY-B2 0.001333 4407 2 A-k2 372 BY-B2 0.001286 4407 2 A-k2 373 BY-B2 0.001305 4407 2 A-k2 374 BY-B2 0.001909 4407 2 A-k2 375 BY-B2 0.001321 4407 2 A-k2 376 BY-B2 0.001651 4407 2 A-k2 377 BY-B2 0.001294 4407 2 A-k2 378 BY-B2 0.001325 4407 2 A-k2 379 BY-B2 0.001301 4407 2 A-k2 380 BY-B2 0.001310 4407 2 A-k2 381 BY-B2 0.001301 4407 2 A-k2 382 BY-B2 0.001291 4407 2 A-k2 383 BY-B2 0.001294 4407 2 A-k2 384 BY-B2 0.001305 4407 2 A-k2 385 BY-B2 0.001322 4407 2 A-k2 386 BY-B2 0.001299 4407 2 A-k2 387 BY-B2 0.001290 4407 2 A-k2 388 BY-B2 0.001302 4407 2 A-k2 389 BY-B2 0.001295 4407 2 A-k2 390 BY-B2 0.001293 4407 2 A-k2 391 BY-B2 0.001303 4407 2 A-k2 392 BY-B2 0.001296 4407 2 A-k2 393 BY-B2 0.001429 4407 2 A-k2 394 BY-B2 0.001301 4407 2 A-k2 395 BY-B2 0.001260 4407 2 A-k2 396 BY-B2 0.001263 4407 2 A-k2 397 BY-B2 0.001261 4407 2 A-k2 398 BY-B2 0.001264 4407 2 A-k2 399 BY-B2 0.001417 4407 2 A-k2 400 BK 0.001131 3400 2 A-k2 401 BK 0.000985 3400 2 A-k2 402 BK 0.000951 3400 2 A-k2 403 BK 0.000947 3400 2 A-k2 404 BK 0.000962 3400 2 A-k2 405 BK 0.000988 3400 2 A-k2 406 BK 0.001140 3400 2 A-k2 407 BK 0.001284 3400 2 A-k2 408 BK 0.001021 3400 2 A-k2 409 BK 0.000990 3400 2 A-k2 410 BK 0.000894 3400 2 A-k2 411 BK 0.000984 3400 2 A-k2 412 BK 0.001004 3400 2 A-k2 413 BK 0.000966 3400 2 A-k2 414 BK 0.000948 3400 2 A-k2 415 BK 0.000989 3400 2 A-k2 416 BK 0.001041 3400 2 A-k2 417 BK 0.001007 3400 2 A-k2 418 BK 0.001284 3400 2 A-k2 419 BK 0.001008 3400 2 A-k2 420 BK 0.000980 3400 2 A-k2 421 BK 0.001011 3400 2 A-k2 422 BK 0.000944 3400 2 A-k2 423 BK 0.001077 3400 2 A-k2 424 BK 0.000988 3400 2 A-k2 425 BK 0.000987 3400 2 A-k2 426 BK 0.000945 3400 2 A-k2 427 BK 0.000987 3400 2 A-k2 428 BK 0.000994 3400 2 A-k2 429 BK 0.001049 3400 2 A-k2 430 BK 0.000966 3400 2 A-k2 431 BK 0.001038 3400 2 A-k2 432 BK 0.000958 3400 2 A-k2 433 BK 0.003006 3400 2 A-k2 434 BK 0.001029 3400 2 A-k2 435 BK 0.001008 3400 2 A-k2 436 BK 0.001019 3400 2 A-k2 437 BK 0.000977 3400 2 A-k2 438 BK 0.001021 3400 2 A-k2 439 BK 0.001065 3400 2 A-k2 440 BK 0.001073 3400 2 A-k2 441 BK 0.000985 3400 2 A-k2 442 BK 0.001018 3400 2 A-k2 443 BK 0.000975 3400 2 A-k2 444 BK 0.000591 3400 2 A-k2 445 BK 0.000635 3400 2 A-k2 446 BK 0.000579 3400 2 A-k2 447 BK 0.000558 3400 2 A-k2 448 BK 0.000569 3400 2 A-k2 449 BK 0.000779 3400 2 A-k2 450 BK 0.000883 3400 2 A-k2 451 BK 0.001046 3400 2 A-k2 452 BK 0.001087 3400 2 A-k2 453 BK 0.001057 3400 2 A-k2 454 BK 0.001036 3400 2 A-k2 455 BK 0.001032 3400 2 A-k2 456 BK 0.001057 3400 2 A-k2 457 BK 0.000929 3400 2 A-k2 458 BK 0.001099 3400 2 A-k2 459 BK 0.000971 3400 2 A-k2 460 BK 0.000931 3400 2 A-k2 461 BK 0.001040 3400 2 A-k2 462 BK 0.000908 3400 2 A-k2 463 BK 0.000931 3400 2 A-k2 464 BK 0.000968 3400 2 A-k2 465 BK 0.000902 3400 2 A-k2 466 BK 0.000945 3400 2 A-k2 467 BK 0.000920 3400 2 A-k2 468 BK 0.001211 3400 2 A-k2 469 BK 0.001011 3400 2 A-k2 470 BK 0.000969 3400 2 A-k2 471 BK 0.000941 3400 2 A-k2 472 BK 0.000976 3400 2 A-k2 473 BK 0.000944 3400 2 A-k2 474 BK 0.001051 3400 2 A-k2 475 BK 0.001013 3400 2 A-k2 476 BK 0.001293 3400 2 A-k2 477 BK 0.001026 3400 2 A-k2 478 BK 0.000985 3400 2 A-k2 479 BK 0.001011 3400 2 A-k2 480 BK 0.001004 3400 2 A-k2 481 BK 0.000953 3400 2 A-k2 482 BK 0.000932 3400 2 A-k2 483 BK 0.001010 3400 2 A-k2 484 BK 0.000959 3400 2 A-k2 485 BK 0.001017 3400 2 A-k2 486 BK 0.000990 3400 2 A-k2 487 BK 0.001014 3400 2 A-k2 488 BK 0.000978 3400 2 A-k2 489 BK 0.001093 3400 2 A-k2 490 BK 0.000977 3400 2 A-k2 491 BK 0.000987 3400 2 A-k2 492 BK 0.000935 3400 2 A-k2 493 BK 0.000959 3400 2 A-k2 494 BK 0.001006 3400 2 A-k2 495 BK 0.000948 3400 2 A-k2 496 BK 0.000929 3400 2 A-k2 497 BK 0.000959 3400 2 A-k2 498 BK 0.000962 3400 2 A-k2 499 BK 0.000979 3400 2 A-k2 500 ME 0.002858 9652 6 B-k3 501 ME 0.002888 9652 6 B-k3 502 ME 0.002859 9652 6 B-k3 503 ME 0.002938 9652 6 B-k3 504 ME 0.002869 9652 6 B-k3 505 ME 0.002812 9652 6 B-k3 506 ME 0.002869 9652 6 B-k3 507 ME 0.002849 9652 6 B-k3 508 ME 0.002856 9652 6 B-k3 509 ME 0.002820 9652 6 B-k3 510 ME 0.002847 9652 6 B-k3 511 ME 0.002840 9652 6 B-k3 512 ME 0.002841 9652 6 B-k3 513 ME 0.002810 9652 6 B-k3 514 ME 0.002843 9652 6 B-k3 515 ME 0.002872 9652 6 B-k3 516 ME 0.002833 9652 6 B-k3 517 ME 0.002902 9652 6 B-k3 518 ME 0.002840 9652 6 B-k3 519 ME 0.002825 9652 6 B-k3 520 ME 0.002853 9652 6 B-k3 521 ME 0.002844 9652 6 B-k3 522 ME 0.002854 9652 6 B-k3 523 ME 0.002843 9652 6 B-k3 524 ME 0.002848 9652 6 B-k3 525 ME 0.002865 9652 6 B-k3 526 ME 0.002850 9652 6 B-k3 527 ME 0.002845 9652 6 B-k3 528 ME 0.002882 9652 6 B-k3 529 ME 0.002858 9652 6 B-k3 530 ME 0.002886 9652 6 B-k3 531 ME 0.002798 9652 6 B-k3 532 ME 0.002839 9652 6 B-k3 533 ME 0.002895 9652 6 B-k3 534 ME 0.002888 9652 6 B-k3 535 ME 0.002874 9652 6 B-k3 536 ME 0.002864 9652 6 B-k3 537 ME 0.002848 9652 6 B-k3 538 ME 0.002813 9652 6 B-k3 539 ME 0.002941 9652 6 B-k3 540 ME 0.002896 9652 6 B-k3 541 ME 0.002893 9652 6 B-k3 542 ME 0.002873 9652 6 B-k3 543 ME 0.002869 9652 6 B-k3 544 ME 0.002826 9652 6 B-k3 545 ME 0.002846 9652 6 B-k3 546 ME 0.002848 9652 6 B-k3 547 ME 0.002851 9652 6 B-k3 548 ME 0.002833 9652 6 B-k3 549 ME 0.002826 9652 6 B-k3 550 ME 0.002899 9652 6 B-k3 551 ME 0.002859 9652 6 B-k3 552 ME 0.002860 9652 6 B-k3 553 ME 0.002896 9652 6 B-k3 554 ME 0.002832 9652 6 B-k3 555 ME 0.002872 9652 6 B-k3 556 ME 0.002847 9652 6 B-k3 557 ME 0.002827 9652 6 B-k3 558 ME 0.002868 9652 6 B-k3 559 ME 0.002849 9652 6 B-k3 560 ME 0.002834 9652 6 B-k3 561 ME 0.002881 9652 6 B-k3 562 ME 0.002894 9652 6 B-k3 563 ME 0.002841 9652 6 B-k3 564 ME 0.002878 9652 6 B-k3 565 ME 0.002857 9652 6 B-k3 566 ME 0.002837 9652 6 B-k3 567 ME 0.002849 9652 6 B-k3 568 ME 0.002844 9652 6 B-k3 569 ME 0.002881 9652 6 B-k3 570 ME 0.002812 9652 6 B-k3 571 ME 0.002918 9652 6 B-k3 572 ME 0.002855 9652 6 B-k3 573 ME 0.004647 9652 6 B-k3 574 ME 0.002837 9652 6 B-k3 575 ME 0.002817 9652 6 B-k3 576 ME 0.002680 9652 6 B-k3 577 ME 0.002171 9652 6 B-k3 578 ME 0.001679 9652 6 B-k3 579 ME 0.002130 9652 6 B-k3 580 ME 0.002915 9652 6 B-k3 581 ME 0.003104 9652 6 B-k3 582 ME 0.002514 9652 6 B-k3 583 ME 0.002609 9652 6 B-k3 584 ME 0.002596 9652 6 B-k3 585 ME 0.002706 9652 6 B-k3 586 ME 0.002675 9652 6 B-k3 587 ME 0.002684 9652 6 B-k3 588 ME 0.002902 9652 6 B-k3 589 ME 0.002893 9652 6 B-k3 590 ME 0.002856 9652 6 B-k3 591 ME 0.002858 9652 6 B-k3 592 ME 0.002857 9652 6 B-k3 593 ME 0.003043 9652 6 B-k3 594 ME 0.002851 9652 6 B-k3 595 ME 0.002868 9652 6 B-k3 596 ME 0.002842 9652 6 B-k3 597 ME 0.002853 9652 6 B-k3 598 ME 0.002861 9652 6 B-k3 599 ME 0.002852 9652 6 B-k3 600 BY-binary 0.004652 17826 6 B-k3 601 BY-binary 0.004605 17826 6 B-k3 602 BY-binary 0.004805 17826 6 B-k3 603 BY-binary 0.004547 17826 6 B-k3 604 BY-binary 0.004416 17826 6 B-k3 605 BY-binary 0.004404 17826 6 B-k3 606 BY-binary 0.004412 17826 6 B-k3 607 BY-binary 0.004447 17826 6 B-k3 608 BY-binary 0.004410 17826 6 B-k3 609 BY-binary 0.004598 17826 6 B-k3 610 BY-binary 0.004406 17826 6 B-k3 611 BY-binary 0.004395 17826 6 B-k3 612 BY-binary 0.004406 17826 6 B-k3 613 BY-binary 0.004418 17826 6 B-k3 614 BY-binary 0.004428 17826 6 B-k3 615 BY-binary 0.004406 17826 6 B-k3 616 BY-binary 0.004602 17826 6 B-k3 617 BY-binary 0.004434 17826 6 B-k3 618 BY-binary 0.004602 17826 6 B-k3 619 BY-binary 0.004402 17826 6 B-k3 620 BY-binary 0.004887 17826 6 B-k3 621 BY-binary 0.004993 17826 6 B-k3 622 BY-binary 0.005052 17826 6 B-k3 623 BY-binary 0.005095 17826 6 B-k3 624 BY-binary 0.005096 17826 6 B-k3 625 BY-binary 0.004449 17826 6 B-k3 626 BY-binary 0.004430 17826 6 B-k3 627 BY-binary 0.004404 17826 6 B-k3 628 BY-binary 0.004475 17826 6 B-k3 629 BY-binary 0.004628 17826 6 B-k3 630 BY-binary 0.004451 17826 6 B-k3 631 BY-binary 0.004442 17826 6 B-k3 632 BY-binary 0.004447 17826 6 B-k3 633 BY-binary 0.004429 17826 6 B-k3 634 BY-binary 0.004393 17826 6 B-k3 635 BY-binary 0.004463 17826 6 B-k3 636 BY-binary 0.004712 17826 6 B-k3 637 BY-binary 0.005112 17826 6 B-k3 638 BY-binary 0.004903 17826 6 B-k3 639 BY-binary 0.004697 17826 6 B-k3 640 BY-binary 0.004628 17826 6 B-k3 641 BY-binary 0.004614 17826 6 B-k3 642 BY-binary 0.004633 17826 6 B-k3 643 BY-binary 0.004651 17826 6 B-k3 644 BY-binary 0.004870 17826 6 B-k3 645 BY-binary 0.004640 17826 6 B-k3 646 BY-binary 0.004571 17826 6 B-k3 647 BY-binary 0.004504 17826 6 B-k3 648 BY-binary 0.004463 17826 6 B-k3 649 BY-binary 0.004385 17826 6 B-k3 650 BY-binary 0.004436 17826 6 B-k3 651 BY-binary 0.004731 17826 6 B-k3 652 BY-binary 0.004518 17826 6 B-k3 653 BY-binary 0.004420 17826 6 B-k3 654 BY-binary 0.004516 17826 6 B-k3 655 BY-binary 0.004399 17826 6 B-k3 656 BY-binary 0.004355 17826 6 B-k3 657 BY-binary 0.004712 17826 6 B-k3 658 BY-binary 0.004558 17826 6 B-k3 659 BY-binary 0.004427 17826 6 B-k3 660 BY-binary 0.004381 17826 6 B-k3 661 BY-binary 0.004395 17826 6 B-k3 662 BY-binary 0.006326 17826 6 B-k3 663 BY-binary 0.005616 17826 6 B-k3 664 BY-binary 0.005678 17826 6 B-k3 665 BY-binary 0.004446 17826 6 B-k3 666 BY-binary 0.004760 17826 6 B-k3 667 BY-binary 0.004429 17826 6 B-k3 668 BY-binary 0.004485 17826 6 B-k3 669 BY-binary 0.004448 17826 6 B-k3 670 BY-binary 0.004530 17826 6 B-k3 671 BY-binary 0.004720 17826 6 B-k3 672 BY-binary 0.004320 17826 6 B-k3 673 BY-binary 0.004532 17826 6 B-k3 674 BY-binary 0.004429 17826 6 B-k3 675 BY-binary 0.004754 17826 6 B-k3 676 BY-binary 0.004706 17826 6 B-k3 677 BY-binary 0.004437 17826 6 B-k3 678 BY-binary 0.004356 17826 6 B-k3 679 BY-binary 0.004349 17826 6 B-k3 680 BY-binary 0.004429 17826 6 B-k3 681 BY-binary 0.004536 17826 6 B-k3 682 BY-binary 0.004489 17826 6 B-k3 683 BY-binary 0.004458 17826 6 B-k3 684 BY-binary 0.004721 17826 6 B-k3 685 BY-binary 0.004469 17826 6 B-k3 686 BY-binary 0.004444 17826 6 B-k3 687 BY-binary 0.004563 17826 6 B-k3 688 BY-binary 0.004420 17826 6 B-k3 689 BY-binary 0.004596 17826 6 B-k3 690 BY-binary 0.004621 17826 6 B-k3 691 BY-binary 0.004503 17826 6 B-k3 692 BY-binary 0.004611 17826 6 B-k3 693 BY-binary 0.004611 17826 6 B-k3 694 BY-binary 0.004436 17826 6 B-k3 695 BY-binary 0.004744 17826 6 B-k3 696 BY-binary 0.004565 17826 6 B-k3 697 BY-binary 0.004510 17826 6 B-k3 698 BY-binary 0.004457 17826 6 B-k3 699 BY-binary 0.004430 17826 6 B-k3 700 BY-B1 0.004977 17091 6 B-k3 701 BY-B1 0.005002 17091 6 B-k3 702 BY-B1 0.004881 17091 6 B-k3 703 BY-B1 0.004824 17091 6 B-k3 704 BY-B1 0.004732 17091 6 B-k3 705 BY-B1 0.004704 17091 6 B-k3 706 BY-B1 0.005315 17091 6 B-k3 707 BY-B1 0.005202 17091 6 B-k3 708 BY-B1 0.005285 17091 6 B-k3 709 BY-B1 0.005118 17091 6 B-k3 710 BY-B1 0.005081 17091 6 B-k3 711 BY-B1 0.005144 17091 6 B-k3 712 BY-B1 0.005083 17091 6 B-k3 713 BY-B1 0.005051 17091 6 B-k3 714 BY-B1 0.005293 17091 6 B-k3 715 BY-B1 0.005052 17091 6 B-k3 716 BY-B1 0.005411 17091 6 B-k3 717 BY-B1 0.005098 17091 6 B-k3 718 BY-B1 0.005266 17091 6 B-k3 719 BY-B1 0.005043 17091 6 B-k3 720 BY-B1 0.004929 17091 6 B-k3 721 BY-B1 0.004961 17091 6 B-k3 722 BY-B1 0.004849 17091 6 B-k3 723 BY-B1 0.004762 17091 6 B-k3 724 BY-B1 0.004895 17091 6 B-k3 725 BY-B1 0.004895 17091 6 B-k3 726 BY-B1 0.005997 17091 6 B-k3 727 BY-B1 0.004993 17091 6 B-k3 728 BY-B1 0.003582 17091 6 B-k3 729 BY-B1 0.003723 17091 6 B-k3 730 BY-B1 0.005155 17091 6 B-k3 731 BY-B1 0.004632 17091 6 B-k3 732 BY-B1 0.004711 17091 6 B-k3 733 BY-B1 0.004614 17091 6 B-k3 734 BY-B1 0.004867 17091 6 B-k3 735 BY-B1 0.004777 17091 6 B-k3 736 BY-B1 0.004733 17091 6 B-k3 737 BY-B1 0.005987 17091 6 B-k3 738 BY-B1 0.005108 17091 6 B-k3 739 BY-B1 0.004741 17091 6 B-k3 740 BY-B1 0.004967 17091 6 B-k3 741 BY-B1 0.004843 17091 6 B-k3 742 BY-B1 0.005005 17091 6 B-k3 743 BY-B1 0.004720 17091 6 B-k3 744 BY-B1 0.004703 17091 6 B-k3 745 BY-B1 0.004795 17091 6 B-k3 746 BY-B1 0.004800 17091 6 B-k3 747 BY-B1 0.004816 17091 6 B-k3 748 BY-B1 0.004770 17091 6 B-k3 749 BY-B1 0.004696 17091 6 B-k3 750 BY-B1 0.004740 17091 6 B-k3 751 BY-B1 0.004727 17091 6 B-k3 752 BY-B1 0.004907 17091 6 B-k3 753 BY-B1 0.005045 17091 6 B-k3 754 BY-B1 0.005067 17091 6 B-k3 755 BY-B1 0.004987 17091 6 B-k3 756 BY-B1 0.004995 17091 6 B-k3 757 BY-B1 0.005013 17091 6 B-k3 758 BY-B1 0.005075 17091 6 B-k3 759 BY-B1 0.005019 17091 6 B-k3 760 BY-B1 0.004959 17091 6 B-k3 761 BY-B1 0.006102 17091 6 B-k3 762 BY-B1 0.005014 17091 6 B-k3 763 BY-B1 0.004980 17091 6 B-k3 764 BY-B1 0.004823 17091 6 B-k3 765 BY-B1 0.006045 17091 6 B-k3 766 BY-B1 0.004754 17091 6 B-k3 767 BY-B1 0.003934 17091 6 B-k3 768 BY-B1 0.003297 17091 6 B-k3 769 BY-B1 0.005071 17091 6 B-k3 770 BY-B1 0.004645 17091 6 B-k3 771 BY-B1 0.004736 17091 6 B-k3 772 BY-B1 0.004811 17091 6 B-k3 773 BY-B1 0.004906 17091 6 B-k3 774 BY-B1 0.004822 17091 6 B-k3 775 BY-B1 0.004794 17091 6 B-k3 776 BY-B1 0.004783 17091 6 B-k3 777 BY-B1 0.004917 17091 6 B-k3 778 BY-B1 0.004915 17091 6 B-k3 779 BY-B1 0.004844 17091 6 B-k3 780 BY-B1 0.004989 17091 6 B-k3 781 BY-B1 0.005692 17091 6 B-k3 782 BY-B1 0.006047 17091 6 B-k3 783 BY-B1 0.005650 17091 6 B-k3 784 BY-B1 0.005514 17091 6 B-k3 785 BY-B1 0.005326 17091 6 B-k3 786 BY-B1 0.005375 17091 6 B-k3 787 BY-B1 0.006567 17091 6 B-k3 788 BY-B1 0.005974 17091 6 B-k3 789 BY-B1 0.005332 17091 6 B-k3 790 BY-B1 0.005409 17091 6 B-k3 791 BY-B1 0.006071 17091 6 B-k3 792 BY-B1 0.006705 17091 6 B-k3 793 BY-B1 0.004583 17091 6 B-k3 794 BY-B1 0.004520 17091 6 B-k3 795 BY-B1 0.004670 17091 6 B-k3 796 BY-B1 0.004683 17091 6 B-k3 797 BY-B1 0.004894 17091 6 B-k3 798 BY-B1 0.004644 17091 6 B-k3 799 BY-B1 0.004607 17091 6 B-k3 800 BY-B2 0.004585 17091 6 B-k3 801 BY-B2 0.004639 17091 6 B-k3 802 BY-B2 0.004653 17091 6 B-k3 803 BY-B2 0.005232 17091 6 B-k3 804 BY-B2 0.004889 17091 6 B-k3 805 BY-B2 0.004580 17091 6 B-k3 806 BY-B2 0.004621 17091 6 B-k3 807 BY-B2 0.004947 17091 6 B-k3 808 BY-B2 0.004738 17091 6 B-k3 809 BY-B2 0.005017 17091 6 B-k3 810 BY-B2 0.004999 17091 6 B-k3 811 BY-B2 0.004960 17091 6 B-k3 812 BY-B2 0.005107 17091 6 B-k3 813 BY-B2 0.004760 17091 6 B-k3 814 BY-B2 0.005974 17091 6 B-k3 815 BY-B2 0.004697 17091 6 B-k3 816 BY-B2 0.003822 17091 6 B-k3 817 BY-B2 0.003421 17091 6 B-k3 818 BY-B2 0.005319 17091 6 B-k3 819 BY-B2 0.004752 17091 6 B-k3 820 BY-B2 0.006402 17091 6 B-k3 821 BY-B2 0.005154 17091 6 B-k3 822 BY-B2 0.005204 17091 6 B-k3 823 BY-B2 0.004910 17091 6 B-k3 824 BY-B2 0.004733 17091 6 B-k3 825 BY-B2 0.004624 17091 6 B-k3 826 BY-B2 0.004680 17091 6 B-k3 827 BY-B2 0.004886 17091 6 B-k3 828 BY-B2 0.004773 17091 6 B-k3 829 BY-B2 0.004965 17091 6 B-k3 830 BY-B2 0.004845 17091 6 B-k3 831 BY-B2 0.004597 17091 6 B-k3 832 BY-B2 0.005548 17091 6 B-k3 833 BY-B2 0.005888 17091 6 B-k3 834 BY-B2 0.005079 17091 6 B-k3 835 BY-B2 0.004904 17091 6 B-k3 836 BY-B2 0.004646 17091 6 B-k3 837 BY-B2 0.004896 17091 6 B-k3 838 BY-B2 0.005008 17091 6 B-k3 839 BY-B2 0.005238 17091 6 B-k3 840 BY-B2 0.005264 17091 6 B-k3 841 BY-B2 0.004939 17091 6 B-k3 842 BY-B2 0.004967 17091 6 B-k3 843 BY-B2 0.004868 17091 6 B-k3 844 BY-B2 0.005090 17091 6 B-k3 845 BY-B2 0.004964 17091 6 B-k3 846 BY-B2 0.004888 17091 6 B-k3 847 BY-B2 0.005075 17091 6 B-k3 848 BY-B2 0.004897 17091 6 B-k3 849 BY-B2 0.004909 17091 6 B-k3 850 BY-B2 0.004897 17091 6 B-k3 851 BY-B2 0.004920 17091 6 B-k3 852 BY-B2 0.004831 17091 6 B-k3 853 BY-B2 0.005210 17091 6 B-k3 854 BY-B2 0.004443 17091 6 B-k3 855 BY-B2 0.004604 17091 6 B-k3 856 BY-B2 0.004664 17091 6 B-k3 857 BY-B2 0.004981 17091 6 B-k3 858 BY-B2 0.004753 17091 6 B-k3 859 BY-B2 0.005393 17091 6 B-k3 860 BY-B2 0.005808 17091 6 B-k3 861 BY-B2 0.005266 17091 6 B-k3 862 BY-B2 0.005058 17091 6 B-k3 863 BY-B2 0.005045 17091 6 B-k3 864 BY-B2 0.004959 17091 6 B-k3 865 BY-B2 0.004942 17091 6 B-k3 866 BY-B2 0.004950 17091 6 B-k3 867 BY-B2 0.004948 17091 6 B-k3 868 BY-B2 0.005700 17091 6 B-k3 869 BY-B2 0.005346 17091 6 B-k3 870 BY-B2 0.005091 17091 6 B-k3 871 BY-B2 0.005542 17091 6 B-k3 872 BY-B2 0.004871 17091 6 B-k3 873 BY-B2 0.004848 17091 6 B-k3 874 BY-B2 0.004878 17091 6 B-k3 875 BY-B2 0.005314 17091 6 B-k3 876 BY-B2 0.005010 17091 6 B-k3 877 BY-B2 0.004894 17091 6 B-k3 878 BY-B2 0.005196 17091 6 B-k3 879 BY-B2 0.004890 17091 6 B-k3 880 BY-B2 0.004860 17091 6 B-k3 881 BY-B2 0.004827 17091 6 B-k3 882 BY-B2 0.004917 17091 6 B-k3 883 BY-B2 0.004936 17091 6 B-k3 884 BY-B2 0.006042 17091 6 B-k3 885 BY-B2 0.005864 17091 6 B-k3 886 BY-B2 0.006557 17091 6 B-k3 887 BY-B2 0.004770 17091 6 B-k3 888 BY-B2 0.005233 17091 6 B-k3 889 BY-B2 0.004972 17091 6 B-k3 890 BY-B2 0.004956 17091 6 B-k3 891 BY-B2 0.005245 17091 6 B-k3 892 BY-B2 0.004722 17091 6 B-k3 893 BY-B2 0.005961 17091 6 B-k3 894 BY-B2 0.004795 17091 6 B-k3 895 BY-B2 0.005093 17091 6 B-k3 896 BY-B2 0.004956 17091 6 B-k3 897 BY-B2 0.004873 17091 6 B-k3 898 BY-B2 0.005169 17091 6 B-k3 899 BY-B2 0.005144 17091 6 B-k3 900 BK 0.001599 5136 6 B-k3 901 BK 0.001576 5136 6 B-k3 902 BK 0.001565 5136 6 B-k3 903 BK 0.001586 5136 6 B-k3 904 BK 0.001654 5136 6 B-k3 905 BK 0.001592 5136 6 B-k3 906 BK 0.001776 5136 6 B-k3 907 BK 0.001649 5136 6 B-k3 908 BK 0.001634 5136 6 B-k3 909 BK 0.001654 5136 6 B-k3 910 BK 0.001606 5136 6 B-k3 911 BK 0.001607 5136 6 B-k3 912 BK 0.001573 5136 6 B-k3 913 BK 0.001590 5136 6 B-k3 914 BK 0.001585 5136 6 B-k3 915 BK 0.001558 5136 6 B-k3 916 BK 0.001621 5136 6 B-k3 917 BK 0.001530 5136 6 B-k3 918 BK 0.001624 5136 6 B-k3 919 BK 0.001587 5136 6 B-k3 920 BK 0.001658 5136 6 B-k3 921 BK 0.001556 5136 6 B-k3 922 BK 0.001771 5136 6 B-k3 923 BK 0.001830 5136 6 B-k3 924 BK 0.001590 5136 6 B-k3 925 BK 0.001586 5136 6 B-k3 926 BK 0.001580 5136 6 B-k3 927 BK 0.001543 5136 6 B-k3 928 BK 0.001576 5136 6 B-k3 929 BK 0.001557 5136 6 B-k3 930 BK 0.001568 5136 6 B-k3 931 BK 0.001575 5136 6 B-k3 932 BK 0.001568 5136 6 B-k3 933 BK 0.000902 5136 6 B-k3 934 BK 0.000829 5136 6 B-k3 935 BK 0.000828 5136 6 B-k3 936 BK 0.000824 5136 6 B-k3 937 BK 0.000823 5136 6 B-k3 938 BK 0.000825 5136 6 B-k3 939 BK 0.000813 5136 6 B-k3 940 BK 0.000825 5136 6 B-k3 941 BK 0.000798 5136 6 B-k3 942 BK 0.000800 5136 6 B-k3 943 BK 0.000814 5136 6 B-k3 944 BK 0.000819 5136 6 B-k3 945 BK 0.000805 5136 6 B-k3 946 BK 0.000804 5136 6 B-k3 947 BK 0.000807 5136 6 B-k3 948 BK 0.000802 5136 6 B-k3 949 BK 0.000862 5136 6 B-k3 950 BK 0.000810 5136 6 B-k3 951 BK 0.000808 5136 6 B-k3 952 BK 0.000809 5136 6 B-k3 953 BK 0.000805 5136 6 B-k3 954 BK 0.000804 5136 6 B-k3 955 BK 0.000826 5136 6 B-k3 956 BK 0.000813 5136 6 B-k3 957 BK 0.000796 5136 6 B-k3 958 BK 0.000806 5136 6 B-k3 959 BK 0.000805 5136 6 B-k3 960 BK 0.000805 5136 6 B-k3 961 BK 0.000805 5136 6 B-k3 962 BK 0.000811 5136 6 B-k3 963 BK 0.000816 5136 6 B-k3 964 BK 0.000806 5136 6 B-k3 965 BK 0.000811 5136 6 B-k3 966 BK 0.000803 5136 6 B-k3 967 BK 0.000799 5136 6 B-k3 968 BK 0.000808 5136 6 B-k3 969 BK 0.000799 5136 6 B-k3 970 BK 0.000808 5136 6 B-k3 971 BK 0.000805 5136 6 B-k3 972 BK 0.000796 5136 6 B-k3 973 BK 0.000805 5136 6 B-k3 974 BK 0.000819 5136 6 B-k3 975 BK 0.000804 5136 6 B-k3 976 BK 0.000811 5136 6 B-k3 977 BK 0.000840 5136 6 B-k3 978 BK 0.000800 5136 6 B-k3 979 BK 0.000809 5136 6 B-k3 980 BK 0.000837 5136 6 B-k3 981 BK 0.000884 5136 6 B-k3 982 BK 0.000954 5136 6 B-k3 983 BK 0.000882 5136 6 B-k3 984 BK 0.000834 5136 6 B-k3 985 BK 0.000802 5136 6 B-k3 986 BK 0.000810 5136 6 B-k3 987 BK 0.000883 5136 6 B-k3 988 BK 0.000813 5136 6 B-k3 989 BK 0.000806 5136 6 B-k3 990 BK 0.000822 5136 6 B-k3 991 BK 0.000803 5136 6 B-k3 992 BK 0.000801 5136 6 B-k3 993 BK 0.000806 5136 6 B-k3 994 BK 0.000807 5136 6 B-k3 995 BK 0.000863 5136 6 B-k3 996 BK 0.000853 5136 6 B-k3 997 BK 0.000822 5136 6 B-k3 998 BK 0.000815 5136 6 B-k3 999 BK 0.000810 5136 6 B-k3 1000 ME 0.001528 9854 0 C-k4 1001 ME 0.001560 9854 0 C-k4 1002 ME 0.001533 9854 0 C-k4 1003 ME 0.001502 9854 0 C-k4 1004 ME 0.001550 9854 0 C-k4 1005 ME 0.001500 9854 0 C-k4 1006 ME 0.001500 9854 0 C-k4 1007 ME 0.001507 9854 0 C-k4 1008 ME 0.001500 9854 0 C-k4 1009 ME 0.001496 9854 0 C-k4 1010 ME 0.001551 9854 0 C-k4 1011 ME 0.001582 9854 0 C-k4 1012 ME 0.001520 9854 0 C-k4 1013 ME 0.001557 9854 0 C-k4 1014 ME 0.001689 9854 0 C-k4 1015 ME 0.001584 9854 0 C-k4 1016 ME 0.001568 9854 0 C-k4 1017 ME 0.001557 9854 0 C-k4 1018 ME 0.001564 9854 0 C-k4 1019 ME 0.001551 9854 0 C-k4 1020 ME 0.001565 9854 0 C-k4 1021 ME 0.001509 9854 0 C-k4 1022 ME 0.001499 9854 0 C-k4 1023 ME 0.001518 9854 0 C-k4 1024 ME 0.001513 9854 0 C-k4 1025 ME 0.001500 9854 0 C-k4 1026 ME 0.001494 9854 0 C-k4 1027 ME 0.001507 9854 0 C-k4 1028 ME 0.001510 9854 0 C-k4 1029 ME 0.001510 9854 0 C-k4 1030 ME 0.001496 9854 0 C-k4 1031 ME 0.001502 9854 0 C-k4 1032 ME 0.001510 9854 0 C-k4 1033 ME 0.001732 9854 0 C-k4 1034 ME 0.001612 9854 0 C-k4 1035 ME 0.001536 9854 0 C-k4 1036 ME 0.001536 9854 0 C-k4 1037 ME 0.001522 9854 0 C-k4 1038 ME 0.001498 9854 0 C-k4 1039 ME 0.001551 9854 0 C-k4 1040 ME 0.001512 9854 0 C-k4 1041 ME 0.001584 9854 0 C-k4 1042 ME 0.001513 9854 0 C-k4 1043 ME 0.001517 9854 0 C-k4 1044 ME 0.001500 9854 0 C-k4 1045 ME 0.001509 9854 0 C-k4 1046 ME 0.001511 9854 0 C-k4 1047 ME 0.001525 9854 0 C-k4 1048 ME 0.001499 9854 0 C-k4 1049 ME 0.001517 9854 0 C-k4 1050 ME 0.001561 9854 0 C-k4 1051 ME 0.001511 9854 0 C-k4 1052 ME 0.001528 9854 0 C-k4 1053 ME 0.001520 9854 0 C-k4 1054 ME 0.001519 9854 0 C-k4 1055 ME 0.001494 9854 0 C-k4 1056 ME 0.001512 9854 0 C-k4 1057 ME 0.001752 9854 0 C-k4 1058 ME 0.001574 9854 0 C-k4 1059 ME 0.001613 9854 0 C-k4 1060 ME 0.001533 9854 0 C-k4 1061 ME 0.001528 9854 0 C-k4 1062 ME 0.002050 9854 0 C-k4 1063 ME 0.001591 9854 0 C-k4 1064 ME 0.001606 9854 0 C-k4 1065 ME 0.001523 9854 0 C-k4 1066 ME 0.001560 9854 0 C-k4 1067 ME 0.001508 9854 0 C-k4 1068 ME 0.001508 9854 0 C-k4 1069 ME 0.001503 9854 0 C-k4 1070 ME 0.001550 9854 0 C-k4 1071 ME 0.001508 9854 0 C-k4 1072 ME 0.001764 9854 0 C-k4 1073 ME 0.001538 9854 0 C-k4 1074 ME 0.001513 9854 0 C-k4 1075 ME 0.001517 9854 0 C-k4 1076 ME 0.001495 9854 0 C-k4 1077 ME 0.001495 9854 0 C-k4 1078 ME 0.001503 9854 0 C-k4 1079 ME 0.001514 9854 0 C-k4 1080 ME 0.001818 9854 0 C-k4 1081 ME 0.001607 9854 0 C-k4 1082 ME 0.001570 9854 0 C-k4 1083 ME 0.001561 9854 0 C-k4 1084 ME 0.001549 9854 0 C-k4 1085 ME 0.001543 9854 0 C-k4 1086 ME 0.001528 9854 0 C-k4 1087 ME 0.001504 9854 0 C-k4 1088 ME 0.001529 9854 0 C-k4 1089 ME 0.001514 9854 0 C-k4 1090 ME 0.001501 9854 0 C-k4 1091 ME 0.001499 9854 0 C-k4 1092 ME 0.001498 9854 0 C-k4 1093 ME 0.001492 9854 0 C-k4 1094 ME 0.001493 9854 0 C-k4 1095 ME 0.001507 9854 0 C-k4 1096 ME 0.001708 9854 0 C-k4 1097 ME 0.001531 9854 0 C-k4 1098 ME 0.001526 9854 0 C-k4 1099 ME 0.001673 9854 0 C-k4 1100 BY-binary 0.007656 54376 0 C-k4 1101 BY-binary 0.007611 54376 0 C-k4 1102 BY-binary 0.007493 54376 0 C-k4 1103 BY-binary 0.007776 54376 0 C-k4 1104 BY-binary 0.007525 54376 0 C-k4 1105 BY-binary 0.007504 54376 0 C-k4 1106 BY-binary 0.007458 54376 0 C-k4 1107 BY-binary 0.007470 54376 0 C-k4 1108 BY-binary 0.007667 54376 0 C-k4 1109 BY-binary 0.008209 54376 0 C-k4 1110 BY-binary 0.007618 54376 0 C-k4 1111 BY-binary 0.007515 54376 0 C-k4 1112 BY-binary 0.008057 54376 0 C-k4 1113 BY-binary 0.007945 54376 0 C-k4 1114 BY-binary 0.007629 54376 0 C-k4 1115 BY-binary 0.007744 54376 0 C-k4 1116 BY-binary 0.008677 54376 0 C-k4 1117 BY-binary 0.007726 54376 0 C-k4 1118 BY-binary 0.007502 54376 0 C-k4 1119 BY-binary 0.007447 54376 0 C-k4 1120 BY-binary 0.007525 54376 0 C-k4 1121 BY-binary 0.007636 54376 0 C-k4 1122 BY-binary 0.007717 54376 0 C-k4 1123 BY-binary 0.007584 54376 0 C-k4 1124 BY-binary 0.007661 54376 0 C-k4 1125 BY-binary 0.007848 54376 0 C-k4 1126 BY-binary 0.009534 54376 0 C-k4 1127 BY-binary 0.007697 54376 0 C-k4 1128 BY-binary 0.007681 54376 0 C-k4 1129 BY-binary 0.007525 54376 0 C-k4 1130 BY-binary 0.007910 54376 0 C-k4 1131 BY-binary 0.007805 54376 0 C-k4 1132 BY-binary 0.007549 54376 0 C-k4 1133 BY-binary 0.007505 54376 0 C-k4 1134 BY-binary 0.007796 54376 0 C-k4 1135 BY-binary 0.007600 54376 0 C-k4 1136 BY-binary 0.007545 54376 0 C-k4 1137 BY-binary 0.007985 54376 0 C-k4 1138 BY-binary 0.007661 54376 0 C-k4 1139 BY-binary 0.008076 54376 0 C-k4 1140 BY-binary 0.007731 54376 0 C-k4 1141 BY-binary 0.007752 54376 0 C-k4 1142 BY-binary 0.007853 54376 0 C-k4 1143 BY-binary 0.007699 54376 0 C-k4 1144 BY-binary 0.008614 54376 0 C-k4 1145 BY-binary 0.013795 54376 0 C-k4 1146 BY-binary 0.013872 54376 0 C-k4 1147 BY-binary 0.011192 54376 0 C-k4 1148 BY-binary 0.007729 54376 0 C-k4 1149 BY-binary 0.007638 54376 0 C-k4 1150 BY-binary 0.007519 54376 0 C-k4 1151 BY-binary 0.007776 54376 0 C-k4 1152 BY-binary 0.007583 54376 0 C-k4 1153 BY-binary 0.007574 54376 0 C-k4 1154 BY-binary 0.007949 54376 0 C-k4 1155 BY-binary 0.007870 54376 0 C-k4 1156 BY-binary 0.007605 54376 0 C-k4 1157 BY-binary 0.007454 54376 0 C-k4 1158 BY-binary 0.007467 54376 0 C-k4 1159 BY-binary 0.007623 54376 0 C-k4 1160 BY-binary 0.007661 54376 0 C-k4 1161 BY-binary 0.007554 54376 0 C-k4 1162 BY-binary 0.007505 54376 0 C-k4 1163 BY-binary 0.007489 54376 0 C-k4 1164 BY-binary 0.007809 54376 0 C-k4 1165 BY-binary 0.007488 54376 0 C-k4 1166 BY-binary 0.007462 54376 0 C-k4 1167 BY-binary 0.007501 54376 0 C-k4 1168 BY-binary 0.007893 54376 0 C-k4 1169 BY-binary 0.007521 54376 0 C-k4 1170 BY-binary 0.007969 54376 0 C-k4 1171 BY-binary 0.007518 54376 0 C-k4 1172 BY-binary 0.007468 54376 0 C-k4 1173 BY-binary 0.007507 54376 0 C-k4 1174 BY-binary 0.007543 54376 0 C-k4 1175 BY-binary 0.007615 54376 0 C-k4 1176 BY-binary 0.007562 54376 0 C-k4 1177 BY-binary 0.007538 54376 0 C-k4 1178 BY-binary 0.007667 54376 0 C-k4 1179 BY-binary 0.007567 54376 0 C-k4 1180 BY-binary 0.007819 54376 0 C-k4 1181 BY-binary 0.007533 54376 0 C-k4 1182 BY-binary 0.007744 54376 0 C-k4 1183 BY-binary 0.007653 54376 0 C-k4 1184 BY-binary 0.007495 54376 0 C-k4 1185 BY-binary 0.007768 54376 0 C-k4 1186 BY-binary 0.007763 54376 0 C-k4 1187 BY-binary 0.007534 54376 0 C-k4 1188 BY-binary 0.007512 54376 0 C-k4 1189 BY-binary 0.007498 54376 0 C-k4 1190 BY-binary 0.008875 54376 0 C-k4 1191 BY-binary 0.007685 54376 0 C-k4 1192 BY-binary 0.007515 54376 0 C-k4 1193 BY-binary 0.007977 54376 0 C-k4 1194 BY-binary 0.007702 54376 0 C-k4 1195 BY-binary 0.007525 54376 0 C-k4 1196 BY-binary 0.007508 54376 0 C-k4 1197 BY-binary 0.007924 54376 0 C-k4 1198 BY-binary 0.007647 54376 0 C-k4 1199 BY-binary 0.007552 54376 0 C-k4 1200 BY-B1 0.009819 62902 0 C-k4 1201 BY-B1 0.010501 62902 0 C-k4 1202 BY-B1 0.009927 62902 0 C-k4 1203 BY-B1 0.009777 62902 0 C-k4 1204 BY-B1 0.009969 62902 0 C-k4 1205 BY-B1 0.009957 62902 0 C-k4 1206 BY-B1 0.009727 62902 0 C-k4 1207 BY-B1 0.010207 62902 0 C-k4 1208 BY-B1 0.009825 62902 0 C-k4 1209 BY-B1 0.009815 62902 0 C-k4 1210 BY-B1 0.009907 62902 0 C-k4 1211 BY-B1 0.009651 62902 0 C-k4 1212 BY-B1 0.009773 62902 0 C-k4 1213 BY-B1 0.009990 62902 0 C-k4 1214 BY-B1 0.009816 62902 0 C-k4 1215 BY-B1 0.009804 62902 0 C-k4 1216 BY-B1 0.009875 62902 0 C-k4 1217 BY-B1 0.009847 62902 0 C-k4 1218 BY-B1 0.009648 62902 0 C-k4 1219 BY-B1 0.009975 62902 0 C-k4 1220 BY-B1 0.009968 62902 0 C-k4 1221 BY-B1 0.010043 62902 0 C-k4 1222 BY-B1 0.009878 62902 0 C-k4 1223 BY-B1 0.009879 62902 0 C-k4 1224 BY-B1 0.009652 62902 0 C-k4 1225 BY-B1 0.009732 62902 0 C-k4 1226 BY-B1 0.009627 62902 0 C-k4 1227 BY-B1 0.010171 62902 0 C-k4 1228 BY-B1 0.009778 62902 0 C-k4 1229 BY-B1 0.009731 62902 0 C-k4 1230 BY-B1 0.009964 62902 0 C-k4 1231 BY-B1 0.009671 62902 0 C-k4 1232 BY-B1 0.009850 62902 0 C-k4 1233 BY-B1 0.009995 62902 0 C-k4 1234 BY-B1 0.011304 62902 0 C-k4 1235 BY-B1 0.011248 62902 0 C-k4 1236 BY-B1 0.010567 62902 0 C-k4 1237 BY-B1 0.009707 62902 0 C-k4 1238 BY-B1 0.009855 62902 0 C-k4 1239 BY-B1 0.009978 62902 0 C-k4 1240 BY-B1 0.009817 62902 0 C-k4 1241 BY-B1 0.009662 62902 0 C-k4 1242 BY-B1 0.011814 62902 0 C-k4 1243 BY-B1 0.009816 62902 0 C-k4 1244 BY-B1 0.009623 62902 0 C-k4 1245 BY-B1 0.009748 62902 0 C-k4 1246 BY-B1 0.009790 62902 0 C-k4 1247 BY-B1 0.009653 62902 0 C-k4 1248 BY-B1 0.009734 62902 0 C-k4 1249 BY-B1 0.009803 62902 0 C-k4 1250 BY-B1 0.009629 62902 0 C-k4 1251 BY-B1 0.009803 62902 0 C-k4 1252 BY-B1 0.009780 62902 0 C-k4 1253 BY-B1 0.009808 62902 0 C-k4 1254 BY-B1 0.009687 62902 0 C-k4 1255 BY-B1 0.009682 62902 0 C-k4 1256 BY-B1 0.009598 62902 0 C-k4 1257 BY-B1 0.009597 62902 0 C-k4 1258 BY-B1 0.009711 62902 0 C-k4 1259 BY-B1 0.009645 62902 0 C-k4 1260 BY-B1 0.018158 62902 0 C-k4 1261 BY-B1 0.017577 62902 0 C-k4 1262 BY-B1 0.010645 62902 0 C-k4 1263 BY-B1 0.009691 62902 0 C-k4 1264 BY-B1 0.009641 62902 0 C-k4 1265 BY-B1 0.009716 62902 0 C-k4 1266 BY-B1 0.009633 62902 0 C-k4 1267 BY-B1 0.009559 62902 0 C-k4 1268 BY-B1 0.009613 62902 0 C-k4 1269 BY-B1 0.009700 62902 0 C-k4 1270 BY-B1 0.009575 62902 0 C-k4 1271 BY-B1 0.009609 62902 0 C-k4 1272 BY-B1 0.009850 62902 0 C-k4 1273 BY-B1 0.009702 62902 0 C-k4 1274 BY-B1 0.009622 62902 0 C-k4 1275 BY-B1 0.009678 62902 0 C-k4 1276 BY-B1 0.009563 62902 0 C-k4 1277 BY-B1 0.009540 62902 0 C-k4 1278 BY-B1 0.009618 62902 0 C-k4 1279 BY-B1 0.009569 62902 0 C-k4 1280 BY-B1 0.009541 62902 0 C-k4 1281 BY-B1 0.009636 62902 0 C-k4 1282 BY-B1 0.009716 62902 0 C-k4 1283 BY-B1 0.009678 62902 0 C-k4 1284 BY-B1 0.009626 62902 0 C-k4 1285 BY-B1 0.009614 62902 0 C-k4 1286 BY-B1 0.009537 62902 0 C-k4 1287 BY-B1 0.009696 62902 0 C-k4 1288 BY-B1 0.009664 62902 0 C-k4 1289 BY-B1 0.009596 62902 0 C-k4 1290 BY-B1 0.009546 62902 0 C-k4 1291 BY-B1 0.009608 62902 0 C-k4 1292 BY-B1 0.010627 62902 0 C-k4 1293 BY-B1 0.010600 62902 0 C-k4 1294 BY-B1 0.009742 62902 0 C-k4 1295 BY-B1 0.010038 62902 0 C-k4 1296 BY-B1 0.009710 62902 0 C-k4 1297 BY-B1 0.010158 62902 0 C-k4 1298 BY-B1 0.010169 62902 0 C-k4 1299 BY-B1 0.010174 62902 0 C-k4 1300 BY-B2 0.010212 62902 0 C-k4 1301 BY-B2 0.009856 62902 0 C-k4 1302 BY-B2 0.010300 62902 0 C-k4 1303 BY-B2 0.010344 62902 0 C-k4 1304 BY-B2 0.011465 62902 0 C-k4 1305 BY-B2 0.011223 62902 0 C-k4 1306 BY-B2 0.011071 62902 0 C-k4 1307 BY-B2 0.011053 62902 0 C-k4 1308 BY-B2 0.011097 62902 0 C-k4 1309 BY-B2 0.010815 62902 0 C-k4 1310 BY-B2 0.010874 62902 0 C-k4 1311 BY-B2 0.011427 62902 0 C-k4 1312 BY-B2 0.010917 62902 0 C-k4 1313 BY-B2 0.010245 62902 0 C-k4 1314 BY-B2 0.009725 62902 0 C-k4 1315 BY-B2 0.009974 62902 0 C-k4 1316 BY-B2 0.009850 62902 0 C-k4 1317 BY-B2 0.009667 62902 0 C-k4 1318 BY-B2 0.009748 62902 0 C-k4 1319 BY-B2 0.009831 62902 0 C-k4 1320 BY-B2 0.009912 62902 0 C-k4 1321 BY-B2 0.009801 62902 0 C-k4 1322 BY-B2 0.009757 62902 0 C-k4 1323 BY-B2 0.009570 62902 0 C-k4 1324 BY-B2 0.010060 62902 0 C-k4 1325 BY-B2 0.009753 62902 0 C-k4 1326 BY-B2 0.009580 62902 0 C-k4 1327 BY-B2 0.009750 62902 0 C-k4 1328 BY-B2 0.010262 62902 0 C-k4 1329 BY-B2 0.010001 62902 0 C-k4 1330 BY-B2 0.009629 62902 0 C-k4 1331 BY-B2 0.010195 62902 0 C-k4 1332 BY-B2 0.010600 62902 0 C-k4 1333 BY-B2 0.011378 62902 0 C-k4 1334 BY-B2 0.011286 62902 0 C-k4 1335 BY-B2 0.010083 62902 0 C-k4 1336 BY-B2 0.009743 62902 0 C-k4 1337 BY-B2 0.010278 62902 0 C-k4 1338 BY-B2 0.010112 62902 0 C-k4 1339 BY-B2 0.010065 62902 0 C-k4 1340 BY-B2 0.009925 62902 0 C-k4 1341 BY-B2 0.011780 62902 0 C-k4 1342 BY-B2 0.009985 62902 0 C-k4 1343 BY-B2 0.009842 62902 0 C-k4 1344 BY-B2 0.009879 62902 0 C-k4 1345 BY-B2 0.009840 62902 0 C-k4 1346 BY-B2 0.009771 62902 0 C-k4 1347 BY-B2 0.010299 62902 0 C-k4 1348 BY-B2 0.009868 62902 0 C-k4 1349 BY-B2 0.009756 62902 0 C-k4 1350 BY-B2 0.009979 62902 0 C-k4 1351 BY-B2 0.010339 62902 0 C-k4 1352 BY-B2 0.010009 62902 0 C-k4 1353 BY-B2 0.009991 62902 0 C-k4 1354 BY-B2 0.009931 62902 0 C-k4 1355 BY-B2 0.009792 62902 0 C-k4 1356 BY-B2 0.009724 62902 0 C-k4 1357 BY-B2 0.009936 62902 0 C-k4 1358 BY-B2 0.010720 62902 0 C-k4 1359 BY-B2 0.010120 62902 0 C-k4 1360 BY-B2 0.010027 62902 0 C-k4 1361 BY-B2 0.012183 62902 0 C-k4 1362 BY-B2 0.017939 62902 0 C-k4 1363 BY-B2 0.015547 62902 0 C-k4 1364 BY-B2 0.010374 62902 0 C-k4 1365 BY-B2 0.009999 62902 0 C-k4 1366 BY-B2 0.009755 62902 0 C-k4 1367 BY-B2 0.009844 62902 0 C-k4 1368 BY-B2 0.009871 62902 0 C-k4 1369 BY-B2 0.010037 62902 0 C-k4 1370 BY-B2 0.009946 62902 0 C-k4 1371 BY-B2 0.009759 62902 0 C-k4 1372 BY-B2 0.009751 62902 0 C-k4 1373 BY-B2 0.009869 62902 0 C-k4 1374 BY-B2 0.009709 62902 0 C-k4 1375 BY-B2 0.009807 62902 0 C-k4 1376 BY-B2 0.009674 62902 0 C-k4 1377 BY-B2 0.009743 62902 0 C-k4 1378 BY-B2 0.009760 62902 0 C-k4 1379 BY-B2 0.009935 62902 0 C-k4 1380 BY-B2 0.009795 62902 0 C-k4 1381 BY-B2 0.009882 62902 0 C-k4 1382 BY-B2 0.009842 62902 0 C-k4 1383 BY-B2 0.009756 62902 0 C-k4 1384 BY-B2 0.009846 62902 0 C-k4 1385 BY-B2 0.009758 62902 0 C-k4 1386 BY-B2 0.009747 62902 0 C-k4 1387 BY-B2 0.009664 62902 0 C-k4 1388 BY-B2 0.009897 62902 0 C-k4 1389 BY-B2 0.009696 62902 0 C-k4 1390 BY-B2 0.010967 62902 0 C-k4 1391 BY-B2 0.010078 62902 0 C-k4 1392 BY-B2 0.009713 62902 0 C-k4 1393 BY-B2 0.009687 62902 0 C-k4 1394 BY-B2 0.009698 62902 0 C-k4 1395 BY-B2 0.009847 62902 0 C-k4 1396 BY-B2 0.009773 62902 0 C-k4 1397 BY-B2 0.009720 62902 0 C-k4 1398 BY-B2 0.009962 62902 0 C-k4 1399 BY-B2 0.009668 62902 0 C-k4 1400 BK 0.000421 2680 0 C-k4 1401 BK 0.000387 2680 0 C-k4 1402 BK 0.000392 2680 0 C-k4 1403 BK 0.000388 2680 0 C-k4 1404 BK 0.000407 2680 0 C-k4 1405 BK 0.000395 2680 0 C-k4 1406 BK 0.000390 2680 0 C-k4 1407 BK 0.000397 2680 0 C-k4 1408 BK 0.000389 2680 0 C-k4 1409 BK 0.000399 2680 0 C-k4 1410 BK 0.000401 2680 0 C-k4 1411 BK 0.000403 2680 0 C-k4 1412 BK 0.000393 2680 0 C-k4 1413 BK 0.000392 2680 0 C-k4 1414 BK 0.000405 2680 0 C-k4 1415 BK 0.000390 2680 0 C-k4 1416 BK 0.000385 2680 0 C-k4 1417 BK 0.000391 2680 0 C-k4 1418 BK 0.000391 2680 0 C-k4 1419 BK 0.000393 2680 0 C-k4 1420 BK 0.000391 2680 0 C-k4 1421 BK 0.000447 2680 0 C-k4 1422 BK 0.000406 2680 0 C-k4 1423 BK 0.000399 2680 0 C-k4 1424 BK 0.000393 2680 0 C-k4 1425 BK 0.000398 2680 0 C-k4 1426 BK 0.000386 2680 0 C-k4 1427 BK 0.000395 2680 0 C-k4 1428 BK 0.000390 2680 0 C-k4 1429 BK 0.000392 2680 0 C-k4 1430 BK 0.000561 2680 0 C-k4 1431 BK 0.000408 2680 0 C-k4 1432 BK 0.000395 2680 0 C-k4 1433 BK 0.000494 2680 0 C-k4 1434 BK 0.000439 2680 0 C-k4 1435 BK 0.000402 2680 0 C-k4 1436 BK 0.000397 2680 0 C-k4 1437 BK 0.000397 2680 0 C-k4 1438 BK 0.000385 2680 0 C-k4 1439 BK 0.000397 2680 0 C-k4 1440 BK 0.000400 2680 0 C-k4 1441 BK 0.000391 2680 0 C-k4 1442 BK 0.000390 2680 0 C-k4 1443 BK 0.000385 2680 0 C-k4 1444 BK 0.000390 2680 0 C-k4 1445 BK 0.000389 2680 0 C-k4 1446 BK 0.000392 2680 0 C-k4 1447 BK 0.000389 2680 0 C-k4 1448 BK 0.000389 2680 0 C-k4 1449 BK 0.000391 2680 0 C-k4 1450 BK 0.000398 2680 0 C-k4 1451 BK 0.000407 2680 0 C-k4 1452 BK 0.000396 2680 0 C-k4 1453 BK 0.000388 2680 0 C-k4 1454 BK 0.000392 2680 0 C-k4 1455 BK 0.000390 2680 0 C-k4 1456 BK 0.000393 2680 0 C-k4 1457 BK 0.000392 2680 0 C-k4 1458 BK 0.000386 2680 0 C-k4 1459 BK 0.000392 2680 0 C-k4 1460 BK 0.000404 2680 0 C-k4 1461 BK 0.000430 2680 0 C-k4 1462 BK 0.000395 2680 0 C-k4 1463 BK 0.000391 2680 0 C-k4 1464 BK 0.000471 2680 0 C-k4 1465 BK 0.000395 2680 0 C-k4 1466 BK 0.000393 2680 0 C-k4 1467 BK 0.000388 2680 0 C-k4 1468 BK 0.000389 2680 0 C-k4 1469 BK 0.000413 2680 0 C-k4 1470 BK 0.000393 2680 0 C-k4 1471 BK 0.000428 2680 0 C-k4 1472 BK 0.000398 2680 0 C-k4 1473 BK 0.000385 2680 0 C-k4 1474 BK 0.000393 2680 0 C-k4 1475 BK 0.000393 2680 0 C-k4 1476 BK 0.000391 2680 0 C-k4 1477 BK 0.000389 2680 0 C-k4 1478 BK 0.000385 2680 0 C-k4 1479 BK 0.000392 2680 0 C-k4 1480 BK 0.000394 2680 0 C-k4 1481 BK 0.000391 2680 0 C-k4 1482 BK 0.000392 2680 0 C-k4 1483 BK 0.000385 2680 0 C-k4 1484 BK 0.000399 2680 0 C-k4 1485 BK 0.000390 2680 0 C-k4 1486 BK 0.000387 2680 0 C-k4 1487 BK 0.000394 2680 0 C-k4 1488 BK 0.000396 2680 0 C-k4 1489 BK 0.000392 2680 0 C-k4 1490 BK 0.000431 2680 0 C-k4 1491 BK 0.000386 2680 0 C-k4 1492 BK 0.000391 2680 0 C-k4 1493 BK 0.000396 2680 0 C-k4 1494 BK 0.000391 2680 0 C-k4 1495 BK 0.000392 2680 0 C-k4 1496 BK 0.000388 2680 0 C-k4 1497 BK 0.000613 2680 0 C-k4 1498 BK 0.000423 2680 0 C-k4 1499 BK 0.000411 2680 0 C-k4
Para evaluar y comparar los algoritmos, se generaron boxplots del número de comparaciones por algoritmo y dataset. Esta visualización permite:
Identificar diferencias entre algoritmos.
Observar la dispersión y valores atípicos.
Reconocer el comportamiento relativo entre datasets con diferentes números de listas.
El análisis se centró en comparar la eficiencia teórica con la eficiencia empírica observada en el conteo de comparaciones.
sns.boxplot(data=df, x="dataset", y="Tiempo", hue="Algoritmo", palette="tab10")
plt.title("Tiempos de Ejecución")
plt.show()
sns.boxplot(data=df, x="dataset", y="Comparaciones", hue="Algoritmo", palette="tab10")
plt.title("Número de Comparaciones")
plt.show()
sns.boxplot(data=df, x="dataset", y="Longitud_Interseccion", hue="Algoritmo",
palette="tab10")
plt.title("Tamaño de Intersección Resultante")
plt.show()
Análisis de resultados¶
Los resultados obtenidos a partir de los boxplots permiten comparar el desempeño de los algoritmos de intersección (ME, BY con distintas búsquedas y BK) bajo tres configuraciones de datos: A-k2 (dos listas), B-k3 (tres listas) y C-k4 (cuatro listas). A continuación, se presentan los hallazgos más relevantes.
- Tiempo de ejecución
- En los tres conjuntos de datos, los tiempos de ejecución siguen el patrón esperado: a mayor número de listas, mayor tiempo total.
- El algoritmo ME (Melding) es consistentemente el más lento en todos los datasets. Su tiempo aumenta notablemente al pasar de A-k2 a C-k4, lo que refleja su alta complejidad acumulativa.
- Los algoritmos BY (binary, B1, B2) presentan tiempos más reducidos y agrupados. BY-binary suele ser el más rápido, lo cual es coherente con que la búsqueda binaria es eficiente cuando las listas ya están ordenadas.
- El algoritmo BK se comporta de manera estable y suele ubicarse entre los más rápidos, incluso para conjuntos más grandes como C-k4.
Por lo tanto, Los algoritmos que aprovechan búsquedas eficientes (binary, B1, B2) o que están diseñados para minimizar exploraciones innecesarias (BK) resultan más adecuados para grandes volúmenes de datos. ME, aunque es sencillo, no escala adecuadamente.
- Número de comparaciones
- Al igual que con los tiempos, el número de comparaciones aumenta conforme crece el tamaño y la cantidad de listas.
- ME realiza la mayor cantidad de comparaciones en todos los casos. En C-k4 alcanza valores extremos (más de 60,000 comparaciones), mostrando que no es eficiente para conjuntos grandes.
- Los algoritmos BY muestran diferencias claras según la estrategia de búsqueda: BY-binary es el que realiza menos comparaciones dentro de la familia BY. BY-B1 y BY-B2 incrementan ligeramente el número de comparaciones, lo cual es coherente con la naturaleza de la búsqueda no acotada.
- BK nuevamente destaca como uno de los algoritmos más eficientes, manteniendo un número bajo de comparaciones incluso en C-k4.
De tal forma que, los algoritmos BY y BK logran reducir significativamente las comparaciones al explotar mejor la estructura de las listas. La cantidad de comparaciones refleja directamente la complejidad interna de cada método, siendo ME el menos eficiente.
- Tamaño de la intersección resultante
- A-k2 produce intersecciones de tamaño 2
- B-k3 produce intersecciones de tamaño 6
- C-k4 produce intersecciones de tamaño 0
El tamaño de la intersección es el mismo sin importar el algoritmo, lo cual es correcto ya que los algoritmos deben producir el mismo resultado, solo difieren en rendimiento.
En C-k4 la intersección vacía es coherente y funciona como verificación de control: si un algoritmo tuviera un error, sería evidente que su tamaño difiere de los demás.
Conclusión¶
Los experimentos realizados permiten comparar el desempeño de cinco algoritmos de intersección aplicados a distintos conjuntos de listas (A-k2, B-k3 y C-k4). Los resultados muestran que el rendimiento está fuertemente condicionado por el número de listas y su tamaño, observándose incrementos progresivos tanto en tiempo de ejecución como en el número de comparaciones al pasar de conjuntos pequeños a conjuntos más grandes.
En particular, el algoritmo ME presentó de manera consistente el peor desempeño, con tiempos de ejecución más altos y un número significativamente mayor de comparaciones. Esto confirma que su estrategia secuencial no escala adecuadamente cuando las listas crecen. En contraste, los algoritmos basados en Baeza-Yates (BY) y sus variantes mostraron mejoras notables en eficiencia, siendo BY-binary el más favorable dentro de esta familia gracias al aprovechamiento de la búsqueda binaria sobre listas ordenadas.
El algoritmo BK destacó como la opción más estable y eficiente entre todos los evaluados, logrando tiempos reducidos y un número bajo de comparaciones incluso en los casos más exigentes. Finalmente, los tamaños de las intersecciones resultantes fueron consistentes entre todos los algoritmos, lo que confirma la correcta implementación funcional de cada método.
En conjunto, los resultados evidencian que la elección del algoritmo de intersección tiene un impacto directo en la eficiencia computacional, especialmente al trabajar con múltiples listas o con datos de mayor magnitud. Los métodos optimizados, como BY-binary y BK, representan alternativas superiores frente a enfoques tradicionales como ME, particularmente en escenarios de grandes volúmenes de información.
Referencias¶
Baeza-Yates, R. (1991). Algorithms for string searching and applications. ACM SIGIR Forum, 25(3), 34–58.
Barbay, J., & Kenyon, C. (2002). Adaptive intersection and t-threshold problems. In SODA ’02: Proceedings of the Thirteenth Annual ACM-SIAM Symposium on Discrete Algorithms (pp. 390–399).
Wang, J., Suel, T., & Lang, K. (2011). A study of index compression and incremental indexing for large-scale search engines. In WWW ’11: Proceedings of the 20th International Conference on World Wide Web (pp. 213–222).