Next: Software
Up: Memoria
Previous: Conclusiones del capítulo
  Índice General
Hasta el momento hemos podido hacer una recapitulación de todos
los conceptos, avances e hitos referidos a este apasionante tema
del ajedrez a nivel de computadoras. Una carrera marcada por
tendencias que cambiaron en el tiempo combinada con fracasos y éxitos de
investigadores ha sido una característica de este proceso
iniciado por las ideas de Shannon acerca de cómo una máquina
debería jugar al ajedrez hasta la aparición de DeepBlue, un
monstruo computacional en todo sentido.
A pesar de que el principal objetivo de esta carrera ya fue
cumplido hace un par de años (derrotar al campeón mundial de
ajedrez) la inquietud que asalta a muchos es cuantificar cuán
"inteligente" era realmente el programa que derrotó al campeón
mundial y cual fue la base de esta victoria. ¿Fue DeepBlue un
sistema que llegó a "pensar" como lo hacen los ajedrecistas
humanos o más bien un "monigote" capaz de calcular millones de
posiciones y movimientos pero sin tener mayor comprensión de lo
que realmente está ocurriendo en el juego?. Probablemente la
respuesta más acertada a esta interrogante es que una combinación
de ambas ideas fue el resultado de un DeepBlue impresionante en su
capacidad de cálculo y a la vez sorprendente en varios movimientos
que hacían pensar que quien estaba jugando era un humano. Por
supuesto la creación de esta super máquina se basó en una
implementación de Hardware fuera de lo común (2 frames albergando
cada uno a 15 RS-6000 SP) la cual pareciese muy difícil de que se
repita nuevamente dado que el incentivo de una nueva victoria
sobre el campeón mundial no es tan deseado como lo fue por vez
primera.
Ahora bien, sólo observando la particular configuración de
hardware bajo la cual funcionó Deep Blue uno podría asegurar que
no existe aún sobre el planeta otra máquina que se le pueda
comparar en nivel de juego dadas sus capacidades gigantes de
procesamiento, pero cabe preguntarse, ¿si Deep Blue no hubiese
contado con tal nivel de Hardware, habría sido capaz de obtener
los mismos resultados? ¿Habría logrado derrotar a Kasparov si
hubiese funcionado en un computador común y corriente?
Probablemente no, dirían muchos creyendo que la real fuerza de
esta máquina estaba en su nivel de "fierro", o quizás si, dirían
otros, argumentándose en el excelente desarrollo de software y
conocimiento ajedrecístico que poseía el programa, pero ahora
surge otra interrogante y es que ¿"cuan" bueno era el programa
en hardware y en software ?, Cuánto hubiese bajado su nivel si no
hubiese contado con la tecnología de hardware de ese momento?.
Cómo hubiésemos podido medir la capacidad de software de Deep Blue
frente a otros programas de la época pero sin su capacidad de
hardware?. Esto es en el fondo un problema de comparación entre
capacidades particulares de programas de ajedrez, y es acá en
donde deseamos detenernos para realizar un análisis comparativo o
mejor aún, proponer herramientas de medición de nivel de una
máquina por sobre otra considerando no sólo niveles de hardware
bajo el cual funcionan.
En la carrera por obtener la máquina que derrotase al mejor
ajedrecista humano la necesidad imperiosa de lograr mayores
velocidades de procesamiento, mejoras en los métodos de búsqueda,
aplicación de mayor conocimiento, etc. dejó un poco de lado la
investigación comparativa de qué es lo que realmente diferencia a
una máquina ajedrecista de otra. A la hora de comparar dos
programas, ¿qué es lo que debo observar para sacar conclusiones
acertadas? Una primera respuesta sería el nivel de hardware de la
máquina. Es muy probable que un programa en un hardware de mayor
capacidad sea mucho mejor que otro en uno de menor envergadura.
Una mayor velocidad de procesamiento y capacidad de memoria harían
una diferencia notable entre un programa y otro, pero a partir de
esto surgen la preguntas de cuánto más capacidad tendría un
programa en un hardware avanzado que otro en uno más limitado?. Si
suponemos que ambos hardware son similares, qué diferenciación
podríamos hacer en este caso? Quizás una forma entretenida de
solucionar esta disyuntiva sería poner a jugar ambos programas y
ver los resultados luego de varias partidas, pero lo que nos
gustaría en realidad sería el encontrar parámetros de medición que
ayuden a medir la capacidad de los programas bajo condiciones
similares de software, en el fondo, medir las capacidades de los
programas pero poniendo límites a la diferenciación en hardware.
Este es el tema que queremos atacar en este capítulo, buscar
parámetros de medición de la capacidad de un programa en función
de su hardware y software.
Subsecciones
Next: Software
Up: Memoria
Previous: Conclusiones del capítulo
  Índice General
Santiago de Chile, Julio 2003