Nueve de agosto

Belleza

Algoritmo en tiempo O(n) para invertir una permutación in place. Gasta un bit para marcar los elementos de un ciclo ya visitados. El algoritmo es de Knuth, pero traté de no leerlo una vez que supe de su existencia. Redescubrir es lindo.

#define flip(x)         (~(int)(x))
#define is_done(i)      ((i) & 0x80000000)

void inv(int *a, int n) {
        int cur = 0, nx;
        int i = cur, x = a[cur];
        while (i < n) {
                nx = a[x];
                a[x] = flip(i);
                i = x, x = nx;
                if (is_done(a[nx])) {
                        for (; cur < n && is_done(a[cur]); ++cur)
                                a[cur] = flip(a[cur]);
                        i = cur, x = a[cur];
                }
        }
}

Tener

Me comenta mi mamá, como curiosidad, que, en italiano, cuando uno ha visto algo de género femenino, en lugar de decir "l'ho visto" (lo he visto) se dice "l'ho vista" (*la he vista).

Me da la sensación de que, por poder concordar, se trata de un adjetivo, y no de un participio. O acaso podría ser un participio femenino (?). No sé si existe tal cosa. O, mejor dicho, no sé cuánto sentido tiene el preguntarse si existe, porque, al fin y a la mecha, las clases de palabras son solamente un artificio inventado por los lingüistas, con una tendencia latinista, para explicarse a sí mismos cómo funcionan las lenguas. (Soy un nominalista/antirrealista de la gramática).

Observaba también que en castellano el verbo "tener" a veces se usa para armar perífrasis, con una función más parecida a la de un verbo auxiliar que a la de un verbo común y electricidad. Por ejemplo, en expresiones como "ya lo tengo hecho", "la tengo puesta", que me parecen muy comunes, o incluso "la tengo vista".

Creo recordar tener vista una tabla de conjugaciones en portugués que incluía tiempos en los que el verbo "tener" funcionaba como un auxiliar, reemplazando al castellano "haber". No sé portugués como para decir bien cómo era el asunto.

En inglés, los castellanos verbos ser y estar confluyen en "to be", mientras que tener y haber confluyen en "to have".

De alguna manera me imagino que tiene que haber una relación bastante fuerte en las lenguas indoeuropeas entre estos dos verbos. Algo como "tengo" = "hay en mí".

W

W y yo compañéramos del CBC hace alrededor de seis años. Solíamos tener conversaciones interesantes, nos llevábamos bien y onda que, nada. Pero, como cosa no triste sino natural, ese tipo de amistad rara vez excede el ambiente en el que nace.

La época del CBC tiene algo de prehistórico, como si fuera anterior incluso a la escuela secundaria, quizás porque el sentimiento era el de estar pasando por una etapa transitoria, y porque se extendió mucho menos tiempo en duración que aquella.

De esa prehistoria quedaron los recuerdos borrados de las voces, las caras, los nombres.

Hoy, seis años después, he tenido la oportunidad de escribirme con W por un servicio de mensajería instantánea, gracias a que en algún pasillo de mi mente seguía viva su dirección de correo electrónico.

Pero el W con el que me escribo hoy ya no es el mismo. Ahora no me recuerda, no sabe quién soy. Ya no soy el compañero con el que compartía algunos (pocos) intereses y afables conversaciones, sino un perfecto desconocido y un intruso. (Nadie es perfecto).

Me siento Rip Van Winkle. (La sensación es en algo parecida a la que generan esos cuentos en los que el protagonista se encuentra con su pueblo irreconociblemente cambiado, ya sea por el paso de los años o por alguna otra misteriosa razón. Además de Rip Van Winkle, hay una leyenda japonesa sobre un pescador que vuelve a su pueblo después de un largo viaje, uno de Alejandro Dolina que transcurre en la China sobre un hombre que vuelve de la guerra, uno de Socorro que se llamaba "Nunca visites Maladonny" que tiene un argumento ligeramente distinto.) Despertar del estado de coma debe ser una experiencia espeluznante.

10 comentarios:

B dijo...

si, depende el tiempo transcurrido...es como eso que decían que te podés congelar para que te resuciten cuando haya cura para tu enfermedad terminal ¿para que querés estar vivo cuando todo "tu mundo", tipo 60 años después, desapareció???

Bramida dijo...

no sé cómo he llegado hasta aquí pero...qué bello blog :)

Unknown dijo...

Bramida me ha quitado las palabras.

Hola P.

No te perderé de vista.

Un saludo.
miguel

Fede dijo...

1. No entiendo de algoritmos tan complejos, pero entiendo la sensación que describe. Una vez sentí eso cuando descubrí porqué funcionaba la tablita de Ruffini. Un poco más modesto, no?

2. En griego clásico tienen participios presentes. Su asombro se explica porque haber es un sinónimo de tener. Alguna vez me encontré con textos viejos que dicen "hube una vez una granja" o cosas así. Por eso también lo de "debe y haber": lo que debo y lo que tengo. También es interesante el uso que hacemos los argentinos de "ir". No nos gusta el tiempo futuro y, en vez de decir "lo haré", decimos "lo voy a hacer"

3. Y no dijo lo peor: la mujer que nos volvió locos y años después encontramos. Los amigos, vaya y pase.

Unknown dijo...

Vengo a conocerte P. Para ser un "nominalista/antirrealista de la gramática" (si es que lo entiendo como es) eres bastante observador y profundo en tus cavilaciones al respecto.

Me parece que alguien, alguna vez, me dijo que en francés, si hay por lo menos una mujer, no se generaliza como en español. No lo sé. En fin, el punto es que estoy de acuerdo con lo que dices sobre las clases de palabras... A mi me gustaría ser lingüista, por cierto.

'W' me recordó un par de entradas mías, el asunto de las expiaciones.

Un saludo.

Allau dijo...

Los participios en función adjetiva tienen femenino, "una cara conocida", "ciudad visitada".

Efectivamente en portugués los tiempos compuestos se forman con el auxiliar "tener".

En ruso, la terminación del tiempo pretérito varía si el sujeto es hombre o mujer.

etc.

vylia dijo...

Si, tal vez no sea tan buena idea.

Saludos.

David Gálvez Casellas dijo...

Eso que le comenta su mamá, como curiosidad, del italiano, también puede darse en catalán.

El cas/ el caso (un juicio en la televisión, por ejemplo):

Lo he seguido.
L'he seguit.

La casa (del tío del primo de la novia de mi abuelo):

La he visto.
La he vist o la he vista (both correct).

Me parece que esa concordancia nada tiene de raro. Lo raro es creer que todos los mundos (gramaticales, pictóricos, sexuales, culinarios) tienen que coincidir con nuestra visión culturalmente prefijada. En castellano sólo concuerda la primera parte de la frase (la/lo/etc.) y no el participo de pasado (seguido/visto/etc.). En otras lenguas sí.

Allau se ha anticipado con aquello de "las nalgas sudadas", "las pieles tersas", etc.

David Gálvez Casellas dijo...

Creo que en el ejemplo de antes, por querer ser demasiado ejemplarizante, he escrito mal un par de cosas:

"La he vista" debería ser "l'he vista" etc.

P dijo...

> Me parece que esa concordancia nada tiene de raro.

Mejor para Ud. Yo no quiero perder mi capacidad de sorprenderme ni sentirme culpable por hacerlo.