Hay $n$ jugadores de fútbol, cada uno de los cuales tiene una velocidad $s_i\in[0,1]$ y de la salud $f_i\in[0,1]$ . La suma de las velocidades de todos los jugadores es $1$ Y lo mismo ocurre con el fitness. Queremos elegir un subconjunto de jugadores de modo que la suma de velocidades y la suma de aptitudes sean ambas al menos $1/2$ . Sea $a$ sea el tamaño del subconjunto más pequeño.
Supongamos que realizamos el siguiente algoritmo "codicioso": seguir eligiendo jugadores con la máxima suma $s_i+f_i$ hasta que hayamos satisfecho $\sum s_i\geq 1/2$ o $\sum f_i\geq 1/2$ y, a continuación, elegir los jugadores con el máximo atributo posible que aún no hemos satisfecho. Sea $b$ sea el tamaño del conjunto que obtenemos. (Los empates se rompen arbitrariamente).
¿Es cierto que $b/a\leq 3/2$ ¿Siempre? Es posible que $b/a=3/2$ como muestra el ejemplo en el que $n=3$ , $(s_i)=(0.4,0.6,0)$ y $(f_i)=(0.4,0,0.6)$ . El subconjunto de tamaño mínimo es $2$ , eligiendo al segundo y al tercer jugador, pero el algoritmo elige a los tres jugadores. Por otro lado, no es difícil demostrar que $b/a\leq 2$ debe mantenerse (por ejemplo, siguiendo el argumento de Alex Ravsky)
0 votos
Por "tamaño del subconjunto", ¿se refiere al número de elementos del subconjunto o a la suma de los elementos del subconjunto?
0 votos
Me refiero al número de elementos.
0 votos
No creo que su algoritmo codicioso esté completamente especificado. ¿Cómo trata los empates en $s_i + f_i$ ? En tu ejemplo hay un empate de este tipo, y no está claro cómo se elige entre los 3 primeros jugadores.
0 votos
El algoritmo rompe los empates de forma arbitraria. Así que la cuestión es si la aproximación se mantiene independientemente de cómo se rompan los empates.