Wednesday, September 19, 2018

Cosas que no entiendo



Recientemente fui a Playa del Carmen a dar una plática en el Planetario Sayán, dirigido por Roberto Rojo. La visita fue fenomenal. Nos trataremos muy bien y todos terminamos muy contentos. El regreso, sin embargo, tuvo algunos detalles, uno de ellos fue que por ser 16 de septiembre, cerraron el aeropuerto de las CDMX por 5 horas, de las 9 am a las 2 pm. Así, nuestro vuelo se retrasó unos 50 minutos. Nada grave quizás, pero finalmente ¿qué necesidad del gobierno de hacer esto?

Pero más allá de esto, en el vuelo de la empresa "Volaris", que es una línea aérea de bajo costo, ya no sirven el mínimo refrigerio . Ni cacahuates, ni refrescos ni jugos. ¡Nada! Y realmente no entiendo la razón. Digamos que para ahorrarse costos la empresa de aviones decide no dar comida. Muy bien, que no dé nada y listo, total es un vuelo corto. Con eso se ahorran toda la logística de los alimentos en los aviones. Pero lo curioso es que en el avión puedes comprar diversos alimentos y bebidas y se pagan dentro del avión. Más aún, Volaris "vende" dentro del avión asientos "Premium"(que son un poco más amplios), por trescientos pesos. Todo esto me parece lamentable pues por una parte, las aeromozas se convierten en "tenderos" pero a 20 mil pies y por otra parte, no se evita la logística de la comida en el avión.

Más aún, pienso que toda esta idea de no dar ni siquiera refrescos y un "snack" es ridícula. Vamos, mi lógica es simple: tengo un vuelo lleno (260 personas). Si les cobro 100 pesos de más en el boleto de avión le incluyo un refresco y unos cacahuates minúsculos que me salen como empresa como en 20 pesos máximo. ¿Ganancia neta? 5 veces el costo... Bueno, quitemos otros 10 pesos para quien provee a Volaris de este servicio. La cuestión es: ¿Por qué no aprovechar que se tienen 260 personas cautivas y cobrarles estas bebidas y cacahuates?  Y es que además, aparte de no dar nada y querer cobrar a precios exagerados en la "tiendita en el aire", uno siente el abuso y la comercialización de todo, los asientos, un refresco, un cuernito relleno de chocolate, una sopa ramen o una baguette. Y en el fondo uno percibe que sólo importa el negocio y no la satisfacción del cliente pues total, el servicio siempre está lleno.


Otro asunto que me ha tocado vivir últimamente (se ha repetido un par de veces) es el llegar al banco (particularmente Santander), para informarme "que no hay sistema". Y entonces rematan con: "pudiese llegar en unos 10 a 15 minutos". O sea, de acuerdo al empleado del banco, aunque no haya gente en el banco y no tenga que hacer cola, debo esperarme 10 o 15 minutos al menos a ver si regresa el sistema... ¿Y si no regresa? Problema del cliente. Y de nuevo, ¿cómo se compensa al cliente? De ninguna manera y vamos, ni una disculpa. Eso me pasó en el Banco Santander que está dentro de la Tienda UNAM, frente al Instituto de Investigaciones Antropológicas. Cabe decir que si, por ejemplo, se va la luz, es la CFE la culpable -la cual tampoco hace nada en favor de sus clientes- pero en ese caso el banco no tiene manera de corregir la dificultad. Pero que falle su sistema y no haya ningún tipo de sistema de respaldo, de backup, me parece poco menos que absurdo.

Y no sé qué se pueda pedir a modo de satisfacción del cliente o en compensación por el pésimo servicio o porque se les cae el sistema pero es claro que el Banco no siente tener ninguna obligación para con los clientes. Y como nota personal apunto que en el Internet Chess Club, cuando fallan los servidores, aunque sea un par de horas, los administradores compensan a los usuarios con una semana gratuita en este club virtual de ajedrez.  Y esto finalmente es entender que los negocios funcionan precisamente por la existencia de los clientes y no es buena idea no tenerlos contentos.

En fin, dos ejemplos de cómo se le trata a los consumidores en México. Lo dejo para el registro.

Tuesday, September 11, 2018

De sistemas de desempates en ajedrez y una idea interesante



En los torneos de ajedrez muchas veces es necesario desempatar cuando dos o más jugadores hacen, por ejemplo, la misma puntuación. La manera más justa quizás sería que jugaran entre ellos, pero claramente esto en ocasiones no es posible simplemente por tiempo, porque se acabo la competencia, etcétera.

Lo más justo sería el que los que han empatado jugaran entre sí, pero esto tiene sus propios inconvenientes. Por ejemplo, si empatan los jugadores A, B y C en primer lugar, entonces podrían jugar un desempate. Supongamos que A le gana a B y B le gana a C. Podríamos pensar que lo lógico es que A le gane a C, pero ocurre muchas veces que C le gana a A. Entonces ¿Quién es el mejor?

Por esto, se han creado una serie de sistemas de desempate, en donde hay algunos que son muy populares y se aplican en torneos cerrados de round robin, es decir, de todos contra todos. Uno de los mas usados se le denomina "sonneborn-berger" y consiste en sumar todos los puntos que hicieron los rivales de un jugador a los que éste les ganó, la mitad de los puntos de los jugadores con los que empató y ningún punto de los jugadores con los que perdió. Así, si por ejemplo, el jugador A le ganó al jugador B, que hizo 5 puntos, empató con el jugador C que hizo 5 puntos (se le da la mitad, es decir 2.5), entonces su desempate será de 7.5. Si el jugador B le ganó al jugador C, que hizo 5 puntos, pero perdió contra alguien que hizo 4 puntos, entonces su desempate sería de 5 puntos.

Desde luego que este esquema tampoco es infalible. Por ejemplo, muchas veces en los torneos abiertos, en las primeras rondas, los jugadores que ganan esas competencias enfrentan jugadores débiles o irregulares. Entonces en un desempate llamado "harkness", se quitan los puntos del rival que hizo más y el jugador que hizo menos. De esta manera digamos que se toma un promedio más justo.

Otro esquema que se usó en México es el acumulativo Topete, en honor a su inventor, el Ing. Topete, que por muchos años fue el dirigente de la Federación de Ajedrez de nuestro país y que era un gran tipo. En este caso, Topete decidió aplicar la siguiente idea. Supongamos que el jugador A gana la primera partida, la segunda partida y pierde a tercera. El jugador B, en cambio, pierde la primera partida y gana las dos siguientes. En este esquema acumulativo, el jugador A tendría 1 punto después de la primera ronda, 2 puntos en la segunda ronda y se quedaría con 2 puntos en la tercera ronda. Esto se suma y daría 1 + 2 + 2 = 5. En cambio, el jugador B tendría 0 puntos después de la primera ronda, 1 punto al ganar la segunda partida y 2 puntos al ganar la 3a partida. Y si sumamos sus scores acumulados tenemos: 0 + 1 + 2 = 3. Dicho de otra manera, valdría más ganar las dos primeras partidas que empezar con una derrota. El problema de este esquema de desempate es que beneficia a los jugadores más fuertes.

Pero algo es claro, no existe un sistema de desempate justo y en ocasiones en las competencias se utilizan diferentes criterios, por ejemplo, si jugaron dos rivales entre sí, que hubiesen empatado entre ellos, entonces se podría aplicar quién le ganó a quién. Y si empataron se podría aplicar un criterio para favorecer al que empató con negras.

Lo interesante entonces viene aquí. El ajedrecista Darío Muñoz me platicó su sistema de desempates. Para ello tomó los resultados de la Copa Sinquefield, que se llevó a cabo en Estados Unidos hace unos días y en donde Caruana, Carlsen y Aronian, empataron en el primer puesto. De acuerdo a unas extrañas reglas de ese torneo, si empataban tres el primer lugar, iban a eliminar ¿por sorteo? a uno de los tres para que los dos restantes jugaran un desempate. Carlsen se quejó e impuso su opinión como Campeón Mundial. Eventualmente no hubo desempates y se declaró campeón de la copa a los tres jugadores.

Pero de acuerdo a la idea de Darío, pudo haberse desempatado usando su curioso procedimiento. Lo que hace Darío Muñoz es ver cada partida de cada jugador y contar cuantas casillas dominó l blanco en toda la partida, así como cuantas casillas dominó en total el negro en toda la partida. Al final saca un promedio dividiendo el resultado final entre el número de jugadas. Su sistema llamado IDE (Índice de Domino de Espacio). Si la partida la ganó alguien -digamos el blanco, se le suman todos los puntos del dominio de casillas de blancas y negras. Si hubiesen empatado, cada jugador se queda con sus casillas dominadas. Si se pierde, toda la puntuación del jugador que perdió pasa al que ganó.

Muñoz confeccionó esta tabla:


Dar click para hacerla más grande

(los colores indican: VERDE es triunfo; ROJO es derrota y AMARILLO es empate).

En este esquema de desempate, Carlsen hubiese ganado por menos de 4 décimas. Sin embargo, aquí los jugadores no podrían buscar llegar a un resultado específico (como ocurre con otros sistemqas de desempate), porque éste se basa en un índice de dominio de casillas y todo esto está fuera de las posibilidades de los jugadores de calcular.

A Darío le dije que revisaría su idea. Sin embargo le mencioné que hiciese el ejercicio de los desempates por los métodos comentados y que son los tradicionales. ¿Llegará al mismo resultado?

Monday, August 27, 2018

Gigachess: bases de datos y búsquedas regulares



El software que he escrito para parte del desarrollo de mi tesis de doctorado no es lo rápido que quisiera y en ocasiones me he puesto a pensar si es el  enfoque correcto. La idea va así: de mi base de partidas de ajedrez, estoy tomando 1 millón de ellas y las estoy procesando de forma que cada una contenga dos campos: el encabezado de la partida: quién contra quién jugó y en qué torneo (incluyendo fecha). Los demás datos como rating no me interesan realmente. El segundo campo contiene una imagen de cada posición que se dio en cada partida. La posición la represento como una línea de caracteres Forsyth, que es un formato en modo texto para representar posiciones de ajedrez. Por ejemplo, la posición:



se representa como: "4t1r1/p1p2pp1/1d1p3p/1P3P2/1P6 /2c1D3/PA4PP/4T1R1/". La posición en modo texto se representa leyendo el tablero de izquierda a derecha y de arriba a abajo. Las piezas blancas se representan con sus iniciales en mayúsculas y las negras con minúsculas. Así, "4t1r1" significa que en la octava fila (la primera del negro), hay 4 casillas vacías, una torre negra, otra casilla vacía, un rey negro y una casilla vacía más. Las diagonales "/" simplemente sirven para denotar que pasamos a la siguiente fila, pero pueden omitirse. Si se omiten tengo exactamente 64 letras o números máximo. Obviamente puedo poner "4t1r1" como "1111t1r1", pero poniendo la cifra de casillas vacías me ahorro espacios.

Imaginemos que tenemos ya una base de datos armada así y que quiero buscar si en alguna posición se tuvo un caballo  blanco en f6 y un rey negro en g8. Mi busqueda buscaría esta posición: "6r1/8/5C2/8/8/8/8/8". Evidentemente ignoro (o debería ignorar) si hay otras piezas en donde yo estoy diciendo que hay casillas vacías. Debo -pienso- definir si es vacía o no con alg{un símbolo en la búsqueda. Se me ocurre entonces que si busco que exista un caballo blanco en f6 y cualquier pieza en g8, debería poder buscar algo así: "6?1/*/5C??/...", donde el símbolo "?" es un comodín que sustituye al símbolo "?" por cualquier pieza o casilla vacía en el tablero. Esto, de hecho, no es un invento mío, sino que se ha definido hace muchos años en cómputo. Hablamos de las búsquedas regulares, las cuales buscan "patrones" en cadenas de caracteres. Es un sistema que es muy versátil y pienso que podría ser muy útil en lo que estoy trabajando.

Mi problema básicamente es que si proceso un millón de partidas tendré aproximadamente 80 millones de posiciones. ¿Cómo puedo buscar sobre una base de datos con expresiones regulares que sea muy rápido? La idea de generar todas las posiciones que es las búsquedas sean muy rápidas. Por ejemplo, Chessbase permite buscar posiciones, pero el sistema lee cada partida y hace la búsqueda sobre la base de datos de referencia que se le dé y esto puede llevarle minutos. No es mucho, lo sé, pero pienso que mi enfoque podría hacer que con búsquedas de expresiones regulares, en mucho menos tiempo que Chessbase, debería saber en qué partida ocurrió una posición determinada.

Hay que decir que tampoco etoy pidiendo algo imposible, porque por ejemplo, si se le piude a Google que busque "regular search", entrega el siguiente resultado:

Cerca de 1,260,000,000 resultados (0.45 segundos) 

Es decir, en su gigantesca base de datos halla 1,260 millones de resultados en menos de medio segundo. Sí, sé que Google usa cómputo distribuido y que tiene montones de algoritmos refinados para sus complejas bases de datos, por lo que me queda claro que lo que quiero hacer tampoco pretende ser algo del otro mundo.

Hay un sistema RegEx, que permite hacer más fácil el asunto de definir las búsquedas de expresiones regulares y hay muchas aplicaciones que permiten crear estas búsquedas casi visualmente.


Entiendo que Oracle permite hacer búsquedas de expresiones regulares en sus bases de datos, pero no tengo más información y no tengo idea de cómo hacerlo en esa plataforma de base de datos. ¿Alguna idea de mis cuatro lectores?

Wednesday, August 22, 2018

GigaChess: una base de datos de posiciones de ajedrez


Llevo tres años trabajando en el doctorado y parece ser que ya las cosas se están aclarando. Tengo un lenguaje de descripción de patrones y ahora el plan -entre otros- es hallar los patrones comunes en la base de partidas que hoy en día tiene más de 7 millones de estas.

Una idea que llevaba hace tiempo trabajando era la de buscar patrones en una base de datos de posiciones, lo cual debe ser mucho más rápido que el tener que buscar el patrón jugando cada partida. Además, si cambio de patrón, tendría que volver a "jugar" partida tras partida para ver si el patrón que busco existe.

Por otra parte, pienso que si guardo cada partida como "fotografías" de cada posición que se dio, puedo hacer las búsquedas más rápidamente. La primera pregunta es cuánto espacio necesito. Hagamos uns imple cálculo: 7 millones de partidas por 80 posiciones (asumiendo que en promedio una partida tiene 40 jugadas, 80 movimientos de blancas y negras). Esto da: 560,000,000 posiciones en total. Si necesito un registro de al menos 64 casillas para guardar una posición (en formato Forsyth), esto nos dará 35,840,000,000 bytes, es decir, unos 35 gigabytes de almacenamiento. Hay que guardar, desde luego, el encabezado de cada partida y hacer el sistema que buisque los patrones. Vamos, hay trabajo por hacer.

35 Gigabytes no parece mucho espacio hoy en día, en donde tenemos discos con 1 o 2 terabytes de almacenamiento.


Así pues, el primer problema es generar las posiciones y ya escribí hace tiempo un programa que hace esta tarea. Cada partida, en la máquina que tengo, se procesa en promedio, en 5 segundos (veces menos).  Eso da, para 7 millones de partidas un total de 35,000,000 segundos, lo cual en días es equivalente a 405 días, como un año y tres meses...

Denasiado tiempo. Así que he reeducido a un millón de partidas, quizás menos. Por otra parte, AMD me donó una computadora mucho más rápida que la que uso normalmente y espero que esto baje el tiempo de procesamiento aún más. Con un millón de partidas, más o menos tardaré: 57 días, unos 2 meses...

Pronto seguiré dando avances sobre esta idea, la cual -después de mucho pensarlo- me parece más útil para la cuestión de programación de computadoras que para el ajedrecista que usa programas para apoyar su estudio.



Monday, August 20, 2018

Cuando el descaro no tiene límite



Hace unos seis años, quizás un poco menos, el entrante gobierno de Peña pretendía hacer un sinfín de reformas: la energética, la educativa, etcétera y se supone entonces que eso "movería a México". Para implementar la reforma educativa, con un supuesto nuevo modelo con el cual -ahora sí- los alumnos aprenderían, tenía el gobierno mexicano que hacer a un lado a la lideresa a perpetuidad del Sindicato de Maestros, la "maestra Elba Esther Gordillo". Y para ello, no se les ocurrió mejor idea que detenerla, fincarle cargos por lavado de dinero, por delincuencia organizada, por fraude al fisco, etcétera. La cosa era que una vez muerto el perro se acabaría la rabia.

Pero la reforma educativa tuvo otros inconvenientes. Una facción de Oaxaca no se sometió a la misma y hubo muchos conflictos. Finalmente la reforma -a seis años de gobierno- parece haber fracasado y hora que se va este gobierno por demás fallido, están haciendo como que nadie vio, nadie dijo nada, para salir lo menos raspados posibles. Fue claro que no es tan fácil oponerse a inercias del pasado, muy antiguas, que hacen que los cambios simplemente no se puedan hacer.

Pero regresando a la señora Gordillo, hay que decir que la llevaron presa y entonces comenzó el largo trámite de abogados defensores y acusadores. Curiosamente la maestra Gordillo de pronto enfermó y fue trasladada a algun hospital privado, en donde es mejor que a cualquier cárcel de este país. Ante argumentos como su edad, por ejemplo, eventualmente se le dictó prisión en su casa. y bueno, la ley a veces hace este tipo de cosas por compasión ante una edad avanzada.

Parecía pues que la maestra Gordillo, bien que mal, había sido eliminada de la política mexicana. Cabe señalar que nadie en su sano juicio podría defender a esta señora por los cargos que el imputaban. Una maestra de primaria, como ella, tenía una casa en San Diego, otra propiedad en Polanco, una zona costosa en la Ciudad de México y además, la sra. hacía gala de sus vestidos costosísimos y de sus bolsas de marca de más de 30 mil pesos. Así pues, es evidente para todos que esa señora tiene que haber hecho algo que no parece muy legal para poder tener esas propiedades lujosas y ese trebn de vida.

Pero algo pasó: la Procuraduría General de la República, después de seis años, no pudo acreditar los cargos que le imputaban a la sra. Gordillo y ésta fue puesta en libertad, aunque de nuevo, ya estaba de alguna manera libre pues no estaba físicamente en la cárcel, sino en prisión domiciliaria.

Y entonces, ahora que fue liberada, la maestra, la exlideresa del poderoso sindicato magisterial, se fue de vacaciones para hoy salir públicamente y decir todo lo que piensa. Y he aquí el discurso de una mujer que no tiene vergüenza, que ha vivido robando al magisterio, que ha sobornado a sus líderes locales regalándoles Hummers o más bien, dizque rifándolos.

Pero vean el descaro de la sra. Gordillo, que ahora le ha regresado la fuerza, se le acabarons sus múltiples enfermedades y está dispuesta "esta guerrera", como se autonombra, a regresar a la política mexicana. Triste asunto, triste país y lamentable política.


Lo dejo aquí. No tengo ya calificativos para ver que este país no ha cambido ni cambiará.

Sunday, August 19, 2018

Las diatribas de Fernández Noroña



Por años el político Gerardo Fernández Noroña ha sido muy activo. Cuando fue diputado federal se lucía en la tribuna poniendo en su lugar a cuanto funcionario que se presentaba. Les decía sus verdades aunque esto no pasaba de ser un show, porque estos funcionarios eventualmente ignoraban "el troleo" de este diputado.

También Fernández Noroña ha salido continuamente en canales de YouTube con sus diatribas contra unos y otros. Cuando no le gusta algo lo evidencia con sus discursos aunque de nuevo, no le haga nadie caso. Hubo incluso un momento que se sentía presidenciable aunque después cedió su idea para apoyar a López Obrador.

Ahora que ya es de nuevo diputado electo, más de uno lo ha apuntado con índice de fuego al verlo salir del salón VIP de un aeropuerto, me parece en Tijuana. Pero como Fernández Noroña es muy rijoso, discutió con el que ahora lo acusaba de una gran vida a quien se denomina "hijo del pueblo". Poco después salió otro video en donde una señora le dijo piojoso, cosa que se sale de las mínimas costumbres del respeto que se deben tener las personas, pero así la cosas.

Fernández Noroña, he visto en Twitter, parece que para evitar más agravios, ha empezado a bloquear cuentas de los que lo atacan de alguna manera. Eso tampoco es una buena idea aunque claro, está en su derecho. El problema con personajes como éste es que se sienten con la verdad absoluta y si partimos de esa base, pues no hay nada que discutir. Nunca podrá nadie dar un argumento válido contra los que pueda escribir el nuevo diputado electo.

Lo que parece que no se da cuenta Fernández Noroña es que la gente está harta de los abusos de quien detenta el poder, siendo diputado federal, jefe de gobierno, o incluso presidente. Por eso probablemente ganó Morena de forma apabullante, porque de verdad, este país está harto de tanto abuso por parte de la familia política y Fernández Noroña también cae en este rubro.

Y si el señor se presenta en una sala VIP de un aeropuerto no es para hacer drama, pero es poco inteligente de parte del nuevo diputado. Vamos, andamos con la piel muy sensible, queremos que los políticos vivan más como todos y de inmediato vemos todo lo contrario. Una sala VIP del aeropuerto no es la gran cosa pero evidentemente no todos pueden estar en ella, sino dejaría de ser VIP (Very Important Person, me dicen que significan sus siglas).

Y ojo, ser de la clase política no significa que vivas en la inmundicia. No. Lo que no se vale es usar grandes camionetas, tener bonos de telefonía, viajes, gasolina y seguro de gastos médicos privados, pagados todos por el Estado. Porque eso insulta a la mayoría de los mexicanos y aunque Fernández Noroña lo sabe, cuando ve la oportunidad, entonces se va a una sala VIP y se "pone en la foto" de los medios para demostrar que con darle "tantito" poder, el tipo cree que es de otra estirpe.

Es una pena, porque Gerardo Fernández Noroña, a pesar que no coincido muchas veces con sus juicios de valor, no me caía mal. Ahora con su defensa mediática de las galletas importadas que come o de los chocolates que consiguió aquí pero que probó en Francia, nomás habla de que l dieron un gramo de poder y se volvió loco.

Así las cosas.

Tuesday, July 31, 2018

Vendo dos ajedreces Lardy



En la Olimpiada de Ajedrez de Niza, en 1974, se jugó el ajedrez con un modelo que se conoció como "Lardy", probablemente porque éste era el nombre del fabricante. Es un modelo clásico de ajedrez Staunton.


Tengo un par de ajedreces Lardy a la venta. Uno es mío y otro es de un buen amigo. El mío cuesta 2500 pesos y el de mi amigo 3000 pesos. La razón de esta diferencias de precios es que mi ajedrez tiene un alfil "chueco", es decir, ligeramente chueco, es uno de los alfiles negros. El ajedrez de mi amigo está impecable y es literalmente nuevo, pues no se ha usado. El tamaño de los ajedreces es estándar, es decir, 3.75 pulgadas para el rey. 



Los precios no están a discusión. A quien le interese, escríbame a morsa@la-morsa.com. Cualquier duda también a mi correo. Gracias. (Dé click en las imágenes para verlos más grandes).