antropologia y programacion logica

447
1 ANTROPOLOGIA Y PROGRAMACION LOGICA Una propuesta sistemática I CONTEXTUALIZACION Y PLANTEAMIENTO DEL PROBLEMA 0. SINTESIS El programador que llega a PROLOG desde un lenguaje clásico, experimenta una revelación semejante a la del escolar que pasa de la aritmética a los primeros rudimentos del álgebra. Puede representar como incógnitas aquellas entidades cuyos valores busca, establecer ciertas relaciones entre estas incógnitas y, sin tener que detallarlos, dejar que la máquina considere todos los casos posibles y aporte todas las soluciones. ¿Qué más se puede pedir? Alain Colmerauer El trabajo siguiente consta de dos partes. En la primera (Introducción y capítulo I) se realiza la presentación de una herramienta básica, un algoritmo de cálculo lógico sobre el cual hemos elaborado formalismos e interfaces que lo adaptan a los requerimientos de las ciencias sociales en general y de la antropología en particular. En estos capítulos iniciales el foco es amplio y el tono es más bien di- dáctico, porque se presume que el lector es un antropólogo sin más experiencia en inteligencia artificial que algunas lecturas dispersas y una cierta sensibilidad a los rumores que pueblan la atmósfe- ra. Lo que demostramos en esta sección es la utilidad de un instrumento que, unido a una perspectiva renovadora en materia formal, es capaz de transformar profundamente las técnicas de elaboración y de arrojar enseñanzas de un nuevo tipo sobre la formulación de teorías y la comprobación de hipótesis en el interior de nuestra disciplina. En la segunda parte (capítulos II-V), que tiene propiamente formato y textura de tesis, se anali- zan los aspectos lógicos más puntuales que se erigen como prerrequisitos de la implementación de esa herramienta, y se sacan consecuencias que conciernen por un lado a una reformulación de los méto- dos convencionales de descripción, explicación y prueba, y por el otro a la introducción de una instan- cia axiomáticamente fundada en la construcción de modelos. El foco es en este caso más estrecho y el tono es enteramente técnico, porque se apunta a un lectorado más específico, igualmente antropológi- co, del cual se supone que domina los tecnicismos genéricos presentados en la primera sección. Lo que se busca demostrar en esta segunda parte es que nuestras propuestas metodológicas son capaces de plegarse a premisas lógicas divergentes y a marcos teóricos disímiles, sin dejar de constituir un punto de referencia operativo en el que los profesionales pueden encontrarse para refinar su debate. Toda la tesis no es más que el marco que fundamenta, pone en acción e interpreta los resultados de una herramienta metodológica cuya instrumentalidad, replicabilidad y adecuación habrá que de- mostrar; sin resultados (programas, modelos, pruebas de hipótesis, testeo de teorías), el discurso es- tará condenado a quedar en promesa, de modo que por una vez lo importante no es lo que se puede decir del instrumento, sino lo que se puede hacer con él. Toda la tesis es, al mismo tiempo, el testi-

Upload: drcnihil80

Post on 14-Dec-2014

84 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Antropologia y Programacion Logica

1

ANTROPOLOGIA Y PROGRAMACION LOGICA Una propuesta sistemática

I

CONTEXTUALIZACION Y PLANTEAMIENTO DEL PROBLEMA

0. SINTESIS

El programador que llega a PROLOG desde un lenguaje clásico, experimenta una revelación semejante a la del escolar que pasa de la aritmética a los primeros rudimentos del álgebra. Puede representar como incógnitas aquellas entidades cuyos valores busca, establecer ciertas relaciones entre estas incógnitas y, sin tener que detallarlos, dejar que la máquina considere todos los casos posibles y aporte todas las soluciones. ¿Qué más se puede pedir?

Alain Colmerauer

El trabajo siguiente consta de dos partes. En la primera (Introducción y capítulo I) se realiza la presentación de una herramienta básica, un algoritmo de cálculo lógico sobre el cual hemos elaborado formalismos e interfaces que lo adaptan a los requerimientos de las ciencias sociales en general y de la antropología en particular. En estos capítulos iniciales el foco es amplio y el tono es más bien di-dáctico, porque se presume que el lector es un antropólogo sin más experiencia en inteligencia artificial que algunas lecturas dispersas y una cierta sensibilidad a los rumores que pueblan la atmósfe-ra. Lo que demostramos en esta sección es la utilidad de un instrumento que, unido a una perspectiva renovadora en materia formal, es capaz de transformar profundamente las técnicas de elaboración y de arrojar enseñanzas de un nuevo tipo sobre la formulación de teorías y la comprobación de hipótesis en el interior de nuestra disciplina.

En la segunda parte (capítulos II-V), que tiene propiamente formato y textura de tesis, se anali-zan los aspectos lógicos más puntuales que se erigen como prerrequisitos de la implementación de esa herramienta, y se sacan consecuencias que conciernen por un lado a una reformulación de los méto-dos convencionales de descripción, explicación y prueba, y por el otro a la introducción de una instan-cia axiomáticamente fundada en la construcción de modelos. El foco es en este caso más estrecho y el tono es enteramente técnico, porque se apunta a un lectorado más específico, igualmente antropológi-co, del cual se supone que domina los tecnicismos genéricos presentados en la primera sección. Lo que se busca demostrar en esta segunda parte es que nuestras propuestas metodológicas son capaces de plegarse a premisas lógicas divergentes y a marcos teóricos disímiles, sin dejar de constituir un punto de referencia operativo en el que los profesionales pueden encontrarse para refinar su debate.

Toda la tesis no es más que el marco que fundamenta, pone en acción e interpreta los resultados de una herramienta metodológica cuya instrumentalidad, replicabilidad y adecuación habrá que de-mostrar; sin resultados (programas, modelos, pruebas de hipótesis, testeo de teorías), el discurso es-tará condenado a quedar en promesa, de modo que por una vez lo importante no es lo que se puede decir del instrumento, sino lo que se puede hacer con él. Toda la tesis es, al mismo tiempo, el testi-

Page 2: Antropologia y Programacion Logica

2

monio de la construcción de una teoría de modelos que soñábamos preexistente y consabida, y que sin embargo hemos debido construir o esclarecer paso a paso, a contrapelo de lo que muchos sostie-nen como verdad consagrada o de lo que algunos sospechan resuelto.

La búsqueda de una estructura adecuada para la presentación de nuestras elaboraciones se ha re-velado problemática, dado el carácter fatalmente lineal de todo el texto encargado de reseñarlas. Por otro lado, aunque aquello de lo que aquí se habla es un sistema formal, el metalenguaje que se utiliza para describirlo no es formal en sí mismo. No hay un isomorfismo perfecto, entonces, entre el rigor del instrumento propuesto y los desbordes en que pudiera incurrir la retórica que lo promueve.

De todas maneras, nos ha parecido conveniente adjuntar todo el material computacional necesa-rio para probar cada uno de los puntos que pudieran manifestar ribetes polémicos en forma de pro-gramas lógicos inmediatamente ejecutables en un procesador común. La totalidad de los ejemplos, in-cluso los más contingentes y en apariencia fragmentarios, son programas susceptibles de ejecutarse, pequeños o grandes modelos en capacidad de producir.

En lo que se refiere al texto en sí, hemos decidido proceder mediante acercamientos asintóticos que van fundando el terreno para una expresión plenamente formal del sistema propuesto, el cual sólo será patente, en su conjunto, en el momento de las conclusiones. Estimamos que lo que aquí se pre-senta es mucho más que una herramienta que puede agregarse a las ya disponibles para arrojar un be-neficio marginal. La exploración de los recursos formales que se nos ponen al alcance con la escalada de la evolución tecnológica toca zonas sensibles, pone al descubierto dilemas insospechados y señala, con asomos de certidumbre, la necesidad de revisar algunos de nuestros fundamentos epistemológicos que creíamos más inconmovibles.

La idea básica es que de ahora en más podemos calcular razonamientos, conferir a la ideación cualitativa recursos que antes sólo eran prerrogativa de los números, y que esto es posible sin incurrir en ningún esquematismo, sin axiomatizar la disciplina, sin sustentar una concepción mecanicista de la existencia. Este punto tendrá que ser debidamente demostrado, pues no hay en su expresión la menor traza de metáfora; y ninguna duda cabe que esta demostración será difícil. Lo único que puede antici-parse a todos estos respectos es que lo que aquí comienza a proponerse no conlleva ni reafirmar el ideal de la cuantificación, ni reiterar la preceptiva pontificante de las facciones nomológico-deductivas de la filosofía analítica, ni reivindicar la necesidad de emular los métodos (presuntos o reales) de las llamadas ciencias duras. Por el contrario, la presente tesis quiere constituir, desde el inicio, una cru-zada en favor de la formalización cualitativa, una protesta contra el facilismo positivista que aún hoy permea un buen segmento de la epistemología académica y una búsqueda de los métodos propios de una disciplina que, en muchos sentidos, no puede ni debe dejar de ser lo que ha sido.

Page 3: Antropologia y Programacion Logica

3

1. INTRODUCCIÓN

El reciente auge de las estrategias irracionalistas en antropología (bajo las variadas máscaras de la

fenomenología, la antropología simbólica, la antropología interpretativa, la etnografía dialógica, el posmodernismo) se explicaría -según se argumenta- por el hundimiento de los programas de inves-tigación que buscaban situar la disciplina bajo el auspicio de los métodos propios de las ciencias natu-rales. El retraimiento relativo de la ecosistémica, de la cross-cultural anthropology, del neo-evolu-cionismo y del materialismo cultural demuestra con elocuencia el descrédito de una concepción más rigurosa que debería haber posibilitado la existencia de una disciplina consensualmente más homo-génea. Este fracaso parecería ser tan rotundo que los sofisticados modelos inscritos en la antropología matemática o en la antropología computacional no cuentan virtualmente para nada, y no alcanzan a modificar un ápice el balance de fuerzas.

Existen otras razones de fondo, naturalmente, pero aquí haremos de cuenta que ese diagnóstico es correcto, porque lo es en parte. Trataremos también de clarificar la cuestión y ¿por qué no? de i-dentificar las causas y revertir las culpas. Este no es, empero, nuestro objetivo central, sino un corola-rio que no por más colateral es menos apremiante. No es necesario aclarar que el problema es compli-cado, que las antropologías interpretativas y posmodernas no constituyen una solución satisfactoria ni siquiera en opinión de sus promotores, y que todo el asunto, en fin, merecería un estudio específico.

Sabemos que todo nuestro razonamiento sobre el particular es hasta cierto punto simplista y que no hace justicia a la complejidad de los hechos: en el ámbito "cientificista" o "positivista" (que carece de una denominación o de un nom de guerre que no entrañe un matiz peyorativo) no existe una pers-pectiva unificada sobre los que deberían ser los métodos propios de las ciencias naturales, sino una multiplicidad de paradigmas contrapuestos y una multitud de científicos que en su trabajo habitual pueden no sentirse ni implicados en una causa ni envueltos en una crisis. Pero cuando hablamos de la oposición entre ciencias naturales y ciencias del espíritu, o entre ciencias y humanidades, o entre ex-plicación y hermenéutica, aunque esas disyuntivas no apunten siempre a los mismos referentes, todos sabemos muy bien de qué estamos hablando; y todos entendemos además que, en lo que a la antro-pología respecta, estamos aludiendo a la discusión primordial. Se trata de una polémica que posterga el tratamiento de otras cuestiones hasta tanto ella misma no se resuelva: ¿es la antropología algo así como una ciencia, o es "otra cosa"?. Esta es la inflexión esencial que está implicada en este trabajo, aunque en apariencia distraigamos energías hablando de otras cuestiones.

Pese a que este ensayo versa principalmente sobre una técnica informática, no es por hipocresía ni por indiferencia que vamos a declinar en lo que sigue la discusión (necesaria) sobre las condiciones políticas y sociales del advenimiento de las máquinas, sobre su fascinación fetichista, su proliferación y su repentina necesidad. De pronto la demanda se ha vuelto comparable a la oferta, que ya de por sí es inconmensurable, a pesar de que pocos saben con exactitud qué es lo que se puede demandar. Es-tamos en la era de las máquinas, y la sociedad se transforma no sólo más allá del alcance predictivo de las ciencias sociales, sino más allá de la capacidad que ellas muestran para explicar lo que está suce-diendo; al ignorar lo que técnicamente significa todo esto, el científico social promedio está imposibi-litado incluso para describirlo.

No existe, que sepamos, una antropología de la subcultura informática, ni un estudio de los efec-tos de la proliferación informacional sobre la sociedad, ni un análisis sensato y sistemático de sus co-

Page 4: Antropologia y Programacion Logica

4

rrelatos ideológicos1. Esta elaboración es imprescindible, y tal vez nos sintamos compelidos a em-prenderla pronto nosotros mismos, más aún cuando la "revolución" informática apenas ha hecho sentir sus efectos en nuestra disciplina; pero quede claro que no lo haremos ni aquí, ni ahora, y que esta postergación no implica como su consecuencia lógica que estemos lisa y llanamente a favor de las máquinas, de la pérdida de la artesanía en el desarrollo de los métodos o de la automación del sa-ber. No propugnaremos, entonces, una "antropología computacional" en la cual haya que militar en contra de tal o cual oscurantismo humanista, sino que presentaremos una herramienta que, aunque no presume de neutralidad, puede llegar a servir a todos por igual, a condición que se crea que toda ciencia tiene que basarse en un método y que los métodos que nosotros tenemos hasta ahora necesi-tan perfeccionarse.

El trabajo siguiente es algo más complejo y diversificado de lo que es habitual entre los que pro-ponen innovaciones metodológicas, porque pretendemos al mismo tiempo demostrar y persuadir. De-mostrar el valor de recursos computacionales inexplorados abiertos a la disciplina, y persuadir a los que (con toda la razón) desconfían del cientificismo a ultranza, de la cuantificación forzosa y de los rigores ilusorios. La persuasión es además, desde siempre y tal vez para siempre, el modus dominante en nuestra clase de ciencia. Pretendemos realizar ambas tareas en un lenguaje que pueda tanto conci-tar el interés de los primerizos como satisfacer el nivel de especificación que exigen los expertos, aunque no dudamos que la lectura sea dificultosa tanto para unos como para otros. Pese a que este trabajo no se define como interdisciplinario, los expertos que tenemos en mente se encuadran tanto en la antropología como en la informática, porque en aquélla nunca se han introducido sistemáticamente herramientas como las que aquí describiremos, y en ésta no se ha presentado jamás un campo de aplicación tan alejado de sus dominios habituales y que ofrezca tantos desafíos.

Sentimos que en el cuadro opositivo que habrá de trazarse entre la informática y la antropología, esta última no podría reemplazarse por cualquier otra disciplina sin perder algo de las tensiones emer-gentes de la marginalidad de nuestras conceptualizaciones y del relativismo escéptico inherente a nuestro modo de pensar. La antropología no es en ese cuadro una ciencia cualquiera, referida aquí sólo por el hecho de ser la que incidentalmente practicamos, sino el saber que opone a los métodos propuestos su experimento más crucial.

La articulación que se explora en esta propuesta, además, se enclava en un espacio del desenvol-vimiento del método que rara vez o nunca había sido objeto de disección. Tendremos oportunidad de verificar que en el desarrollo del trabajo de elaboración teórica y construcción modélica tal como lo concebimos, muchas de las problemáticas centrales de la epistemología (las definiciones categóricas, la cuantificación, el cisma entre técnica, método y teoría, la disyuntiva entre inducción y deducción, la diferencia entre términos teóricos y términos observacionales, las reglas de correspondencia, las re-glas de transformación de frases bien formadas) se han desplazado hacia la periferia y que, concurren-temente, asumen cierto protagonismo otras nuevas para las que no existe aún un repertorio de res-puestas consagradas. No es que aquellos interrogantes se cancelen; simplemente se postergan, hasta tanto lo más básico, lo que permite poner los métodos en marcha, resulte esclarecido por completo.

1 Aparte de textos apocalípticos y de metodología precaria o indiscernible, como los de Roszak, Shore o Michael Shallis, conocemos un ensayo bienintencionado pero obsoleto de Paola Manacorda (El Ordenador del Capital, Barcelona, Blume, 1982), y un lapidario estudio de Vincent Mosco (Fantasías electrónicas. Críticas de las tecnologías de la información, Barcelona, Paidós, 1986) sobre una tecnología que luego se reveló marginal. Estudios relevantes, pero ya viejos, son los de Walter M. Mathews (ed.), Monster or Messiah? The computer's impact on society, Jackson, University of Mississippi Press, 1980, y Donald H. Sanders, Computers in Society, N.York, McGraw-Hill,1981.

Page 5: Antropologia y Programacion Logica

5

Nuestro objetivo impone la demostración de una serie de hipótesis de las que aquél se deriva como consecuencia probable. La primera de esas hipótesis es la que sigue: si las orientaciones forma-lizadoras en antropología fracasaron, ello sucedió como producto de la persistencia de nociones, mé-todos y técnicas propios de las estrategias interpretativas en el interior de su entramado referencial y de sus esquemas de procedimiento, y como saldo de un concepto demasiado laxo de las operaciones axiomáticas correspondientes a dicha formalización. Los formalistas pensaban que edificar modelos y endurecer la ciencia resultaba más fácil de lo que es realmente el caso, y que sólo sería cuestión de proponérselo. Las experiencias formales de la antropología se incrustaban en un tejido discursivo que no estaba preparado ni para formular adecuadamente las preguntas, ni para encontrar sentido en las respuestas.

Nótese, entre paréntesis, que hemos identificado en un solo cuerpo orgánico el proyecto de una antropología científica y la idea de una ciencia formal. Quien piense que, por algún privilegio especial, la antropología puede llegar a ser una ciencia sin formalizarse en algún grado, si proyecta seguir pen-sando de ese modo hará bien en abandonar la lectura en este punto y en frecuentar ideologías que le procuren más placer. Igual exhortación se aplica, para ser ecuánimes, a quien postule la formalización o la adopción de las máquinas como finalidades en sí mismas, sólo porque ya ha llegado la hora de comportarse científicamente. Las máquinas no han de adoptarse porque sí, o porque son máquinas de escribir magníficas que han tornado obsoleto al engrudo, sino sólo en tanto y en cuanto a través de ellas se obtengan soluciones consistentes e imaginativas a los problemas que aquejan el método.

La propuesta de cientifización de la disciplina está pasando por un mal momento. Aquí y allá el irracionalismo reclama acciones tan incomprensibles como absurdas, y hasta han logrado que algunos científicos serios se las festejen: la abolición de la distinción entre sujeto y objeto, la supresión del an-tropólogo como mediador entre culturas, el reemplazo de la terminología analítica por el sentido co-mún, por la credulidad absoluta en la perspectiva del actor, por conjeturas que adrede no reivindican ningún valor de verdad o por el silencio. Pero lo que se les responde ni es más elocuente ni tiene mu-cha mayor solidez. En el trayecto de la tesis tendremos oportunidad de ponderar algunas aventuras formalistas y cientificistas de la antropología en lo que realmente valen, que por desdicha es muy poco.

Lo que decíamos es que no existen, de hecho, estrategias formales liberadas por completo de sombras retóricas, de lagunas deductivas, de thick description, de contradicciones en los fundamentos y de simplismos en los desarrollos. Mal que nos pese a quienes discrepamos con este lugar común de la reciente "etnografía experimental", nuestra disciplina ha sido, como pocas, literatura de ficción. Los antropólogos posmodernos (Clifford 1988; Strathern 1987) han elaborado esta circunstancia, hacien-do hincapié en los artificios literarios mediante los cuales la etnografía comprometida con una antro-pología de pretensión científica aspiraba a legitimarse; a ellos remitimos para probar este punto, aun-que no estemos para nada de acuerdo con la alternativa que ofrecen y con la renuncia metodológica que representan.

Por otra parte, el carácter aproximativo, oscuro y retórico del discurso antropológico convencio-nal quedará de manifiesto por sí solo, cuando se ponderen las cotas de rigor a las que los recursos a proponer nos acercan. No será preciso, por consiguiente, demostrar axiomáticamente este particular; alcanzará con una simple ostensión comparativa del punto en el que estábamos y de las posibilidades que se inauguran. En lo que al rigor lógico concierne, aquí no reputamos ambiguos e impresionistas tan sólo a antropólogos de la estirpe humanista de Boas, Benedict o Frazer, quienes deliberadamente no lo perseguían; cuando decimos que la antropología convencional ha estado sumida en la misma

Page 6: Antropologia y Programacion Logica

6

nebulosa, aludimos también a profesionales liminales como Murdock, Goodenough, Radcliffe-Brown o Marvin Harris, e incluso a los formalistas que (como Kronenfeld, Douglas White, Harold Driver o Hans Hoffmann) han descollado en las gestas matemáticas, estadísticas y computacionales de la dis-ciplina. Cuando se pasa alguna elaboración antropológica formal a cláusulas de programa lógico in-variablemente deja al desnudo sus debilidades, y no precisamente por limitaciones en la tecnología que se le aplica; más adelante tendremos ocasión de comprobarlo con una regularidad que tiene algo de fatigosa y que nos habla elocuentemente de los efectos devastadores de un siglo y medio de dis-curso sin control. Pero la realidad, aún la realidad esquemática de la teoría, no se puede meter en la máquina así como está para ver qué sale del otro lado. Entre la materialidad de los planteos empíricos y la idealidad de los métodos formales está faltando una dimensión; entendemos que esa dimensión es una teoría de modelos, y estamos decididos a formularla.

Como esta propuesta atañe a soluciones metodológicas, hemos optado por no predefinir los problemas que se acomodan a ellos. Creyendo entrever las respuestas, no sería juego limpio encargar-se también de seleccionar los interrogantes. Esto quiere decir que en lugar de haber diseñado la tota-lidad del espacio de la investigación, desde los problemas sustantivos hasta la epistemología, pasando por la organización de las campañas, escogimos un modo de operar algo menos omnipotente: nos hemos hecho cargo del momento resolutivo y metodológico de problemas ya planteados, solicitando a los respectivos responsables que se hicieran cargo de la evaluación de las soluciones propuestas. Esto nos ha eximido, entre otras cosas, del trabajo de campo, con toda su cohorte de problemas con-tingentes, permitiendo que nos concentráramos en las articulaciones de interés teórico más general.

Algunos especialistas que han trabajado con nosotros, y que se vieron compelidos a definir con mayor penetración reflexiva de la que acostumbraban lo que querían expresar al hablar de rasgo diag-nóstico, de estilo artístico, de elemento narrativo, de indicador, de estructura social, de interacción o de proceso de cambio, pudieron evaluar suficientemente la distancia que media entre una pretextación difusa y un modelo cabal. Y tuvieron que reconocer también que, cuando las variables son numerosas y su interrelación es compleja, ese modelo no se puede construir ni evaluar literariamente, a pulso y de memoria, y que la pretensión antropológica de hacerlo así estaba radicalmente mal encaminada. Que nuestra ciencia sea blanda no implica que las relaciones, entidades y estructuras que en ella se manejan sean menos en número o más sencillas que las que se articulan en disciplinas más respetables, las que confían sus operaciones sintéticas y analíticas a los artefactos que sean menester sin sentirse por ello menoscabadas.

Si se nos ha permitido el privilegio del trabajo cooperativo, ello ha sido porque en opinión de los investigadores que nos han abierto las puertas hacia la intimidad de su objeto, ninguna pieza del in-ventario formal preexistente, epistemología incluida, ha demostrado alcanzar. La antropología está en crisis, y ello poco tiene que ver con que las culturas exóticas se hayan planetizado, o con que existan más candidatos haciendo fila que vacantes profesionales. El problema es esencialmente metodológico, y hasta de credibilidad global de la metodología: en antropología sociocultural, por lo menos, los mo-delos consagrados de investigación no funcionan, los conceptos disponibles no se aplican a las situa-ciones, las técnicas no arrojan resultados útiles. En fin, existen razones para creer que el modo indi-vidualista (o egocéntrico) de producción teórica ya no puede dar más de sí, y que debe ser reempla-zado por otra cosa.

Por otra parte, haber confiado a los filósofos de la ciencia el esclarecimiento de nuestros dilemas no parece habernos beneficiado mucho, puesto que las estructuras discursivas con las que nos afron-tan poseen tan escasa instrumentalidad como cualquier formulación intuitiva que tuviéramos antes. La

Page 7: Antropologia y Programacion Logica

7

utilidad de la epistemología es irrefragable en lo que hace a ciertos controles del diseño investigativo, y en ello insistiremos mil veces; pero la reflexión filosófica en torno del método ha demostrado ser débil, a nuestro juicio, como motor de la construcción metodológica y como conocimiento de apoyo para la elaboración de modelos que funcionen. La epistemología constituida de Popper, Kuhn o La-katos y sus descendientes (constituida también, dicho sea de paso, lejos del terreno concreto de la in-vestigación sociocultural y, por lo que nos consta, lejos del sudoroso taller de la tecnología) no es la solución a nuestros problemas, ni tampoco lo es la lógica de los libros de texto, menos ideologizada pero demasiado abstracta, como si las configuraciones axiomáticas no se pudieran o quizá no se de-bieran "bajar" al nivel del trabajo teórico estándar.

Originadas en la filosofía de alto vuelo, estas empresas fallan tanto por su falta de carácter instru-mental como por su discursividad idealizadora de la situación investigativa. Nos ofrecen página tras página de prescripciones, ejemplos y anécdotas, fórmulas impenetrables codo a codo con el didac-tismo pueril de los cisnes negros, enumeraciones de razonamientos acertados e incorrectos y rótulos latinos para las falacias recurrentes; pero ni un solo método conducente a la propia instrumentación sistemática de tanta sabiduría, ni un estudio severo -siquiera- de la posibilidad de su aplicación a pro-blemas de la práctica científica real. Además, en lo que respecta a los procedimientos de inferencia connaturales a los cánones "deductivos" que promocionan, la especialidad de la filosofía analítica y de la paideia epistemológica, inadvertidamente o a sabiendas, se sitúa alrededor de un artificio que luego demostraremos perimido, incompleto e inadecuado (el cálculo de proposiciones), que no sirve si-quiera para deducir que Sócrates ha muerto.

Decíamos que estas construcciones filosóficas eran discursivas, nebulosas, inexactas. En compu-tación es público y notorio que este aserto no necesita demostrarse, porque la inteligencia artificial, pese a sus propios desórdenes, ya lo corroboró sobradamente. Cuando en 1965 Robinson pretendió implementar la mecanización de la lógica abstracta para la demostración automática de teoremas, los fantasmas tomaron cuerpo donde menos se los esperaba. Se halló que las reglas de inferencia tradicio-nales, tales como el modus ponens, sometidas históricamente a la necesidad de resultar lo suficiente-mente asequibles como para permitir el seguimiento intuitivo de los procedimientos de prueba, eran demasiado débiles para soportar un cálculo verdaderamente axiomático. La "intuición lógica" que re-gulaba la admisión de las verdades autoevidentes y que controlaba la transmisión de los valores de verdad resultó estar plagada de supuestos de sentido común y de ruido ideológico. Se tuvo que inven-tar una regla más fuerte, el algoritmo de resolución, que si bien es difícil de seguir a ojo desnudo, re-sulta eficiente para su tratamiento en máquinas (cf. Robinson 1965; Malpas 1987; Thayse 1988; Blä-sius y Bürckert 1989), y se debió modificar asimismo el nivel y el estilo de tratamiento de las entida-des lógicas, abandonando para siempre las proposiciones en beneficio de los predicados2, y de cierto tipo muy concreto de predicados expresados de una forma especial.

En otras palabras, la lógica necesitó ser replanteada, pues en términos reales toda ella adolecía de ambigüedad desde su nacimiento, aparte de generar explosiones combinatorias por poco que se apli-cara al tratamiento de problemas de cierta magnitud o del mundo empírico. Y aún en los escasos en-claves en los que la sedimentación y el entrecruzamiento de experiencias axiomáticas garantizaban la exactitud de los sistemas lógicos, pronto se vio que el análisis por sí solo no podía llevar muy lejos: sin heurísticas y sin corazonadas aproximativas, sin una interacción precisa con un conocimiento

2 En la segunda y tercera parte de la Tesis explicaremos pormenorizadamente cada uno de estos conceptos, conforme a la significación que asumen en este contexto.

Page 8: Antropologia y Programacion Logica

8

contextual, relativo al objeto, la lógica se extraviaba en un laberinto infinito de pasos discretos que ninguna máquina sería (ni siquiera teóricamente) capaz de atravesar. Ninguna lógica anterior a la computadora habla siquiera de la estructura de representación de los conocimientos, de tiempos razonables de resolución de un problema, de procesamiento de masas de datos, de retrodicción del objeto por inversión del análisis o de la necesidad de podar las ramas de una combinatoria median-te una heurística.

Con los métodos tradicionales no era posible entonces emprender genuinamente un cálculo lógi-co, que fuera comparable al cálculo matemático que media desde siempre entre las entidades de los universos cuantificables. A escala de la capacidad humana de cálculo, sin embargo, las debilidades pragmáticas de la lógica académica rara vez llegan a ser significativas o perceptibles, aunque sin duda sus fallos son constantes y su efecto de arrastre puede llegar a ponerse de manifiesto. El momento ha llegado (porque la tecnología ya está en capacidad de vehiculizarlo) de dictar la sentencia que corres-ponde a los veredictos de Church, de Turing y de Gödel respecto de la computabilidad de los cál-culos lógicos y su relación con la posibilidad de la prueba.

Partimos de una doble consigna: El simbolismo lógico es fetichismo puro si no es la notación de un cálculo. El cálculo es pura pérdida de tiempo si no discurre como solución de un problema. Hay que llevar a puerto, de una vez, un procedimiento mecánico de cálculo que hasta el día de hoy ha sido tan sólo una figura del lenguaje. Y esta no es una pretensión desmesurada: una vez que se fijan las reglas del juego, la inferencia de conclusiones a partir de premisas, cuantas y cualesquiera sean éstas, no tiene por qué ser menos axiomática que el uso de las tablas de multiplicar. De aquí en más, mecá-nico quiere decir menos "ejecutable necesariamente por una máquina" que "lo suficientemente ex-plícito, bien definido, operativo y preciso como para que hasta una máquina lo pueda resolver".

Acordemos que esta implementación en gran medida está pendiente y que, hasta tanto no se ma-terialice, los ásperos simbolismos de la notación lógica son más un emblema de un rigor difuso que un mecanismo de desambiguación. La lógica es bastante menos majestuosa de lo que aparenta, y no sólo en los márgenes de la paradoja o en las vecindades de los límites. Pero admitamos también que ine-xactitud o prueba parcial no es lo mismo que catástrofe. La crisis se nota menos en las bases episte-mológicas que en los usos de la ciencia concreta. Se trata, en última instancia, de un problema de gra-nularidad o de masa crítica: la epistemología o la lógica, así como el trabajo científico convencional, pueden sobrevivir al razonamiento ocasionalmente defectuoso. Las ciencias sociales tal vez no, por-que su discurso no se asienta (todavía) sobre ninguna fundamentación inicial, ninguna línea de pro-cedimientos intrínsecamente correcta, ningún consenso metodológico, ninguna prueba taxativa, nin-guna certidumbre tangible.

La deplorable trayectoria de los conatos formalistas en nuestra disciplina es aleccionadora, y se-gún comenzamos a barruntar no siempre tiene que ver con la imposibilidad de instrumentar todo lo que la filosofía de la ciencia nos dicta, porque los términos de ese dictado son imprecisos. Lo que más nos ofende de la filosofía analítica y de sus exploraciones en la lógica de la investigación es, precisa-mente, la lejanía metafísica de su lógica, su imposibilidad de articularse con una práctica del método, con una heurística positiva. Podría decirse que la epistemología constituida funciona sólo en reversa, avasallando las elaboraciones teóricas de nuestras pobres ciencias y descubriendo falacias por todas partes, para después ordenarlas en una matriz que no pocas veces, en pleno siglo XX, aparece plena de resonancias escolásticas: esto es una apódosis, aquéllo un a dicto secundum quid ad dictum sim-pliciter, y así el resto.

Page 9: Antropologia y Programacion Logica

9

La alternativa a un latín en retroceso son las fórmulas inextricables de la teoría de modelos, que fingen un cálculo que en general las máquinas recusan. Se habla de refutabilidad y de verificación co-mo si esas operaciones fueran transparentes, como si entre las entidades de un discurso científico y las cosas del mundo existiera un mapeado inequívoco. Se ignora todo lo concerniente a las lógicas des-viadas y todo lo actuado por la lógica después de Principia Mathematica, por no decir nada de la ló-gica computacional. Bajo pretexto de la historia, la "lógica" de la investigación se abisma en dilemas que no vienen al caso o que tienen que ver con otros asuntos, fuera de la lógica y de los modelos: la forma en que los paradigmas se suceden, los contornos de las comunidades científicas, la defensa (o la condena) de la subjetividad, la denuncia de los deslices seudocientíficos de las teorías que un autor a-borrece en un momento dado, el colapso (o la gloria) de la Razón. Todo se agota en este muestrario teratológico, en este formalismo sin forma propia, en este academicismo, erudito hasta el deslumbra-miento pero con escasos destellos de vigor creativo en lo que al método respecta.

A fuerza de creer en los rigores de los que otros se jactan a veces sin poseerlos, la crisis de nues-tra ciencia se comportó en algún momento como el antecedente de una conclusión pragmática: noso-tros mismos hemos dictaminado que, ante la mediocridad de nuestros modelos, debíamos rentar los servicios de los epistemólogos, filósofos analíticos, lógicos, matemáticos o computadores científicos, intuyendo que en la reflexión especializada de los otros se encontraba el secreto de la aplicación de nuestros métodos (cf. Reynoso 1990c). Huelga decir que el ardid no funcionó. El error no estuvo en darle trabajo a otros, sino en creer que al delegarlo quedaba ya consumado, en abandonar el método a los metodólogos, en vez de tornarnos metodólogos por nuestra cuenta. Este es acaso el protocolo de una versión perversa de la interdisciplinariedad: yo te describo el contenido del problema, tú me reve-las la forma de la solución.

Lo malo es que ningún filósofo nos dice qué es lo que debe hacerse, de modo que la forma y el contenido nunca confluyen. La supervivencia de estas disciplinas fundamentadoras parece establecer, en último análisis, y como condición misma de su integridad, la imposibilidad de su apropiación por o-tros, la falta de una genuina e íntima fusión entre lo que la filosofía o las matemáticas exigen y lo que las manos pueden hacer. Con certeza, la responsabilidad por el fracaso de las antropologías con huella y autoconciencia epistemológica no es sólo nuestra, y en el cuerpo de la tesis tendremos ocasión de verificarlo: ningún profesional del método confiesa sus límites o su apatía por la ciencia empírica, y si lo hace se cuida de no enfatizarlo mucho.

Aunque fuese útil (que tal vez lo haya sido en ocasiones y que lo es sin duda en menesteres filo-sóficos ajenos a la administración del método), la epistemología profesional nos rinde un servicio fragmentario; siempre que algún epistemólogo o matemático se refiere a nuestros asuntos es inevita-ble sentir que los ha asimilado de apuro, que hay dimensiones de problematicidad que se le escapan, que la cosa no es exactamente así (véase v.g. Suppes 1988:203-214; Bunge 1985), que entre la mate-rialidad de nuestros problemas y la generalidad de su discurso hay una discontinuidad (cf. Kemeny, Snell y Thompson 1966), que a pesar de las intervenciones transdisciplinares, a menudo locuaces, los modelos siguen sin funcionar. Nadie explica por qué la formalización de las ciencias sociales, que se anuncia deseable y posible, siempre se posterga para mañana. Las intenciones pueden ser muy buenas, y la idea básica es encomiable en tanto aspira al mayor rigor. Para salir del atolladero hay que forma-lizar, por cierto, pero ¿de qué manera, con qué rentabilidad, siguiendo el modelo de qué o de quiénes? Con veleidades epistemológicas o sin ellas, nada se resuelve con meramente imponer la formalización como consigna. Lo que menos nos hace falta son los modelos cientificistas ingenuos, las puntillosas mediciones de detalles baladíes (cf. Chapple 1972), las rotulaciones botanizantes (cf. Harris 1964), las cuasiciencias sin métodos o con métodos descartables cuyos objetos comprenden el universo (como

Page 10: Antropologia y Programacion Logica

10

la semiótica) o los análisis totales diseñados para desvelar, en un cúmulo de información heterogénea y mediante una simple regla de tres, los misterios de la determinación estructural (cf. Dobbert et al 1984).

Lo que más nos ha sorprendido en el transcurso de la elaboración de la experiencia en que esta tesis se apoya, ha sido que los rigores más sólidos y convenientes no estaban allí donde creíamos, sino en lugares del saber de los cuales hasta hoy ningún antropólogo nos ha hablado con palabras realistas. Espacios donde se sabe desde siempre que la regla de Gödel en poco nos afecta, que Lévi-Strauss ja-más trazó un modelo, que Bateson ignoraba todo de la lógica o que cuando ponderan la inferencia clínica los antropólogos interpretativos se engañan o nos mienten; espacios, por contrapartida, donde nadie cree posible una ciencia de lo social, donde nada se hace ni se hará para impulsarla y donde los científicos sociales son aborrecidos tanto por ser sociales como por no ser científicos. Un territorio, en síntesis, en el que muy pocos se interesan por promover interdisciplinariedades con poetas muertos y en el que son menos aún los talentos creadores dispuestos a filosofar o a compartir con ciencias deficitarias su superávit de progreso. Casi nos ha dolido descubrir que los límites tampoco estaban donde se suponía, y que ningún libro, ni siquiera heterodoxo, había allanado el camino ni adelantado las dificultades que ha de afrontar (y los requisitos que debe reunir) todo el que quiera construir un modelo. Si alguien ha desarrollado esas ideas, ha sido necesariamente en un lenguaje que ningún an-tropólogo podría comprender.

Como podría haber dicho Wittgenstein, si algo no está en lado alguno y es necesario, entonces debe ser hecho. Hacerlo tiene hoy por hoy un beneficio incierto y un precio elevado, pero nadie más lo hará por nosotros. No hay ósmosis posible entre las ciencias blandas y los métodos duros sin el re-quisito de una reformulación metodológica de aquéllas, esta vez de veras radical. No se trata de im-portar todos los métodos que se puedan. Las extrapolaciones de la cibernética, la teoría de sistemas, las estructuras disipativas, la sinergética y la investigación operacional han fracasado una tras otra, porque es ostensible que se refieren a modelos matemáticos y nosotros no cuantificamos las variables sobre las que ellas se fundan, o porque no estaba preparado el espacio de recepción e interpretación del tipo de resultados que ellas segregan. No nos resignamos a creer que la sofistería sea un trance in-evitable, derivada de o concomitante a la naturaleza nebulosa del objeto que se aborda, o asociada al carácter anxiógeno de la investigación humana. Pero es obvio que, con los recursos que tiene, la an-tropología no puede desplegar categorías taxativas sin distorsionar el objeto, ni equiparar procesos empíricos a transacciones lógicas sin idealizar el mundo, ni cuantificar sus variables y sus relaciones sin ocuparse de las escasas trivialidades socioculturales dóciles a la enumeración.

El problema que aquí planteamos afronta estos límites, bajo la forma de estas preguntas: ¿Puede la ciencia (cualquier ciencia, necesariamente formal) proceder con un mínimo de rigor sin aferrarse al yugo de las definiciones categóricas, sin seguir mentalmente el trámite pormenorizado de cada uno de los pasos lógicos que desencadena y sin recurrir a entidades cuantificables? ¿Se puede contar con un instrumento que resuelva las conclusiones que se derivan de cierto juego de premisas, sin acartonar la representación más allá de lo admisible y sin jugar el juego tonto del silogismo? Lo que aquí preten-demos como macro-objetivo es demostrar que sí, cualificar esa posibilidad con referencia a la antro-pología, ejemplificarla y sacar de ello las conclusiones que sea menester. Para ello será necesario no sólo caracterizar al instrumento, sino diseñar from scratch una epistemología y una teoría de modelos que lo fundamenten.

Page 11: Antropologia y Programacion Logica

11

2. ANTROPOLOGÍA Y PROGRAMACIÓN LÓGICA

Este objetivo nos lleva a proponer una segunda hipótesis: recién ahora la ciencia (en general) dispone de las herramientas necesarias para el desarrollo de esquemas teóricos consistentes. Estas he-rramientas son las de la programación lógica, uno de los pilares fundamentales de la inteligencia arti-ficial; y son por cierto nuevas, ya que los desarrollos esenciales se remontan a bastante menos de dos décadas. Expresándolo de otra manera, podríamos decir que todo intento por formalizar la disciplina previo a la disponibilidad de un instrumento adecuado para el cálculo cualitativo, estaba en alguna medida limitado a y por las posibilidades de una técnica persuasiva, incluso en lo que se refiere al convencimiento del propio formulante. La insuficiencia de estas técnicas, su carácter descaradamente retórico, sumado a las consabidas limitaciones de la categorización en ciencias sociales, alcanza y so-bra para explicar la improductividad de los intentos por rigorizar la disciplina, desde el método com-parativo de Tylor hasta los símiles informacionales de Geoghegan. Descubrir que recién en estos días tenemos el instrumento adecuado no asegura el triunfo: así como ahora se sigue desconociendo que existe, antes se ignoraba que carecíamos de él y por consiguiente nadie reclamaba su advenimiento. El problema, como se verá, es mucho más complejo, y aunque tenemos los elementos para el planteo al alcance de la mano, eso no quiere decir que hayamos dado con la solución.

Antes que nada, hay que mapear el territorio. Mencionamos recién a la inteligencia artificial, pero esa mención es ambigua: existen innumerables concepciones de lo que es o debería ser esa ciencia, es-pecialidad o tecnología. Una de ellas, por lo menos, no nos interesa en absoluto en este contexto: la que establece que el propósito de esta rama de la investigación tecnológica es el de construir máqui-nas inteligentes, clones en silicio (funcionalmente hablando) del cerebro humano, o el de diseñar pro-gramas que posibiliten esa utopía. Este proyecto es tan desmesurado que ya nadie lo alienta, ni siquie-ra a nivel de artículos de divulgación (cf. Shipley 1989). La inteligencia artificial sufre las consecuen-cias de una denominación grotesca, sugestiva de una esfera de estudios hermética y separada de la realidad, de un lujo tecnológico, una especie de perversión de la informática strictu sensu, represen-tada ésta por los sistemas de liquidación de sueldos y jornales o por otros utilitarios igualmente pro-saicos.

Nuestra propuesta no tiene nada que ver con las interfaces entre el hombre y la máquina, ni con la robótica, ni con las fantasmáticas redes neuronales, que imitan el comportamiento del cerebro hasta el punto de que se cansan y necesitan dormir. Lo mejor de la inteligencia artificial es, pensamos, el poder lógico de sus lenguajes de programación descriptiva y sus modelos de representación del co-nocimiento, que la ponen en las antípodas de la "computación" tradicional. Más tarde volveremos sobre esta dicotomía tecnológica, cuando cuestionemos más a fondo, en un capítulo específico, las candorosas incursiones computacionales de la antropología.

El proyecto entero de la inteligencia artificial, como luego historiaremos en detalle, también co-menzó siendo ingenuo. Tan es así que aún en la actualidad la inteligencia artificial tiene mala prensa. Los aficionados adictos a la literatura de divulgación están al tanto de sus limitaciones y llevan la cuenta de sus escándalos, pero no han tomado nota de sus logros. Saben, por ejemplo, que el proyec-to de la traducción automática sobre la base de un diccionario magnético resultó en un fiasco, que el Resolvedor General de Problemas fue abandonado a medio construir, que numerosas corporaciones que pensaban que la inteligencia artificial era un estupendo negocio acaban de ir a la quiebra, y que la

Page 12: Antropologia y Programacion Logica

12

presunta revolución de los perceptrones tuvo que ser desconstruida por algunos de sus propios im-pulsores3. Pero prefieren ignorar el hecho de que ahora existen herramientas no sólo capaces de au-tomatizar la lógica, sino de conferir rigor a los enunciados y modelos de cualquier disciplina, bajo los auspicios de cualquier marco teórico. Este rigor no es desde ya absoluto, ni siquiera óptimo, sea por-que subsisten interfaces humanas falibles o interesadas, o porque la tecnología no está tan avanzada después de todo; pero es mucho más que mínimo, y la antropología, como la concebimos, está en per-fectas condiciones de incorporarlo. Hemos elaborado una modalidad de trabajo que posibilita es-tablecer discusiones de un elevado nivel de precisión, así como construir modelos que sirven, simultá-neamente, para verificar el funcionamiento de un marco teórico (propio o ajeno) y para ponerlo a trabajar si es que resulta viable.

No hay a la vista ni panaceas, ni milagros, ni un futuro de iluminación instantánea apretando un pulsador. Conviene no llamarse a engaño respecto a lo que significa contar con estos recursos y no ser demasiado optimistas en lo que concierne a su eventual adopción. En primer término, ellos no son tan fáciles de asimilar que puedan ser dominados en el estrecho margen de tiempo y esfuerzo que el científico social dedica tradicionalmente a la adquisición de las herramientas y a la conquista de su maestría. La programación lógica es difícil, mucho más difícil que cualquier otra actividad que haya-mos desarrollado, personalmente, en más de veinte años de experiencia informática; y la fuerza de-ductiva de un sistema se encuentra por lo general en relación directa con la complejidad de su proceso de programación. Los logiciales aquí propuestos no son productos listos para usar que hemos tenido la fortuna de adquirir en el comercio: son sistemas que tuvimos que construir cláusula por cláusula, a partir de un intérprete lógico abstracto y de una pantalla vacía.

Lo que es difícil de aprender es aún más difícil de enseñar. No existe tampoco en nuestro medio un mercado de profesores de inteligencia artificial y programación lógica entre quienes escoger; si asistimos a clase se nos dirá a lo sumo lo que dicen los libros, y más probablemente diluido que pro-fundizado. Se nos enseñará un lenguaje de computación con referencia a otros que no vienen al caso, ejemplificando las cláusulas con algún problema contable o financiero incapaz de encender nuestra imaginación. O se nos instará a analizar los predicados de un formalismo en orden alfabético, sin re-lacionarlos con ningún contenido concreto. No podremos abordar la inteligencia artificial hasta que coordinemos sus álgebras abstractas con nuestros problemas sustantivos, pues ella es una estructura sin contenidos. La inteligencia artificial no existirá plenamente hasta tanto no haya un campo del saber fuera de ella que la requiera para perfeccionarse; la programación lógica no ha de servir de mucho si no encuentra, más temprano que tarde, un ámbito de conocimiento cualitativo y empírico a modelizar, aparte de la lógica y la computación misma.

Es preciso que se comprenda que lo que aquí se propone no consiste en adquirir el paquete de Prolog, leer el manual de instrucciones y escribir la antropología en el diskette para obtener resulta-dos. Un lenguaje de computación no ofrece más que un monitor, un mecanismo de resolución oculto y un cursor que parpadea. Algunas implementaciones, como el intérprete de Arity Prolog, ofrecen menos que eso: todos los formalismos de representación de los datos, todos los procesos de inferen-cia, todas las modelizaciones, en suma, corren por cuenta del estudioso. Los ornamentos que pueda

3 La controversia sobre los perceptrones (que afecta a un buen fragmento de la investigación en Inteligencia Artificial) se formula a partir de Marvin Minsky y Seymour Papert, Perceptrons, Cambridge, MIT Press, 1988. La apasionada intervención de dos próceres de la disciplina en una crítica negadora de muchas de las ideas que la imaginación popular les atribuía, signa todo el campo de una doble coacción batesoniana que ha sembrado el desconcierto entre los especialistas.

Page 13: Antropologia y Programacion Logica

13

traer un entorno de programación lógica comercialmente asequible son chafalonía: lo único axiomá-tico que incluyen son los conectores lógicos (los operadores de condicionalidad, disyunción, conjun-ción y negación) y un principio genérico que permite realizar pruebas lógicas, pero que será más bien inútil si se ignoran o tergiversan los cánones que rigen a una formalización. Todos los demás elemen-tos son extralógicos y sin duda pueden llegar a ser de gran ayuda en ciertos contextos de trabajo, pero no fundamentan en nada. Mirándolo bien, lo único que tenemos de nuevo es un mecanismo para de-terminar si lo que se construye está bien planteado y para saber si podemos plantear ciertas teorías y explicaciones a la luz de lo que ya sabemos.

Esto es mucho más de lo que nunca tuvimos, pero las consecuencias y los alcances de esta nueva adquisición serán, durante un tiempo, materia de conjetura. La lente más pulida es la que muestra los detalles más crueles. Más que facilitar los procedimientos metodológicos, las herramientas que pre-sentaremos relevan dramáticamente la naturaleza y la extensión de las verdaderas dificultades de la práctica disciplinar. Resultará patente que para construir un modelo, así fuere el más simple, no al-canza con hablar de "oposiciones binarias" y con definir confusamente estructuras, sistemas y teorías. Modelizar la realidad es un ejercicio mayor de abstracción, precisión argumentativa y rigurosidad. Si en antropología se quiere disfrutar de los beneficios potenciales de semejante instrumento, sin duda alguna se deberá modificar además la relación de predominio entre teoría y técnica que ha prevalecido hasta hoy, o habrá que redefinir de raíz el significado y la operatoria de la interdisciplinariedad. Para preservar la esencia de su problemática, hay que replantear el estilo de su formulación hasta la médu-la. Eso no quiere decir que la antropología tenga que transformarse al punto de plantear solamente problemas que la máquina esté en condiciones de resolver: por el contrario, es el mismo plantea-miento de los problemas antropológicos tradicionales en el contexto adecuado de computación el que nos desoculta la existencia de dilemas básicos que hasta el momento ignorábamos, y sin cuya resolu-ción ningún progreso científico será posible.

Nuestra propuesta se inicia en el plano técnico. Tradicionalmente la técnica es la hija boba de la epistemología, al lado (pero menos alto) que el método y la teoría. Como lo admite Richard Rudner,

En términos generales, ser consciente de que distintas disciplinas científicas utilizan diferentes técnicas de investigación no equivale a ser consciente de algo importante sobre la naturaleza de la ciencia social. [...] Defender que existe una diferencia metodológica entre dos disciplinas o dos tipos de disciplinas es, por el contrario, defender un criterio muy radical. Pues hay que tener en cuenta que la metodología de una disciplina científica no es algo que concierna a sus técnicas transitorias, sino a su lógica de la justificación (1973:21).

Algo huele mal, sin duda, en una epistemología que separa tan taxativamente las etapas y los ni-veles de trabajo científico sin preocuparse por lo que sucede, precisamente, en las discontinuidades que se introducen y sin inspeccionar con ojo crítico las razones que obligan a introducirlas. En el universo de categorías puras y de transiciones y límites no problemáticos de la filosofía analítica, la técnica se asocia con el trabajo manual, la maquinaria, lo preliminar, lo contingente, y la metodología con la elaboración intelectual, la abstracción, lo definitivo, lo necesario. Lo que aquí ofrecemos como alternativa no es ni una cosa ni la otra, y penetra en el horizonte del método (si se lo quiere seguir lla-mando así) desde varios ángulos, en diversos momentos y con diferentes propósitos.

La antropología ha sido -excepto en sus raras cuantificaciones- virtualmente una disciplina sin técnicas, o, quizá mejor, una disciplina en la que las técnicas se aplican prevalentemente en las fases primarias, transductivas, en las que los hechos se convierten en datos o se acomodan en una clasifica-ción: se sacan fotos, se registran voces, se trazan diagramas, se realizan entrevistas "estructuradas" o "libres", se realiza "investigación participante" y finalmente se proyectan fenómenos en conceptos más

Page 14: Antropologia y Programacion Logica

14

o menos estructurados en un campo. De allí en más todo es intangible, espiritual o intuitivo, al punto que las fases superiores y más delicadas de la elaboración carecen de herramientas que se les apli-quen.

Tal como aquí las interpretamos, las técnicas no son ni apéndices auxiliares de la teoría, ni ope-raciones de cálculo restringidas a un momento de búsqueda de legitimidad adicional, ni una instancia emblemática de la cientificidad de la empresa, ni su protagonista clandestino: son, más bien, su pre-condición. Nos referimos, sí, a técnicas. Pero se trata de técnicas de construcción y validación teórica, cuya incidencia en el trabajo científico global podríamos caracterizar como recurrente y recursiva. Más adelante indagaremos el impacto de las técnicas aquí propuestas en la configuración del trabajo de elaboración teorética, impacto que no supone, en modo alguno, su desnaturalización. No sólo se trata de fundar una teoría de modelos operativa y completa; habrá que elaborar también el proceso metodológico integral en el que dicha teoría se inserta.

Pero disponer de una técnica rigurosa no implica ahora (ni lo hará en el futuro) estar inevitable-mente del lado de la verdad, en tanto la verdad se establezca mediante una correspondencia con los hechos empíricos. El esfuerzo mayor que debimos realizar en el cuerpo de la tesis y en la discusión pedagógica que la rodeó fue para desembarazarnos de una epistemología obstinada en insinuar que aspectos por demás contingentes de la investigación son susceptibles de una axiomática, como si los valores de verdad internos de la lógica se hicieran extensivos a todas las materialidades aludidas refe-rencialmente por sus símbolos.

La verdad lógica tiene bastante poco que ver con la concepción intuitiva de la verdad. Un ideal veritativo como el que, por ejemplo, esgrimía Marcelo Bórmida (adequatio mentis ad rem), no sig-nifica gran cosa ni compromete con ninguna filosofía. Es tan genérico que sirve tanto para emprender una operacionalización de carácter positivista como para convalidar una concepción teológica; es tan baladí como para suponer que la problematicidad se agota en un nexo simple entre dos instancias objetivas: el mundo allá afuera, el concepto aquí dentro, como contenido de conciencia. En todo caso, este criterio deja en penumbras el significado preciso de esa adecuación, por no decir nada de la indefinición que trasunta respecto de la mente y del mundo, indefinición que puede admitirse en cual-quier parte, excepto en un criterio de verdad que se edifica a partir de ellos (cf. Bormida 1976:13). Nosotros hemos optado por no hablar de verdad, sino de consistencia, y en consecuencia no defini-mos la lógica como la ciencia que estudia las presuntas leyes de la mente humana, o que de algún mo-do se adueña de alguna verdad objetiva, sino como la disciplina que se ocupa de establecer cánones de razonamiento correcto. Cánones que pueden variar, y de hecho lo hacen, conforme al modo lógico que se admita como regulando la conservación de los valores de verdad.

La coherencia o consistencia de la articulación lógica (esto es importantísimo remarcarlo) no se predica sobre el mundo, sino sobre el modelo que a partir de él se construye, teoría de por medio; no decimos pues que la realidad tenga un orden lógico, una arquitectura inmanente milagrosamente igual a la del intelecto: tan sólo afirmamos que el modelo que construimos para reflejarla no es con-tradictorio en tanto tal y que más vale que no lo sea. Un modelo sistematiza una mirada teórica que ordena una concepción de la realidad sin trasmutarla, pues es precisamente función de la teoría introducir un orden, más que mapear lo dado miembro por miembro. El orden en el modelo nada tiene que ver con la legalidad o la regularidad del mundo, y menos todavía (a pesar de Gadamer, de los neoweberianos o de los neotylorianos) con la racionalidad de las conductas que son su objeto. Y a

Page 15: Antropologia y Programacion Logica

15

la inversa, el modelo que representa el caos, el desorden o la complejidad desorganizada no ha de ser imperiosamente caótico4.

Tener un instrumento preciso de cálculo cualitativo no implica ninguna certidumbre global más allá de la coherencia interna, lo mismo que disponer de una calculadora aritmética poderosa no garan-tiza los valores de verdad de una teoría que, entre otras cosas, cuantifique. Una teoría puede ser lógi-camente perfecta y empíricamente falsa, pues la interpretación semántica de las entidades a las que recurre no forma parte de los procesos de inferencia que desde un punto de vista formal la consti-tuyen, y las premisas en que la teoría se origina pueden estar equivocadas. Es posible pensar también en seudociencias consistentes, como el trazado de una carta natal, y en ciencias metodológicamente indecidibles, como el análisis estructural levistraussiano: nuestro aporte no tiene nada que ver con tal demarcación.

En antropología existe una sola teoría axiomática, la de William Geoghegan (1970, 1971), que es perfecta y coherente, pero que es muy probablemente falsa, porque presume la validez de un análisis componencial que los críticos han ridiculizado con sobrada razón. Seguiría siendo falsa aún cuando se la expresara en predicados de Prolog o en fórmulas de LISP en lugar de axiomas euclidianos. La pro-gramación lógica no modificará este estado de cosas, que presenta problemas que no sólo afectan a las ciencias sociales. Lo que sí puede garantizarse es que de ahora en más el rigor lógico interno de un enunciado teórico es algo que puede someterse a control. Aunque siempre existirán muchas for-mas de enunciarlas, en lo sucesivo las teorías enunciadas podrán ser por lo menos intrínsecamente consistentes, y su articulación podrá ser reproducida, documentada, modelizada y verificada en una misma operación instrumental. Habrá que salir al campo antes, para recabar los datos esenciales, y habrá que volver después, para corroborar si la interpretación que se otorga al educto del modelo corresponde con la realidad. Pero lo que suceda en el medio será nítido y replicable, aunque sigan existiendo infinitas formas de llevarlo a cabo. Un modelo lógico consistente no genera verdad, pero mantiene hasta sus conclusiones aquella verdad que hubiere en sus premisas.

Cuando alguien nos proponga un método (por ejemplo, el método estructuralista levistraussiano de análisis mitológico, o el método cognitivista de análisis de componentes semánticos, o el método ecosistémico de Rappaport para explicar la función del ritual) podremos en lo sucesivo reproducirlo, ponerlo en actividad y comprobar en el acto si funciona tal como se alega que lo hace. La programa-ción lógica del discurso disciplinar redunda así, a través de la clarificación de los supuestos y de los procedimientos analíticos, en lo que Clifford Geertz llamara el "refinamiento del debate". Y esto no es una presunción utópica, sino una posibilidad palpable: nosotros mismos hemos incluido pruebas de la extraordinaria capacidad modelizadora de la programación lógica en los apéndices que acompañan este ensayo.

Aún cuando la realización de un programa pueda estar sesgada, aún cuando se puedan malinter-pretar aviesamente los postulados de una teoría a la cual se recusa escudándose en la "prueba de la máquina", la expresión formal de los argumentos configura una instancia sobre la que se puede deba-tir con harto más claridad que la que se puede alcanzar con medios convencionales. Tenemos en ella una forma pautada de representar el conocimiento, de sacar a la luz los supuestos ocultos y de visua-

4 Este énfasis es necesario porque con frecuencia se ha equiparado la búsqueda de modelos no contradictorios con una afirmación implícita sobre la adecuación del mundo a la mente, o se ha afirmado que el carácter paradójico de la realidad impone la necesidad de construir modelos contradictorios para dar cuenta de ella (cf. Feyerabend 1982:36, 226-232).

Page 16: Antropologia y Programacion Logica

16

lizar la estructura de toda la construcción conceptual. A diferencia de Geertz (con quien jamás hasta hoy hemos coincidido virtualmente en nada), pensamos que el debate no puede refinarse hasta que el consenso se perfeccione. Y al contrario de él, también, que nos regaló con su descripción densa un pretexto para que se sepa poco y para que valga todo, ofrecemos un método para llevar adelante ese perfeccionamiento, un método de una naturaleza tal que quien pretenda impugnarlo deberá cargar con el peso de la prueba y enarbolar una respuesta mejor que la de llamarnos tecnócratas.

Nos parece importante que la programación lógica esté en condiciones de satisfacer un objetivo estipulado por un antropólogo que es, acaso, el enemigo arquetípico de la formalización. También es esencial, en lo que concierne a las posibilidades de incorporación y asimilación de estos recursos, que los mismos no sean esotéricos ni impongan procedimientos forzados de cuantificación o de escritura simbólica. Hay que insistir en ésto: disponer de una herramienta de diseño y control teórico no involu-cra que el antropólogo esté de ahora en adelante obligado a cuantificar o a memorizar las insulsas tablas veritativas del cálculo de proposiciones. Admitir que la programación lógica es difícil no es afirmar que sea artificiosa. La gracia de este juego tiene que ver con la capacidad de la programación lógica para plegarse al método de las ciencias sociales sin distorsionar su esencia, aún cuando después quepa volver sobre esa esencia para discutirla, alterarla o ponerla en crisis.

Más todavía, la competencia cuantificadora de los modernos lenguajes de programación lógica es apenas discreta, si se la compara, por ejemplo, con la del venerable Fortran o con la del Algol; y la sintaxis del lenguaje que escogeremos nada tiene de la apariencia cabalística de las ecuaciones lógicas, carentes (por definición) de significado. En esta propuesta, la cosa no pasa por ahí: quienes eterna-mente confunden rigor metodológico con cuantificación o con el despliegue de álgebras carentes de ambigüedad por su misma falta de denotación, pueden bajar las armas. Lo mismo se aplica a quienes en lugar de vindicar la cuantificación como garantía de cientificidad, hacen pasar el rigor por la posi-bilidad de las definiciones taxativas, o por la extrapolación del imaginario metodológico de las cien-cias naturales.

Lo más seductor de todo el espectro de posibilidades de la programación lógica es que ella opera eminentemente con símbolos y relaciones, más que con cantidades y operaciones aritméticas. Las teorías antropológicas pueden introducirse así en la máquina casi tal cual se las enunciaría en lenguaje natural, aunque sometiéndose, claro está, a una cierta convención notacional. Por añadidura, las cons-telaciones de ideas que aún no han llegado al estatuto de verdaderas teorías hallarán en la programa-ción lógica el incentivo y el medio para alcanzarlo, clarificando en el ejercicio interactivo con el sis-tema tanto los supuestos y el aparato categorial como los procedimientos del investigador. Al igual que el personaje de Molière lograba hablar en prosa sin esfuerzo, teorizaremos sin notar que lo hace-mos.

Todavía más: se podría decir que lo que en realidad se introduce primariamente en la máquina no es tanto una teoría (en el sentido más restrictivo) cuanto una descripción ordenada del objeto que le atañe y todo cuanto de él sabemos. La "teoría" se va construyendo después, interactivamente, y se constituye como el conjunto de hipótesis que resultan verdaderas a partir de la información de que se dispone. Esto es así porque la programación lógica es declarativa (o descriptiva): un programa ló-gico ideal no consiste en un conjunto de operaciones discretas realizadas más o menos arbitrariamente sobre el material cuya naturaleza semántica se refiere a la conducta de la máquina, sino en una des-cripción sistemática de un fenómeno o dominio del conocimiento. Un programa lógico sólo se deno-mina "programa" porque se lo sigue implementando en una máquina y utilizando un lenguaje compu-tacional que ella puede decodificar; pero un programa "puro" escrito en Prolog no hace más que e-

Page 17: Antropologia y Programacion Logica

17

nunciar un conjunto de hechos pertinentes sobre un campo acotado del saber, en forma de una serie de afirmaciones y reglas que hacen pensar más en los axiomas de las matemáticas que en órdenes dadas a un aparato5 . Se realiza entonces una descripción de lo que se sabe, inscrita al comienzo en una exploración vacilante que luego se sistematiza casi sin advertirlo, en un nivel de especificación que poco o nada tiene que ver con la conducta binarizante de un sistema clásico de procesamiento electrónico de datos. El carácter sistemático de esta descripción es, como se verá, un emergente de la experiencia del estudioso, de su interacción con el sistema de programación y del enriquecimiento que significan las innumerables exploraciones en Ciencia Cognitiva, Informática e Ingeniería del Conoci-miento, cuyas experiencias pueden incorporarse desde ahora al horizonte disciplinar.

Por supuesto, las hipótesis que pueden llegar a plantearse sobre un ámbito cualquiera del conoci-miento pueden llegar a ser infinitas, y en el nivel actual de la tecnología la computadora no es (aún) capaz de formular espontáneamente ninguna. Resolver dilemas mediante un procedimiento automáti-co no es lo mismo que proponerlos mecánicamente. Deslindar cuál hipótesis es la más fundada no es lo mismo que probar cuál es la menos trivial. La iniciativa que después de Peirce hemos convenido en caracterizar como abducción sigue siendo privativa del investigador humano, y está perfectamente bien que así sea. Aunque la abducción puede simularse mediante una estrategia de inferencia conocida como encadenamiento hacia atrás (de la que luego hablaremos), las máquinas siguen siendo inertes y estúpidas: todo lo que el ordenador puede hacer es determinar si una hipótesis que atraviesa el cono-cimiento descripto puede o no verificarse tomando ese conocimiento como axioma o premisa. Pero con esto ya es suficiente.

Lo que personalmente nos atrae de la inteligencia artificial no es la promesa eternamente diferida de desarrollar máquinas sagaces, sino la posibilidad actual de modelizar los procedimientos científi-cos, comenzando por la representación del objeto o de lo que el estudioso sabe acerca de él. Habrá que programarlo todo, porque los lenguajes de computación en sí mismos no hacen absolutamente nada, y habrá que desarrollar toda la interface entre una informática que no se preocupó por sustentar a una ciencia inexacta y una antropología que desdeñó las oportunidades de aprender el rigor.

El partidario de una antropología interpretativa y humanística no debe sentirse intimidado por la resonancia cientificista o escolástica de los términos que venimos empleando: axioma, premisa, teoría, hipótesis, cálculo lógico, inferencia. Después demostraremos la forma en que los razonamientos cuali-tativos de la antropología humanística, soft, son también, a su manera y mal que les pese, cálculos lógicos a cuyo rigor esta herramienta puede asimismo contribuir. Y del mismo modo, ejemplificare-mos de qué manera el rigor lógico que puede alcanzarse en el planteamiento de hipótesis en progra-mación lógica puede comprenderse, sin distorsión alguna, como una versión enriquecida y precisa del supuesto fenomenológico e interpretativo por excelencia que estipula la "prioridad hermenéutica de la pregunta" (Gadamer 1977). De hecho, en un entorno de programación lógica adecuadamente refle-xivo, el planteamiento de preguntas, hipótesis y teorías -en ese orden de magnitud creciente- ratifica gran parte de las mejores elaboraciones fenomenológicas en ese sentido, sentando las bases de una conmensurabilidad impensada con las premisas de un "positivismo" metodológico que se sospechaba en sus antípodas6. Para expresarlo en otras palabras, podríamos decir que, a la luz de su enunciación

5 La comparación pertenece a uno de los inventores del lenguaje Prolog, Alain Colmerauer (1984:1072).

6 En Inteligencia Artificial existen, de hecho, estrategias íntegramente consustanciadas en el ideal de la fenomenología y la hermenéutica. El más representativo de sus promotores ha sido, quizá, Terry Winograd (cf. Winograd y Flores 1987).

Page 18: Antropologia y Programacion Logica

18

en predicados lógicos, los métodos enraizados en la emulación de las ciencias naturales y los métodos comprometidos con un marco hermenéutico revelan más de un segmento de coincidencia y una natu-raleza si se quiere complementaria. Más tarde volveremos sobre este particular, y sobre la mirada re-flexiva que las técnicas que hemos desarrollado son capaces de arrojar sobre la teoría.

Recién hablamos de representación del conocimiento, y luego veremos la forma en que ese cono-cimiento se expresa, con una versatilidad aún inalcanzable -por ejemplo- por los sistemas de gestión de base de datos más sofisticados. Por ahora digamos que ni siquiera es imperativo que la descripción sea completa, que las definiciones sean taxativas o que las cláusulas se sujeten a exigentes cánones de sintaxis. Aunque algunos lenguajes (como el LISP) parezcan enrevesados y resulten desagradables a la vista, en programación lógica no hay formas preestablecidas de representación ni contenidos de es-tipulación forzosa. Podemos representar el agua diciendo que corre por los arroyos cuando deshiela, que es inodora, incolora e insípida, o que está compuesta por dos átomos de hidrógeno por cada á-tomo de oxígeno. Del mismo modo, podemos referirnos a los mataco como el grupo biótico que vive a determinada latitud y longitud, haciando mención de sus dioses o computando la población de sus asentamientos: la naturaleza de la representación depende de los objetivos teóricos, y no se excluye que éstos sean la reproducción del pensamiento salvaje, el desvelamiento de las estructuras del delirio, la modelización ecológica o la descripción pautada de la poesía. Si hay algo que la programación lógica no presupone, es que haya un solo modo (o un modo completo, u objetivo) de representar los datos, o datos que sean más dignos que otros, o más proclives a la representación.

El programa lógico puede o bien acoger información conceptualmente dispersa para explorar ul-teriormente nexos posibles, o concentrar conocimientos focalizados para construir acabadamente una teoría, con todos los grados intermedios de economía categorial, recursión, anidamiento o redundan-cia. Como no hay umbral de simplicidad o límite de complejidad que se impongan al diseño del pro-grama, y como tampoco se prescriben sus contenidos, la técnica de la programación lógica no se res-tringe a ninguna etapa específica de la investigación ni obliga a establecer modalidades idiosincráticas de trabajo. Sería una bella propuesta sugerir que la utilización misma de la herramienta se disimule para evitar que se la endiose, para impedir que usurpe los primeros planos, y que se la saque a la luz sólo en el caso de que alguien ponga el trabajo propiamente antropológico en tela de juicio, para o-perar entonces una demostración aún mejor.

Dado que la esencia de la programación lógica es la operación con símbolos, por primera vez en la historia de la informática nos es posible recurrir a las máquinas para garantizar el juego limpio de los procesos conceptuales que encadenan nuestras descripciones y nuestros juicios. El programador escoge tanto la sintaxis como la interpretación semántica, y no está en principio constreñido por ninguna lógica consagrada, sino sólo por sus propias necesidades de organización. Las limitaciones son, en todo caso, las mismas que las del pensamiento, pues la generación de teorías no está pres-cripta de antemano ni se desencadena inevitablemente como subproducto del mero accionar de las máquinas. En computación hay un axioma primario: garbage in, garbage out, o en buen romance, "si se ingresa basura, basura es lo que se obtiene". Si de la información que se introduce es imposible deducir genuinamente un orden, la máquina no lo hará por nosotros. A lo sumo, lo podrá deducir en tanto y en cuanto ese orden sea genuinamente deducible, y siempre que una abducción creativa, un acto de la imaginación, proponga su cálculo.

Aunque el humanista sentado ante la pantalla puede darse el lujo de soslayar los problemas lógi-cos puntuales e ignorar la mecánica del silogismo, el significado de las conectivas o la interpretación de los cuantificadores, la destreza que confiere el conocimiento de la lógica no es de despreciar. Si al

Page 19: Antropologia y Programacion Logica

19

programador le place, puede acatar los procedimientos de la lógica académica, que son los que ope-ran by default, es decir, los que se desenvuelven a menos que se estipule lo contrario. Con la sufi-ciente experiencia de programación, se puede hacer que los procesos lógicos adquieran matices pro-pios de una escuela o de una tendencia epistemológica determinada, o que alternen, por ejemplo, el sabor matematizante de Russell o Tarski con las iniciativas de Church o Quine. Pero si el programa-dor quiere, puede poner en marcha las premisas de una lógica polivalente, de la lógica difusa, de la lógica probabilista o de la lógica chamacoco, en tanto sea mínimamente capaz de especificarla. Por añadidura, es posible someter el mismo conjunto de hechos a interrogaciones e hipótesis derivadas de premisas lógicas discrepantes, y someter los resultados de esa inspección a una comparación formal.

Desde ya, no sólo podemos emular un rico repertorio de premisas lógicas en la base, sino que también podemos plegarnos a los variados conjuntos de principios teóricos que rigen la naturaleza de los problemas planteados y la forma de hacerlo. Podemos fingir incluso que nos hemos vuelto mo-mentáneamente estructuralistas, o materialistas culturales, o hermeneutas, haciendo que la formaliza-ción se pliegue a todos los matices teóricos que correspondan para iluminar el mismo conjunto de hechos desde distintos ángulos, o para ver cómo se transforman las cosas que llamamos hechos cuan-do cambiamos de premisas.

Esto último quiere decir que, en términos de la antropología del conocimiento o de lo que se ha dado en llamar ciencia cognitiva, la programación lógica constituye un excelente dispositivo de mode-lización. Pero no está todo dicho: si la descripción del fenómeno que se modeliza es suficientemente densa, conexa y ordenada, la descripción se transforma en un mecanismo generador de (potencial-mente) todas las instancias posibles de ese fenómeno. La misma descripción es susceptible de com-portarse, añadiendo los procedimientos adecuados, como esquema descriptivo, como base de datos y como modelo de simulación conceptual de los procesos relativos a ese dominio.

Si describimos, por ejemplo, la estructura de una serie de mitos o relatos como un conjunto de clases de variables ordenadas de cierta manera y con determinados contenidos posibles, es factible realizar la descripción situándose en un nivel de generalización relativamente elevado y luego generar los mitos que responderían a la descripción en base a un corpus o a un inventario de los valores que podrían asumir las respectivas clases de variables. El educto o salida de este proceso de simulación sería un conjunto de narraciones individuales que nunca fueron introducidas como tales en el almace-namiento de la máquina, pero que serían estructuralmente posibles en función de la descripción gene-ral propuesta en forma de reglas combinatorias o de pautas emic.

Lo mismo podría lograrse, naturalmente, si se tratara de procesos de cambio social, de patrones de asentamiento, de modelos de conducta interactiva, de acumulación de huesos en un yacimiento o de paneles de arte rupestre: basta definir los valores de sus respectivas variables como hechos y su secuencia o combinatoria posible como reglas. El sistema se encarga de instanciar los valores con sus posiciones estructurales, generando así una representación dinámica del fenómeno. Si los "procesos", "tendencias generales" o "estilos" están correctamente expresados, obtendremos una re-producción realista de los fenómenos correspondientes; y si esa re-producción no es satisfactoria, tendremos ocasión de revisar la estructura de las reglas propuestas y de introducir las modificaciones a que haya lugar. Si se desea, se puede complementar la resolución lógica de este proceso con una representa-ción figurada o esquemática expresada en el mismo lenguaje de programación, desplegando árboles esquemáticos, grafos, diagramas de flujo, pinturas, colores, símbolos o secuencias sonoras, de acuerdo con el fenómeno que se trate.

Page 20: Antropologia y Programacion Logica

20

Aunque la programación lógica es naturalmente más productiva cuando se utiliza para analizar una articulación teórica precisa, un nudo crucial de los procesos de razonamiento, una hipótesis consciente de ser tal, que cuando se la implementa para formalizar comentarios incidentales, con toda honestidad no sabemos que exista ningún ámbito de la disciplina imposible de expresar a través de ella. Modelizar una teoría compleja puede resultar impráctico, y cuanto menos conexos sean sus momentos, cuanto menos se crucen los términos que participan en sus proposiciones, tanto más escuálida será su productividad; pero en principio no es imposible, y hasta podría ser fundamental si es que se la modeliza con la intención de optimizarla. Si se puede manifestar verbalmente una idea, luego será posible también expresarla en los predicados que constituyen la base sintáctico-semántica de nuestra herramienta. Las definiciones taxativas no tienen nada que ver con ésto, pues se refieren al espacio empírico de la operacionalización7 , y no necesariamente al proceso de formulación y verifi-cación lógica de una teoría o a la construcción de un modelo, que es donde nosotros situamos nuestro aporte.

Esta observación es importante, pues se refiere a una instancia que no ha sido debidamente escla-recida por la epistemología de las ciencias. La definición es un dilema operacional, interpretativo o empírico que sólo adquiere la apariencia y la naturaleza de un problema lógico allí donde específica y explícitamente se lo estipula como tal. Como problema lógico, la debilidad y la fuerza de las defini-ciones radican en la consistencia interna del modelo del cual forman parte, y ya no en su aplicabilidad. La coherencia interna de los modelos y de las teorías puede establecerse sin mayor conflicto en fun-ción de definiciones que no tienen por qué remitir inexorablemente a la lógica de clases y que sólo tie-nen vigencia en su interior.

Por supuesto, de lo que nada puede decirse lo mejor es callar. Pero todo lo expresable es desde ahora pasible de formalización. La amplitud de significaciones que puede ser cubierta por la progra-mación lógica sólo deja de lado a las formulaciones voluntariamente inefables o a las que se niegan a reconocer los principios elementales de la identidad y la contradicción, cerrándose a la posibilidad de toda polémica (p.ej Tyler 1986); su exclusión, a decir verdad, no nos importa demasiado.

7 Es decir, los procedimientos que problematizan las condiciones necesarias y suficientes que debe satisfacer determinada entidad del mundo empírico para calificar como instancia de determinada categoría de la teorización.

Page 21: Antropologia y Programacion Logica

21

3. LOS LÍMITES ANTROPOLÓGICOS DE LA COMPUTACIÓN CONVENCIONAL

Dado que este ensayo no configura un manifiesto de ninguna "antropología computacional" que conciba la tecnología como un beneficio que se presta a las ciencias por el solo hecho de que el pro-greso avanza, debemos poner en claro cuáles son las diferencias que median entre una propuesta como la nuestra, hecha en términos de programación lógica, y una apología indiscriminada en favor de las máquinas. Lo que podamos decir más adelante sobre el panorama metodológico que la pro-gramación lógica nos abre, no tendría mayor sentido si no dejáramos sentados cuáles son a nuestro juicio los límites de las técnicas convencionales de programación con las que aquella contrasta. Lími-tes que explican, por otra parte, el minúsculo impacto que la alardeada revolución informática ha tenido hasta hoy sobre las ciencias sociales renuentes a la cuantificación. La pregunta a formular es sensata: si ocurrió verdaderamente una revolución en el saber y si es cierto que la sociedad misma está cambiando por ello ¿cómo es posible que nuestra disciplina no haya acusado su efecto?

Aquí se superponen dos responsabilidades, una por cada disciplina involucrada. Por un lado, las elaboraciones computacionales de la antropología son, hasta la fecha, enormemente convencionales, cuando no de una estremecedora candidez. Por el otro, los estudios que, desde la informática, preten-den ilustrar la utilidad de las nuevas técnicas de inteligencia artificial para los diferentes campos del saber, no acostumbran incluir a las ciencias sociales entre los candidatos a beneficiarse. Léase un en-sayo en que se describa el uso de computadoras en antropología sociocultural, y se lo encontrará irremisiblemente trivial, informáticamente hablando. Búsquese un texto importante que ofrezca ge-nuinas herramientas de inteligencia artificial específicamente pensadas para las ciencias sociales, y será afortunado quien lo encuentre.

Hay que demostrar aquel aserto y aportar una solución al problema señalado en éste. Lo primero es la demostración, porque para resolver lo segundo es que elaboramos las interfaces, construimos los modelos y escribimos este ensayo. En la demostración que discurre en los siguientes párrafos selec-cionaremos nuestros ejemplos de la arqueología, la cual se precia de mayor rigor metodológico que la antropología sociocultural, quizá porque de tarde en tarde cuantifica. Debe entenderse que nuestro dictamen, sin embargo, es extensivo a las aventuras computacionales de todas las demás orientaciones o ámbitos de nuestra profesión.

Como podría esperarse, ni una sola de las aplicaciones antropológicas de recursos computaciona-les nos resulta satisfactoria. Textos como el de Richard y Ryan (1985), sobre computación y arqueo-logía, sólo cubren unos pocos productos ready-made sin hacer referencias útiles a técnicas de pro-gramación de carácter más básico, mencionan una tecnología que ya era obsoleta a la fecha de la pu-blicación y dedican más de la mitad del libro a una introducción a la informática absolutamente ines-pecífica, que no es más útil a un antropólogo de lo que lo sería para un empleado bancario. Al margen de ello, Richard y Ryan analizan paquetes de software escasamente portables y realizan afirmaciones infundadas, como la que pone en duda que en los próximos años se efectúen avances en materia de lenguajes de programación que puedan tener incidencia sobre la disciplina (1985: 201). Este es un aserto que ningún analista osaría suscribir en una era de evolución tecnológica explosiva y al que un trabajo como el presente sin ningún lugar a dudas recusa. Puede juzgarse la calidad computacional de este texto a partir del hecho de que dedica siete páginas al lenguaje COBOL, construido para satisfa-cer requerimientos comerciales, sin acusar siquiera recibo de la existencia del Prolog, de los sistemas expertos o de los lenguajes de programación orientados al objeto.

Page 22: Antropologia y Programacion Logica

22

El ensayo de Dan Moore (1978), que versa sobre lenguajes de simulación de procesos arqueoló-gicos, ilustra con meridiana claridad la forma en que las referencias a la computación como garantía de exactitud encubren la vaguedad de todo lo que se afirma. Moore, por ejemplo, comenta dos pre-suntos "lenguajes compiladores" de simulación, SIMSCRIPT y SIMULA, cuya adopción recomienda. Ahora bien, ni SIMSCRIPT ni SIMULA son en realidad lo que una definición precisa caracterizaría como "lenguajes" de esa naturaleza, ni es en absoluto verdad que los compiladores están "orientados hacia el problema, y no hacia la máquina", como eventualmente se pontifica (1978:11).

Existen, de hecho, lenguajes de muy bajo nivel, íntegramente "maquinísticos" en su semántica, que son sin embargo compilables, y existen también versiones interpretadas (es decir, no compilables) de Prolog, que es un lenguaje de altísimo nivel: la diferencia, sencillamente, no pasa por ahí. A dife-rencia del SIMSCRIPT y del SIMULA, el Prolog no sólo es un lenguaje cabal, sino que al igual que el LISP, puede llegar a ser su propio metalenguaje: su gramática es especificable en Prolog mismo. Por otra parte, la estructura de las cláusulas de SIMSCRIPT y de SIMULA revela a las claras que no estamos en presencia de lenguajes, sino de macro-lenguajes: entidades computacionales de alto nivel, compiladas sobre un lenguaje verdadero de nivel más bajo (tal vez FORTRAN o ALGOL), pero que carecen de una gramática BNF completa8 y que lo mismo podrían operarse mediante "frases" como a través de planillas, teclas de función, ratones o menús. Nótese que hablamos de "compilados", no de "compiladores": confundir estos conceptos equivale a incurrir (como Moore lo hace) en una gruesa falacia de tipificación.

¿En qué medida puede un arqueólogo adquirir uno de estos productos, ponerlo a funcionar y es-tar seguro de que lo que produce responde a una fundamentación rigurosa? Pensamos que en ningu-na. Lo concreto es que cada cláusula en uno de estos macro-lenguajes compilados dispara una canti-dad no especificada de pasos, cuya naturaleza tampoco está especificada. Podemos confiar en la co-rrección de los productos, pero en ausencia de una documentación completa de sus fundamentos filo-sóficos y matemáticos, esta confianza no pasa de ser un acto de fe. Fuera del fetiche tecnológico y de las páginas cubiertas de fórmulas oscuras, no hay en el artículo de Moore ninguna formalización, por cuanto los algoritmos procedimentales de ambos productos son una incógnita que se agrega a los pasos del método. Como herramienta de axiomatización científica, lo mismo vale encomendarse a Dios.

El artículo de Dennis O'Neill en American Antiquity representa el proverbial encantamiento de los antropólogos hacia las bendiciones prácticas de los productos off the rack orientados al comercio, que pueden ser utilizados "para catalogar, clasificar y simplificar el análisis de los datos arqueológicos rápida y fácilmente". "No es necesario -agrega O'Neill- que los arqueólogos esperen más tiempo antes de pasarse a las computadoras para la mayor parte del procesamiento de sus datos" (1984:809, 814). En nuestro trabajo se encontrará muy poco de este simplismo aferrado a la practicidad, porque aquí no consideramos al antropólogo como el usuario de un producto en el tratamiento de sus datos, sino como el programador de una máquina en la representación de sus conocimientos. Esta última es, como se verá, menos una cuestión de práctica que de teoría, aunque la práctica resulte también afec-tada.

8 BNF es acrónimo de Backus Naur Form, una gramática de estructura de frase context free, similar a la porción generativa de la gramática chomskyana. En informática, esta es la forma de presentación canónica de los metalenguajes; ningún lenguaje carente de esa especificación se considera plenamente tal.

Page 23: Antropologia y Programacion Logica

23

No somos nosotros ni los inventores de la idea ni los descubridores del hecho de que la compu-tación se ha venido empleando torcidamente en las ciencias sociales. Hace ya veinte años, el polémico Allan Coult (creador de una insólita "antropología psicodélica") protestaba contra los abusos en el uso de computadoras en nuestra disciplina, poniendo en el centro de su mira a las complicaciones superfluas, más que a las formalizaciones ilusorias:

El uso de computadoras es para muchos antropólogos una técnica mágica empleada por unos pocos de sus colegas; a ellos se les da automáticamente el título de sabios matemáticos, porque su trabajo tiene el prestigio relacionado con los métodos cuantitativos y porque sus colegas, mayormente incapaces para juzgar sus resultados, aceptan la validez de sus trabajos como artículo de fe. Es suficiente cubrir cierto número de páginas con notaciones oscuras y fórmulas matemáticas para que sean publicadas en nuestras revistas más prestigiosas. [...] En ninguna otra profesión la reputación de competente se construye sobre una habilidad tan escasa (Coult 1968:22, 26).

Las afirmaciones de Coult estaban ampliamente fundadas en una generalización a partir de casos concretos. Tras esos juicios, Coult desconstruía varias de las empresas que en su época parecían augurar un futuro deslumbrante para la sistematización de la ciencia: el análisis matemático de la terminología comanche de parentesco realizado por Hammel, el análisis factorial de datos transcultu-rales de LeVine y Sawyer, los cálculos estadísticos de Robert Textor sobre los archivos de la HRAF.

Podríamos seguir cuestionando los usos antropológicos de la computación hasta el infinito. Aun-que algunas aplicaciones son ingeniosas, por lo común han sido tan precarias que su crítica pronto se vuelve letárgica de tan fácil que resulta. Por lo demás, la dificultad de la computación se ha vuelto un tópico profesional de la antropología. Yasunori Yamamoto, en un artículo circunstancial pero signifi-cativo, caracterizó cinco niveles en el uso de las computadoras por parte de los etnólogos:

1) Utilización de datos que otras personas ya han procesado computacionalmente. 2) Requerimiento de desarrollo de un programa de computadora a un especialista, a fin de

efectuar determinado proceso. Para Yamamoto esta puede llegar a constituir "una de las interfaces más inteligentes entre el hombre y la máquina".

3) Utilización de programas ya hechos, simplemente en el papel de usuario final. 4) Combinación de programas ya hechos, subrutinas y paquetes de aplicación para el trata-

miento de determinados datos. 5) Programación de una computadora utilizando un lenguaje determinado.

Yamamoto presume que "el etnólogo puede hacer todo lo que puede hacer un especialista en computación"; pero el costo de esta capacitación es elevado y el proceso de aprendizaje es tedioso. Viene bien sintetizar el panorama que se nos pinta, por cuanto es expresivo del estado de cosas pro-pio de la programación procedimental:

Aún para un programador profesional, no es fácil escribir un programa en gran escala que funcione correctamente. Un etnólogo que trata de escribir un programa experimenta dificultades a un nivel más primario. Primero, se enfrenta a conceptos no familiares (tales como variable, loop, salto condicional, sub-rutina) y a estructuras de datos complicadas. Cada paso del programa significa una función abstracta y constituye sólo una parte muy pequeña de todo el programa. Lo que él quiere procesar se debe reducir a una larga secuencia de cláusulas que la computadora pueda entender. El trabajo es tedioso y se debe hacer paso a paso, y siempre hay un hiato entre cualquier paso del programa y el objetivo final. Las reglas (o gramáticas) del lenguaje de programación son muy estrictas. Si se omite un solo punto, el programa no correrá como se espera que lo haga. Con muchas otras responsabilidades aparte de la programación, un etnólogo habitualmente no puede dedicar tiempo a escribir un programa (Yamamoto 1987:176).

Page 24: Antropologia y Programacion Logica

24

Ned y Lou Heite (1982), arqueólogos de profesión, llegan a conclusiones similares que traslucen la existencia de una "barrera de jerga" entre las ciencias sociales y la informática, barrera que impide a los antropólogos acercarse a herramientas potencialmente útiles. Ellos piensan que la valla interpuesta por esa jerigonza se puede trasponer o eludir. Nuestra opinión es otra, porque conocemos la deno-tación de esa jerga y sabemos que aunque ocasionalmente se la despliega en vano, en general es pre-cisa e inevitable: no se trata, como podría prejuzgar el humanista receloso, de una colección de en-salmos y fórmulas pensadas para deslumbrar, de un amontonamiento de mantras tecnológicos, sino de una forma de referencia sintética a una enorme experiencia sustantiva que no podría enunciarse de otra manera sin multiplicar el número de significantes que hay que conocer.

El hecho es que ambos campos no se comprenden. No sólo hay una jerga que asimilar, un voca-bulario que agregar al que toda elaboración científica de por sí prodiga: hay un know-how descomunal al que esa jerga corresponde y que no se agota en ella. La solución a este dilema serio y cierto no pa-rece ser, empero, la interdisciplinariedad. Uno de los factores que este ensayo y sus exploraciones concomitantes procuran eliminar de raíz es la incompatibilidad que se ha manifestado tantas veces en la producción interdisciplinaria, en la que los diversos especialistas convocados no han logrado co-municarse plenamente sus respectivas necesidades y ofrecimientos. Si la interdisciplinariedad es el justificativo de una modalidad de capacitación técnica inmovilizadora para una de sus partes, entonces redondamente nos oponemos a ella.

Analicemos con algún detenimiento la forma en que se desenvuelve la cooperación interdiscipli-nar entre antropólogos e informáticos. Lejos de materializar la "interface óptima" que seducía a Ya-mamoto, lo habitual es que el analista de software ignore las connotaciones de la información antro-pológica que se le suministra y el contexto preciso de las polémicas internas, y que el antropólogo presente un requerimiento que en gran medida es ininteligible o de escaso interés para sus colabo-radores eventuales. En nuestra peregrinación a la Universidad de Davis en busca de la mayor auto-ridad mundial en modelos arqueológicos de simulación, hallamos que el mismo ignoraba el lenguaje en el que se habían programado sus sistemas, el tipo de máquinas en que podían correr y los entornos operativos a los que se podían portar. No obstante el prestigio académico que por lo común se otorga a la labor transdisciplinar, las monografías cooperativas, como la de Colby y Knaus (1974), la de Coult y Randolph (1965) o la de Stefflre, Reich y McClaran (1971), son invariablemente decepcio-nantes.

La interdisciplinariedad convencionalmente entendida promueve extravagantes parálisis de la ini-ciativa epistemológica, como si se encontrara mayor virtud en recalcar la ignorancia que el usuario tiene de los beneficios tecnológicos que se le dispensan, que en tratar de disipar su misterio. Para ejemplo basta este caso: después de treinta y cuatro años de publicar artículos sobre el uso de compu-tadoras en arqueología y sobre el problema de la significación, Jean-Claude Gardin nos sorprende revelándonos que él no es "ni un semiótico ni un experto en computadoras" (1989:5). Cualquiera haya sido el predicamento de los clásicos hitos transdisciplinares que mencionábamos antes, hoy se los percibe como conatos rudimentarios, exultantes de una candorosa tecnolatría, por poner un nom-bre a una nueva clase de conducta fetichista en la que una de las partes no sabía qué pedir, la otra ig-noraba qué ofrecer, pero ambas proclamaban de todas maneras su vanguardismo. En este ámbito de interdisciplinariedad compulsiva, ni los problemas antropológicos han sido planteados en toda su complejidad y riqueza de matices, ni los recursos informáticos han sido aplicados en toda su potencia, probablemente porque la interacción necesaria y la compenetración mutua (si es que son posibles) re-querirían una comunidad de intereses y motivaciones que debería extenderse a lo largo de muchos años, so pena de trivializar tanto el problema como su resolución.

Page 25: Antropologia y Programacion Logica

25

Que ambos se han venido trivializando, es harto evidente. De otra manera no se habría podido considerar que la adopción de los beneficios de la "inteligencia artificial" por parte de los antropólo-gos es un hecho consumado, que no suscita ninguna dificultad especial (p.ej. Colby, Fernandez y Kro-nenfeld 1981; Toren 1983). Nuestra tesis demuestra que ese acople no puede materializarse hasta que se traduzcan sus significaciones, se resuelvan sus puntos oscuros, se exploren sus consecuencias y sus premisas y se fabriquen los instrumentos adecuados. Por supuesto, a los antropólogos de la van-guardia les gusta presumir que "utilizan técnicas de inteligencia artificial" y que la tecnología del futu-ro respalda incluso sus reclamos ideológicos; (cf. Randall 1976; Rice 1980; Casson 1983), pero nadie ha alcanzado aún siquiera a arañar la superficie de lo que esa utilización impone, presupone y repre-senta.

El viso humanista de la enculturación académica de los antropólogos los capacita cuando mucho para transformarse, pasados unos años, en programadores diletantes. No conocemos ningún trabajo antropológico que testimonie ese maridaje con las tecnologías de avanzada que sea mínimamente ri-guroso y que no esté surcado de gruesos errores de concepto, inadmisibles aún en los ejercicios de un aprendiz novel. Mencionaremos, con todo el respeto que nos merecen sus responsables, algunos de los disparates más insignes que a nuestro entender nos han legado, a fin de que se pueda tener una idea de su carácter abismal:

1) En El Contador de los Días, Benjamin Colby estima posible formalizar la producción de textos etnográficos en base a reglas de reescritura, ignorando la necesidad de reglas trans-formacionales y de subcategorización (Colby y Colby 1987). Aplica, en fin, para dar cuenta de textos complejos de una cultura extraña, un formalismo que ni siquiera resulta semánticamente aplicable a frases simples de la propia lengua.

2) En "Analogy, Mysticism, and the Structure of Culture", Sheldon Klein (quien al revés de Gardin sí se define como experto en inteligencia artificial) afirma que existirían teorías que conciben el cerebro como si fuera un autómata finito. Es indudable que Klein utiliza el tér-mino equivocado, y como lo hace reiteradamente es posible alimentar la sospecha que no do-mina ni siquiera la nomenclatura básica. En rigor, y si fijamos como precondición para la exis-tencia de semejantes teorías que quienes las suscriben sepan qué es un autómata finito, estas teorías no existen. Los autómatas finitos no pueden ser modelos de la mente, pues como es sabido, ellos carecen de memoria y parten de un estado inicial completamente estipulable (Klein 1983; cf. Martin 1972).

3) El mismo Sheldon Klein asevera que el tiempo de procesamiento de un razonamiento conceptual crece en forma exponencial de acuerdo con la magnitud de la base de datos (1983). Esta apreciación, que le sirve de pretexto para fundar un modelo "analógico" del que después hablaremos, decididamente es incorrecta y no se funda ni en una evaluación teorética seria, ni en una serie tangible de datos experimentales. En todo caso, su sustento matemático es erróneo. Si un conjunto de datos se sortea siguiendo una estructura de árbol binario, el tiempo insumido en encontrar un item sería, en promedio, proporcional al logaritmo binario del número total de elementos. Como un buen experto debería saber, el crecimiento exponen-cial del tiempo de resolución está relacionado con la complejidad de los procesos de inferen-cia, y no con la masa de datos que se consideran.

4) Dan Sperber, en un conocido artículo varias veces reimpreso (1979) en el que modeli-za el procesamiento humano de la información, echa mano de un esquema de estructuras pro-cesuales que los especialistas en ciencia cognitiva habían descartado por ineficaz (cf. Toren

Page 26: Antropologia y Programacion Logica

26

1983). Su jerga relativa a los "procesadores" lógicos y simbólicos albergados en la mente (de-rivada de las primeras obras de Ulric Neisser) se salpica sobre una concepción harto idealizada de los tratamientos computacionales, en un desarrollo que no agrega precisamente sutileza al peligroso despliegue de metáforas de la ciencia cognitiva.

No es de sorprender que los antropólogos menos entusiastas hayan rechazado las técnicas de vanguardia con presuroso desdén: Clifford Geertz (1987:39) utiliza un renglón para argumentar su desprecio por la ingeniería computacional, a la que reputa de "alquimia", en tanto que Marshall Sahlins (1976) dedica un párrafo de cuatro líneas y una sorna indecible a la condena taxativa de la lógica nebulosa, favorita de la facción humanista de la Ingeniería del Conocimiento. En nuestras con-clusiones revisaremos las motivaciones escondidas y la estructura conceptual de esas manifestaciones de desprecio, y estimaremos la necesidad de su revisión, de que dosifiquen al menos su cuota de so-berbia, ante un proyecto formal que al fin funciona.

Cuando los antropólogos de vanguardia se refieren a la "inteligencia artificial" casi siempre deno-tan una esfera de prácticas sui generis, inscripta por lo general en la llamada Ciencia Cognitiva, en la que la modelización sigue siendo discursiva y no está acompañada por ninguna experiencia computa-cional concreta, aunque abunden los diagramas de flujo, los grafos orientados, los neologismos y las palabras en mayúscula. Allí donde se cantan las loas de la revolución tecnológica, se despliega con más frecuencia su parafernalia simbólica que sus mecanismos de resolución. El caso más notable es el de los desarrollos en "inteligencia artificial" aplicada a la arqueología por el equipo francés de Jean-Claude Gardin, Marie-Salomé Lagrange y Monique Renaud (cf. Gardin 1967; Gardin 1989; Gardin et al 1987; Gardin et al 1988; Lagrange y Renaud 1982). Estos estudios "posibilistas" aportan ocasiona-les reflexiones de cierto interés, pese a su fatigoso semioticismo, a su excesiva tolerancia para con los planteamientos vagos y al hecho de estar dirigidos por un intelectual que, como ya dijimos, se jacta de no ser ni semiólogo ni experto en computación (Gardin 1989:5); pero la relación de todo este movi-miento con la práctica efectiva de la programación es muy difusa y la utilidad de los formalismos que han producido para la construcción de modelos es, probablemente, nula. La mayoría de los trabajos consultados en la antropología computacional y en su periferia, empero, se ocupa de modalidades computacionales sumamente conservadoras, que ni siquiera han tomado nota del advenimiento de la inteligencia artificial o lo han hecho circunstancialmente, en una nota al pie que nos recuerda, más o menos, que "la ciencia sigue progresando en alguna parte" (cf. Colby, Fernandez y Kronenfeld 1981; Klein 1983; Reading 1983).

Hagamos de cuenta, por el momento, que la computación tradicional de naturaleza cuantitativa es en principio útil, metodológicamente, a la investigación sociocultural. Esto ya involucra cierto grado de ficción. Pero aún así tendríamos que subrayar que el uso de técnicas computacionales cuan-titativas por parte de los antropólogos es por lo menos potencialmente tan peligrosa como servicial, si no es que más. Esta peligrosidad no es marginal, y no se reduce a la sospecha de que los antropólo-gos carecen por lo general de habilidad en el terreno de la programación, o al hecho de que los nexos profesionales con especialistas de otras áreas -por efecto del famoso síndrome de la interdisciplinarie-dad- tienden a ser esquemáticos, superficiales o competitivos. A la opacidad de la computación en sí se añade la de las matemáticas a las que se recurre, y de las que resultan cifras que pocos están en condiciones de interpretar y menos aún de comunicar inteligiblemente a los profanos. Impulsadas por programas convencionales que son sólo ristras de procedimientos variadamente descompuestos, las computadoras sólo hacen las operaciones que se les pide, sin analizar si su contexto es el apropiado o su interpretación es justificable; realizar una operación de este tipo a mano o con una simple calcula-dora de bolsillo (aunque no garantice el mismo prestigio) no es necesariamente más inexacto.

Page 27: Antropologia y Programacion Logica

27

La peligrosidad de la computación convencional no es circunstancial, sino que es inherente al modo en que ésta opera. Existe un doble hiato entre la pragmática de las operaciones de la máquina, la sintaxis de los lenguajes típicos de programación y la semántica del problema que se modeliza. La programación en un lenguaje clásico como el Fortran, el Pascal, el Modula-2, el Basic o el mismo C es intrínsecamente procedimental o prescriptiva. Sea que se trate de un lenguaje de "alto nivel" (más cercano semánticamente al problema) o de "bajo nivel" (más allegado semánticamente a la máquina), siempre se le está diciendo a la máquina qué es lo que tiene que hacer para resolver un problema. Con los lenguajes más cercanos a la máquina estas operaciones prescriptivas o procedimentales no guardan la más mínima correspondencia conceptual con el problema; menos aún si se trata de un pro-blema propio de las ciencias blandas. Con los lenguajes de nivel más alto esa correspondencia puede llegar a ser aparente, pero se la debe construir paso a paso. A la máquina sólo se le dice que abra archivos, que lea registros, que mueva determinados campos, que efectúe ciertas comparaciones, que realice operaciones entre campos pertenecientes a los registros o entre los contenidos de la memoria, que escriba un registro, que realice una clasificación por orden numérico o alfabético, que cierre un archivo, y así hasta el infinito. Una leve modificación en la estructura de los datos, un ligero error en la secuencia de operaciones mecánicas realizadas, bastan para que el procedimiento sea globalmente incorrecto. Si bien existen prestaciones de tracing que permiten el seguimiento computacional de un programa, estos recursos no nos acercan un milímetro, semánticamente, al problema general (y conceptual) que un programa de computación debe resolver. La computadora es una herramienta veloz y de memoria infalible -qué duda cabe- pero el tratamiento computacional de un problema es un mecanismo de multiplicación exponencial de las posibilidades de resolverlo equivocadamente. Por ello es penoso que científicos sociales de renombre crean a pies juntillas en el educto de "ejecutables" preprogramados (que en esta era de piratería de software, casi siempre han sido robados a un ladrón), y que depositen su confianza en programas intrincados, careciendo ya sea de los listados fuente que los documentan o de la idoneidad computacional para descifrarlos.

Los programas elaborados en función de las posibilidades de un lenguaje procedimental, además, sólo sirven para resolver problemas incorporados previamente a su esquema de resolución. Los datos que forman parte del almacén de conocimientos representados no sirven para responder preguntas que no hayan sido consideradas específicamente en los procedimientos, aunque en lo conceptual se traten de problemas similares a los que sí pueden resolverse. Una vez programadas determinadas consultas no se pueden plantear ni siquiera cuestiones íntimamente relacionadas, por más que desde el punto de vista lógico sean triviales (como, por ejemplo, lo son la transitividad, la semejanza, la gene-ralización y la reciprocidad). Es imposible establecer a priori todas las preguntas pertinentes suscep-tibles de plantearse a propósito de determinada cuestión. En un lenguaje prescriptivo, hay que realizar un programa, una rutina o un procedimiento para cada tipo de pregunta susceptible de ser planteada por el futuro usuario y para cada uno de sus matices de varianza semántica. Un programa escrito para responder a la pregunta "¿en qué región viven los yanomamo?", por ejemplo, no sirve para responder sobre la marcha a esta otra: "¿qué otras tribus habitan la misma región?".

Sinteticemos los peligros aludidos hasta ahora: por un lado, el carácter procedimental de la pro-gramación, que no deriva trabajo sobre la máquina sino que arroja sobre el usuario humano la obliga-ción de descomponer su problema en pasos esotéricos, sin correspondencia con las formas humanas de solucionarlo. Por el otro, la falta de "inteligencia" de la máquina para resolver problemas afines a los que hayan sido formulados explícitamente. Por último, la posibilidad totalmente fuera de control de que los pasos para resolver un problema estén mal estipulados. Pero el riesgo más importante tiene que ver no sólo con la rigidez y mecanicidad de los procedimientos inferenciales, sino con la escasa

Page 28: Antropologia y Programacion Logica

28

plasticidad de las formas convencionales de representación de los datos. Si el programa en cuestión es una rutina de gestión de base de datos (DBMS), pronto hallaremos que las formas de representación de los datos propia de esta tecnología son demasiado esquemáticos como para plegarse a nuestras necesidades conceptuales. Si definimos un campo para indicar -digamos- la materia prima de un arte-facto arqueológico, o bien sólo podemos introducir un indicio sumario, o bien tendremos que definir ese campo con la longitud de la máxima combinación probable de elementos (piedra, madera, cuero, papel, tela, cerámica, bronce). En el primer caso perdemos precisión antropológica, en el segundo desperdiciamos espacio computacional y enrevesamos las operaciones de consulta. En ambos, nos alejamos del terreno de una implementación razonable. Los programas y lenguajes de la computación convencional, en otras palabras, carecen de elasticidad para enfrentarse a datos, casos y fenómenos cuya variabilidad es poco menos que absoluta. Carecen, por ejemplo, de listas y de árboles, estructu-ras de datos inherentemente elásticas y capaces de ser infinitamente recursivas, de contener en sí mis-mas otras estructuras versátiles de la misma naturaleza. Un solo caso de variabilidad de la que no po-damos dar cuenta computacionalmente (un número variable de hijos de un matrimonio, un número incierto de tribus en una confederación, un número indefinido de localidades en una provincia, una variable cuyo valor conocemos sólo con referencia a muy pocos casos) nos hacen ya sea adoptar procedimientos imprácticos, o esquematizar la información de una manera que sería inadmisible si hubiésemos empleado otra metodología como -por ejemplo- lápiz y papel. Hemos conocido casos que a la inadaptabilidad del software agregan el escaso ojo clínico del antropólogo para las operaciones formales: una base de datos relacional, por ejemplo, sobre la que se calculaban promedios, ignorando que los valores desconocidos para el antropólogo eran más bien nulos para la máquina. Pese a su perspicacia aparente, el software no contaba con ningún recurso predefinido para neutralizar los efec-tos de esa falacia.

En los últimos meses, en los que hemos procurado multiplicar los intercambios de ideas y las fun-ciones de asesoramiento, hemos chocado con la proliferación de técnicas aberrantes, al compás de la diseminación de las máquinas: mitos y entrevistas tratados con recursos de bases de datos (en vez de Hypertext o Cardfiles), conocimiento experto almacenado en planillas de cálculo (en lugar de KBS), y datos cuantitativos sacrificados en aras de las limitaciones estadísticas del Lotus. Los metodólogos, entretanto, se llaman a silencio, porque su saber artesanal y su formación humanista no los capacitan siquiera para interactuar dignamente con los rudimentos de un sistema operativo.

Este apartado no tiene por objeto sistematizar un canon exhaustivo de los fallos de la computa-ción convencional, sino sencillamente establecer un contraste que los sucesivos capítulos deberán enriquecer. Por ello terminaremos mencionando sólo un peligro adicional: a nivel de las operaciones puntuales, la computación clásica es metodológicamente indócil porque, salvo que hablemos a la má-quina en binario, su granularidad no es verdaderamente puntual. El procedimiento concreto seguido por la máquina para la resolución de una cláusula (por ejemplo, un query de SQL o una comparación de literales) varía de una marca de software a otra, de una a otra versión de un mismo producto, de un dialecto a otro de un lenguaje, de una generación a otra del sistema operativo, al compás de conside-raciones tan poco antropológicas como la economía en la cantidad de memoria consumida, la reduc-ción del número de pasos elementales en el programa compilado, el tiempo de acceso en la lectura del disco y así por el estilo. Los fabricantes sólo conocen el idioma de la amplitud creciente de las pres-taciones, sin obedecer estándares o intentando imponerlos de facto a fuerza de inversión publicitaria, de creación de necesidades y de estrategias de distribución.

Esto implica, ni más ni menos, que cuando pedimos a la máquina que efectúe una operación que, por su propia índole, se halla ya distanciada de los pasos metodológicos "naturales" o sistemáticos de

Page 29: Antropologia y Programacion Logica

29

la resolución del problema, no sabemos qué es lo que el sistema hace precisamente en respuesta a nuestro requerimiento. Al contrario de la programación lógica, que mira con desconfianza todo cuan-to no esté axiomáticamente fundado y que dibuja círculos de exclusión alrededor de algoritmos efica-ces pero oscuros, la computación clásica sólo responde a criterios de masa, velocidad y color, reputándose tanto mejor cuanto más escondida esté para el usuario la racionalidad de su verdadera ar-ticulación. Si se tratara de planificar una herramienta deliberadamente amenazadora para las ciencias sociales, no podría delinearse nada tan perverso e incontrolable como la computación convencional.

Page 30: Antropologia y Programacion Logica

30

4. PROLOG: EL CONTEXTO TECNOLÓGICO

El capítulo que sigue versa exclusivamente sobre computación; pero de haber un lector antropó-logo, más que insinuarle saltear su lectura le invitaríamos a realizarla escrupulosamente. Si bien los especialistas en informática podrían omitirlo sin mayores pérdidas, en él hablamos de ciertos aspectos que podríamos llamar filosóficos que la literatura del género casi nunca aborda y que demasiado a menudo se dan por descontados. En los párrafos siguientes se clarifica la denotación de algunas cate-gorías técnicas de orden pragmático que ya hemos introducido sin mayores aclaraciones y se brindan pautas para tipificar y comprender mejor las que vienen más adelante.

Para situar debidamente la herramienta que utilizaremos en el contexto de otras herramientas po-sibles y en el espacio del estado actual de la investigación en torno suyo, debemos prodigar algunos tecnicismos. La informática abunda en ellos, en una proporción de mil a uno respecto de una antropo-logía que a veces, sin motivos verdaderos, se queja de la proliferación de su argot. Es nuestro objeti-vo, empero, que ninguno de esos tecnicismos se utilice en vano o quede privado de su correspondien-te explicación. No debe olvidarse que este no es un texto de informática ni un estudio de sus múltiples aplicaciones, sino el reflejo de una investigación antropológica en la que el autor simplemente utiliza la herramienta que corresponde, a la que cree conocer con la familiaridad debida, y a la que está obli-gado a hacer conocer con la claridad que sea preciso.

Para ello habrá que hacer un poco de historia, lo cual vuelve a ser problemático porque la histo-riografía computacional carece de preceptiva, de método y de verosimilitud. Los orígenes del lenguaje Prolog son oscuros; se sabe que fue inventando por Alain Colmerauer y sus colegas en la Universidad de Aix-Marseille, hacia 1972, y que su nombre es un acrónimo por programación en lógica; que se lo utiliza (junto con el LISP, mucho más antiguo) en proyectos de investigación en inteligencia artificial, que su versión canónica está constituida por el llamado "Prolog de Edinburgo" o "Prolog de Clocksin y Mellish", y que fue adoptado masivamente en los Estados Unidos después que los japoneses amena-zaron con utilizarlo, en 1981, en su grandioso proyecto de las "Máquinas de Quinta Generación" (Feigenbaum y McCorduck 1985), luego abortado.

Esta referencia periódica merece esclarecerse. Las cuatro generaciones anteriores corresponden a otros tantos horizontes tecnológicos, según este cuadro aproximado:

1) Máquinas con válvulas de vacío, correlativas a la programación en lenguaje de máquina. 2) Introducción de transistores, lenguajes de alto nivel, monito- res y ensambladores de ma-

cros. 3) Incorporación de circuitos integrados, sistemas operativos y multiprogramación. 4) Integración en gran escala (VLSI), surgimiento de la tecnología PC y universalización del

sistema operativo DOS. Esta genealogía, tomada de Gruenberger (1976) y en la que no todos concuerdan, trasunta la au-

tomitología de la informática, que ve en la proliferación de etapas y en su minucioso inventario la confirmación de un impulso dinámico que nadie en sus cabales se atrevería a desmentir.

Dado que la inteligencia artificial es un ámbito frecuentemente mixtificado y que la computación en sí es una actividad misteriosa para la mayor parte de los científicos sociales, es imperativo definir los términos cruciales y practicar una serie de distinciones. Los científicos sociales tienden a confun-dir, eventualmente, los contenidos semánticos de "Informática", "inteligencia artificial", "programa-

Page 31: Antropologia y Programacion Logica

31

ción lógica", "Ciencia Cognitiva", "Ingeniería del Conocimiento", "Teoría de Autómatas" y hasta "Robótica" y "Cibernética", por lo que esta puntualización no es superflua. Servirá no tanto para suministrar una visión objetiva de cómo es verdaderamente el panorama tecnológico, sino para espe-cificar con mayor precisión el marco categorial y paradigmático en que este mismo trabajo se inscribe.

Como ya lo hemos dicho, aunque empleando otros conceptos, nuestra investigación explora la utilidad de un lenguaje de programación lógica, el Prolog, para la antropología. La programación ló-gica es una especialidad dentro de la programación en general que se ha desarrollado en el interior de la inteligencia artificial, la cual a su vez es una especialidad no necesariamente nueva dentro de la in-formática. El objetivo primario de la programación lógica es el uso de un simbolismo lógico como lenguaje de computación.

Empleamos aquí el término de informática como equivalente al procesamiento de la información o, como se dice por extensión metonímica, a la computación. Contrariamente a lo que muchos pien-san, la cibernética tiene poco o nada que ver con la Informática: la cibernética se ocupa del estudio de un tipo particular de sistemas que poseen mecanismos de control basados en el principio de la retroalimentación (feedback). Pese a que en toda computadora (igual que en todo refrigerador) puede haber algunos mecanismos de este tipo, ninguna computadora es una entidad "cibernética" en sí misma. Los especialistas en computación, que sepamos, jamás utilizan ese término, excepto para de-notar la teoría y el estudio de los mecanismos de regulación retroalimentados como un asunto sus-ceptible de computar entre otros.

Entidades de Software Tipos Ejemplos Sistemas Operativos DOS, UNIX, Windows NT, OS/2 Entornos operativos Gráficos Windows, X/Windows Lenguajes Prescriptivos Basic, Pascal, C, Forth Funcionales LISP Objetuales Smalltalk Declarativos Prolog Productos Planillas Lotus, Quattro, Excel DBMS dBase, Paradox Procesadores de texto Word, WordStar, WordPerfect Desktop Publishing PageMaker, Ventura Diseño Asistido AutoCAD Seudolenguajes Macros Macros de Lotus Macros de Word Generadores de reportes RPG Lenguajes estructurados SQL

Diagrama 1.1 - Tipos de Software

Dentro de la inteligencia artificial encontramos diversos campos, que cada analista caracteriza según su criterio: robótica (o sea, fabricación y programación de mecanismos inteligentes), resolución automática de teoremas o de problemas lógicos, diseño de sistemas de conocimiento en general o de sistemas expertos en particular, ingeniería del conocimiento, diseño de computadoras inteligentes o de programas que emulen la inteligencia humana, tratamiento del lenguaje natural y reconocimiento de formas por parte de las máquinas. La programación lógica se aplica a todos estos campos de la inteli-gencia artificial, como parte de un proyecto global para superar el estancamiento al que condujeron la

Page 32: Antropologia y Programacion Logica

32

programación procedimental por un lado, y la máquina de arquitectura Von Neumann por el otro. Trataremos en otro apartado la historia peculiar de la inteligencia artificial y sus tortuosas relaciones con las ciencias duras por un lado y las ciencias sociales por el otro.

Refiriéndonos al Prolog, lo primero que salta a la vista es que se trata de un lenguaje de compu-tación: esto implica que en computación existen otras entidades de software, aparte de los lenguajes, como ser los sistemas operativos, los programas utilitarios y lo que llamaremos "paquetes" o "productos" de software. Los programas utilitarios atañen por lo común a la administración de la máquina, por lo que podemos pasarlos por alto. Un "producto" (como ser el Lotus, el dBase IV o el Statgraph) es un programa o conjunto de programas que el usuario compra, instala y utiliza directa-mente, aplicándolo a sus datos. El lenguaje en que se compiló el programa que está en la base del producto es irrelevante para quien se sirve de él; en computación se ha popularizado una convicción que, aunque no se encuentra taxativamente comprobada, es por lo menos verosímil: en principio, y salvo que se requieran instrucciones exclusivamente concernientes a la máquina, se podría implemen-tar cualquier programa convencional utilizando cualquier lenguaje.

Existen diversos tipos de productos, concebidos para distintos fines: sistemas de gestión de base de datos (DBMS), spreadsheets o planillas de cálculo, sistemas de edición o procesamiento de textos, sistemas de composición gráfica o desktop publishing, sistemas de CAD o diseño asistido por compu-tador, etc. Cuando un producto incluye algún "lenguaje", éste puede ser o bien una entidad lógica de alto nivel (como el lenguaje xBase, el AutoLISP o el SQL) o bien un logicial de bajo nivel, como las macroinstrucciones del Lotus; pero en este caso el nivel no se establece con respecto a la máquina, sino con respecto al umbral de referencia que fija el producto mismo. Se diría que los "lenguajes de macros" incorporados en los productos no son verdaderos lenguajes, como tampoco lo son algunos que pasan por ser tales, como el RPG, por carecer de una gramática completa y por no responder a ciertas características estructurales propias de todas las entidades de ese tipo. La primera de estas características (como lo saben los lingüistas después de Hockett) es la de poder ser su propio meta-lenguaje; el Prolog, desde ya, puede serlo (Covington, Nute y Vellino 1988:160-182; Sterling y Sha-piro 1986). Esto permite, como se verá, adaptar la lógica de su funcionamiento a las exigencias de premisas diferentes a las que le sirvieron de base.

Lo que sostenemos en este ensayo es que una formalización cabal que utilice recursos computa-cionales no puede situarse, de ninguna manera, a nivel de los productos ni de los programas ready-made, como algunos antropólogos parecerían creer (Howell y Lehotay 1978; O'Neill 1984). Es ne-cesario trabajar a lo sumo a nivel de los lenguajes, que es donde puede comenzar a tenerse dominio y control de las operaciones que la máquina verdaderamente realiza, y donde se dispone de una docu-mentación suficiente como para ponderar los fundamentos y la estructura de la herramienta utilizada. En el caso especial del Prolog, podemos profundizar aún más en los niveles fundamentales, y acceder a los algoritmos lógicos que rigen por completo su operatoria. Cuando estemos en pleno desarrollo del trabajo de tesis propiamente dicho, verificaremos que esta exigencia es correlativa a la necesidad de definir un lenguaje de modelización como requisito para la construcción de modelos.

Hagamos, no obstante, una aclaración que el especialista en informática comprenderá de inme-diato: situarse a nivel de los lenguajes no significa estar obligado a codificar lo que se escribe en tér-minos cercanos a la máquina, pues en tal caso la única opción legítima sería el Assembly o, mejor aún, el código binario. Significa más bien que trabajando de esta manera tendremos acceso conceptual a todas las inflexiones críticas que caracterizarán el comportamiento de los programas que desarrolle-mos, de modo tal que podamos estar seguros que no se introducen efectos colaterales, que compren-

Page 33: Antropologia y Programacion Logica

33

demos todo lo que nuestra herramienta hace y que no violamos ninguno de los pasos lógicos que conducen desde un problema hasta su resolución. El Prolog es, acaso, uno de los lenguajes de más alto nivel que se conocen, pero al mismo tiempo es uno de los lenguajes de los que se tiene el más claro concepto en cuanto a su forma de operar, por su robusto vínculo con la lógica matemática y por su nítida fundamentación teórica (cf. Lassez y Maher 1983; Lloyd 1984).

Utilizar un producto pre-hecho como objetivo, herramienta o campo de una investigación antro-pológica que lo pone en foco, sólo tendría valor de curiosidad. Servirse de un programa comercial exitoso, como el dBase o el Lotus (que todo el mundo sabe que están atestados de errores conocidos como "bugs") y situar esa utilización en el centro del escenario metodológico nos parece más grotesco que meritorio. Ningún producto, por otra parte, se halla suficientemente documentado en su estructura de procesamiento como para sustentar una formalización seria o al menos una secuencia controlada de procedimientos, ni siquiera en una disciplina tan poco exigente, metodológicamente ha-blando, como la nuestra. Menos aún los productos que por presiones comerciales en un mercado competitivo adoptan la filosofía user-friendly, que consiste en facilitar o trivializar las cosas para el usuario, disimular a toda costa las dificultades y proporcionar atajos para pensar menos, hasta el punto que las intimidades de la computadora se precipitan en una caja negra, el análisis de los medios para lograr ciertos fines se torna innecesario y la documentación técnica desaparece. La trivialidad de estos empeños no impide que cada tanto se realicen investigaciones, por ejemplo, sobre las prestacio-nes de diversos productos (bases de datos, planillas de cálculo, paquetes estadísticos) a ésta o aquella rama de la antropología (cf. Greene 1987), ignorando los gotchas que ellos registran aún en el con-texto de su utilización comercial o financiera. Sólo unos cuantos productos de uso específicamente científico han resultado satisfactorios, pero muy pocos de ellos permiten expresar y verificar proposi-ciones teóricas cualitativas.

Si nos centramos en torno a un lenguaje, entonces, como la máquina-herramienta que permite fa-bricar herramientas (programas, modelos) que a su vez pueden utilizarse para formalizar determina-dos procedimientos de la disciplina, deberemos especificar de qué clase de lenguaje se trata. El Prolog es un lenguaje de inteligencia artificial, lo mismo que el LISP o el Smalltalk. Esto no quiere decir mu-cho, ya que cualquier lenguaje se puede utilizar, en teoría, para ese mismo fin: de hecho, uno de los intérpretes de Prolog que nosotros usamos ha sido programado en lenguaje C, y existe cierta tenden-cia a utilizar lenguajes convencionales (Ada, Forth, C, Modula-2, Pascal e incluso Basic) en trabajos típicos de inteligencia artificial (cf. Tello 1988:392-400; Kluzniak y Szpakowicz 1985). Lo que viene a cuento de esta inserción del Prolog en el dominio de la inteligencia artificial, es que se trata de un lenguaje específicamente diseñado para superar el modelo de Von Neumann y la filosofía procedimen-tal de resolución. Este modelo y esta filosofía son dos caras de una misma moneda. Von Neumann demostró que podía construirse una máquina para resolver problemas, siempre y cuando se pudieran implementar lenguajes que indicaran a la máquina lo que se debía hacer para resolverlos. Aunque hoy día esto pueda sonar pueril y sumamente obvio no lo es en absoluto, y tuvo que ser prolijamente demostrado en el plano teórico antes que se pensara siquiera en llevarlo a la práctica (cf. Desclés 1989).

La máquina de Von Neumann es el modelo abstracto al que responden todas las computadoras convencionales, y los lenguajes procedimentales son los que implementan los conjuntos granulares de instrucciones que le dicen secuencialmente a la máquina qué es lo que tiene que hacer. Para resolver un problema, es necesario descomponerlo en una serie de pasos discretos que siempre tienen que ver con unos pocos tipos de operaciones propias de la máquina: comparar, mover, saltar a una dirección determinada y sumar. Estos pasos discretos son las cláusulas del lenguaje o los comandos del pro-

Page 34: Antropologia y Programacion Logica

34

grama. Aunque cada vez más abstractos, todos los lenguajes convencionales llevan la marca de la ar-quitectura de la máquina de Von Neumann subyacente.

Por debajo de los lenguajes de este tipo opera un mecanismo que "traduce" las cláusulas del len-guaje que sea (COBOL, Fortran, Algol, C, PL/I, Forth, Pascal, Ada, Modula-2, Basic, APL) a las correspondientes "instrucciones de máquina". Este mecanismo se implementa procesando las cláusu-las mediante un programa traductor que se denomina compilador o cargando en la memoria un pro-grama que realiza la misma función y que se denomina intérprete. Hablar de lenguajes de "alto" o "bajo" nivel involucra una cuantificación relativa de las operaciones mecánicas producidas por cada cláusula (muchas y pocas, respectivamente), y en segundo orden implica una alusión a la lejanía o cer-canía semántica entre las cláusulas y dichas operaciones elementales.

Las máquinas que responden al esquema Von Neumann fueron diseñadas para efectuar cálculos numéricos en una época en que el equipamiento era costoso, frágil, voluminoso y consumía mucha energía; la economía computacional era en aquel entonces una variable importante: se trataba de utili-zar un mínimo de equipo para construir sistemas de una sencillez máxima, con la mayor eficacia po-sible dentro de estas limitaciones. En la actualidad las premisas son otras. Las computadoras han al-canzado un nivel de prestación y una velocidad de procesamiento que pone a tiro objetivos más ambi-ciosos y su función, tanto potencial como real, va mucho más allá del cálculo numérico. A pesar de que cada tanto surgen audaces o conservadores que las defienden9, la mayor parte de los estudiosos en inteligencia artificial de avanzada considera que las máquinas de Von Neumann deben dejar paso a una estirpe de procesadores menos condicionados por sus contingencias de aparición.

La arquitectura de Von Neumann condujo a una división del trabajo en dos grandes fases o as-pectos: (a) la designación de un método para la resolución de un problema, o bien la formalización del conocimiento de que se dispone, y (b) la traducción de la resultante del punto anterior a un con-junto de instrucciones que la máquina estuviera en condiciones de aceptar primero y de resolver des-pués.

El modelo lógico de las distintas máquinas aceptadoras y resolvedoras es lo que se denomina un autómata, entidad que no guarda relación alguna con un robot, que es una máquina física controlada por una computadora. La teoría de autómatas es de orden puramente lógico y algunas de sus fases son anteriores e independientes del desarrollo de la inteligencia artificial e incluso de la computación; las máquinas de Turing, por ejemplo, datan por lo menos de 1936. La robótica, en cambio, se ocupa de las interfaces entre programas de control y dispositivos físicos y su surgimiento se encuentra rela-cionado estrechamente con el diseño de máquinas inteligentes, aunque existen innúmeros robots in-dustriales que son de una escalofriante precisión, pero de conducta más bien mecánica.

La clave del planteamiento correcto de un problema consiste en la elección del modelo lógico o autómata adecuado. Existen diversos tipos de autómatas, que van desde los llamados autómatas fini-tos hasta las máquinas universales o máquinas de Turing, pasando por una serie finita y no extensible de tipos intermedios; la estructura del conjunto de instrucciones que cada tipo de máquina puede aceptar y resolver es lo que se llama formalmente una gramática y el conjunto de instrucciones en sí es lo que constituye un lenguaje.

9 Por ejemplo Minsky 1986:29; Bertram Raphael 1984:15-19; Desclés 1989; Backus 1978, etc.

Page 35: Antropologia y Programacion Logica

35

La teoría de autómatas y de las gramáticas y lenguajes formales posee cierta relevancia oculta para la antropología; a cada tipo de modelo concebible corresponde uno o varios autómatas, confor-me a la naturaleza de la información que debe aceptar, al proceso que tiene que efectuar sobre esa in-formación y a la salida que debe producir como resultante de ese proceso. En antropología ha sido frecuente la elección de un modelo equivocado; el error más frecuente es el de la elección de un au-tómata demasiado simple como para realizar la tarea de aceptación o educción que le compete. Este es el caso de los modelos generativos del lenguaje y la cultura, como el análisis eidocrónico de Colby, el estudio de Mridula Durbin sobre el jainismo o el modelo del cambio social de Fredrik Barth. Todos ellos "producen" casos del fenómeno que son correctos sintácticamente, pero que no garantizan la coherencia semántica de los encadenamientos resultantes; todos pasan por alto la célebre demostra-ción de Chomsky acerca de los límites de los autómatas finitos y de las gramáticas context-free en la producción lingüística, y es precisamente por esta razón que fracasan (cf. Martin 1972; Durbin 1974; Colby y Colby 1986).

Autómatas Lenguaje formal aceptado Autómata finito Lenguajes regulares Autómata de almacén pushdown Lenguajes independientes del Contexto Autómatas ligados linealmente Lenguajes sensitivos al contexto Máquinas de Turing Lenguajes no Restringidos

Diagrama 1.2 - Lenguajes formales y autómatas

Si hemos de ser rigurosos, las computadoras no son autómatas; este concepto se restringe al

modelo lógico subyacente de las máquinas aceptadoras y no se aplica a realidades que suelen ser más contingentes y heterogéneas. La teoría de autómatas no cubre todo el modelado de la computación, dejando fuera factores tan esenciales como la codificación de los datos y de las instrucciones de má-quina que, como se sabe, responde a una señalización de orden binario. Del mismo modo, es el mode-lo lógico general de los lenguajes de computación el que constituye un lenguaje de autómata, y no las implementaciones y dialectos de los lenguajes de computadora en sí.

Ahora se verá a dónde queremos llegar con este razonamiento. Las condiciones concretas del de-sarrollo tecnológico y la orientación del mercado de computadoras hicieron que las máquinas y los lenguajes se fueran apartando del modelo inicial, y que el problema de la generación de código proce-sable acabara reduciendo a un segundo plano la teoría y la práctica de resolución de problemas. Se-gún algunos, esto trajo aparejada la llamada "crisis del software", acabó con la leyenda de los progra-madores y analistas como tipos humanos reglados por una concepción lógica de la existencia, y du-rante algunos años distanció los intereses de la resolución de problemas como asunto teórico de la computación como trabajo empírico y (también) como negocio.

En programación lógica se piensa que el programa debe ser parte del proceso de resolución mismo; es decir, los pensamientos deben poder ser articulados como programas, de modo que las consecuencias de un conjunto de presunciones puedan investigarse poniendo en marcha las inferencias implícitas en ellas. Aunque durante todo este tiempo, obviamente, se siguió utilizando la lógica y la modelización para diseñar computadoras y lenguajes, el uso directo de la lógica como lenguaje de computación es una iniciativa muy reciente, la demostración de que ello era posible no ha cumplido aún veinte años y la implementación efectiva tiene menos de quince.

Page 36: Antropologia y Programacion Logica

36

La programación lógica es el correlato intangible, vale decir el software, de una nueva concep-ción que tendrá que ser complementada, más adelante, con un hardware capaz de procesamiento paralelo, de respuesta casi instantánea y de comportamiento versátil, las llamadas "máquinas de quinta generación" (Moto-oka 1984). En lugar de procesar información secuencial y mecánicamente, los programas lógicos deben simular razonamientos inteligentes a partir ya no de "datos" estructurados de una manera convencional, tendiente a la cuadratura y al esquematismo, sino de una representación del conocimiento. En lugar de procedimientos abstractos basados en la forma de operar de un aparato secuencial, esos programas desarrollan procesos de inferencia que procuran asemejarse al razona-miento humano, o que directamente lo modelizan conforme a una teoría psicológica. Las teorías psi-cológicas que producen modelos sobre las formas en que los seres humanos adquieren, almacenan, modifican y consultan sus conocimientos y en que se desarrollan las inferencias se inscriben, hoy por hoy, en la llamada Ciencia Cognitiva. De ella proceden algunas de las intuiciones más felices que se han instrumentado en la inteligencia artificial, aunque es importante aclarar que ni toda esa ciencia se funda en modelos computacionales, ni todas las herramientas informáticas responden a modelos psi-cológicos conjeturales de las formas humanas de procesamiento de información.

El Prolog dista de ser cabalmente un lenguaje de programación lógica. Es más: todavía no existen lenguajes de programación lógica que se puedan adquirir en el mercado, pues todo este proyecto re-cién se encuentra en sus fases iniciales. Aunque se han emprendido incontables investigaciones, fuer-temente financiadas, y se han desarrollado docenas de simposios y congresos, los especialistas todavía no se han puesto de acuerdo ni siquiera acerca de las especificaciones básicas de la futura familia de genuinos lenguajes de programación lógica. Estamos en una etapa transicional, en la que las máquinas siguen respondiendo al modelo de Von Neumann y en la que los lenguajes lógicos siguen depen-diendo de intérpretes y compiladores, pero se sabe que este estado de cosas es transitorio. El Prolog es en realidad una entidad híbrida, pues contiene algunos rasgos declarativos derivados de la lógica matemática junto a algunos aspectos procedimentales (no muchos) heredados de la programación convencional. Algunos especialistas afirman que de esta combinación especial deriva el Prolog gran parte de su atractivo y de su potencia (cf. Walker 1987:7-8; Covington et al 1988).

Otros estudiosos han puntualizado las razones que hacen del Prolog un formalismo lógico incom-pleto. Neil Rowe enumera las siguientes:

1) El lenguaje no permite calcular conclusiones disyuntivas, es decir aserciones en las cuales uno de los términos (sin saberse cuál) sea verdadero.

2) Tampoco es posible demostrar directamente que determinado hecho conclusivo es falso, ya que no se admite negar la cabeza de una cláusula.

3) De la misma manera, no es factible cuantificar existencialmente los hechos, las reglas o las preguntas.

4) Por último, el Prolog no es capaz de expresar directamente cláusulas de lógica de segundo orden, por cuanto no se pueden utilizar nombres de predicado como términos (Rowe 1988:349-350).

Aunque caracterizaciones como éstas son muy frecuentes en los textos introductorios, ninguna de las limitaciones señaladas por Rowe es verdaderamente crítica. Los dialectos modernos permiten superar esos escollos mediante técnicas aceptables de programación: respectivamente, los problemas antedichos se superan (1) estipulando un predicado adicional que reenvíe a una cláusula disyuntiva, (2) definiendo un predicado intermedio que remita a una negación en el cuerpo de una regla, (3) uti-

Page 37: Antropologia y Programacion Logica

37

lizando una técnica conocida como skolemización y (4) escribiendo predicados metalógicos. En los capítulos que siguen se explicarán estos conceptos.

Pero aunque el Prolog no es un lenguaje de programación lógica en todos sus aspectos, y aunque por ello mismo su capacidad built-in está afectada de algunas limitaciones para la demostración au-tomática de teoremas10, lo que se avizora en el horizonte en materia de lenguajes inteligentes es lo suficientemente análogo al Prolog como para conjeturar la posibilidad de una migración no traumática a las nuevas tecnologías cuando llegue la hora. De hecho, el Prolog se ha probado satisfactoriamente en arquitecturas paralelas de procesamiento, y los lenguajes experimentales de lógica paralela, como el Parlog, el Concurrent Prolog y el GHC se le parecen mucho (cf. Ueda 1985; Clark y Gregory 1986; Shapiro 1986; Eadline 1989). Por el momento, y aún sabiendo que la programación lógica en estado puro es una clase con la que el Prolog sólo parcialmente se solapa, identificaremos uno y otro con-cepto hasta tanto advengan los lenguajes auténticos de programación lógica llamados a superarlo.

Respecto de esta provisionalidad desearíamos hacer una puntualización. De todos los niveles po-sibles del espacio computacional, el de los lenguajes es el que mejor resiste el paso del tiempo. El lector habrá tomado conciencia de una paradoja: la literatura antropológica que versa sobre la aplica-ción de técnicas computacionales, y que se supone representa, desde el punto de vista instrumental, la voz de las vanguardias, es, en toda la producción disciplinaria, la que más rápidamente se torna cadu-ca. ¿A quién le sirven hoy, pongamos por caso, los escarceos de Benjamin Colby con el General In-quirer, los análisis automáticos de mitos urdidos por Pierre Maranda o los diccionarios contextuales de Stefflre, Reich y McClaran, si todos los logiciales de referencia se han convertido en piezas de colección y si todas las máquinas que mencionan han sido discontinuadas? En estas condiciones, la investigación es absolutamente irreplicable, y la mejor razón que se podía tener para formalizarla se esfuma. Pero mientras los sistemas operativos, los dispositivos periféricos y las unidades de procesa-miento evolucionan a un ritmo vertiginoso, los mejores lenguajes permanecen, y todo lo que se ela-bore en torno a ellos adquiere cierta sedimentación y continuidad. El LISP, por ejemplo, se remonta a la década de 1950, y es, después del Fortran, el más antiguo de los lenguajes que todavía se utilizan. Situándonos a nivel de los lenguajes, podemos sacar conclusiones duraderas acerca de cuestiones "gramaticales", estratégicas, estructurales y filosóficas que van mucho más allá de la vigencia efímera de este o aquel dialecto. En otras palabras, si hemos de investigar la aplicabilidad de la informática a nuestra ciencia (o si hemos de buscar en aquélla las soluciones que ésta necesita con tanta urgencia), hablemos de lenguajes: de otra manera, lo que podamos decir, por interesante que parezca, no sólo será incierto sino que ya es obsoleto.

El Prolog es, entonces, un lenguaje de inteligencia artificial fundado en la idea de la programa-ción lógica. Esto quiere decir que existen otros, y que es necesario explicar por qué no hemos optado por ellos. Acotemos el campo: aunque los lenguajes de inteligencia artificial son una especie abun-dante, que va desde el Smalltalk (orientado al objeto) hasta el FRIL (un superconjunto del Prolog diseñado explícitamente para cálculos ambiguos) la única alternativa razonable al Prolog es el LISP. El resto de los lenguajes se basa en un conjunto de criterios que a la fecha no posee una articulación axiomática.

Como a menudo sucede en este campo, los partidarios de uno u otro lenguaje son adversarios apasionados; la literatura técnica abunda en diatribas sobre la pobre prestación del Prolog en materia

10 Lo cual no implica ninguna limitación teórica significativa, dado que siempre es posible metaprogramar.

Page 38: Antropologia y Programacion Logica

38

de tratamiento de listas, o sobre la dificultad de la implementación del LISP en la vida real. Estos juicios axiológicos, unilaterales, reminiscentes de nuestras polémicas entre las concepciones emic y etic, son siempre recíprocamente relativos, y muchas veces no se los puede tomar demasiado en serio. Sin entrar en la contienda hemos tomado partido por el Prolog. De hecho, conocemos el LISP desde mucho antes de saber que el Prolog existía, e incluso desde un poco antes de que siquiera este último llegara a existir, y apreciamos las inmensas virtudes del LISP en todo lo que ellas valen, aunque no tenga objeto aquí comentarlas. En nuestro lugar, un purista lógico sin duda habría elegido el LISP. Pero tres razones nos han persuadido de que esta investigación no podría jamás llevarse a cabo en LISP sin incurrir en alguna especie de distorsión o de fetichismo:

1) El LISP es un lenguaje infinitamente más dificultoso que el Prolog, lo cual ya es mucho decir si nos interesa su asimilación por parte de los científicos sociales. Un programa en LISP sería una entidad ininteligible para los antropólogos, dado que es hermético incluso para muchos veteranos de la computación: sus cláusulas, además, se refieren explícitamente a entidades, funciones y operaciones lógicas que el estudioso tendría que dominar, aparte de la antropología y la computación. Sabemos de la existencia de programadores excelsos que dominan docenas de lenguajes, que no son capaces de desarrollar programas en LISP que pasen de cierta complejidad. Unánimemente se reconoce que la sintaxis del LISP es execrable. Sus matemáticas, por añadidura, se basan en la notación polaca. La lectura de un programa en LISP no guarda la misma secuencia que la expresión del asunto que trata en lenguaje natural, y su anidamiento es de varios órdenes de magnitud. En el ámbito de la informá-tica norteamericana, los críticos aducen que LISP, en lugar de ser acrónimo de list processing, signi-fica "lots of irritating single parentheses".

2) El LISP no es un lenguaje descriptivo, sino un lenguaje de un tipo peculiar, correspondiente a una forma de programación que se conoce como "funcional". Si bien esta filosofía es ampliamente respetable, mediante el LISP no podríamos cumplimentar nuestro objetivo de establecer la formaliza-ción a partir de una descripción del problema. Por otro lado, mientras que el LISP no posee presta-ciones descriptivas, el Prolog sí incluye prestaciones de programación funcional y de tratamiento de listas. Sin implicar que el LISP es "menos poderoso" o "más restringido" que el Prolog, es evidente es que este último es más adecuado a nuestra finalidad concreta.

3) Mientras el universo Prolog dispone de un standard de facto, con respecto al LISP las cosas no son tan claras. Si bien existe el llamado Common LISP como modelo de referencia, ninguna im-plementación conocida de éste incluye todas las cláusulas necesarias, con las especificaciones precisas que una buena documentación supone. El Common Lisp no es una solución demasiado sensata: in-cluye 620 nombres de función, 175 constantes y 13 tipos de datos, que con sus variantes llegan a ser unos 30. Contrastivamente, el núcleo del Prolog puro es quizá el lenguaje que menos predicados built-in posee, sin que ello afecte mucho su capacidad procedimental. La escasa eficacia del código generado por compiladores e intérpretes de LISP, además, ha ocasionado que, en algunos respectos, las propuestas de toda la inteligencia artificial hayan perdido credibilidad en una esfera que ya es, en su conjunto, bastante difícil de creer.

Page 39: Antropologia y Programacion Logica

39

5. INTELIGENCIA ARTIFICIAL Y CIENCIA COGNITIVA

Ya esclarecidas las categorías básicas, en este apartado precisaremos aún con mayor escrúpulo el concepto que nos merece la inteligencia artificial y sus relaciones con la Psicología Cognitiva primero (en los años 50 y 60) y con la Ciencia Cognitiva después. Se trata de evaluar el impacto que la com-putación ha ejercido sobre una disciplina psicológica y sobre una confluencia que se supone interdis-ciplinaria, así como el retorno de esta influencia bajo la forma de modelos de representación del co-nocimiento, para poder abordar después el fenómeno de la participación (o la ausencia) de la antropo-logía en este ámbito de trabajo.

Se trata, además, de quebrar al menos dos estereotipos y un mal hábito: aquéllos consisten en concebir a la inteligencia artificial como una empresa destinada al propósito imposible de construir máquinas pensantes y sensitivas, y a la Ciencia Cognitiva como una rama degenerada de la psicología, obstinada en pensar que la mejor metáfora para describir la actividad de la mente humana es una com-putadora. Estas ideas proliferan en ámbitos intelectuales proclives al irracionalismo, al lado de una negativa a profundizar la potencia de las nuevas técnicas: una clausura tan perniciosa como lo serían las disciplinas cuestionadas si lo que se dice de ella fuese verdad. El estereotipo, en cambio, emana de la propia antropología de vanguardia y consiste en hablar de la inteligencia artificial en términos tan genéricos que nada significan. Este último síndrome se presenta especialmente en la moderna antropología del conocimiento, donde se juega a presumir del uso de conceptos y modelos que pre-tender testimoniar la maestría que se ha alcanzado en el manejo de recursos formales que, valga la pa-radoja, nunca se usan formalmente.

La mitografía de la inteligencia artificial remonta sus orígenes heroicos al Simposio de Dart-mouth, en New Hampshire, en 1956, donde se discutió precisamente la posibilidad de implementar programas de computadora capaces de "pensar" o de "comportarse" con inteligencia. Si ese Simposio ha alcanzado el rango de mito fue porque en él se encontraron por lo menos cuatro de los genios ofi-ciales de la disciplina naciente: John McCarthy (quien acuñó su desgraciada denominación), Allen Newell, Herbert Simon y Marvin Minsky. También la Ciencia Cognitiva, fundada oficialmente mucho después, se remonta a ese tiempo-eje; como lo rememora una de sus protagonistas,

Ese año es importante porque señala un nuevo enfoque en la comprensión de la mente humana, un nuevo paradigma científico, al que hoy llamamos el paradigma del procesamiento de la información. En 1956, George A. Miller publicó un artículo sobre el procesamiento de la información en el que se hablaba de la capa-cidad limitada de la memoria a corto plazo (Miller 1956); Chomsky publicó uno de sus primeros análisis acerca de las propiedades formales de las gramáticas transformacionales (Chomsky 1956); Bruner, Goodnow y Austin, en su A Study of Thinking (1956) propusieron estrategias como constructos mediadores en la teoría cognitiva; y Allen Newell y yo publicamos una descripción del Logic Theorist, el primer programa de ordenador que resolvía problemas imitando a los seres humanos mediante la búsqueda heurística (Newell y Simon 1956). Un año activo, 1956 (Simon 1987:25-26).

Pese a que los límites son difusos y a que toda separación tajante es artificiosa, seguiremos pri-mero el trámite de la inteligencia artificial y luego nos reencontraremos con la Ciencia Cognitiva. Es costumbre entre los historiadores de la inteligencia artificial hablar de una versión "débil" y una ver-sión "fuerte" de la disciplina; la dicotomía es habitual en otros espacios del saber en el que se cruzan timoratos e imprudentes, palomas y halcones, reduccionistas a ultranza y hombres de espíritu. La facción débil (que académicamente es, sin embargo, la más poderosa) afirmaría que el diseño de pro-gramas "inteligentes" no es más que un medio para poner a prueba teorías sobre el modo en que los

Page 40: Antropologia y Programacion Logica

40

seres humanos cumplen sus operaciones cognitivas. La facción fuerte, como es de prever, asegura que las máquinas pueden llegar a pensar, que "una computadora programada de la manera correcta es de hecho una mente, en el sentido de que si se le introduce el programa correcto, puede decirse que ella literalmente comprende y experimenta otros estados cognitivos" (Searle 1980:417). Ninguna de las dos facciones, por otra parte, nos ha proporcionado una definición aceptable de lo que entienden por inteligencia; de modo que si antes ésta era, pragmáticamente, "lo que miden los tests", en el futu-ro será "las capacidades de los seres humanos y también (o no) de las máquinas".

No quisiéramos ser identificados ni con una línea dura computacional ni con el metaforismo cognitivista; hoy por hoy, las máquinas no son más sagaces ni más parecidas funcionalmente a un cerebro humano por correr un programa de ajedrez en Prolog que por efectuar un proceso contable en Fortran. Si es posible o no llegar a construir computadoras inteligentes y si el cerebro se parece o no a una computadora, no nos interesa en lo más mínimo, y menos aún en este contexto, en el que sólo nos preocupa la posibilidad de utilizar los principios de la programación lógica como sustento de una formalización de la antropología. Incluso nos parece que hasta la dicotomía entre moderados y recalcitrantes está mal planteada, ya que se ha pretendido enfriar aún más a los tibios negando que la mente humana pueda ser siquiera modelada mediante una computadora11, y se ha hecho a los reduc-cionistas más extremistas de lo que son, ya que la afirmación de que las máquinas son mentes sólo se halla, como símbolo caricatural sin referente preciso, en los testimonios de quienes impugnan esa idea.

La polémica es fútil porque es inconcluyente, y ya se debería acabar con ella: lo que se puede ha-cer con una computadora es un modelo, y punto. Dado que todo correlato observable de procesos no observables puede producirse, en teoría, de diversas maneras, o bien dado que el número de teorías capaces de explicar esos hechos es infinito, no se puede probar que ese modelo sea un equivalente funcional del cerebro, ni siquiera si sus comportamientos respectivos fueran idénticos en todas las condiciones de observación. Aunque en principio esa especie de modelización nos simpatiza, debemos admitir que entre quienes lo practican se ha hecho costumbre afirmar no sólo que los modelos nos ponen en presencia de una equivalencia formal, sino que constituyen la única descripción posible. Y esto ya es demasiado.

Sea como fuere, lo concreto es que la reunión de Dartmouth no generó ningún consenso. La in-teligencia artificial y su disciplina limítrofe en dirección a la psicología, la Ciencia Cognitiva, se desa-rrollaron en términos de continuas polémicas, en una tensión que muchas veces llegaba a las vías de hecho. Pero esta querella, significativamente, no nos interesa: en gran parte porque la caricatura de esa polémica se ha convertido en un gastado lugar común (cf. Cohen 1983; Gardner 1987:203; De Vega 1984; Covington et al 1988:217 y ss.), pero en lo esencial lo relevante de todo ese conflictivo proceso no fueron sus instancias bélicas, ni la participación de figuras estelares (como John Searle, Noam Chomsky o Hilary Putnam), sino los productos que lo jalonaron a uno y otro lado de la diviso-ria de aguas.

Casi todos esos productos fueron programas de computación, algunos de ellos en lenguajes con-vencionales, otros en lenguajes de inteligencia artificial inventados ex-profeso. Al revés de lo que des-pués se hizo común en Ciencia Cognitiva (donde existen amplios espacios de especulación sin una

11 O, lo que es exactamente lo mismo -aunque no lo parezca- que una computadora sea una buena metáfora de la mente. Hemos desarrollado esta polémica de la ciencia cognitiva en Reynoso (s/f), y no vamos a reiterar el caso aquí.

Page 41: Antropologia y Programacion Logica

41

práctica computacional que la sustente), esos programas concretos no suscitaron la reflexión que habría sido necesaria, y sus ricas consecuencias quedaron muchas veces sin inspeccionar.

El primer programa al que haremos alusión es el vituperado Logic Theorist (LT), de Newell, Si-mon y Shaw, capaz nada menos que de demostrar teoremas tomados de los Principia Mathematica de Whitehead y Russell y de otras proezas análogas. Lo significativo es que para ello se debió imple-mentar una filosofía de resolución distinta a la de la programación convencional y un lenguaje especí-fico de tratamiento de listas. El planteamiento de esa investigación fue tan riguroso, que pudo ser reproducido por una de las computadoras de la época, la monstruosa Johniac, en agosto de 1956. El LT comenzó a cosechar enemigos cuando Simon declaró que Allen Newell y él habían inventado "la máquina de pensar" y cuando se envió a una revista de lógica simbólica una demostración en un artí-culo en el cual figuraba como co-autor el propio programa (McCorduck 1979:142).

El editor de la revista rechazó el artículo, pese a que las demostraciones del programa se resol-vían en general a mayor velocidad que las de sus competidores humanos y a que por lo menos una de ellas resultaba más elegante que la ofrecida por Whitehead y Russell, según a este último le encantaba admitir. Los autores del LT se habían malquistado incluso a algunos practicantes de avanzada de la inteligencia artificial, como a McCulloch y a Pitts, por enfatizar que la equivalencia funcional entre la computadora y el cerebro humano no requería ninguna correspondencia estructural entre los meca-nismos que llevaban a cabo los procesos. Estos últimos teóricos, como se sabe, sostenían que el se-creto de las operaciones mentales (y el futuro de la inteligencia de las computadoras) radicaba en comprender de qué manera actúan los circuitos o redes neuronales12.

El grupo de Newell y Simon, empero, comenzó a trabajar en otro proyecto aún más ambicioso, un programa llamado General Problem Solver, capaz de resolver -en teoría- cualquier tipo de pro-blemas, de jugar cualquier tipo de juego lógico y hasta de superar paradojas de ingenio. Lo notable del GPS fue el modo en que se reunió la información que sirvió de base para estructurar la filosofía de sus procedimientos: se trabajó con entrevistas, introspecciones y observaciones más o menos subjeti-vas acerca de los "procesos mentales" implicados en la resolución de problemas. El objetivo no era desencadenar veloces combinatorias hasta dar con una respuesta, sino achicar el espacio de búsqueda mediante heurísticas y conjeturas. Aunque se logró echarlo a andar y su conducta era en ocasiones iluminadora, a la larga el GPS quedó suspendido a medio implementar. Su operatoria no era, en defi-nitiva, todo lo general que debía haber sido. Lo positivo de toda esta experiencia giró en torno de una comprobación: toda inteligencia implica el uso y manipulación de sistemas simbólicos, similares a los de la lógica o la matemática. Un sistema de procesamiento inteligente de la información consiste en-tonces en una serie de dispositivos de producción que operan sobre sus datos, simbólicamente repre-sentados.

Pese a su naturaleza polémica, a sus constantes antropomorfizaciones de la máquina y a sus me-canizaciones de la mente, la concepción que alimentaban Newell y Simon fue lo suficientemente gran-diosa como para impresionar incluso la imaginación de algunos antropólogos de la época. Su influen-cia, en efecto, puede rastrearse en una multitud de pequeños ensayos y escaramuzas de modelización, que van desde el ensayo de Peggy Sanday (1968) al modelo de Dan Sperber sobre el procesamiento

12 Esta última, como se sabe, es la postura del "monismo psiconeural emergentista" abrazado, entre otros, por Mario Bunge, El Problema Mente-Cuerpo. Un enfoque psicobiológico, Madrid, Tecnos, 1985.

Page 42: Antropologia y Programacion Logica

42

de la información simbólica (1979), pasando por la ya mencionada teoría axiomática de William Geoghegan (1971). Hemos comentado algunas de estas elaboraciones en otra parte (Reynoso 1989).

Otro aspecto radicalmente distinto de la inteligencia artificial fue desarrollado por el polémico Marvin Minsky, del Instituto Tecnológico de Massachusetts. Mientras Newell y Simon constuyeron modelos clásicos de procesamiento de la información, Minsky se ocupó más bien de explorar las estructuras cognitivas subyacentes a la conducta en general, desde la percepción más simple hasta la inteligencia más elaborada. La contribución de Minsky comprende una galería de conceptos que pre-tenden reflejar aspectos y ordenamientos globales de la cognición humana, articulados en una filosofía compleja, de lenguaje engañosamente trivial (cf. Minsky 1986). Pese a que Minsky desarrolló ciertas implementaciones computacionales, su lado fuerte radica en la invención de categorías sintéticas, y antes que nada los célebres frames, que han revolucionado todo el campo de la ciencia cognitiva y to-das las técnicas de codificación del conocimiento, tanto relativas a los hombres como a las máquinas. A despecho del aparente esquematismo del estilo intelectual de Minsky, sus invenciones se han incor-porado a sistemas computacionales de diagnosis en ámbitos que (como la medicina, la detección de yacimientos y el contralor industrial) son escasamente proclives a la especulación. Indagaremos estos aportes en un apartado específico de nuestra tesis, cuando revisemos las técnicas computacionales de representación del conocimiento.

La programación lógica constituye, a nuestro juicio, uno de los puntos culminantes de la inteli-gencia artificial. En ella confluyen las ideas de Newell y Simon al respecto de la resolución de dilemas lógicos, las de Minsky acerca de las estructuras declarativas de representación y las de McCarthy referidas a los lenguajes de tratamiento de listas. Acaso ella sea sin embargo una especialización apar-te, por cuanto la programación lógica se aparta radicalmente del mainstream de los lenguajes de computación y de sus filosofías concomitantes. Como ya lo hemos indicado, en lugar de fundarse, mediante una serie de abstracciones y reorganizaciones, en el modelo de la máquina de Von Neumann y en su conjunto típico de instrucciones, se deriva de un modelo abstracto que no posee ninguna relación directa con ningún tipo de máquinas.

La programación lógica opera una identificación entre el programa como conjunto de axiomas, por un lado, y entre el proceso de computación como la prueba constructiva de una afirmación a demostrar en base a la información estipulada en el programa, por el otro. Esta idea se remonta a las matemáticas intuicionistas y a la teoría de la prueba de principios de siglo. Estos paradigmas respon-dían al programa de Hilbert, quien aspiraba a basar el cuerpo entero del conocimiento matemático sobre un cimiento lógico y a desarrollar métodos mecánicos de prueba para las teorías, en función de los axiomas de la lógica y de la teoría de conjuntos. Es sabido que Gödel y Turing perturbaron este proyecto, estableciendo aquél en su Segundo Teorema el principio de la incompletitud y caracterizan-do éste una serie de problemas que serán eternamente incomputables.

La prueba de Gödel y las demostraciones de Turing demoraron el desarrollo de los métodos au-tomáticos de cálculo lógico hasta casi mediados de los años 60. Más que por la influencia de las ex-periencias de Newell y Simon, la programación lógica se originó en una propuesta de J.A. Robinson, inicialmente conjetural, que definió como único procedimiento lógico mecanizable al principio de resolución y puso a punto el algoritmo de unificación, el cual rige las operaciones de asignación de variables, el traspaso de los parámetros y la estructuración de los datos. Ambos conceptos están en la base misma del Prolog y se mencionarán con cierta frecuencia, ahondando en sus atributos, cuando caractericemos las entidades que conforman el lenguaje.

Page 43: Antropologia y Programacion Logica

43

Pese a estos desarrollos, la estrategia de la programación lógica continuaba pareciendo poco rea-lista, y algunos estimaban que contradecía, entre otras cosas, a la prueba de Gödel. A principios de los 70, sin embargo, Kowalksi y Colmerauer implementaron el Prolog, y luego aquél y van Emden desarrollaron una semántica formal para los lenguajes de programación lógica. Llama la atención que todo esto haya sucedido en Europa. En los Estados Unidos, que es donde se controla la trayectoria de este tipo de investigaciones, las pruebas fallidas con el Micro-Planner y el Conniver (sustitutos del LISP) habían sembrado la impresión de que todo el proyecto de mecanización de la prueba lógica estaba mal planteado.

A fines de la década, David Warren hizo conocer el compilador Prolog-10, el cual aceptaba cláu-sulas cuya sintaxis sentó los precedentes para el standard de Edinburgo. La programación lógica con-taba ya con un lenguaje plenamente operativo, lo que sirvió para demostrar materialmente los benefi-cios de una elaboración automática del cálculo lógico en materia de coherencia interna, continuidad deductiva, economía representacional, replicabilidad y exhaustividad de la prueba. Los mitos sobre la impractibilidad de la programación lógica debieron derrumbarse entonces, pero este derrumbe no se manifestó de inmediato. Todavía hoy en el interior de la inteligencia artificial los especialistas en téc-nicas de programación lógica conforman una minoría. La popularización de esta práctica es aún cosa del futuro.

Nacida hacia 1976, la moderna Ciencia Cognitiva ha hecho un uso intensivo y extensivo de los hallazgos de la inteligencia artificial y de la programación lógica, al punto que sus intereses se con-funden. Aquella ciencia, intrínsecamente transdisciplinaria, se originó en la más restringida Psicología Cognitiva, la cual a su vez se fundaba en la controvertida metáfora computacional de la mente hu-mana. Lo que aquí nos interesa no es la peripecia histórica de esta nueva ciencia de confines difusos y métodos heterogéneos -estupendamente reseñada en el excelente libro de Gardner (1987)-, sino el hecho de que las experimentaciones de la inteligencia artificial hayan tenido cabida y aprovechamiento inmediato en una ciencia humana que principió siendo tan "blanda" y programática como cualquier otra y que merced a esa práctica ha alcanzado en pocos años una notable claridad de objetivos y un cierto envidiable esplendor.

Pese a que nuestra actitud personal hacia ella es ambivalente y la simpatía que nos despierta ha experimentado altibajos, la Ciencia Cognitiva nos sirve, en esta coyuntura, como punto de referencia para estimar una posible vía de incorporación de métodos formales a las ciencias antropológicas. A priori, la integración de técnicas computacionales efectivas a la antropología es dificultosa porque, al no haber participado ésta en la ciencia cognitiva más que a título circunstancial, las etapas intermedias de modelización discursiva no se han cumplido: es como si faltara un eslabón, como si hubiera que explicar y discutir tediosamente cuestiones que en otras ciencias humanas se dan por sentadas. Pero aunque la antropología hubiera tenido una participación mayor en aquellos proyectos, no parece pro-bable que en el futuro se incorpore al conjunto de las cognitive sciences o a otro ámbito similar en tanto sus métodos de actualización científica (y de desarrollo metodológico) no se pongan a la altura de las circunstancias, y hasta tanto no se acondicione un nicho epistemológico que preste a la formali-zación una atmósfera adecuada.

Por el momento las vías de comunicación interdisciplinaria distan de ser fluidas, hasta el punto que los antropólogos (que nos preciamos de ser tan receptivos) nos hemos dado el lujo de soslayar la existencia de un cambio cualitativo en los instrumentos del saber. Está visto que no se puede tomar noticia de los avances y retrocesos de una ciencia en estado de revolución permanente a través de los periódicos, de la literatura de divulgación o de los acercamientos tangenciales. Si un científico serio

Page 44: Antropologia y Programacion Logica

44

desea desentrañar el funcionamiento del LT o del GPS, por ejemplo, no debería recurrir a las opi-niones de Boden (que los ha visto funcionar, según se dice) o las de Gardner (que ha resumido las crónicas de McCorduck), sino que debería imponerse a sí mismo profundizar en los formalismos y afrontar los programas cara a cara, a través de su código fuente o al menos de sus especificaciones técnicas. Los mejores científicos cognitivos se han acostumbrado en general a esta metodología, la única aceptable a la luz de la escala de las argumentaciones y de la dificultad intrínseca de los proble-mas; los antropólogos, en cambio, han hallado más cómodo seguir confiando en el rumor.

Aún en territorio amigo es extremadamente habitual encontrar afirmaciones equivocadas acerca de los presuntos fracasos, limitaciones y callejones sin salida de la inteligencia artificial. Es indudable que han habido fiascos, como en toda ciencia activa; pero la fabricación de versiones oficiosas acerca de dificultades insolubles e imposibilidades teóricas constituye ya una actividad institucionalizada que ha sentado sus reales en la periferia de la disciplina. Estas afirmaciones capciosas suelen disfrutar de un gran poder de penetración entre los científicos sociales; significativamente, acostumbran aludir a "demostraciones taxativas" que refutan la posibilidad misma de implementar la programación lógica, o prodigan otras habladurías absolutamente inexactas, todas más o menos del mismo jaez. Las noticias que más arraigan son las que dan cuenta de los fracasos más espectaculares. Se quiere que lo más chirriante y descomunal sea verdad. El rumor más típico consiste en afirmar que algo que se viene haciendo desde hace años como cosa de rutina constituye una utopía o un proyecto irrealizable, y que eso ha sido demostrado sin margen de duda por los científicos; un segundo arquetipo es el género de la confesión reaccionaria por parte del vanguardista desengañado, sucedánea de la evolución witt-gensteiniana, una especie que (salvando las distancias) ha comenzado a proliferar también en antropo-logía13.

Es común que entre los adversarios sistemáticos al proyecto de la inteligencia artificial las fuentes de datos de ambas especies de prevaricación sean anticuadas y de segunda mano. La creencia en una serie de obstáculos insuperables para el proyecto de la programación lógica afecta incluso a algunos estudiosos que miran con buenos ojos el progreso de la ciencia. En un texto que es un verdadero muestrario de información unilateralmente expuesta, y que se presenta como una "introducción a la informática para psicólogos y humanistas", Bertram Raphael expresa (en una misma página) que "el cálculo de predicados de primer orden no permite que los cuantificadores abarquen a los predicados o funciones, o que los predicados o funciones sean aplicados a otros predicados o funciones" y que "recientemente se han hecho muchos intentos para desarrollar métodos de prueba automática, quizá análogos a los de resolución, que fueran aplicables a la lógica de orden superior. Los resultados han sido decepcionantes" (1984:171). Pese a su suficiencia y a su tono formal, ambas aserciones son equívocas, si es que no erróneas: comprobémoslo.

El cálculo de predicados puede perfectamente referirse a sí mismo; por supuesto, en ese trámite deja de ser un cálculo de primer orden, pues esa operación es metalógica, es decir, de orden superior. Se trata -como dirían Tarski, Russell o Bateson- de una propiedad bien conocida de la tipificación lógica, y no de un defecto imputable a la naturaleza del cálculo o una limitación fatal del formalismo o

13 Ejemplos clásicos son Marshall Sahlins (1976: passim); Melford Spiro, "Culture and Human Nature", en G. Spindler (ed.), The Making of Psychological Anthropology, Berkeley, University of California Press, 1978; Stephen Tyler, The Said and the Unsaid, N. York, Academic Press, 1978, passim; Charles Frake, Language and Cultural Description, Stanford, Stanford University Press, 1981; Peggy Reeves Sanday, Poder Femenino y Dominio Masculino, Barcelona, Mitre, 1981, etc; todos ellos son apologías implícitas o explícitas del renegamiento que contrastan con el carácter de la trayectoria anterior de los respectivos autores.

Page 45: Antropologia y Programacion Logica

45

de la mente humana. Raphael confunde la base sustentatoria de los algoritmos de resolución de los sistemas de cálculo lógico con sus alcances y posibilidades, identifica las premisas iniciales de un formalismo con su capacidad de extensión: los lenguajes de programación lógica se basan en el cál-culo de predicados del primer orden, pero los mecanismos operativos que les están asociados pueden procesar inferencias de cualquier orden, si bien no existen aún axiomáticas completas que den cuenta de esa actividad extendida en tanto tal. Los programas que hemos adjuntado incluyen docenas de ruti-nas que utilizan recursos metalógicos; todos los dialectos de Prolog que conocemos incorporan predi-cados metalógicos que aún los aprendices usan rutinariamente: assert, clause, retract, call... Existe una profusa fundamentación teórica, tanto de los aspectos metalógicos como de los extralógicos; de-sarrollar sistemas de cálculo automático mediante cláusulas metalógicas no sólo no arroja resultados decepcionantes, sino que es una práctica habitual e inevitable en la computación moderna (cf. O'Keefe 1983; Brown 1985; Brown y Weinberg 1985; Sterling y Shapiro 1987:146-156; Hashim 1988).

En el trámite de la apropiación de formalismos computacionales y razonamientos metamatemáti-cos por parte de las ciencias humanas, o en la mirada crítica que se les dirigió, las exigencias de rigor se vieron relajadas y las simplificaciones categóricas estuvieron a la orden del día. Se popularizó una perversión de la divulgación científica y filosófica, caracterizada por la diseminación de lo que po-dríamos llamar "ambigüedades lapidarias". Para el sociólogo Jesús Ibáñez, por ejemplo, Gödel de-mostró nada menos que "la imposibilidad de la prueba teórica" (1985: 188). Sea lo que fuere lo que esto pretende significar, la prueba de Gödel, como todo el mundo sabe, sólo rige para las expresiones autorreferentes en un sistema formal de primer orden que incluya una porción muy precisa de las ma-temáticas, como lo son las funciones numéricas recursivas primitivas (Gödel 1981:55-89). De allí a decir que "ninguna teoría puede ser completa" y (separadamente) "ninguna teoría puede ser consis-tente" hay, para decir lo menos, un buen trecho. Volveremos varias veces sobre esta cuestión.

Existe además una espesa tradición de minuciosas exploraciones de lo que no puede ser hecho, ejemplificada en textos que llevan títulos tales como Limitaciones Internas de los Formalismos, de Jean Ladrière (1969), o Matemáticas. La Pérdida de la Certidumbre, de Morris Kline (1985), ade-más de colecciones de amplísima difusión sobre paradojas y problemas insolubles. Aunque la mayoría de estos trabajos se refieran a campos tan poco relevantes para una ciencia empírica como la teoría elemental de los números, los invariantes de conversión del cálculo lambda o la recursión sobre con-juntos infinitos, su adopción por parte de interpretativos e irracionalistas no para mientes en esas cuestiones de detalle y reivindica su efecto deletéreo global, aunque no vengan para nada al caso. Lo que podríamos llamar el "imposibilismo" cuenta incluso con una epistemología propia, pomposa y contradictoriamente expuesta bajo el signo del "constructivismo radical", cuando no es más que un inmovilismo conservador desde el cual se nos dicen cosas tan sesudas como que la realidad es un in-vento y que la ciencia no funciona (cf. Watzlawick y otros 1988). El cuidadoso análisis de lo que sí es posible, mientras tanto, se posterga ad calendas græcas o se guarda en lugar oculto, al extremo de que para fundamentar esta misma tesis tuvimos que desbrozar la trocha con nuestras propias manos.

Creemos, por otra parte, que ciertos sectores bien intencionados de la Ciencia Cognitiva no se a-sientan sobre una base computacional demasiado firme. Como en las antiguas luchas dinásticas, algu-nos de los aspirantes al trono son impostores y muchos de los documentos que se presentan son amañados. Más adelante presentaremos evidencia referida a la escasa familiaridad que muchos que se reputan expertos denotan con los rudimentos más insoslayables de la informática.

En efecto: la aparición cada vez más frecuente de selecciones de textos de "Semiótica e inteli-gencia artificial" o de "inteligencia artificial y Estudios Simbólicos" y otras similares, coincide con el

Page 46: Antropologia y Programacion Logica

46

despliegue de una extraña especie de formalización figurada, de lógicas fantasmáticas, en la que inclu-so aparecen seudolenguajes especialmente inventados a los efectos de la ejemplificación convincente (cf. Ouellet 1989). El caso más flagrante que conocemos es el de Borillo, Borillo y Bras (1989), auto-res encuadrados en la escuela de arqueología computacional de Gardin: en su breve artículo sobre el razonamiento temporal se anuncian ejemplos "en lenguaje Prolog" que no son más que cláusulas suel-tas en una signatura sui generis que de ningún modo es Prolog, que no sigue el canon de ningún len-guaje formal y que ninguna máquina fabricada por el hombre estaría en condiciones de aceptar.

Por desdicha, al revés de lo que sucedió en los sectores más laboriosos y respetables de la Cien-cia Cognitiva, la antropología se ha alimentado más de estos estereotipos y vulgarizaciones (que pa-san por alto incluso el planteamiento puntual de los problemas) que de una compenetración juiciosa en los avances sustantivos de la inteligencia artificial. Ya que hemos tenido ocasión de poner en tela de juicio la utilización de la computación convencional por parte de la antropología, habrá también que fijar postura sobre el encuentro, bastante más esporádico, entre la antropología y la dupla con-formada por la inteligencia artificial y la Ciencia Cognitiva.

La segunda mitad de la década del 70 marcó el punto más alto de esta triple alianza, que por al-guna razón se materializó prevalentemente en una serie de artículos breves y de aplicaciones episódi-cas publicadas en American Ethnologist (cf. Berlin 1976; Burton y Kirk 1977; Dougherty 1978; Fjellman 1976; Gladwin 1979; Quinn 1975, 1976; Rice 1980). Ningún tratado antropológico de cierta magnitud profundizó en las bases epistemológicas de la adopción de las nuevas herramientas y metáforas; ningún antropólogo descolló tampoco como virtuoso en los formalismos a los que recu-rría, ni mantuvo demasiado tiempo sus asociaciones interdisciplinarias. La generalidad de los forma-lismos era apenas mencionada o forzada al trámite de una ejemplificación presurosa, orlada de prome-sas de desarrollar una fundamentación prolija cuando se tuviera la oportunidad. Diez o quince años después la situación es la misma, aunque el ejercicio es hoy menos popular.

La inteligencia artificial de aquel entonces (urge aclararlo) aún no había desarrollado los instru-mentos necesarios para sustentar la idea de la programación lógica. Fuere por ello o por otra causa, el proyecto poco a poco se fue desdibujando, sin que nadie reseñara su apogeo, sintetizara sus alcances o explicara su desaparición. En el cuerpo de la tesis habrá motivos para esclarecer qué fue lo que en realidad sucedió.

Page 47: Antropologia y Programacion Logica

47

6. PROGRAMACIÓN DE PROBLEMAS ANTROPOLÓGICOS EN PROLOG

Nuestras demostraciones se inician en este punto, aunque (por no haber materializado aún ningu-na fundamentación) no corresponda por ahora interpretarlas demasiado formalmente. Expondremos un ejemplo que debería ser familiar para cualquier antropólogo (un sistema de parentesco) para co-menzar a apreciar la manera en que se formula un programa en Prolog, el más popular de todos los lenguajes de programación lógica, el de sintaxis más sencilla y el de precio más barato. Después acla-raremos las estructuras lógicas del Prolog en un ámbito más independiente de una aplicación determi-nada y, posteriormente, propondremos algunos usos antropológicos de las diversas estrategias de programación lógica, exponiendo por fin un conjunto de aplicaciones más o menos completas. Toca ahora al lector antropólogo armarse de paciencia frente a una ejemplificación que puede no ser afín a su órbita de preocupaciones y concentrarse no tanto en los contenidos a los que haremos referencia en este caso, sino en la naturaleza de las relaciones ilustradas.

Anticipemos que el Prolog se basa en el cálculo de predicados de primer orden y que este cálculo se anota por medio de las llamadas cláusulas de Horn. En su implementación computacional, este cálculo (cuyos rigurosísimos fundamentos lógico-matemáticos es conveniente, aunque no imperativo, conocer) se articula a través de la interrelación entre dos tipos de entidades lógicas, hechos y reglas, que se contrastan luego con un tercer tipo que podríamos caracterizar como consulta o pregunta (query). Todos estos elementos y sus correlatos conceptuales serán analizados en un capítulo especí-fico.

Para simplificar, consideraremos hecho a todo predicado que exprese una relación entre constan-tes (o entre valores conocidos). Esas constantes pueden hacer referencia a cosas, clases de cosas, nombres, acciones, procesos, cualidades, lugares, cantidades y toda otra entidad que pueda formar parte de una aserción en lengua natural. En Prolog esas relaciones pueden escribirse de distintas ma-neras, en cualquier idioma, utilizando palabras significativas o símbolos abstractos, de acuerdo con las necesidades del programador. Por ejemplo: padre(juan,pedro). es(padre,juan,pedro). relacion_parental(juan,pedro,padre).

Cualquiera de estos predicados que consignan "hechos", funciones o propiedades, significa que "Juan es el padre de Pedro" o a la inversa, que "Pedro es el padre de Juan", de acuerdo con la pauta de interpretación semántica que se escoja. Algunos especialistas consideran que existe una entidad fáctica aún más elemental, que se denomina atributo o propiedad, y que tiene una estructura de pre-dicado de aridez mínima, como ésta: varon(juan).

Por lo común (aunque esta interpretación no es mandatoria), los atributos monádicos presuponen una predicación del tipo "A es B", siendo A el valor de la constante y B el nombre del predicado.

Page 48: Antropologia y Programacion Logica

48

El segundo tipo de predicados es la regla. Por ejemplo, la regla hijo(A,B) :- padre(B,A).

correspondiente al primer tipo sintáctico de la notación de los hechos, nos permite tanto definir la relación "hijo de" como calcularla. Los dos puntos y el guión representan la condición "si"; de modo que esta regla podría leerse como "el hijo de A es B, si el padre de B es A". Hasta aquí, como vemos, no hay nada esotérico ni contraintuitivo, y es fácil advertir que las constantes (los objetos conocidos) se indican con términos en minúscula y las variables (los candidatos posicionales, las incógnitas de las preguntas, los términos generales de una regla) con inicial mayúscula.

Si escogemos la lectura "el padre de Juan es Pedro" en la interpretación de los hechos, aplicando la regla correspondiente no hace falta indicar al sistema que "el hijo de Pedro es Juan". La máquina puede deducirlo o calcularlo lógicamente, mediante un procedimiento de instanciación de variables que no viene al caso analizar ahora, pero del que podemos decir que es insospechable y transparente. Esto quiere decir que, en la estipulación declarativa de un conjunto de hechos conocidos, sólo hace falta explicitar los que no pueden ser deducidos de otros hechos más básicos mediante la aplicación de reglas. Estos hechos a explicitar constituirían algo así como los "primitivos" del sistema axiomá-tico.

Llamemos la atención sobre el hecho de que estos primitivos carecen por completo del aura de misterio, de la inmediatez eidética y del carácter puntual e indescomponible de que disfrutan los que los epistemólogos generalmente aducen como tales, y que constituyen el punto de partida de sistemas axiomáticos, como ser -digamos- el de Euclides. En todo modelo lógico, los primitivos son simple-mente los términos que no se definen con el objeto de que los demás se definan a partir de ellos, y a fin de que el razonamiento no se precipite en una regresión infinita.

En un genuino sistema axiomático, un primitivo no tiene por qué ser intuitivamente palmario. Su carácter de primitivo no implica ningún límite, sino que expresa un comienzo, un punto de amarre relacional y arbitrario para los demás conceptos. Contrariamente a lo que se piensa, la definición sustantiva no forma parte de ningún sistema lógico: a nuestros efectos, y a diferencia de lo que afir-mara (digamos) un Rodney Needham (1975), no es catastrófico para la teoría y la práctica de la mo-delización que la antropología experimente dificultades en definir sus términos esenciales.

Lo que se defina como primitivo (los hechos, en suma) serán las premisas del razonamiento, aquello sobre lo que corresponderá discutir, en última instancia, una vez que se confíe a la máquina el encadenamiento del cálculo de la inferencia que lleva desde aquéllas a los teoremas, conclusiones, corolarios o como se lo quiera llamar.

En este punto, un buen antropólogo ya se habría dado cuenta de que para calcular todas las rela-ciones de parentesco posibles, los únicos hechos que hay que consignar son las relaciones de filiación, las relaciones de conyugalidad y el sexo de los varones o las mujeres incluidos en la muestra. A partir de estos hechos, se puede construir un sistema de reglas que permitan instanciar la relación de cada uno con todos los demás en el interior de un conglomerado social. El Prolog torna obsoletos o super-fluos algunos de los laboriosos procedimientos de elicitación del método genealógico, formulados por Rivers a principios de siglo y luego colectivamente trivializados, que obligaban a relevar redundante-mente la relación de todos con todos, una exigencia que sólo podía cumplimentarse en contadas oca-

Page 49: Antropologia y Programacion Logica

49

siones y que ante un conjunto menos que mediano ya es matemáticamente imposible (cf. Hackenberg 1973: 294-295; W.H.R. Rivers 1975).

Y ya que estamos hablando de parentesco en tanto tópico clásico de la antropología, hay que decir que no es necesario, desde ya, recurrir a predicados cuyas relaciones obedezcan a la nomencla-tura occidental: se puede plantear el sistema en terminología samoyedo, selknam o kwakiutl, o mejor aún en varias terminologías a la vez, modificando la aridez (el número de términos) de los predicados para poder tomar esa indicación como computable. Por ejemplo: relacion(A,B,yawa,trobriand) :- relacion(B,A,yawa,trobriand). O bien: abuela(A,B,fox) :- nieta(B,A,fox); nieto(B,A,fox). abuelo(A,B,fox) :- nieta(B,A,fox); nieto(B,A,fox). hermano_de_la_madre(A,B,fox) :- sobrina(B,A,fox); sobrino(B,A,fox). hermano_de_la_madre(A,B,fox) :- sobrina(B,A,fox); sobrino(B,A,fox).

El segundo caso ilustra algunos de los términos de parentesco y sus recíprocos en terminología fox, de acuerdo con Floyd Lounsbury; el punto y coma separa, como es evidente, las definiciones alternativas, las que también pueden expresarse mediante cláusulas separadas. Estas facilidades nos permiten operar a través de distintos sistemas clasificatorios e incluso plantear problemas de isomor-fismo, semejanza o discrepancia entre dichos sistemas, apelando a lo que se conoce como "técnicas de metaprogramación".

Las prestaciones antedichas sugieren que su expresión en Prolog confiere a la programación ló-gica un inusitado valor como mecanismo de relevamiento. Un mecanismo que permite, entre otras cosas, introducir información altamente condensada y obtener eductos inmensos, o volcar la totalidad de las relaciones básicas de un conglomerado indefinido en el momento de la elicitación, y luego de-ducir los conjuntos parentales conexos y sus ramificaciones sin basarse necesariamente en un Ego inmóvil como punto de referencia. Para la antropología de las relaciones sociales (de la que el análisis del parentesco es sólo un caso entre otros) esta posibilidad de variar interactiva y dinámicamente el punto de referencia -en contraste con el carácter acabado, cristalizado e inerte de los diagramas de los libros- no es menos que revolucionaria. ¡Ego puede ser una variable!

Traducido a otras problemáticas, esto quiere decir ni más ni menos que en un programa lógico se puede modificar a voluntad el eje de articulación relacional entre los términos que se analizan, desli-zando la perspectiva a lo largo de sus implicancias o de sus transitividades. La programación lógica pone en acción, por primera vez, la posibilidad real de construir modelos que se pueden manipular y modificar a voluntad, observando los resultados diferenciales de cada modificación y planteando pro-blemas en consecuencia.

La tercera categoría de predicados es, como habíamos anticipado, la pregunta (query) que equi-vale al planteo de un problema, de una hipótesis, de una generalización o de una teoría compleja, de acuerdo con su interpretación semántica y con su nivel de complejidad. La pregunta estimula al sis-tema para que instancie todas las variables pertinentes de acuerdo con su conocimiento expresado en hechos y con el orden que recorre esos hechos expresado en reglas. Se pide a la máquina una res-

Page 50: Antropologia y Programacion Logica

50

puesta, la cual depende estrictamente de los datos que nosotros mismos hayamos indicado. De acuerdo con las relaciones entre constantes y variables, existen cuatro tipos de preguntas: hijo(A,B). hijo(A,juan). hijo(pedro,A). hijo(pedro,juan).

En el primer caso, en el que ambas variables están libres, se solicita al sistema que entregue la lista de todos los sujetos relevados que se encuentran en la relación estipulada.

En el segundo y tercero, se pregunta acerca de las variables que están en cierta relación con las constantes indicadas: respectivamente, "¿de quién es hijo Juan?" y "¿quien es el hijo de Pedro?" (o bien, "¿quiénes son los hijos de Pedro?").

En el cuarto caso, se pregunta si es verdad (o no) que el hijo de Pedro es Juan. Esta es la va-riante de query que, tal como aquí se la presenta (aunque el problema planteado es indeciblemente es-quemático) tiene más similitud formal con la puesta a prueba de una hipótesis.

Es obvio que los ejemplos que hemos dado no alcanzan para hacerse una idea cabal de lo que es realmente formular el modelo de un sistema en un lenguaje de programación lógica. Es necesario aclarar que la estructura de la representación tanto de los datos como de las reglas y preguntas puede (y acostumbra) ser mucho más elaborada y compleja, involucrando definiciones alternativas o desa-tando cálculos de relaciones subsidiarias. Si preguntáramos por la relación "suegro de X", en vez de por "hijo de X", el sistema tendría que resolver primero la existencia de X, resolver la relación "es-posa de X" e instanciar luego el valor correspondiente al "padre de la esposa de X". Los pasos inter-medios en la resolución de una consulta de cualquier tipo, de hecho, pueden ser centenares, y situarse mucho más allá de la capacidad de concentración del mejor analista humano, haciendo realidad el sueño levistraussiano de la manipulación del modelo.

Pero el núcleo de la programación lógica en Prolog consiste, básicamente, en los elementos refe-ridos y sólo en ellos; la fuerza deductiva de un sistema se basa en su densidad, en la riqueza de obser-vaciones que compendia, más que en la masa absoluta de los datos que colecciona. La potencia com-binatoria de la sucesión de hechos, reglas y consultas que pueden a su vez ser complejas, recursivas y jerarquizadas en un sistema que representa un dominio real, hace de los lenguajes de programación lógica la herramienta por excelencia para la sistematización del conocimiento, incluso en ámbitos res-pecto de los cuales existe una cobertura verbal escasamente refinada.

Apenas tendría gracia que la programación lógica aportara recursos formales a un área de la dis-ciplina que ya se encuentra en gran medida formalizada. El mismo formalismo que hemos ejemplifi-cado, casi sin modificaciones estructurales, sirve para abordar otros tipos de relaciones características de los estudios antropológicos: compadrazgo, clientelismo, relaciones intra o interétnicas, subordina-ción, redes sociales, relaciones de poder, análisis del rumor, diseño de las retículas a nivel de la communitas, construcción analítica de las "estructuras sociales" en el sentido tradicional, facciona-lismo, relaciones entre clases sociales, análisis de rol-status y un largo etcétera. También, si se desea, se puede plantear en un solo macroesquema complejo de resolución todo un rico cuadro de relaciones intersistémicas. De esta manera, se podrían formular hipótesis sobre la relación entre las estructuras de parentesco y cualquier otro orden de la vida social, introduciendo la información pertinente y vin-culando los diversos registros temáticos a través de predicados que expresen los hechos conocidos.

Page 51: Antropologia y Programacion Logica

51

Al igual que los lenguajes procedimentales más elaborados, el Prolog es asimismo modular: tanto los hechos como las reglas pueden imbricarse en construcciones jerárquicas de complejidad creciente, o bien a la inversa: cada problema complejo es susceptible de descomponerse en partes interrelacio-nadas, dedicando toda la potencia de la máquina a cada una de las resoluciones parciales. La resolu-ción de un problema puede convertirse, a su vez, en el input de un programa concatenado. De igual modo, se pueden someter distintos conjuntos de hechos a una misma batería de reglas de ordenamien-to, ajustando a éstas en función de su rendimiento relativo frente a problemáticas específicas y apro-vechando el análisis de ese ajuste para construir una tipología de problemas característicos y sus respectivos modos de resolución. Una "teoría general" (es decir, una teoría que conserva su validez a través de múltiples ámbitos de predicación, como la Teoría General de Sistemas) tendría en la modu-laridad del Prolog un instrumento de verificación insuperable. En términos de programación lógica de sistemas expertos, esta modularidad se comprueba confrontando diversas masas de datos o represen-taciones analíticas de "hechos" con la misma máquina de inferencia.

La posibilidad de generar programas de cierto grado de generalidad no excluye el uso ocasional del Prolog como "calculadora lógica" para salir del paso, por así decirlo. Supongamos que un colega nos presenta un razonamiento lógicamente sospechoso, como el encuadrado en esta frase de Melford Spiro en contigüidad a ciertos comentarios sobre falacias de tipificación:

La cultura, a la que he definido como 'un sistema cognitivo' [...] no consiste en pensamientos más de lo que consiste en sentimientos. Dado que el pensamiento y el sentimiento son propiedades de las personas, y una cultura no consiste de personas -aunque una sociedad sí- es difícil ver de qué manera [el pensamiento y el sentimiento] podrían ser parte de la cultura" (Spiro 1984: 324).

Utilizando las estructuras que ya hemos revisado, la casi totalidad de implicancias de este razona-miento puede modelizarse muy fácilmente en lenguaje Prolog. La siguiente es la expresión completa de las afirmaciones pertinentes de Spiro vertidas en la cita anterior en cláusulas de Turbo Prolog, el dialecto de la compañía Borland (posteriormente transferido a sus diseñadores originales) que pasa por ser el más utilizado en todo el mundo. Obsérvese que el segmento verdaderamente operativo del programa, que son sus cláusulas (el resto es información de ajuste para control del programa intér-prete), insume bastantes menos palabras que su formulación en lenguaje natural: domains elem=symbol predicates es_parte(elem,elem) no_es_parte(elem,elem) atributo(elem,elem) miembro(elem,elem)

clauses es_parte(A,B) :- atributo(A,C), miembro(C,B). no_es_parte(A,B) :- atributo(A,C), not(miembro(A,B)). atributo(pensamiento,individuo). atributo(sentimiento,individuo). miembro(individuo,sociedad).

Las preguntas que podemos formular son variadas. Por ejemplo:

Page 52: Antropologia y Programacion Logica

52

atributo(A,B). atributo(X,individuo). es_parte(sentimiento,cultura).

La primera solicita al sistema que indique cuáles son los atributos de quiénes; la segunda requiere a la máquina que entregue los atributos propios del individuo; la tercera, pregunta si es verdad o no que el sentimiento forma parte de la cultura. El programa se comporta conforme al modelo intencio-nal de Spiro hasta cierto punto; si preguntamos al sistema si "el pensamiento es parte de la sociedad", empero, el sistema nos contesta que sí, por cuanto ello estaba implícito en la formulación del autor. Este parece ser un corolario no deseado del razonamiento, puesto que cualquier atributo particular de un elemento pasa a convertirse en propiedad colectiva del conjunto. ¿No es ésto lo que los lógicos llaman "falacia de composición"? (cf. Nagel y Cohen 1983:215). Pronto se hacen evidentes los puntos en los que se esconde la falacia, y resulta claro, manipulando variables, que "ser parte de algo" no es exactamente simétrico con "tal cosa consiste de tales elementos", que la pertenencia de un individuo a un conjunto no transfiere al conjunto sus propiedades personales y que ese tanto ese consistir como ese ser parte constituyen expresiones oscuras.

Incorrecto o no (el razonamiento de Spiro, en rigor, es más desprolijo que propiamente falaz), todo aserto de este tipo es programable, verificable y susceptible de optimizarse con absoluta transpa-rencia. Tenemos aquí quizá no tanto una herramienta como un arma. Sin necesidad de soñar con una conmensurabilidad imposible, podemos definir modos de acuerdo sobre la limpieza y exhaustividad lógica de los procedimientos con un grado de precisión por lo menos algo más aceptable que el que poseíamos.

El número de frases o aseveraciones que podemos incluir en un programa de verificación es ele-vado, de modo tal que se pueden cubrir todos los aspectos fundamentales de una teoría razonable-mente compleja con todos los matices, salvedades y definiciones alternativas que hagan falta, y supo-niendo, en un arrebato de la imaginación, que en nuestra ciencia lleguemos a tener teorías complejas alguna vez. Quizá ahora sí podemos aspirar a construirlas. ¿Cuándo tuvo la antropología a su dispo-sición una herramienta semejante?

Page 53: Antropologia y Programacion Logica

II

MARCO EPISTEMOLOGICO

1. PUNTO DE PARTIDA ANTROPO/LOGICO

Este capítulo inicia el fragmento de nuestro ensayo que obedece más de cerca los cánones que en nuestra práctica académica se estiman propios de una tesis. Tras una serie de apartados introductorios tendientes a demostrar la amplitud de las prestaciones potenciales de la programación lógica de cara a la antropología, corresponde ahora acotar el tema a un campo mucho más restringido para poder ope-rar con la concentración necesaria. La insólita extensión de los capítulos introductorios referidos al estado actual del problema obedece al hecho de que hemos tenido que ser nosotros mismos quienes lo hemos planteado como tal.

Como los pormenores del cálculo cualitativo formal no eran problemáticos para la antropología, como no podíamos avanzar más sin plantear la cuestión, y como estimamos que a la vez de estar esta-bleciendo el problema estamos ofreciendo una vislumbre de solución, hemos tenido que escenificar todo el contexto, procediendo en términos de un modus didáctico que deseamos excluir de la tesis propiamente dicha. Los capítulos anteriores ocupan entonces el lugar de un fragmento de la historia del método antropológico que hasta el momento no había sido escrito, pero en el que el eventual lec-tor puede desde ahora situarse. Asumimos, entonces, que la trayectoria, la razón de ser y la estructura general de las herramientas protagónicas de esta tesis ya no forman parte de la incógnita.

Hasta la fecha, ni la antropología había desarrollado modelos genuinos de inteligencia artificial, ni ésta se había dado por enterada de la existencia de campos enteros del conocimiento incapaces de asi-milar -mediante una incorporación cabal y no mediada- los instrumentos que se han estado forjando. La distancia que media entre la vaguedad de las formalizaciones antropológicas convencionales y el rigor potencial de los procedimientos informáticos ha sido tan vasta, su asimetría es tan grotesca, que incluso estimamos inconveniente considerar la tesis que sigue como un trabajo interdisciplinario, en el sentido clásico de la palabra.

El ideal metodológico -conjeturamos- se encuentra menos en la ampliación del desempeño coo-perativo que en el replanteamiento de la competencia en el interior de las disciplinas requirentes. La excusa tranquilizadora de una interdisciplinariedad latente (siempre a la mano aunque se la utilice poco) coadyuva a que la formación disciplinar en materia de metodología y técnicas siga siendo tan insustancial como siempre ha sido. Si proponemos esta elaboración como un trabajo consagrado a modificar las técnicas de elaboración teórica de la antropología, aconsejar que se derive ese desarrollo a un "entendido" o a un "especialista" que nos resuelva los percances del método aplicando a un ma-terial que no le interesa una herramienta cuyos alcances sólo él comprende, nos dejaría de nuevo en el punto de partida.

¿Por qué aceptar el hiato interdisciplinar como un mal necesario? ¿Por qué confiar, además (si no por oscurantismo tecnolátrico), en las soluciones incomprensibles que los tecnólogos nos entregan,

Page 54: Antropologia y Programacion Logica

54

típicamente plagadas de números donde tendría que haber conceptos? El antropólogo, pongamos por caso, no delega la responsabilidad de analizar los sistemas de parentesco a un experto en genealogía, ni el derecho a interpretar los mitos a un hermeneuta de profesión; el conocimiento técnico para llevar a término uno y otro análisis forma parte inherente de sus propias capacidades curriculares. Lo mismo debería suceder en el caso de la programación lógica, si la entendemos no como una práctica esoté-rica, sino como un recurso propio de la disciplina, y aún con más razón: el cambio de manos intro-duciría una discontinuidad conceptual y metodológica que anularía el efecto de la continuidad deduc-tiva que estos formalismos nos garantizan y que sólo puede construirse, laboriosamente, cuando com-prendemos desde los fundamentos lógicos del instrumento hasta la última connotación del material al cual se aplica.

Mientras nuestra introducción se dedicó a mostrar qué es lo que puede extraerse de la informáti-ca de avanzada, los capítulos que siguen se abocarán a establecer qué matices, dificultades y exigen-cias presenta a ésta la investigación antropológica concreta, a fin de que el modelo no resulte sospe-chable de esquematización y de logicismo. Nuestro trabajo no ha sido el de la invención del artificio, sino (como quería Bateson) el hallazgo de la pauta que conecta. Ahora hay que reforzar y matizar la conexión. Aquí el punto crítico es, si se quiere, el realismo, la sutileza, la versatilidad e incluso la ex-presividad y la elegancia de los modelos que pueden desarrollarse. Nos contentamos con que la intro-ducción simplemente haya preparado la atmósfera, sin demostrar nada, a efectos de posibilitar la ver-dadera demostración, que sólo puede ser axiomática y completa. El trabajo que resta es de sintonía fi-na en el plano de las correspondencias significativas entre los problemas y las herramientas, y de fun-damentación y prueba exhaustiva en el plano de la implementación.

De acuerdo con un ordenamiento que ya se ha tornado clásico, indagaremos la aplicabilidad de la programación lógica a niveles que podríamos llamar sintáctico, semántico y pragmático. Al hablar de estos "niveles" nos orienta una intencionalidad heurística más que una actitud clasificatoria estricta, pues estamos persuadidos que los tres planos se interpenetran, que sus periferias son tan anchas como sus focos, que sus fronteras tienen la textura y la penetrabilidad de una nube. Sea como fuere, el punto crítico se localiza en el centro, lo que no podía ser de otra manera tratándose -como es el caso- de un problema de modelización.

La hipótesis que nos motiva es la concordancia semántica entre una idea antropológica y la inter-pretación del predicado lógico formalmente expuesto que le corresponde; esa concordancia semántica inaugura la posibilidad de conferir a la representación de nuestros conocimientos y al tratamiento de nuestros problemas un estatuto de reflexividad, rigor y consistencia que los convierten en una especie de cálculo. Cálculo (hay que insistir en ello) que no incurre en las consabidas ingenuidades del cienti-ficismo respecto de la posesión de la verdad objetiva y que, más que facilitar el trabajo intelectual en la era de las máquinas, nos revela la abismal dimensión de problematicidad propia de todo plantea-miento responsable. Esta potencialidad comienza a avizorarse cuando el antropólogo y el programa-dor son la misma persona o coordinan sus intereses como si lo fueran, y cuando la técnica no se intro-duce como un cuerpo extraño tendiente a confirmar un compromiso unilateral con las ciencias duras, sino como una herramienta que (al igual que la hermenéutica o el método genealógico) nos es tan propia, necesaria y oportuna como cualquier otra.

La hipótesis de esa correspondencia de significados ya ha sido verificada, hasta cierto punto; re-sultaba fatal que así fuese, porque el lenguaje utilizado nació de la necesidad de contar con una herra-mienta de cálculo basada en la descripción de los hechos y en el álgebra cualitativa de las relaciones. La tesis siguiente tiene por objeto ampliar esa verificación hasta hacerla incontrovertible; y lo hará no

Page 55: Antropologia y Programacion Logica

55

acumulando ejemplos extensivos adicionales, ni multiplicando las áreas temáticas de su posible imple-mentación, sino operando intensivamente, en profundidad, analizando primero la naturaleza de los fundamentos de la modelización misma y el espacio epistemológico que con su incorporación se de-termina, poniendo a prueba después la plasticidad del Prolog para la representación del conocimiento, e indagando por último la adaptabilidad de la lógica formal (la cual en este contexto no se restringe a la lógica académica) a diversos juegos de premisas filosóficas y a distintos marcos teóricos.

La escala de rigor de los métodos que estamos proponiendo y, en general, la complejidad estruc-tural de la epistemología que le corresponde, requieren antes que nada la construcción de una verda-dera teoría de modelos, fundada en el aserto (a demostrar) de que no existe ni en la filosofía de la ciencia ni en las ciencias sociales una elaboración sobre el particular que resista la crítica y que con-venga recuperar como precedente bien fundado. Considerando lo expuesto, la estructura de la de-mostración despliega, sucesivamente:

(A) Un cuadro de situación (dispuesto a los efectos de establecer un ulterior contraste) relativo a las posibilidades y alcances, a la fecha, del desarrollo de modelos en antropología. El objetivo de esta visión de conjunto es demostrar que todavía no existen a disposición de la disciplina modelos meto-dológicamente instrumentables y que las bases epistemológicas mismas de la modelización (las "teorías de modelos") difundidas por la literatura asequible son débiles, no instrumentables y contra-dictorias. Este cuadro comprende la totalidad del capítulo II.2, y sólo afecta a los lineamientos disci-plinares arquetípicos; otros modelos antropológicos, no menos relevantes, se revisarán en apartados específicos.

(B) Un análisis en profundidad de las características lógicas del lenguaje utilizado a lo largo de los niveles sintáctico, semántico y pragmático, como demostración preliminar de que se dispone de un formalismo predicativo apto para la representación del conocimiento y la construcción de modelos con capacidad eductiva. Este análisis ocupa la sección II.3. La "semántica" de la que aquí se trata es de naturaleza lógica, y corresponde considerarla como una suerte de nivel de significación de primer orden que fundamentará, en su momento, la capacidad del formalismo para expresar la semántica de orden superior concerniente a un dominio de interpretación que, en este caso, coincide con nuestra te-mática disciplinar.

(C) Un esbozo sucinto de la epistemología y la metodología requeridas para posibilitar la inte-gración de una instancia formal en el conjunto de los procedimientos disciplinares. Este esquema define con una cierta taxatividad los alcances máximos de toda formalización y establece la existencia de conjuntos de procedimientos que podrán sujetarse a una especificación más o menos rigurosa, pero que jamás serán pasibles de una formalización en sentido estricto. El núcleo del marco epistemológico se completa en los apartados II.4 y II.5.

(D) Una exploración sistemática de las formas de representación del conocimiento ideadas en an-tropología, ciencia cognitiva y computación en tanto instancia semántica de segundo orden, y de los cruzamientos transdisciplinares emergentes. Este proyecto se desarrolla en el capítulo III.

(E) Una caracterización de los diversos esquemas lógicos alternativos (polivalentes, modales, di-fusos, epistémicos, probabilísticos), un análisis de su adecuación a la modelización antropológica y una comprobación concurrente de la versatilidad del Prolog para operar en base a sus premisas. Toda la parte IV se consagra a este análisis.

(F) Una prueba de reescritura de "hechos", problemas e hipótesis antropológicas en notación ló-gica computacional utilizando diversos formalismos, y una evaluación de la información sustantiva y

Page 56: Antropologia y Programacion Logica

56

reflexiva que este procedimiento devuelve. Un intento concomitante por establecer a partir de esta prueba niveles de problematicidad, tipos de modelos y formas pautadas de resolución. A esto se dedica la parte inicial del capítulo V y el apéndice de programas aplicativos.

Aunque los nexos entre las diversas argumentaciones procurarán ser explícitos, presuponemos una lectura tan constructivista y dinámica como el paradigma lógico que sirve de fundamentación a nuestro formalismo; de ella, más de lo que en puridad se ha escrito, dependerá que se constituya o no la propuesta sistemática de la que con cierta imprudencia alardeamos en el título.

2. LA CONSTRUCCION DE MODELOS EN ANTROPOLOGIA.

Sólo ocasionalmente se han explorado en antropología las posibilidades, significados y promesas

de la construcción de modelos; casi nunca se ha indagado el problema de la elaboración modélica en sí o en general, y en la mayoría de los casos se ha afrontado, sobre bases epistemológicas muy débiles, el estudio de un tipo específico de modelos (por lo común estructuralistas, cognitivos y "matemáti-cos") ligados a una teoría, a un método o a un dominio peculiar.

Es necesario saber en qué situación nos encontramos. Resulta imperativo trazar un balance, y eso es lo que emprendemos a renglón seguido. Restringimos deliberadamente nuestra visión de los mode-los antropológicos al espacio de la antropología sociocultural, por cuanto en el ámbito de la arqueo-logía el problema pareciera ser el de la adecuación de los modelos, y ya no el de su inexistencia. Todo cuanto tenemos que decir a propósito de los modelos arqueológicos (que constituyen una creciente multitud) lo hemos dicho al dejar sentada nuestra crítica a la computación convencional y a la caja negra de los lenguajes procedimentales, a los que dicha formalización ha recurrido en la generalidad de los casos.

En nuestra opinión, la situación de la teoría y la praxis del uso de modelos en antropología socio-cultural se encuentra en una atolladero. A partir de un comienzo desafortunado que definió buena parte del carácter de las preocupaciones ulteriores, el grueso de la indagación disciplinar en torno a los modelos se transformó en el campo de batalla de una disputa con la que la modelización apenas está relacionada, y que se refiere a la esencia "real", "formal" o "ideal" de las entidades, relaciones y estructuras que constituyen el objeto de modelización.

Como tendremos ocasión de demostrar, los protagonistas de esa búsqueda han incurrido inexo-rablemente en serios errores metodológicos y filosóficos, y esos errores han precipitado a la disciplina en discusiones tan inconcluyentes como ingenuas, que convendría ya ir abandonando. El tratamiento del tema no ha logrado trascender el circuito de un círculo vicioso, en el que obsesivamente se discute en torno de la esencia de lo que se modeliza, como si eso pudiera resolverse merced a la utilización de un modelo. Prácticamente no se ha reflexionado en absoluto sobre los prerrequisitos, características, posibilidades y límites de los modelos en general de cara a las necesidades de la disciplina, sobre los aspectos que confieren a los modelos capacidad de representación y fuerza de sistematicidad, sobre los pasos que se han de seguir para construirlos o sobre lo que distingue a un modelo de otros tipos posibles de configuración analítica.

Aunque existen diversas prefiguraciones y anuncios proféticos, el uso de modelos en la disciplina se inaugura con las especulaciones de Lévi-Strauss en "La Noción de Estructura en Etnología", de 1952, artículo que constituye el célebre capítulo XV de la Antropología Estructural (1973:249-309).

Page 57: Antropologia y Programacion Logica

57

Sus afirmaciones han definido el tono, el objeto y el nivel de los debates subsiguientes, y por ello es preciso citarlas textualmente. Dice Lévi-Strauss:

El principio fundamental afirma que la noción de estructura social no se refiere a la realidad empírica, sino a los modelos construidos de acuerdo con ésta. [...] Se trata ... de saber en qué consisten estos modelos que son el objeto propio de los análisis estructurales. El problema no corresponde a la etnología sino a la epistemo-logía, porque las definiciones que daremos a continuación no dependen para nada de la materia prima de nues-tros trabajos. En efecto, pensamos que para merecer el nombre de estructura los modelos deben satisfacer ex-clusivamente cuatro condiciones. En primer lugar, una estructura presenta un carácter de sistema. Consiste en elementos tales que una modificación cualquiera en uno de ellos entraña una modificación en todos los demás. En segundo lugar, todo modelo pertenece a un grupo de transformaciones, cada una de las cuales corresponde a un modelo de la misma familia, de manera que el conjunto de estas transformaciones constituye un grupo de modelos. En tercer lugar, las propiedades antes indicadas permiten predecir de qué manera reaccionará el mo-delo, en caso de que uno de sus elementos se modifique. En fin, el modelo debe ser construido de tal manera que su funcionamiento pueda dar cuenta de todos los hechos observados. (1973:251-252).

Las paráfrasis de estas palabras que podemos encontrar en la literatura antropológica son innu-

merables, pero por desdicha los términos concretos del acto fundacional han sido fatalmente los ex-puestos. Podríamos señalar en estos párrafos clásicos numerosos galimatías y entuertos conceptuales, sin necesidad de sobreimprimirle ningún énfasis: la confusión lisa y llana de las estructuras con los modelos; la asombrosa afirmación de que "una estructura presenta carácter de sistema"; la idea de que en un sistema todas las variables son igualmente sensibles y determinantes, y de que todas las de-más se ven afectadas cuando se modifica una de ellas; la equivocada identificación de un modelo con un miembro de un grupo de transformaciones estructurales; la insólita observación de que en un mo-delo puede haber no ya una estructura, sino una estructura social, contradictoria con el aserto de que la materia prima de los referentes es irrelevante para dicho constructo.

La palpable ligereza de los juicios levistraussianos (que, como antropólogos, nos ocasiona más pesadumbre que indignación) no haría necesaria una recusación en regla si la nuestra fuese una ciencia madura. Es por escrúpulo metodológico (y no por dudar de la astucia epistémica del lector) que pro-cederemos, no obstante, a subrayar los desatinos más ofensivos. Los errores de la argumentación le-vistraussiana son innumerables, y nos inclinamos a sentir que su reconocimiento no depende de la ads-cripción a una doctrina determinada por parte del crítico. Al contrario de lo que piensa Lévi-Strauss,

(a) Las estructuras no son modelos. Existe cierto acuerdo respecto de que las estructuras sean determinadas invariantes, configuraciones, disposiciones de componentes o constantes que se pueden presentar ya sea en un modelo que representa a un sistema o en un discurso analítico cualquiera que se refiere a una realidad más o menos "dada". No es imperativo que todo modelo de una realidad en-fatice su carácter de sistema, ni tampoco es inevitable que todo modelo esté conminado a exaltar o probar la existencia de estructuras. Existe una amplia libertad para inspeccionar la relación entre rea-lidades, sistemas, estructuras y modelos, libertad que se va perdiendo, necesariamente, por poco que los diversos términos se utilicen como si fueran equivalentes1. Si se igualaran sin más estructuras y modelos (y en principio sería legítimo hacerlo, si a quien formula una doctrina le place) se pierde, ob-

1 Las definiciones alternativas son innumerables, pero el núcleo del sentido de todas las que hemos consultado nunca pasa por la asimilación de "estructura" y "modelo"; la entidad del "sistema" es variable de un científico a otro, pero muy de tarde en tarde se lo confunde con la estructura y jamás con el "modelo" (cf. J.G. Miller 1978:22-23; Mouloud 1969; Wilden 1979; Klir 1984; von Bertalanffy 1982, 1984; Rapoport 1984). Nuestra formulación alberga un implícito deliberado que por ahora dejamos latente: que no es posible determinar la entidad "sistemática" de una realidad compleja si no se construye un modelo.

Page 58: Antropologia y Programacion Logica

58

viamente, la posibilidad de identificar y caracterizar aquéllas mediante manipulaciones operadas sobre éstos. Naturalmente, lo que se llama "estructura" en un marco teórico puede recibir el nombre de "modelo" en otro: un caso a propósito es el de la econometría en relación con la lógica (Suppes 1988: 112); pero semejante confusión jamás se da en el interior de un mismo entramado conceptual.

(b) Las estructuras no "presentan carácter de sistema", sino que más bien los sistemas (reales o ideales) poseen real o idealmente una estructura, definida por las invariantes relacionales que se reve-lan al cabo de una serie de transformaciones; se pueden postular (y de hecho se hace habitualmente) diferentes estructuras y niveles estructurales en el interior de un sistema representado en un modelo.2

(c) En ningún sistema conocido que tenga algo que ver con una realidad mínimamente compleja la totalidad de las variables reacciona a la modificación de una cualquiera de ellas: siempre hay varia-bles más o menos sensibles, más o menos críticas o determinantes, al punto que existe una "teoría de las jerarquías" que estudia la importancia o falta de importancia relativa de los diversos conjuntos de variables en un sistema y un "análisis de la sensibilidad" que aborda las propiedades matemáticas de ese estado de cosas.3

(d) En la epistemología y en las matemáticas estructuralistas, un grupo de transformaciones defi-ne una estructura, y de ninguna forma un modelo; según otra definición estructuralista aceptable, un grupo se puede considerar como un tipo especial de estructura, pero jamás como la forma necesaria de todo modelo.4

(e) Aún admitiendo la legitimidad de imprimir un sentido atípico o idiosincrático a la noción de modelo, un modelo no es necesariamente un miembro de una familia de transformaciones, pues la relación entre una operación transformacional discreta y un modelo no es ni remotamente una a uno; si las variables del modelo admiten manipulación (y no tendría sentido pensar en un modelo que res-trinja esta posibilidad), un solo modelo puede dar cuenta de una, muchas o infinitas series de trans-formaciones. Un modelo que representara un solo estado en una serie de transformaciones sería abso-lutamente inútil para dar cuenta de la serie, y no sería pasible de modificarse para examinar la re-es-tructuración o la dinámica del sistema al cual representa.

(f) Puesto que Lévi-Strauss ha identificado a los modelos con las estructuras, la suposición de que el modelo se transformará "en caso de que uno de sus elementos se modifique" es errónea; en su propia epistemología, las estructuras (y consecuentemente los modelos) no constituyen conjuntos de elementos sino conjuntos de relaciones; la modificación de un elemento en nada incide sobre la es-tructura y la trayectoria de un sistema, en tanto las relaciones entre los términos se mantengan cons-tantes. La incidencia de un elemento sobre el conjunto depende del valor de sus relaciones en el tejido estructural del sistema.

2 Pueden verse diferentes definiciones correlativas de sistema y estructura en la literatura estructuralista y en los estudios encuadrados en la teoría general de sistemas, dinámica de sistemas, etc. Cf. James Grier Miller 1978:9-50; Aracil 1983, passim.

3 Sobre las organizaciones jerárquizas, cf. Whyte, Wilson y Wilson 1973; Aracil 1983:35-36. Sobre el análisis de la sensibilidad en la moderna teoría de la modelización, véase Rothenberg 1989:88-89; D'Ambrosio 1989:142-146.

4 Véanse las definiciones estructuralistas clásicas de Robin Gandy (1976). Definimos formalmente un modelo más adelante, en múltiples ocasiones y según diferentes perspectivas. Como definiciones alternativas cf. Miller 1978, passim; Aracil 1983:15-38. Hemos tratado con más detalle el concepto de "grupos de transformación" en Reynoso 1986.

Page 59: Antropologia y Programacion Logica

59

Más que la escala de la equivocación, sorprende la densidad de los errores, la forma en que se a-glomeran en una muestra textual mínima casi sin necesidad de interponer elipsis. Toda la construcción se apoya sobre arena, y su denuncia se torna forzosa. La lectura levistraussiana de la doctrina es-tructuralista preexistente ha sido a todas luces apresurada, superficial y confusa, y en lo que respecta a su discurso sobre modelos es incluso infiel a las definiciones y usos que él mismo asentara; la resul-tante de ello es el caos que acabamos de cartografiar, donde todos los tipos lógicos se ofrecen por el precio de uno y donde no se cumple en absoluto el objetivo que él mismo se ha propuesto de "saber en qué consisten estos modelos que son el objeto propio de los análisis estructurales". De todas ma-neras, carece ya de sentido preguntarse en qué consiste una entidad que, por definición, el mismo antropólogo ha construido. Virtualmente no hay en todo el cuerpo de la cita una sola proposición que sea correcta en alguna epistemología imaginable o que no resulte contradictoria con aserciones con-tiguas. Sea que paradigmáticamente examinemos sus correspondencias con otros marcos categoriales o que sintagmáticamente examinemos su consistencia interna, la formulación levistraussiana deviene insostenible.

Estructuras, transformaciones, modelos y sistemas no deberían ser, creemos, conceptos difusa-mente intercambiables de acuerdo con los vaivenes del mercado retórico; se trata de aspectos que, cualquiera sea la amplitud semántica de sus definiciones y cualesquiera sean las diferentes personali-dades ontológicas que hayan asumido en el curso del tiempo, han sido distinguidos con claridad en todas las epistemologías más o menos responsables, con la posible excepción de las que se construye-ron en nuestra disciplina tras el advenimiento del estructuralismo. No es que esos términos, por una decisión autoritaria, no puedan definirse en un marco teórico a través de denotaciones que en otros marcos corresponden a otras categorías; lo verdaderamente incorrecto es que en el interior de una sola perspectiva sus significaciones se confundan.

Con cierto esfuerzo de reconstrucción por parte del lector es posible corregir lo que Lévi-Strauss efectivamente dice e infundirle un contenido aceptable: que la estructura social de un sistema concre-to sólo se capta en un modelo relativamente abstracto, que un modelo permite dar cuenta de y prede-cir determinadas transformaciones del sistema representado, que estas transformaciones no son esto-cásticas sino que responden a cierta pauta, que la estructura de un sistema se revela a lo largo de las transformaciones a las que se somete el modelo, etcétera. Esta lectura algo más correcta, pero idea-lizada, es, sin duda, la que realizan cotidianamente los antropólogos y los críticos de la disciplina; de otra manera, alguien se habría dado cuenta antes de que el esquema teorético está lisa y llanamente mal planteado y no habríamos tenido que ser nosotros quienes trajéramos a colación el caso recién aquí y ahora. En todo el discurso antropológico sobre los modelos levistraussianos los ostensibles errores de la formulación original invariablemente se pasan por alto, como si existiera un acuerdo mu-tuo en no poner en relieve su precariedad (Cf. Vogt 1960; Nutini 1965; Caws 1974; Chaney 1978; El Guindi y Read 1979).

Las lecturas redentoras, empero, no alcanzan para poner los modelos en marcha. Lo más grave de todo esto es que en la presentación que de ellos hace Lévi-Strauss, la naturaleza de los modelos y la forma en que estos modelos reflejan una realidad nos han sido escamoteadas, tal vez deliberada-mente. En los ensayos levistraussianos no hay una clara delimitación entre el modelo y el discurso asertivo común, y es esa misma fluidez la que dificulta saber en qué consiste el modelo y cómo tra-baja. El modelo de marras es soluble en lenguaje, se disuelve al sumergirse en las pretextaciones retó-ricas e ideológicas que lo circundan. Es cierto que las argumentaciones de Lévi-Strauss que asumen un tono formal difieren de las demás por cierto carácter diagramático y por la generosidad de sus lances analógicos; pero todo ello es harto indisciplinado, y en todo el discurso modélico levistraussia-

Page 60: Antropologia y Programacion Logica

60

no lo más necesario está sistemáticamente ausente: no existe ni una gramática inherente al modelo, ni una fundamentación lógica de su capacidad productiva, ni una forma pautada y replicable de operarlo, ni un conjunto enunciable de reglas de modelización.

En la jerga científica, si la palabra "modelo" significa algo, ello es la capacidad de re-producir una herramienta que (como diría Ayer) pone en pie de igualdad a los pontífices y a los jornaleros, y que permite llegar a conclusiones parecidas partiendo de los mismos interrogantes; suprema paradoja: nin-guna escritura, ninguna analítica es, en toda la antropología, más idiosincrática e inimitable que la le-vistraussiana. En la encrucijada de las referencias eruditas a la lingüística, a la cibernética, a las mate-máticas estructurales y a la teoría de la información el modelo levistraussiano no es definidamente nada de eso; no cumple con el deber de delimitarse y con ello no se compromete a ningún código de conducta. Tras la fachada de la interdisciplinariedad se esconde, de hecho, el laberinto de la más anár-quica indisciplina.

La pregunta que debemos hacernos es: ¿qué es para Lévi-Strauss efectivamente un modelo? ¿Es acaso una entidad imaginaria que se puede "materializar" y "operar" -por así decirlo- mediante un flujo de palabras? ¿Es una herramienta que podría constituirse de diversas formas, incluso en una dis-cusión verbal entre intelectuales? ¿Es un constructo heteróclito, formado de aserciones, imágenes, maquetas, circuitos y mecanismos? ¿Es una nueva suerte de metáfora? ¿Es un diagrama en un papel, acompañado por una nota explicativa que prescribe su forma de uso? ¿Es, más formalmente, una en-tidad conceptual que se puede traducir de acuerdo con determinados principios de simbolización en un conjunto de grafos, vectores y paréntesis? ¿Es un artificio puramente lógico, un núcleo platónico capaz de transcodificarse y corporizarse bajo diversas formas de representación? ¿O es más bien un conjunto no pautado de proposiciones, que el escritor va "transformando" guiado por su intuición a medida que, discursivamente, se simula la modificación de sus variables?

Además, ¿Qué privilegio exime a los modelos levistraussianos de la estipulación de aquello en que se fundamentan, de la identificación precisa de los rigores que hacen que se les deba tener con-fianza? ¿Cuáles son los atributos de estos modelos que le confieren la adecuación descriptiva y el poder explicativo que reclaman? ¿Cuáles son los prerrequisitos a los que se atienen y las reglas que reconocen en materia de precisión conceptual, exhaustividad y coherencia interna?

Los interrogantes son infinitos, pues la necesidad misma de que Lévi-Strauss recurra a una enti-dad instrumental que después no caracteriza más que a través de un uso que sistemáticamente la en-cubre, resulta enigmática. Podríamos seguir haciéndonos preguntas que nadie nos contestará: ¿Por qué hablar de modelos, después de todo? ¿Cuál es el quantum de precisión que debe poseer un mo-delo para contrarrestar los efectos envolventes de la subjetividad, la connotación y la ideología? ¿Cómo puede verificarse la validez descriptiva y la eficacia predictiva de un modelo? ¿Es un modelo una herramienta de una teoría, una estructura escondida en la realidad, o un avatar o manifestación de la teoría misma? Cuando Lévi-Strauss ridiculiza a Gurvitch (1973:74-78) ¿Cuál es el sentido de des-plegar la sutileza de apabullar a un colega por no haberse dado cuenta que las "estructuras sociales" pertenecen al plano del modelo (y no a la realidad) para terminar encubriendo (o ignorando), a fin de cuentas, la topología, la capacidad funcional, el status ontológico, el régimen interno y la configura-ción formal de ese constructo?

Sin reflexionar sobre su propio silencio en las materias verdaderamente cruciales, Lévi-Strauss si-guió entonando loas a la modelización científica en los casi cuarenta años siguientes; pero jamás nos proporcionó un solo modelo explícito y digno de ese nombre, a no ser que se acepten como modelos elaboraciones literarias -brillantes o letárgicas, ése no es el punto- que en nada difieren, epistemológi-

Page 61: Antropologia y Programacion Logica

61

ca e instrumentalmente hablando, de cualquier otra escritura o de un despliegue imaginativo de senti-do común. A menos que exista alguna reseña que desconozcamos, Lévi-Strauss, por ejemplo, nunca se dignó a demostrar la forma en que se manipula una variable de un modelo para observar su com-portamiento diferencial, pese a que ésta es una de las las razones recurrentes que justifican su cons-trucción.

Este estado de cosas nunca se modificó, por más que los intelectuales más conspicuos de la época participaron en el debate. Para Lévi-Strauss los modelos siguieron siendo nebulosos y polimor-fos, y nadie se atrevió a despertarlo de esta etapa de sus sueños dogmáticos, ni sintió la necesidad de hacerlo. Alguna evolución hubo con el correr del tiempo, pero no fue para mejor. Hacia 1946, en una contribución sobre sociología francesa en una obra colectiva, los modelos aún no se confundían con las estructuras, sino que eran "dispositivos analíticos capaces de reducir la complejidad concreta de los datos a estructuras más simples y elementales" (1946: 525). En la etapa intermedia es cuando más proliferan las identificaciones extravagantes, como cuando afirma que las estructuras sociales consis-ten en modelos etnológicos (!) cuyas características los tornan científicamente manipulables; es decir, son sistemáticos, transformacionales, predictivos y exhaustivos (1953:279-280). En Tristes Trópicos se encuentra tal vez la justificación más escueta y más clásica:

Después de Rousseau, y de una manera que me parece decisiva, Marx enseñó que la ciencia social ya no se construye en el plano de los acontecimientos, así como tampoco la física se edifica sobre los datos de la sen-sibilidad: la finalidad es construir un modelo, estudiar sus propiedades y las diferentes maneras como reac-ciona en el laboratorio, para aplicar seguidamente esas observaciones a la interpretación de lo que ocurre em-píricamente, y que puede hallarse muy alejado de las previsiones (1973:45-46; original de 1955).

Eventualmente, empero, los modelos volvían a identificarse con la cosa en sí o con entidades ideales emergentes de operaciones abstractas: un modelo científico -afirmaba Lévi-Strauss- "es un ob-jeto que puede aislarse fácilmente, con contornos bien definidos, cuyos diferentes estados revelados por la observación se pueden analizar con referencia a unas pocas variables" (1964: 544). Estas afir-maciones son de por sí inespecíficas, pero si se las concatena a las anteriores el contrasentido es in-quietante: ¿cómo se concilia, por ejemplo, el argumento empirista de que un modelo es un "objeto que puede aislarse" con el dictum racionalista de que se trata de una construcción ideal o de un "dis-positivo analítico"? Los razonamientos de Lévi-Strauss sobre los modelos son, sin duda, precarios; lo malo del caso es que ni siquiera se trata de una precariedad consistente.

Los comentarios acerca del discurso levistraussiano sobre los modelos han sido, en lo metodoló-gico, tan poco rigurosos como el original. Parain-Vial llegó a objetar que Lévi-Strauss a menudo pa-rece vacilar entre una definición sustantiva de los modelos científicos -como cuando habla de modelos conscientes e inconscientes- y una definición epistemológica -como cuando caracteriza a los modelos mecánicos y estadísticos-; pero no saca de ello ninguna conclusión acerca de la dudosa existencia de modelos genuinos en la analítica levistraussiana (cf. Parain-Vial 1969:195 y ss.).

Para Hugo Nutini la contribución culminante de Lévi-Strauss a la antropología radica en su dis-tinción entre los modelos mecánicos y los estadísticos; pero ni el comentarista ni el autor original nos dicen por qué, ni reconocen que la tipología representa un subproducto fragmentario del tipograma cibernético de Wiener. Y lo que es más flagrante, tampoco especifican a qué tipo encarnan los mode-los que el estructuralismo despliega (cf. Nutini 1965-709; Wiener 1985). A todo esto, nadie se ha dado cuenta de que la caracterización de los modelos mecánicos como algo que está "a la misma es-cala que los fenómenos", y la consiguiente idea de los modelos estadísticos como constructos que se encuentran a una escala diferentes es ridícula: ningún conjunto de enunciados puede estar a la misma

Page 62: Antropologia y Programacion Logica

62

escala que una cosa de distinta naturaleza; no existe, además, ninguna escala que sea propiamente la de un fenómeno, pues cualquier entidad es analizable a infinitos niveles de detalle. Como bien dicen algunos manuales elementales de epistemología, una célula es tanto o más compleja que un sistema solar.

En su presentación de la antropología estructural para un lectorado americano, y al caracterizar su peculiar teoría de los modelos, Bob Scholte armó un bricolage en el que se entremezclan fragmen-tos levistraussianos de diferentes épocas con voces de otros autores (Miguelez, Mouloud, Nutini), y con polémicas colaterales (estructura e historia, sociedades frías y calientes), conformando un meta-discurso más bien redundante del cual nada que se refiera a una normativa de la construcción levis-traussiana de modelos se puede sacar en limpio (cf. Scholte 1973:668-673). La visión de Scholte es distorsionada, espasmódica, proyectiva -como también lo será la de Geertz- y no sólo por mutilar ar-ticulaciones cruciales de las palabras que cita5; al igual que en los textos que analiza, en el intertexto que Scholte fabrica, el modelo y el discurso indicativo también se fusionan, sin que se llegue a nin-guna conclusión sobre la retoricidad que esa capacidad de fusión pone de manifiesto.

Con posterioridad a la presentación de Lévi-Strauss -en la que la práctica disciplinaria de cons-trucción de modelos quedó menos instaurada para siempre que prematuramente abolida- la naturaleza de los modelos no se clarificó, sino más bien lo contrario. Se trabajó mucho y mal, a tal grado que hoy se habla del fracaso global de las estrategias formales con un acuerdo digno de mejor causa, y se utiliza el término "modelo" en un sentido inespecífico, para hacer referencia a cualquier postura teó-rica, incluso a las que encuadran en concepciones humanistas, enemigas acérrimas de toda modeliza-ción: el modelo etnometodológico, el modelo interpretativo, el modelo semiótico...

En el otro extremo, la práctica de la modelización antropológica se encogió hasta identificarse con la aplicación circunstancial de un formalismo cualquiera a un problema cualquiera; y esto se hacía de una manera tal, que inevitablemente se tornaba imposible generalizar el modelo propio de una apli-cación determinada al análisis de otros fenómenos, aunque se trataran de fenómenos análogos. Las definiciones de los profesionales con inquietudes epistemológicas, que lograban el extraño efecto de sumir todo el campo semántico de las operaciones modelizadoras en la más absoluta indefinición, continuaron multiplicándose. Buscando trascender a Lévi-Strauss, el antropólogo Peter Caws, del Hunter College, por ejemplo, estableció las siguientes:

Una estructura abstracta es un modelo si se encuentra en lugar de una estructura concreta homóloga; una estructura concreta es un modelo si se encuentra en lugar de una estructura concreta corporizada de forma dis-tinta. Por "estar en lugar de" quiero significar que los rasgos del modelo sustituyen a los rasgos de la estructura cuyo modelo es aquél, a los propósitos de la presentación, la instrucción, la explicación, la variación imagina-tiva, el cómputo o la predicción. No es necesario que haya una dirección preferencial en la relación entre el modelo y lo modelado: de acuerdo con una perspectiva familiar, una teoría es un modelo de los aspectos del mundo con los cuales ella trata, en el sentido de que podemos determinar el comportamiento de esos aspectos de la teoría sin tener que realizarlos en la práctica, en la confianza sin embargo de que eso es lo que sucedería en la práctica; pero, por otra parte, un objeto perfectamente concreto (un planetario por ejemplo) puede ser un modelo para una teoría, y lo mismo podría serlo otra teoría. Hacer que los rasgos estructurales del modelo sean centrales refleja el hecho de que ellos están en lugar de las relaciones entre las entidades que constituyen el sis-tema, más que en lugar de las entidades mismas (Caws 1974:1).

5 En la referencia que citamos de Tristes Trópicos, por ejemplo, Scholte omite una elocución que es tan poco probablemente marginal para un intelectual norteamericano como "Marx nos enseñó que..."; tras esa elipsis, no sorprende que su reseña acabe con una cita de Kolakowski (Scholte 1973:670, 704).

Page 63: Antropologia y Programacion Logica

63

Una vez más, no se ha parado mientes en la peligrosidad de los predicados existenciales que pre-tenden fundar lo que las cosas "son", ni en el comportamiento indisciplinado de los corolarios reflexi-vos y transitivos de las operaciones que instituyen identidades. Nuevamente vemos que se identifican por una parte estructuras y modelos y por el otro modelos y teorías, lo cual conduce (por transitivi-dad) a numerosas consecuencias lógicas indeseables: puesto que, más adelante, Caws recupera la fa-mosa distinción levistraussiana entre "modelos mecánicos" y "modelos estadísticos", y entre el ca-rácter consciente e inconsciente de ciertas dimensiones estructurales, se daría el caso que existe la po-sibilidad de hablar de "estructuras" mecánicas o estadísticas, y de "teorías" conscientes o incons-cientes, consecuencias paradojales que Caws ostensiblemente pasa por alto.

A despecho de una dispersa ilustración didáctica de los modelos posibles mediante alusiones a maquetas en escala, a "modelos teoréticos", a "estructuras mentales", y a "conjuntos sistemáticos de relaciones", en la argumentación de Caws persisten todas las anfibologías esencialistas y los contra-sentidos habituales ("todo modelo es una estructura", determinadas estructuras "funcionan como modelos", "una teoría es un modelo", los modelos científicos "explican" las estructuras sociales) sin que la naturaleza lógica de los modelos llegue a clarificarse, y sin que se impongan a los modelos que presuntamente se elaboran requisitos mínimos de explicitación, reflexividad, fundamentación opera-cional y coherencia interna.

Nos queda la impresión de que las relaciones entre modelos, teorías, estructuras y realidades eran más claras antes, cuando se las manejaba oscuramente como referencias intuitivas y preconscientes, que después de semejante tropel de definiciones entrecruzadas, las que con entera seguridad remiten a recursiones infinitas, circularidades y paradojas. También nos aborda la sospecha -que algunas frases aventuradas convierten en certidumbre- de que tanto Caws como Lévi-Strauss, El Guindi, Read, Vo-get, Leach, Scholte, Schneider, Chaney, Hanson y Nutini han pretendido axiomatizar, demostrar o negar a través de una invocación ritual a los modelos la naturaleza "real" o "ideal" de las entidades que conforman el contenido sustantivo de los mismos: estructuras sociales, reglas de comportamien-to, entidades psicológicas "en la cabeza del actor" o "en la mente del científico", interacciones, in-tercambios, símbolos.

Todos estos autores desprecian o afectan ignorar una regla inviolable, sin cuyo acatamiento la teoría de modelos deviene pura charlatanería cientificista: sean lo que fueren, los modelos sirven para despejar relaciones, no para analizar o demostrar esencias. Al cambiar el medio de representación en lo que va del modelo a la cosa modelizada, la esencia de la cosa es precisamente aquello de lo que no puede hablarse desde un modelo. La misión que se les endilgó en antropología tras el acto funda-cional de Lévi-Strauss tenía que ver más con discusiones ontológicas de larga data que con técnicas modélicas de avanzada, y fue quizá por ello que la construcción de modelos siguió confundiéndose con el arte de la retórica y la operación de los mismos con la especulación libre. Más adelante volve-remos sobre estas cuestiones.

Si cabe dudar de la implementación de genuinos modelos en Francia y en su área de influencia, en los Estados Unidos las cosas no anduvieron mejor. El defecto cardinal de la presentación que David Kaplan y Robert Manners han hecho de los modelos (1976:274-282) es virtualmente el inverso del que hemos observado, y su magnitud es llamativa en un discurso que por lo común es de excelente nivel epistemológico. Mientras Lévi-Strauss y su cohorte se abocaron a afirmar que los modelos son o equivalen a determinadas cosas (estructuras, sistemas, transformaciones), Kaplan y Manners incu-rren en la falacia simétrica de estipular lo que los modelos no son, de prohibir aquello a lo que pueden aspirar a ser.

Page 64: Antropologia y Programacion Logica

64

Para asegurar la validez de una proposición formal, se tiene que conocer el sistema formal del que ésta es parte. Más aún, el criterio para evaluar a un sistema formal (como la geometría euclidiana) es siempre formal o lógico, no empírico. [...] Ningún modelo formal es capaz de explicar por sí mismo los fenómenos empíricos; las teorías explican, los modelos no. [...] Finalmente, como Eugene J. Meehan señala: pueden presentarse "resultados catastróficos" cuando "aquellos que usan modelos formales (...) olvidan que los modelos no son teorías" (Kaplan y Manners 1976:276277, 282).

Es verdad que, en su forma convencional, los modelos son más a menudo descriptivos que expli-cativos. Es verdad también que los modelos no pueden ser "verdaderos", sino a lo sumo consistentes. El problema con las afirmaciones de Kaplan y Manners es, por un lado, que se se circunscriben a una concepción obsoleta y parcial de los modelos, y por el otro, que aunque estén refiriéndose a modelos "formales", siempre tienden a revestirlos con los atributos propios de los modelos icónicos y analógi-cos, o a tratarlos como si fueran proyecciones metafóricas, exportaciones transdisciplinares, façons de parler. Esta identificación tiene al menos cinco defectos: 1) es demasiado drástica, como si las capa-cidades de todo modelo concebible pudieran ser instituidas por decreto; 2) presupone que por el solo hecho de llamarse igual los modelos icónicos y los formales comparten más propiedades de lo que es realmente el caso; 3) ha dejado de tener vigencia por cuanto no incorpora las experiencias de la prác-tica modélica por excelencia que es, a nuestro juicio, la programación lógica; 4) no rige cuando el dominio de referencia de un modelo es una teoría y 5) no se aplica de ningún modo a los modelos que ellos precisamente discuten, que son el estructuralista y el etnocientífico.

Vayamos por partes. Para empezar, es obvio que la diferencia entre los modelos "descriptivos" y las teorías "explicativas" es una materia bastante más complicada de lo que estos autores insinúan, como tendremos ocasión de comprobarlo en los capítulos siguientes. Anticipemos un ejemplo. Nues-tros programas lógicos constituyen modelos que (a) están realizados según los cánones descriptivos de determinadas teorías, o (b) constituyen modelizaciones de supuestos o procedimientos teóricos, o (c) pueden pergeñar explicaciones a partir y en función de una descripción tanto del ámbito empírico al cual se aplican como de la teoría que define su estructura. Que un modelo sea descriptivo versus explicativo (o hipotético versus nomológico) depende de la interpretación que se realice de sus térmi-nos (o de la evaluación que se asigne a esas interpretaciones) y no de una estructura diferencial o específica de representación o de inferencia.

En la actividad científica, la relación entre modelos y teorías no está estipulada autoritariamente, de una vez y para siempre, sino que depende del marco conceptual y de la perspectiva que se adop-ten. Véanse, por ejemplo, las disquisiciones por demás barrocas de Stegmüller (1983) y de otros epis-temólogos estructuralistas para apreciar el grado de complejidad de este tipo de distinciones. Lo más productivo, además, puesto que nos estamos refiriendo a una cuestión de suma generalidad, es que en su caracterización recíproca las teorías (o los modelos) admitan una configuración anidada, jerárquica y recursiva, y no el carácter lineal que le confiere la epistemología clásica, como la que Kaplan y Manners representan con cierto fervor mecánico. Esta epistemología -urge reconocerlo- jamás supo proponer una clasificación de las entidades teoréricas que hiciera justicia a la diversidad existente y a la libertad necesaria. La ansiedad escolástica de prescribir obnubiló su capacidad efectiva de descrip-ción.

En programación lógica la regla ha sido menos dictatorial, y por ello se ha podido llegar a algún resultado operativo más allá de la semblanza clasificatoria. Nadie acaricia la ilusión de que lo repre-sentado en un modelo sea la cosa misma. Según algunas de las perspectivas hoy vigentes en esa disci-plina, los contenidos conceptuales y las formas de un modelo constituyen, representan o encarnan la envoltura formal de una teoría aplicada a un problema; la descripción del mundo que conforma un

Page 65: Antropologia y Programacion Logica

65

programa lógico, refleja implícita o explícitamente las distinciones que sobre aquél define una postura teórica. Un programa lógico expresa una forma teórica, elabora reflexivamente una formulación dis-cursiva y al mismo tiempo utiliza una teoría axiomática para representar un dominio del conoci-miento. Una interpretación de la teoría inherente a un programa lógico constituye un modelo. En otras palabras, un modelo expresado en un lenguaje representacional axiomáticamente fundado, de-viene una teoría axiomática, por más que su interpretación en términos de la disciplina involucrada en su ámbito predicativo no constituya lo que se dice siquiera una teoría:

Utilizamos la palabra sistema para referirnos a cierta parte limitada del mundo. El conocimiento sobre un sistema es equivalente al análisis de la estructura del sistema. [...] El cálculo de predicados es un ejemplo de formalismo representacional, porque es posible describir la estructura de un sistema mediante una teoría axio-mática de la lógica de predicados. [...] Un conjunto completo de reglas de inferencia permite a un lógico deri-var las consecuencias de una teoría axiomática [...] Una interpretación de una teoría es una asignación de cada símbolo que ocurre en la teoría a algún componente (entidad, función o relación) del sistema. [...] Un progra-ma en Prolog puede representar el conocimiento sobre un sistema de una manera muy parecida a la forma en que una teoría axiomática del cálculo de predicados puede describir un campo de conocimiento. Para hacer esta comparación explícita, cada cláusula de Prolog en el programa equivale a un axioma, y la totalidad del programa equivale a una teoría (Malpas 1987:254-255).

Además, y como ya hemos visto, los modelos de la programación lógica son mucho menos icóni-cos -en el sentido peirceano- que simbólicos o conceptuales. Y entre las cosas que son posibles de simbolizarse o conceptualizarse en un modelo están también las explicaciones y las teorías. Se puede escribir un programa lógico que constituye incuestionablemente un modelo y cuyo contenido sea una teoría, o la aplicación de una teoría: en tal caso, modelo y teoría se corresponderían como forma y contenido de la misma entidad; y tal como se sabe desde siempre, la correspondencia entre forma y contenido es compleja.

Este estado de cosas define un círculo epistemológico incompatible con el que promueven Ka-plan y Manners, al que estimamos no sólo infiel a la realidad sino autocontradictorio. En efecto, sea lo que fuere lo que hayan pretendido establecer esos autores, todo se viene abajo cuando ellos terminan disolviendo la naturaleza conceptual de los modelos en una empiria ilusoria, con estas palabras que debieron mejor callar:

Por supuesto que un modelo formal puede ser convertido en una teoría asignando un contenido empírico específico a los diferentes símbolos del modelo; de esta forma, los modelos de un modelo [!] se convertirán en entidades empíricas, y la relación entre éstas será una relación empírica, en lugar de una relación puramente formal (Idem:277).

Primera objeción: Los epistemólogos distinguen entre términos teóricos, como "clase social", y términos empíricos u observacionales, como "Napoleón". En un modelo se puede definir una nueva clase de términos, puramente formal, a la que podemos denotar como "X", pero también (sin modifi-car estructuralmente al modelo) como cadenas de caracteres que incluyen tanto a las clases sociales como a los Napoleones. La caracterización de Kaplan y Manners parecería reservar el marbete de "teoría" para las construcciones conceptuales que incluyen "términos empíricos"; con lo cual tendría-mos que llegar a la conclusión de que o bien la distinción entre modelos y teorías pasa por otra parte, o bien (extraño corolario) que el locus de los "términos teóricos" no son las teorías, sino alguna otra cosa.

Segunda objeción: Existen innumerables modelos científicos; excepto en esferas muy especiales, como las matemáticas y la lógica, todos estos modelos están interpretados, ello es, todos sus símbolos

Page 66: Antropologia y Programacion Logica

66

están mapeados sobre lo que se llama un "dominio de interpretación", y en este sentido se les ha asignado un "contenido empírico". Naturalmente, fuera de esas empresas que medran en la abstrac-ción perpetua, a nadie le serviría un modelo puramente formal. Pero existe una diferencia sutil entre "otorgar contenido empírico" en base a referentes puntuales (p.ej., afirmar que Juan piensa de tal manera debido a su pertenencia a la clase gerencial, a sus intereses económicos específicos y a su educación conservadora) y hacerlo en función de términos genéricos o "teóricos" (p. ej., afirmar que el ser social determina la conciencia).

Nuestra postura epistemológica no utiliza la naturaleza de los referentes como criterio para trazar una distinción, pero la de estos autores sí. En un sistema lógico no hay ni términos observacionales ni términos teóricos, sino sencillamente términos. No hay razones lógicas que permitan prescribir la na-turaleza observacional o teórica, concreta o abstracta, real o imaginaria, hipotética o legaliforme, lite-ral o metafórica de los términos que participan en un modelo.

Pero retomemos nuestro ejemplo. Aunque no hablan en ese contexto de las diversas clases de términos, Kaplan y Manners ejemplifican de manera parecida a nuestro caso hipotético cuando se re-fieren, respectivamente, a la medición de las distancias entre determinadas ciudades concretas de los Estados Unidos y a la geometría euclidiana en un sentido abstracto (p.277). Lo llamativo del caso es que en la postura de estos autores la aplicación más concreta acaba identificándose con la teoría y la más abstracta con el modelo, lo cual contradice tanto los usos canónicos de las palabras como la idea eminentemente icónica y convencional que ellos mismos sustentan a propósito de la modelización. A-firmar que la proposición sobre Juan es de orden teorético, mientras que el enunciado sobre la de-terminación social de la conciencia pertenece al orden de los modelos no parece muy convincente, ni coincide con ninguno de los usos registrados o potenciales de la noción de modelos en la praxis cien-tífica.

Si, como afirman, las teorías poseen contenidos empíricos, mientras los modelos no, ¿cuál sería el sentido práctico del uso de modelos? ¿No resulta contradictorio representar lo más concreto y em-pírico a través de entidades puramente lógicas y formales? ¿Se construye un modelo para corporizar entidades conceptuales o más bien para disolver la empiria en una representación sin referentes? En todos estos razonamientos, ¿no se están confundiendo, identificando o cruzando diversas y fragmen-tarias concepciones de los mismos términos? ¿Es posible establecer por un lado distinciones absolutas (los modelos no son teorías) como si todo estuviera tipificado y por el otro semblanzas genéricas (e-xisten muchas clases de modelos) como si nada fuera tipificable, cuando de lo que se habla es de epistemologías que no son la propia?

El enredo es más grave de lo que parece, porque todo ese discurso no es más que el prolegóme-no para desprestigiar dos paradigmas que utilizan "modelos" en un sentido radicalmente distinto a los que Kaplan y Manners caracterizan. Aunque los golpes se asestan, el holocausto fracasa. Ni los modelos estructuralistas ni los etnocientíficos constituyen modelos en el sentido de ser extrapolacio-nes metafóricas, analogías proyectivas entre objetos pertenecientes a disciplinas distintas o representa-ciones a escala. Ninguno de ellos puede casar con su idea (de raíces blackianas) de que "es mejor de-finir, o por lo menos pensar un modelo como una analogía o una metáfora" (p.274), de modo que todas sus advertencias respecto a no extraer falsas conclusiones, a no confundir el mapa con el terri-torio, etc., devienen por completo irrelevantes. Kaplan y Manners saben que "existen muchos tipos de modelos" (p.276); pero no se detienen a pensar que, por eso mismo, una crítica de los modelos "for-males" en general en función de características que son específicas de ciertos tipos muy distintos de modelos, acaba siendo menos digna de confianza que aquello que cuestiona.

Page 67: Antropologia y Programacion Logica

67

También cabe impugnar la idea que estos autores tienen respecto de lo que en un marco teórico se acostumbra considerar "lo empírico". En la imaginación icónica de Kaplan y Manners, los conteni-dos empíricos de los símbolos de un modelo convertido en teoría son como si fueran "cosas de ver-dad", al punto que las relaciones entre ellos se transforman de pronto en "relaciones empíricas". ¿La cuestión no es acaso más compleja, su articulación no es más delicada?

Corrijamos la perspectiva. Una relación es algo que se postula acerca de la realidad; no concebi-mos ninguna operación interpretativa tras la cual resulte legítimo afirmar que las relaciones simboliza-das en un modelo sean, en su mera simbolización, relaciones empíricas, por otorgárseles una interpre-tación o un contenido en lugar de otro. Ni los referentes ni las interpretaciones pertenecen a los mo-delos, que son siempre constructos de índole formal. En el interior de un modelo, una cláusula lógica no se transforma en una entidad empírica (o en un enunciado teórico) sólo porque se escriba "lucha de clases" en vez de "X": ambos términos son nada más que símbolos, y como bien sabe quien ha tenido que desarrollar un modelo, tanto uno como el otro están aún pendientes de interpretación.

La concepción de los modelos que sostienen Kaplan y Manners es, en fin, simplista y enrevesada, porque mezcla los atributos de los modelos "icónicos" o "analógicos" (los más concretos) y de los modelos "formales" o "teoréticos" (los más abstractos) para formular una crítica que termina oscu-reciendo no sólo nuestra nueva intuición sobre lo que es un modelo, sino nuestra certidumbre origina-ria sobre lo que era una teoría.

Hemos expuesto la postura levistraussiana, sus derivaciones y sus contrapartidas para forzar un contraste que ilumine la cabal significación de la posibilidad de una genuina instancia modélica en la antropología, inaugurada por la programación lógica. Existen otras vías potenciales para alcanzar ese objetivo; la decisión de no analizarlas no implica que se las desprecie y, mucho menos, que se las do-mine lo suficiente como para tasar su valor en un precio justo. Algunos preferirán el LISP o el C++ en lugar del Prolog, o el método de tableaux en vez del algoritmo de resolución. Nuestra propuesta no alardea de ser la única sensata, si bien es la primera en pretender zanjar el abismo que se ha abierto entre las sutilezas de las teorías axiomáticas, la materia bruta de los objetos que nos han tocado en el reparto y los métodos que hasta ahora se han arbitrado para tratarlos.

De ningún modo insinuamos que las máquinas son, en lo que al trazado de modelos respecta, ga-rantía necesaria y suficiente. La cosa no es tan simple que se reduzca a la identificación de modelos ya no con estructuras o sistemas, sino con programas grabados en un soporte magnético o con un switch que les infunde impulso dinámico. Lo importante no es que el modelo sea físicamente tangible (que lo es), sino que sea lógicamente especificable (que deberá serlo). Lo que en la epistemología de Lévi-Strauss y de otros pioneros constituía un enigma o por lo menos una mancha oscura, aquí ha de ser objeto de cuidadosa especificación; y es esta especificación la que a continuación se despliega.

3. LA ESTRUCTURA LÓGICA DEL PROLOG

Quo facto, quando orientur controversiae, non magis disputatione opus erit inter duos philosophos, quam inter duos computistas. Sufficiet

Page 68: Antropologia y Programacion Logica

68

enim calamos in manus sumere sedereque ad abacos, et sibi mutuo (accito si placet amico) dicere: calculemus.

Gottfried Wilhelm Leibniz

Para materializar un contraste significativo entre la naturaleza de la modelización que propone-mos y la que ha sido moneda corriente en antropología habría bastado el material expuesto en los ca-pítulos introductorios. En ellos comentamos los aspectos básicos de la programación declarativa, pre-sentamos un instrumento capaz de expresar relaciones cualitativas y de producir inferencias a partir de una representación de nuestro conocimiento, y deslindamos las diferencias entre la confección de modelos consistentes (bajo la forma de programas lógicos) y una profesión de fe (positivista o metafí-sica) respecto de la coherencia del mundo. Pero un discurso riguroso sobre la modelización antropo-lógica, una genuina teoría de modelos, debe necesariamente explorar otras dimensiones de problema-ticidad, y ante todo la atinente a las premisas lógicas en que ella misma se basa. Cuáles hayan de ser en concreto esas dimensiones quedará claro después de caracterizar en profundidad las herramientas de las que disponemos y la forma en que ellas nos permiten expresar, cotejar y validar modelos, así como elucidar cuáles son las fases y zonas de la elaboración metodológica que no pueden ni podrán jamás formalizarse.

Todo discurso sobre la conveniencia del uso de modelos en una ciencia debe basarse, a nuestro entender, en una demostración previa de que existe un conjunto conexo y estructurado de medios (un soporte físico, un lenguaje, una preceptiva de representación, un mecanismo inobjetable de inferencia, una heurística) sobre el cual los modelos puedan ser construidos. Sin estos requisitos, jamás podría hacerse otra cosa que idealizar las bondades de un método que no se posee o cuya instrumentación puede ponerse seriamente en tela de juicio. La disponibilidad de dicho conjunto de medios es necesa-ria, pero los elementos que lo integran son contingentes, en tanto cumplan la función que les compete o integren una entidad que satisfaga un conjunto análogo de funciones. El aparato más sofisticado no siempre es el mejor. Ante ciertas problemáticas, un pizarrón puede reemplazar ventajosamente a una computadora y la teoría axiomática de la lógica del primer orden puede resultar más embarazosa que un simple diagrama de Venn. Luego se verá mejor cuáles son los umbrales, los confines y las condi-ciones.

De lo que aquí se trata es de caracterizar no la única modelización posible, sino la que es al mismo tiempo, por muchas razones, la más general, la más precisa y la más poderosa, o la que mejor combina, a la fecha, generalidad aplicativa, precisión representacional y potencia de resolución. Los modelos que aquí proponemos son programas lógicos, una entidad inexistente cuando Lévi-Strauss comenzó a hablar del asunto. Un programa lógico suma a las precisiones de la lógica carnal la certi-dumbre de que no existen zonas oscuras, desviaciones ideológicas o supuestos clandestinos en las definiciones que fundamentan las operaciones de inferencia, garantía que hoy por hoy sólo una com-putadora puede aportar. Aunque en la introducción ya hemos esbozado una semblanza genérica de las entidades que conforman un programa lógico, conviene recorrer una serie de perspectivas conver-gentes sobre las mismas, variadamente axiomáticas, a fin de que se las pueda comprender mejor. Lo que nos interesa en este apartado no es enseñar Prolog (para lo cual hay muchos y excelentes manua-les), sino establecer con mayor claridad la correspondencia entre sus entidades fundamentales y los elementos de un planteamiento antropológico, examinar la fuerza de los respaldos formales de esta modalidad de representación, homogeneizar una terminología que los didactas han alborotado, co-rregir algunos errores no triviales que los axiómatas de profesión han dejado deslizar y brindar todos

Page 69: Antropologia y Programacion Logica

69

los elementos necesarios para que se pueda justipreciar, descifrar y replicar los programas que figuran en los apéndices.

Antes de comenzar nuestros desarrollos técnicos es menester una advertencia que podrá parecer desalentadora. Nuestra tesis parte de la base de que todo modelo se realiza en una convención simbó-lica que por comodidad llamamos un lenguaje. Si ese lenguaje es una lengua natural, la exigencia mí-nima para construir un modelo será la de ser un hablante competente de esa lengua. Si ese lenguaje es, en cambio, un lenguaje de computación, la plena replicabilidad del modelo estará supeditada a la capacidad efectiva para programar en ese lenguaje. Para decirlo sin eufemismos, digamos que para desarrollar un programa lógico es razonable exigir que el modelista sea un programador. Como este es un requisito inexcusable, y como la formación académica en vigencia determina que ser antropó-logo y programador sea una doble cualidad rara vez satisfecha, procuraremos ser lo suficientemente explícitos para que la misma exigencia no se haga extensible a la inteligibilidad de lo que se modelice. Otorgamos consecuentemente el derecho de consignar como no probado el aserto que no encuentre su explicación técnica en los confines de esta tesis, o que dé por supuesto y trivial un saber circuns-cripto y esotérico.

La organización estructurada de los capítulos subsiguientes pretende compensar el efecto de atomización que se manifiesta al tratar una a una las correspondencias entre un problema y su plan-teamiento y las diferentes dimensiones y jerarquías de problematicidad. Es conveniente aclarar que este efecto indeseable es, en último análisis, una constante inevitable de toda técnica de escritura y no la consecuencia de una estrategia analítica que promueva la descomposición del problema como mé-todo deliberado. La estructura de este capítulo aparece en cierta forma invertida: tomamos como punto de partida la definición de los elementos que participan en el planteamiento de problemas en lenguaje Prolog, y recién después examinamos los sólidos fundamentos que rigen la capacidad del lenguaje para aportar una solución.

1. Elementos sintácticos

a) Predicados lógicos Atomos, Términos y Predicados

El Prolog es un lenguaje de computación, lo que entraña que antes que nada es un lenguaje. Como todos los demás lenguajes, su estructura comprende lo que podría llamarse una "doble articu-lación". La primera articulación de este lenguaje concierne a un número finito y más bien reducido de elementos discretos que sólo tienen una dimensión posicional, y la segunda a configuraciones que adquieren ya cierto valor de hecho, regla o consulta, construidas a partir de los elementos de la pri-mera articulación. Los elementos básicos del Prolog se denominan términos, y según el punto de vista, el nivel de análisis y el contenido pueden ser de distintos tipos: átomos, estructuras, variables, listas y números.

Por ahora nos interesan sólo los dos primeros. De los números sólo cabe decir que constituyen los únicos términos que el intérprete del lenguaje efectivamente interpreta y que pueden ser utilizados en cálculos matemáticos. Fuera de los números, el lenguaje no interpreta los demás términos atómi-cos, y lo más que puede hacer con ellos en tanto términos de una expresión es (a) expedirse sobre su identidad o desigualdad en las operaciones que implican compararlos, o (b) determinar si tienen o no asignado un valor.

Page 70: Antropologia y Programacion Logica

70

La denominación de átomo deriva, probablemente, de las ideas de Wittgenstein y Russell acerca del atomismo lógico, una visión filosófica que no es preciso compartir al adoptar este lenguaje (cf. Russell 1965). En esa epistemología, ya superada, se creía necesario iniciar el análisis desde "partícu-las-acontecimientos", tales como la posesión de una propiedad por una sustancia, ascendiendo pro-gresivamente a formas más complejas de predicación. Nada de ello se impone en esta tesis, donde se presume la máxima libertad constructiva y donde no se propondrán (como diría Lakatos) ni inyeccio-nes inductivas de verdad desde la base empírica, ni infalibilidades deductivas que fluyen desde la cúspide de las leyes universales.

En programación lógica, un átomo es nada más que el nombre de un objeto o de un predicado. Como estamos refiriéndonos al nivel más abstracto de la sintaxis, caracterizaremos los "objetos" como meros elementos discretos, sin referirlos todavía a las "cosas del mundo". Contrariamente a lo que nos exigen otros formalismos, ni aún cuando se los interprete los objetos deberán ser necesaria-mente significantes de cosas tangibles, individuales u observables; un objeto en Prolog es sólo (o nada menos que) cualquier idea que se desee simbolizar, desde un individuo con un nombre propio hasta u-na clase de definición escurridiza. Estamos hablando de objetos; aún en un nivel pre-semántico hay que establecer la significación que les es propia, subrayar su carácter de símbolos. Para la epistemolo-gía que estamos construyendo, es esencial retener el concepto de que los objetos básicos que consti-tuyen el lenguaje son ideas más que cosas. Como diría Bachelard, lo que hay que conseguir es plantear el problema sistemáticamente en términos de objetivación, más que en términos de objetivi-dad (1973:39). Por lo tanto, no manipulamos relaciones objetivas entre cosas, ni cantidades objetiva-mente recabadas, sino consecuencias sistemáticas de las relaciones que habrán de darse entre las ideas que constituyen nuestro asunto.

Diagrama 2.1 - Términos

Al átomo que es el nombre de un objeto se lo llama argumento, y al átomo que es el nombre de un predicado se lo llama functor (o, según la Academia, funtor). A veces se denomina también pre-dicados a los functores; esto, empero, no introduce ninguna anfibología, pues en la práctica de la programación lógica la denotación de estos vocablos siempre puede inferirse de su contexto de uso. Una estructura consiste de un átomo functor, una apertura de paréntesis, uno o más argumentos separados por comas y un cierre de paréntesis. Se puede considerar que un átomo es también una es-

Page 71: Antropologia y Programacion Logica

71

tructura, sólo que sin argumentos. Naturalmente, de todo esto se deduce que un predicado se expresa mediante una estructura. El número de argumentos de un predicado se denomina su aridez (o aridad, como prefiere Mosterín), término que proviene del álgebra relacional y que equivale a lo que en un registro de base de datos se llama una tupla.

Cuando un predicado posee un solo término se dice que es monádico (si se prefiere la nomencla-

tura griega) o unario (si se prefiere la elocución latina); los predicados relacionales de aridez progre-sivamente mayor se denominan diádico, triádico, tetrádico, ..., n-ádico (o binario, ternario, cuater-nario, ..., n-ario), según el caso. Existen formas pautadas de transformar predicados monádicos a po-liádicos y viceversa, aunque ello es infrecuentemente necesario en lógica computada. La aridez de un predicado puede ser cualquiera, desde cero hasta la cifra que tolere la versión del lenguaje que se uti-lice. La práctica, empero, aconseja que la aridez de un predicado nunca sea más que cinco o siete, para preservar la legibilidad de la cláusula. La variabilidad en la aridez no posee, hasta donde alcan-zamos a ver, ninguna consecuencia lógica, pues toda relación n-aria puede ser expresada como la unión de n+1 relaciones binarias (Kowalski 1986:49).

El único concepto del Prolog que no admite una definición anidada o recursiva es el de átomo. Como en la física de Demócrito, el "átomo" es una partícula que no puede dividirse en sub-partículas o componentes más elementales. Un objeto o un término en Prolog no necesariamente es atómico, pues uno de los objetos o términos de una expresión (a excepción del functor) puede ser, recursiva-mente, otra expresión de la misma naturaleza y de similar complejidad. No nos ocuparemos por el momento de esa posibilidad. El ejemplo 2.1 ilustra la anatomía sintáctica de un predicado de elemen-tos atómicos y de aridez tres.

Si uno o más de los argumentos de una estructura es también una estructura, se considera functor principal al predicado exterior y functores secundarios a los más interiores o anidados. El nombre de "functores" es también una supervivencia de la concepción funcional de la lógica neopositivista de principios de siglo. Aunque es posible simular la lógica funcional mediante el cálculo de predicados (cf. Maier y Warren 1988), ningún functor de Prolog equivale a las funciones de otros lenguajes de programación, las cuales a su vez tampoco remiten necesariamente a esa lógica. En Fortran o en Pas-cal una función equivale a una operación que debe ejecutarse entre sus argumentos; un functor de Prolog no es una operación, sino el simple encabezamiento de una estructura de datos que denota alguna relación entre los argumentos que le corresponden.

La diferencia entre functores y objetos, sentada ya por Frege, confiere a cada entidad caracterís-ticas diferenciales y suplementarias, hasta cubrir toda la amplitud de los predicados lógicos posibles. Recordemos que, de acuerdo con Frege, los objetos incluyen toda suerte de cosas que no sean fun-ciones, "esto es, no sólo palos, piedras y hombres, sino asimismo números y valores de verdad" (Kneale 1972:461). En el mismo marco, una función radica en una cierta conexión o coordinación entre los objetos que constituyen sus argumentos.

Es posible definir las relaciones denotadas por los términos que ofician de functores o predicados de un modo genérico. En su versión clásica, peirceana, y dadas estructuras tales como r(I,J), las rela-ciones podían definirse como las clases cuyos elementos son todos los agrupamientos de las cosas I y J tales que, como se diría corrientemente, I es un r de J. Esta concepción, sin embargo, sólo vale para las estructuras binarias. Como se verá más adelante, las relaciones más complejas requieren una defi-nición predicativa más variable y elástica. Está visto que a pesar de que los functores son entidades sintácticas, su definición y razón de ser involucran cuestiones de semanticidad, y por lo tanto se verán

Page 72: Antropologia y Programacion Logica

72

después con mayor detenimiento. Más adelante estableceremos también la correspondencia entre estas piezas sintácticas del lenguaje y las estructuras sintácticas de las formas lógicas que se expresan mediante él. Expuesto ya el cuadro nomenclatorio de las partículas abstractas y genéricas, nos ocupa-remos seguidamente de los constructos especializados que en base a ellas pueden definirse.

Hechos

En el segundo nivel de articulación del lenguaje, los elementos sintácticos comienzan a contami-narse con contenidos semánticos y pragmáticos. Desarrollar una teoría, deslindar la estructura de una hipótesis y describir un dominio del conocimiento antropológico en Prolog, en una palabra, construir un modelo en este lenguaje, presupone entonces la implementación de un programa en la máquina. La programación en un lenguaje de este tipo consiste en (a) la declaración de algunos hechos sobre obje-tos del mundo y sus correspondientes relaciones, (b) la definición de algunas reglas sobre esos mis-mos objetos y relaciones, y (c) la formulación de preguntas o consultas sobre el dominio de cono-cimiento representado por las instancias anteriores.

Todo esto se desenvuelve dinámica e interactivamente: en la mayoría de los dialectos de Prolog que se consiguen en el mercado, existe alguna prestación conversacional que permite optimizar el programa o replantearlo a medida que se observa su comportamiento. Sin necesidad de atribuir a la máquina comprensión de los hechos representados ni inteligencia alguna, podríamos decir que el usuario dialoga o interactúa con su propio modelo, en base a un protocolo y a un código que habre-mos de caracterizar en los capítulos que se ocupan del plano pragmático.

En Prolog, los hechos, que pueden ser de un rango de complejidad indefinidamente amplio, se identifican por un conjunto de convenciones sintácticas. Un hecho se escribe mediante una estructura o predicado. Por ejemplo: residencia(truk,matrilocal,46). 2.1 residencia(truk,patrilocal,1). residencia(truk,avunculocal,10).

Hagamos de cuenta que estas aserciones enumeran algunos de los casos de residencia posmatri-monial en Truk según la estimación de Goodenough (1956). Comprobamos de inmediato que (a dife-rencia de lo que es el caso en los empeños axiomáticos autoconscientes) las exigencias de la notación no son desmesuradas ni crípticas. La especificación ampliada y cuasi "natural" de los elementos signi-ficantes no involucra -como sucedería en la lógica simbólica meramente escrita- una depreciación del valor de la escritura como planteamiento de un cálculo. En adelante, no será preciso reducir los sig-nos a los "P" y a los "Q" abigarrados e ilegibles de los tratados técnicos, puesto que la plenitud lin-güística de los significantes no impide a la máquina operar conforme a la estructura formal de los enunciados.

Al escribir los hechos, los nombres de las relaciones y de los objetos se estipulan en minúscula. Las relaciones se escriben primero y los objetos seguidamente, entre paréntesis y separados por co-mas, terminando la enunciación de un hecho con un punto, al igual que en una frase en lengua vulgar. El orden de las clases de objetos dentro del paréntesis es arbitrario, pero debe mantenerse constante a

Page 73: Antropologia y Programacion Logica

73

lo largo del programa. La misma constancia debe conservarse en cuanto a la interpretación semántica de cada una de las entidades y relaciones representadas.

Al contrario de lo que sucede en la lógica simbólica convencional, las diferentes coacciones sin-tácticas que este lenguaje ejerce sobre la libre escritura obedecen menos a una intencionalidad taqui-gráfica (y a la larga criptográfica) que a una razón operativa; el lenguaje es tanto un simbolismo ló-gico como un código lo suficientemente inambiguo como para ser aceptado por una máquina. Si el Prolog es más legible que la lógica simbólica diseñada para la lectura humana, es porque hay menos signos y porque a la máquina le es indiferente la apariencia de un símbolo en tanto se la mantenga invariable en sus sucesivas referencias. Comparativamente, el taquigrafismo de la lógica común re-sulta excesivo: no hace falta, después de todo, estrechar tanto la simbolización.

Aunque sería necio aseverar que la escritura en este lenguaje posee un valor estético suplementa-rio, nadie puede afirmar honestamente que la estructura sintáctica del Prolog introduce de por sí una distorsión en los significados que los predicados conllevan, o que la estipulación separada de los ele-mentos que constituyen un enunciado aniquile la atmósfera connotativa de la enunciación original. La interpretación última de lo que los procesos de inferencia determinen como falso o verdadero, a nivel de las connotaciones, los valores estéticos de los asertos y los significados afectivos, sigue estando en manos del sujeto programador, lo mismo que si el proceso inferencial se realizara en cláusulas del lenguaje común.

En tanto se escojan adecuadamente los términos sintácticos, las cláusulas lógicas no enajenan ni escabullen las resonancias subjetivas de la expresión; más bien agregan una representación comple-mentaria a lo que la expresión natural denota, echando mano de un simbolismo harto menos ofensivo a la lectura que los grafemas convencionales de la lógica. Si respetamos las denotaciones esenciales en la interpretación de los procesos y los resultados, podemos preservar a partir de allí toda la estética de las asociaciones de ideas y todos los valores literarios que muchos estiman propios de nuestra ciencia, considerando su nuevo rigor como un valor agregado.

Más adelante, cuando hayamos reunido suficientes elementos conceptuales, abordaremos la des-cripción de la formidable teoría semántica subyacente al Prolog y de los recursos que ella aporta al siempre espinoso problema de la interpretación. Pasando a aspectos más prosaicos, habrá que resig-narse a aplicar la jerga que antes construimos. Como ya hemos visto, los objetos encerrados entre pa-réntesis se llaman argumentos; algunos autores llaman relaciones a los predicados, porque la deno-tación de un fenómeno relacional es su función más habitual o acaso la única función posible en algu-nas acepciones de la palabra. Según esta nomenclatura, "residencia" sería un predicado que posee tres argumentos, o más técnicamente, un predicado de aridez 3 o una relación ternaria.

La aridez que puede tener un predicado varía conforme a las necesidades de la representación; pero una vez definida una aridez para todos los hechos correspondientes a una misma relación se debe respetar el significado posicional de cada uno de los argumentos. Si en un programa lógico se escri-ben predicados del mismo nombre pero de distinta aridez, el sistema considerará que esos predicados refieren relaciones o propiedades distintas, y no simples variantes de una misma relación. Es la unión de un nombre de predicado con su aridez lo que determina, desde el punto de vista del sistema, su mismidad.

Ahora que nos hemos apropiado de los rudimentos del vocabulario, podemos redefinir los hechos como una propiedad de un objeto individual, o como una relación entre objetos múltiples. La enun-ciación de los hechos puede responder a un simple encadenamiento de átomos:

Page 74: Antropologia y Programacion Logica

74

pueblo(tsembaga,200,maring,madang,nueva_guinea). 2.2

O puede echar mano de lo que ya hemos llamado "estructuras" u "objetos compuestos", especifi-cando functores y componentes subordinados. En este nivel de articulación, el functor define el nom-bre el tipo de estructura, y los componentes actúan como los objetos del hecho cuyo atributo o rela-ción define el functor:

dato(pueblo(tsembaga,200),lengua(maring), 2.3 region(madang,nueva_guinea)).

La primera versión representa al dato como una relación entre seis ítems; la segunda los reduce a tres sin perder información y ganando en precisión categorial. Una estructura "compleja", pese a su nombre, refleja los hechos con más elegancia que un hecho linealmente expuesto. La sintaxis de las estructuras es la misma que la de los hechos: el functor de la estructura es además un predicado, y los componentes de una estructura son los argumentos de ese predicado.

Una vez más hay que decir que la idea de "relación" no tiene aquí el sello de primitividad, la in-mediatez intuitiva y el carácter de piedra angular que poseía en el sistema russelliano y que suscitara los escrúpulos de Lakatos (1981:28). En rigor, despues de la Lógica de los Relativos de Peirce (mucho antes de Russell o del positivismo lógico) las relaciones han dejado de ser algo extraño o es-pecial. Cualquier predicación implica "relaciones" que no es preciso hiperanalizar ni subdescomponer para construir con ellas una representación aceptable de un dominio de conocimiento.

El uso de las estructuras incrustadas responde a necesidades de programación o de metaprogra-mación muy precisas que no pueden ser detalladas en este contexto, pero que se clarificarán en los comentarios a los programas de aplicación que figuran en el apéndice. Uno de esos usos bien podría ser, por poner un caso, la clasificación de los componentes individuales en jerarquías de múltiples niveles, insertando así la lengua maring en el conjunto de las lenguas oceánicas, a Nueva Guinea en el ámbito global de la Melanesia, a la población tsembaga en el censo demográfico del mundo, y así su-cesivamente. A la vista de las necesidades representacionales comunes en nuestra disciplina, no exis-ten limitaciones en la complejidad de anidamiento de los hechos que dependan de la implementación del lenguaje que se utilice.

Page 75: Antropologia y Programacion Logica

75

Reglas

Desde cierto punto de vista, las reglas del Prolog son simplemente fórmulas para inferir hechos a partir de otros hechos. Otra forma de expresar esto es diciendo que una regla es una conclusión que se puede considerar verdadera si una o más conclusiones son también verdaderas6. Es decir, las reglas son relaciones dependientes o aserciones condicionales: permiten inferir una pieza de observación a partir de otra, que puede ser a su vez un conjunto de hechos y/o reglas. En Prolog todas las reglas tienen tres partes: una cabeza, un símbolo "si" y un cuerpo.

cabeza si cuerpo 2.4

raspador(X) :- filo(X,cortante,1), material(X,piedra). casable(A,B) :- sexo(A,varon), sexo(B,mujer), tipo(A,X), tipo(B,Y), X=Y.

La cabeza es el hecho que sería verdad si se cumplieran ciertas condiciones; también se la llama

"conclusión" o "relación dependiente". El símbolo "si" que separa la cabeza del cuerpo puede escri-birse con los caracteres :- o mediante la palabra if. En caso de definir la palabra española "si" (o cual-quier otra) como operador de condicionalidad, se puede utilizar directamente el nuevo operador en lugar del signo condicional.

La secuencia de caracteres :- pretende ser una flecha que apunta de los antecedentes al conse-cuente, o como antes se decía, de la prótasis a la apódosis. El cuerpo es el conjunto de condiciones (o la lista de hechos) que deben cumplirse, uno tras otro, para que se pueda probar que la cabeza de la regla es un hecho verdadero. En principio, el orden en que se estipulan o satisfacen las condiciones es irrelevante, aunque en la práctica las cosas disten de ser tan simples.

La existencia de más de una condición o hecho a probar en el cuerpo de la regla equivale a la conjunción lógica; la existencia de más de una regla con la misma cabeza y distinto cuerpo equivale a una disyunción. Es posible asimismo denotar una disyunción separando los diferentes predicados del cuerpo que forman una unidad disyuntiva mediante punto y coma. Al igual que en la lógica simbólica convencional, se utiliza la conjunción para expresar más de una condición a cumplir para que sea verdadera la cabeza de una regla y la disyunción para denotar para denotar más una forma de arribar a la misma conclusión.

Desde el punto de vista lógico, la relación que media entre la cabeza y el cuerpo de la regla es la de la condicionalidad, lo que no debe confundirse con la implicación. La condicionalidad es una ar-quitectura que se introduce arbitrariamente y que no está en principio garantizada por ninguna prueba taxativa en el momento en que se enuncia. La implicación, en cambio, llamada también "implicación veritativo-funcional", es la relación lógica puramente formal que un enunciado guarda con otro cuan-

6 O posibles, o probables, o verosímiles; como luego se verá, los valores veritativos dependen del paradigma lógico y de la interpretación que se adopte.

Page 76: Antropologia y Programacion Logica

76

do el segundo se sigue del primero por medio tan solo de consideraciones lógicas pertenecientes a la teoría de las funciones veritativas (cf. Quine 1986:68).

Comprender la diferencia entre condicionalidad e implicación es fundamental en nuestra episte-mología, sobre todo si tenemos en cuenta que lógicos tan prestigiosos como Russell y Whitehead mezclaban despreocupadamente ambos conceptos, o que estudiosos tan finos como Kowalski o Hogger siguen obstinados en confundirlos (cf. Kowalski 1982: 11-12; Hogger 1984:18-22). Aunque muchos de los textos clásicos de programación lógica estén igualmente equivocados a este respecto, el lenguaje Prolog demuestra y simboliza la diferencia abismal entre la condicionalidad y la implica-ción a partir del hecho de que la primera es escrita al acaso por quien realiza el programa y la segunda es calculada axiomáticamente por la máquina, merced a un algoritmo que se explicará en su momento. Dicho de otra forma, la validez de una conclusión estipulada en una expresión condicional se demues-tra mediante la implicación lógica. Veamos un sencillo ejemplo:

tia(A,B) :- madre(A,C), hermana(C,B). 2.5 madre(juan,maria). hermana(maria,teresa).

La regla inicial es nítidamente un condicional: el programador decide condicionar que la tía de A sea B al hecho de que la madre de A sea C y la hermana de ésta sea B. Ningún sistema lógico del uni-verso podría sacar esa conclusión de esos antecedentes, sencillamente porque la condicionalidad no es una operación. Si una vez escrito el programa se solicita al sistema que verifique si la expresión tia(juan,teresa) es verdadera, el sistema contesta que sí. Las reglas y los hechos expuestos han hecho que esa expresión se siga implicativamente. Desde el punto de vista de la implicación, la condicio-nalidad es una premisa que, aunque se simbolice como regla, tiene carácter de hecho. Como escribía Quine, con la opacidad rígida de que hacen gala los lógicos, "la implicación es la validez del condi-cional" (1986:64).

Aunque este vocabulario cuadra más a la implicación, podría decirse que el carácter de la condi-cionalidad denotada por el signo :- puede ser tanto "material" como "estricto", dependiendo de la in-terpretación de la regla y de su contexto circundante. En condiciones lógicas normales (es decir, bajo las premisas de una lógica estándar) la conversa de la implicancia es el entrañamiento: la conclusión de una regla entraña (el cumplimiento de) las condiciones expresadas en el cuerpo.

El operador de la condicionalidad lógica, el símbolo :-, satisface distintas características y moda-lidades del proceso de inferencia que también dependen de la interpretación. La condicionalidad sería subjuntiva de serlo la interpretación de los verbos correspondientes ("Si vinieran lluvias sobrevivirían las plantas"), y sería contrafáctica en caso de ser falso el antecedente ("Si se hubieran reducido los impuestos ahora tendríamos el capital necesario"). En una expresión regular común, la interpretación mínima del signo de condicionalidad considera el cuerpo de la regla como condición suficiente para a-rribar a la conclusión denotada en la cabeza. Si esta conclusión se derivara además necesariamente de sus condiciones, y sólo de ellas, éstas serían entonces condiciones necesarias y suficientes, y el con-dicional se transformaría en lo que se llama un bicondicional: "si y sólo si cuerpo, entonces cabeza".

El carácter de la condicionalidad es en todo caso un factor extralógico, o eventualmente un ele-mento de juicio que depende del contexto total de las reglas. Lo que importa es que todos los matices de la condicionalidad se pueden expresar utilizando para ello el mismo símbolo, o reservando para éste determinada interpretación y definiendo operadores específicos para las restantes. Combinando la

Page 77: Antropologia y Programacion Logica

77

expresividad semántica de otras condicionalidades (posibilidad, necesidad, contrafacticidad) con la fuerza de cálculo de la implicación pueden lograrse efectos que en poco difieren, fuera de su mayor rigor, de los razonamientos más sutiles y dúctiles de que es capaz la inferencia humana.

Debería ser innecesario aclarar que las "reglas" del Prolog lo son sólo con respecto al modelo. No existe ningún paralelismo entre el uso de reglas en un modelo de este tipo y la suposición de que el mundo o la conducta humana se rigen por reglas dicotómicas e invariantes. Una regla del lenguaje lógico bien puede cubrir una referencia a una situación empírica de la más absoluta anarquía. No es preciso además mapear atomísticamente un hecho real discreto sobre cada regla. Pueden asentarse tantas reglas alternativas como se quiera, escribiendo diferentes cuerpos para las mismas cabezas o u-tilizando en el cuerpo el operador de disyunción. La conclusión de una regla lógica puede denotar tanto una aserción taxativa como una vaga suposición o una probabilidad muy remota. La denotación de lo que se afirma mediante una regla, en otras palabras, podría corresponder a un evento sumamen-te improbable, sin que ello afecte al rigor de la implicación.

La existencia de reglas que utilizan variables de objeto es lo que caracteriza más centralmente al cálculo de predicados, en oposición al silogismo o al cálculo de sentencias o proposiciones. A dife-rencia de los hechos, que se utilizaban para representar relaciones entre constantes o valores conoci-dos, las reglas relacionan constantes con variables, variables solas o más raramente sólo constantes. Cualquiera sea el espesor de las operaciones intermedias, todos los predicados del cuerpo de una regla remiten en última instancia a la aserción o negación de algún hecho.

Sintácticamente las variables se identifican con letra inicial mayúscula en el Prolog de Edinburgo o con minúscula en el original marsellés (cf. Giannesini et al 1989). Hay algunas otras diferencias al respecto entre las distintas versiones del lenguaje; en algunas de ellas, por ejemplo, no es permitido incluir variables en el cuerpo de una regla. Todos los dialectos, empero, comparten los rasgos esen-ciales e instrumentan un concepto de variable que no tiene equivalentes en otros lenguajes de compu-tación. En estos últimos una variable es el nombre de un espacio de almacenamiento en la memoria; en Prolog, en cambio, es una entidad que está en lugar de un hecho o constante (o que representa a todo hecho, o a algún hecho) que posee la misma estructura sintáctica de predicado.

El uso de tecnicismos tales como "variables" y "constantes" no debe intimidar. Una variable es nada más que un símbolo que indica que en su lugar pueden ir diversos valores, y esos valores son las constantes. La jerga del Prolog no debe encubrir el hecho de que lo aparentemente específico de este lenguaje es, bien mirado, general y extensivo a todo modelo. Podría decirse que en el cálculo de pre-dicados en sentido estricto sólo existen variables, pero que a las variables ligadas a un valor conocido se las considera constantes. La implementación computacional de los lenguajes lógicos incluye un tercer tipo de elemento, que se ha dado en llamar "variable anónima". En Prolog la variable anónima se denota con el signo de subrayado (_) y se interpreta en el sentido de "cualquiera", "alguno" o "al menos uno". La interpretación depende del contexto, y no es improbable que a veces se la interprete como "todo". Toda variable que aparezca una sola vez en una regla puede (o debe) ser reemplazada por la variable anónima.

En la práctica, los razonamientos complejos no sólo se realizan en función de hechos y reglas. Las operaciones que mencionamos antes pueden ser de variadas magnitudes de complejidad, y a ve-ces dependen de la programación de una serie de cláusulas que combinan hechos, reglas y procedi-mientos, y que recurren a los llamados predicados "preconstruidos" [built-in] del lenguaje Prolog. Es-tos son predicados que el sistema ya posee y que no precisan ser estipulados; aparte de dinamizar la inferencia, dichos predicados permiten realizar operaciones imposibles o difíciles de definir mediante

Page 78: Antropologia y Programacion Logica

78

cláusulas específicamente lógicas o relacionales: escribir en pantalla, formatear literales, efectuar cál-culos aritméticos, guardar los datos en un archivo, convertir una descripción verbal en un esquema gráfico. Pese a que (o debido a que) dichos predicados suplementarios son por definición extralógi-cos, su incidencia en el encadenamiento deductivo de un programa ha sido objeto de un examen for-mal escrupuloso, como luego veremos en un capítulo específico (p.ej. Kowalski 1984).

Hechos y reglas completan, en principio, las estructuras básicas de descripción necesarias en el lenguaje, y hasta podríamos decir las estructuras básicas subyacentes a la descripción del conocimien-to sobre cualquier dominio en cualquier lenguaje, con las modificaciones notacionales que correspon-dan. Por lo común, la conversión de un fondo de conocimientos expresados en lenguaje natural a un programa en Prolog se realiza con cierta facilidad; algunos lógicos insisten en que esta recodificación es casi siempre straightforward, fluida, no problemática (cf. Parsaye 1988:76). Pero no todo el mundo está de acuerdo en que la trascodificación del nudo de perceptos, juicios y prejuicios que for-man parte de cualquier conocimiento es así de sencilla:

El problema principal en la representación del conocimiento radica en la traducción de afirmaciones o descripciones en el metalenguaje a lenguaje objeto. Por ejemplo ¿qué predicado deberíamos usar, cuántos ar-gumentos debe tener, qué constantes tenemos? El cálculo de predicados nada dice sobre tales cuestiones y deja la decisión al criterio del analista. Estas decisiones, las elecciones de los predicados, funciones y constantes, son probablemente las más importantes que hayan de hacerse en inteligencia artificial (Thayse 1988:112).

La verdad se encuentra a mitad de camino. Difícil o trivial, el procedimiento es a fin de cuentas posible, aunque una codificación pueda revelarse ineficaz cuando ya es demasiado tarde. Es impor-tante notar (y luego insistiremos en este punto) que este proceso no está axiomatizado, difícilmente pueda estarlo algún día y dudosamente sea razonable exigir que lo esté; lo mismo se aplica, desde ya, a cualquier otro formalismo: no existe ninguna forma axiomática de predefinir qué aspectos del mundo son relevantes y cómo se los debe necesariamente representar. Esto depende de cada marco teórico, y está perfectamente bien que así sea.

Se han propuesto, empero, algunas reglas de cocina ampliamente genéricas, dictadas por lo que parecería ser sentido común: expresar primero el conocimiento mediante proposiciones o frases lin-güísticas, y mapear luego los verbos de esas frases mediante nombre de predicado y los sujetos y objetos de las frases como sus respectivos argumentos. Evitar siempre predicaciones demasiado bási-cas, del tipo de "es" o "es un", e introducir a cambio expresiones más variadas; cuidar de que los con-juntos de predicados sean conexos, es decir, verificar que haya alguna forma de intervincularlos me-diante reglas o metarreglas. Asignar a las variables valores mnemónicos, evitando las "X" y las "Y" a que nos han acostumbrado el álgebra y la lógica simbólica. Estas podrían ser recetas de una precepti-va aceptable, aunque con certeza no conviene tomar la "predicación" de los predicados en un sentido gramatical demasiado estrecho. El mismo nombre de "cálculo de predicados" para denotar la modali-dad lógica que estamos caracterizando es otra de las pesadas herencias de la concepción neopositivis-ta de la epistemología como análisis (lógico) del lenguaje científico, idea que no es necesario compar-tir para hacer uso de la herramienta que aquí se propone.

Del hecho de que el traspaso de los datos crudos al formalismo requerido para la construcción del modelo no sea axiomático, no se ha de inferir que las articulaciones metodológicas importantes son indecidibles. Ninguna metodología de formalización nos dirá jamás por dónde debe empezarse, y en esta tesitura los lenguajes lógicos entran en las generales de la ley. No es una teoría de modelos la que debe dictar cuáles son los elementos pertinentes a codificar: eso debe emanar de la formulación discursiva que le precede, ya que en su especificación las estructuras teoréticas no se trasmutan; sólo

Page 79: Antropologia y Programacion Logica

79

se tornan visibles y evidentes. El hecho de construir un modelo efectivizará después, cuando se lo ponga en funcionamiento, sus propias coacciones; pero ellas de ningún modo tienen que ver con ese dictado.

En otras palabras, la relevancia de los hechos y reglas a considerar no se desprende tanto del len-guaje objeto que se agrega, como de la teoría que se posee independientemente de él. Lo que se co-difica en un programa lógico no es un acopio de conocimientos directamente tomados de la realidad mediante una abstracción axiomáticamente fundada, sino lo que una formulación discursiva conven-cional ha definido ya como relevante. La máquina no suplanta a la teoría, mucho menos la segrega, y todavía menos impone la adopción de ninguna.

Ni una comprensión acabada de las posibilidades de especificar hechos, ni un dominio excepcio-nal en la estipulación de reglas para derivar hechos nuevos son suficientes para construir un modelo que funcione y que justifique el costo intelectual de la formalización. El objetivo de todo modelo ha de ser más bien el de proporcionar respuestas, lo cual impone prestar una atención particular a la tercera clase de entidades que conforma un programa lógico (la consulta, pregunta, goal u objetivo), a caracterizarse en el apartado siguiente.

Preguntas

La respuesta es "sí". Pero ¿cuál es la pregunta?

Woody Allen

Una vez que se han representado algunos hechos y que se ha estructurado el conjunto mediante reglas, podemos plantear preguntas, consultas [queries] u objetivos [goals] al sistema. En este len-guaje, la apariencia de los hechos y las preguntas puede ser la misma; pero conceptual y pragmáti-camente los hechos se estipulan en la escritura del programa y las preguntas durante su ejecución. En el corrimiento de un programa común, las preguntas con argumentos en mayúsculas o variables retor-nan respuestas extensionales y las preguntas con argumentos en minúscula (es decir, las hipótesis, que siempre involucran constantes) se contestan invariablemente con "si" o con "no". Como se verá en detalle en el próximo apartado, "no" significa en este contexto que el sistema no puede probar la a-serción que la pregunta supone en función de los predicados que se han estipulado como hechos y de las reglas que los relacionan y sistematizan.

Por si las lecturas esporádicas de epistemología no lo han dejado claro, señalemos que "si" y "no" no son respuestas esquemáticas que trasuntan información escasa, ocasionadas por el hecho de traba-jar con una máquina, sino el resultado natural y pertinente del planteo de una hipótesis. Una hipótesis, sea que se la promueva en Prolog o en cualquier otra forma, siempre se contesta por "si" o por "no". Este es un imperativo al que los diseños de investigación propios de nuestra disciplina rara vez con-ceden la atención debida.

Una respuesta extensional, que refiere cifras, nombres y casos, será la contestación a otra clase de requerimiento (una consulta, una búsqueda, un cálculo), pero no de una hipótesis. Esto quiere decir, trasladado a Prolog, que las preguntas con variables no instanciadas (¿quién?, ¿cuándo?, ¿có-

Page 80: Antropologia y Programacion Logica

80

mo?, ¿cuánto?, ¿dónde?) obtienen respuestas extensionales, producen una enumeración de casos o instancias, y no cabe calificarlas como hipótesis, sino como tanteos exploratorios en un contexto de trabajo interactivo.

Una hipótesis es un query peculiar que no comporta variables libres, sino que relaciona valores conocidos o probables, pero en todo caso siempre explícitos. En un diseño de investigación concreto, la pregunta "¿A cuánto asciende el número máximo de individuos que componen las sociedades que se rigen primordialmente por relaciones de parentesco?" no es de ningún modo una hipótesis. Para que lo sea, se debe plantear como un hecho definido que debe ser probado: "En una sociedad que se rige primordialmente por relaciones de parentesco, el número máximo de individuos que la componen es de ..."; y aquí va una cifra, un rango, o una caracterización cualitativa, pero que no es ni puede ser una incógnita.

La estructura de una hipótesis, si se lo piensa bien (y la sintaxis del Prolog lo trasluce espléndi-damente) no es la de la pregunta, sino la de los hechos: una hipótesis es un hecho a probar. Y a la in-versa los hechos, en un sentido estricto, son hipótesis: los "hechos" de la teoría son "hechos" de la realidad en un sentido precario, es decir, en tanto la teoría (o el paradigma del cual ésta depende) pueda sostenerse. En general la hipótesis es un hecho conjuntivo, condicionado a la validez de otros hechos, a su vez ramificados en otros más, como una pauta que los atraviesa y los conecta y que, invisible al principio de la demostración, tiene que ser imaginativamente construida antes de ofre-cérsela a la máquina para que la demuestre.

Existe una trabazón lógica profunda entre las tres estructuras básicas del Prolog cuya naturaleza iremos esclareciendo en el transcurso de este estudio. Si consideramos, por ejemplo, que las reglas constituyen las afirmaciones más básicas y generales, podemos considerar los hechos como reglas sin cuerpo (en las que nada resta demostrar) y las preguntas como reglas sin cabeza (en las que nada se ha demostrado aún). La naturaleza lógica de una pregunta con variables no ligadas y de una hipótesis son distintas, aunque desde un punto de vista técnico ambas sean queries. Una respuesta extensional es informativa y orientadora, pero no puede decirse que pruebe gran cosa. La respuesta a una hipóte-sis, en cambio, aunque fuere negativa, es prueba pura. En ambos casos la naturaleza de la prueba sólo puede ser de orden lógico, y no factual, independientemente del carácter que, previo a su codifica-ción, tuvieren los hechos representados.

La consideración de la dialéctica de la pregunta y la respuesta en términos de variables versus constantes, clarifica el proceso infinitamente más de lo que fue posible en la epistemología convencio-nal. A nuestro juicio, la caracterización de los tipos de preguntas y problemas reconocidos por la filosofía científica tradicional deja bastante que desear. Polya, por ejemplo, distingue los "problemas de hallar" de los "problemas de demostrar", correspondientes a los "problemas de construcción" y a los "problemas referidos a las consecuencias lógicas de los supuestos" de la filosofía de Papo (cf. Po-lya 1957). Más allá de la fealdad y la precariedad que connotan todos estos rótulos categoriales, lo que se ha elaborado a este respecto en la preceptiva científica dominada por la filosofía analítica es enredado y poco parsimonioso. La siguiente clasificación de Mario Bunge es representativa de ese de-sorden:

Los problemas de hallar son un subconjunto de lo que Aristóteles llamó problemas del qué, mientras que los problemas de demostrar se incluyen en sus cuestiones de alternativa, o dialécticas. Además, los problemas de demostrar son un subconjunto de los problemas de hallar, puesto que demostrar un teorema consiste en ha-llar un conjunto de supuestos que impliquen el teorema dado, y esto, según nuestra clasificación, es un pro-blema sobre individuos. La diferencia entre unos y otros no es lógica ni metodológica, sino ontológica: la solu-

Page 81: Antropologia y Programacion Logica

81

ción de un "problema de hallar" consiste en presentar un objeto que no sea un enunciado, mientras que los "problemas de demostrar" se refieren a enunciados y a sus relaciones lógicas. Nuestra clasificación de los pro-blemas elementales no concede tampoco ningún lugar especial a los problemas de decisión, esto es, problemas cuya solución es un simple "Sí" o un simple "No". Los problemas de decisión son casos especiales de proble-mas sobre individuos, particularmente de los que se refieren a la determinación de valores veritativos. [...] La cuestión de si un problema dado es o no un problema de decisión no es una cuestión lógica sino metodológica: los medios disponibles y el objetivo considerado nos permitirán decidir acerca de si determinados problemas son cuestiones de sí-o-no (Bunge 1985: 202).

La programación lógica ha ordenado este caos de intrusiones ontológicas y metodológicas, de-mostrando que el contraste entre los dos (y no tres) tipos de "problemas" es siempre cuestión de lógi-ca, y encima de una lógica axiomática, por cuanto puede resolverse en los cánones del cálculo de pre-dicados del primer orden. En el esquema que proponemos, no hay necesidad de "decidir" la omisión de "problemas de decisión" presuntamente marginales, ni de fabricar un jeroglífico clasificatorio en el que todas las clases acaban siendo "casos especiales" o "subconjuntos" de las clases opuestas. Como se muestra en el diagrama 2.2, la cosa es maravillosamente simple.

En la computación de un programa, la formulación de una pregunta con al menos una variable li-bre (un "problema de hallar") determina una respuesta extensional que consiste en la enumeración de los casos posibles, o (en caso de tratarse de números) en los cálculos aritméticos a que haya lugar; cuando todas las variables están ligadas, la pregunta es una hipótesis (o sea, un "problema de demos-tración") y la única respuesta posible es "Sí" o "No". "Si" o "No" quieren decir en este contexto que el hecho que la pregunta implica puede (o no puede) agregarse a los hechos y reglas originarios sin generar contradicción.

Pregunta Variable Respuesta Categoría predicado(X) Libre Extensional "Hallar" predicado(valor) Ligada Si/No "Demostrar"

Diagrama 2.2 - Tipos de Preguntas

No existen lógicamente otros tipos de pregunta, ni es preciso salirse de la lógica para categori-zarlas. No importa tampoco que los términos (libres o ligados) se refieran a "individuos" o a alguna suerte de colectivo; por un lado, éste es un problema de interpretación, y como tal es por completo extralógico; por el otro, un individuo lógico puede denotar un nombre de clase, de modo que la dis-tinción no es pertinente en este nivel de análisis. Desde un punto de vista veritativo-funcional formal, por último, los problemas de decisión no constituyen clase aparte: la necesidad de decidir valores de verdad es inherente al proceso de pregunta y respuesta; que se requiera directamente "¿Es verdad que la tribu X habita el territorio Y?" o que se pregunte "¿Cuáles son las tribus que viven en Y?" no incide sobre la realización del cálculo veritativo propiamente dicho.

Técnicamente, se puede obtener la misma respuesta intensional (sí o no) preguntando por un he-cho ya afirmado o tratando de derivar un hecho de las aserciones previamente establecidas, conforme a las reglas que rigen la inferencia en el interior de un programa. Este es un peligro sobre el que los li-bros en general no advierten: la construcción de un sistema formal puede constituir una fachada que justifica el hallazgo de pruebas que se han introducido clandestinamente bajo el manto de la aserción de los "consecuentes" como hechos no condicionales.

Page 82: Antropologia y Programacion Logica

82

En nuestros cursos de programación lógica para antropólogos, muchas veces nuestros colegas se mostraron más bien desilusionados del hecho de que la productividad de un modelo se restringiera a teoremas o consecuencias que de alguna manera están ya implicados y contenidos en las premisas. Esta observación es fruto de una muy pobre comprensión de las fuerzas y alcances de un sistema de-ductivo, imputable de lleno a las deficiencias de nuestra formación profesional, que nos ha ilusionado con la promesa implícita de formulaciones teoréticas "predictivas" o "explicitivas", que serían capaces no sólo de conservar los valores de verdad, sino de originarlos, poniendo al descubierto "hechos" que no estaban siquiera latentes.

La lógica legítima es tautológica, pero puede serlo en dos sentidos contrapuestos: derivando lim-piamente nuevos hechos a partir de los inicialmente asertados, o repitiendo alguna aserción sin pasar por ninguna operación de cálculo. No existe, aparentemente, ninguna forma de distinguir una conclu-sión válida de una tautología insidiosa, como no sea el de seguir el curso del procedimiento de prueba y asegurarse que el hecho que se afirma o se niega resulte de la aplicación de una regla. Algunos dia-lectos del Prolog, atentos a este efecto lógico, incluyen predicados que determinan si un hecho es "originario" o si se trata del efecto de la aplicación de alguna regla que ha debido superar cierto grado de condicionalidad. En el proceso de la computación una aserción tautológica no es propiamente lo que los manuales sindican como falacia: su carácter de tal depende del contexto en que se formule la pregunta y de la interpretación que se otorgue al hecho de formularla.

Algunos capítulos más adelante abordaremos el problema de la instanciación de variables en Prolog, es decir, el modo en que el intérprete resuelve las preguntas mediante un proceso de apareo de patrones cuya posibilidad está definida por el algoritmo de unificación inventado por Robinson, y cuyo orden "de arriba hacia abajo y de izquierda a derecha" está regido por otro algoritmo, llamado backtracking (de autor anónimo) relativamente fácil de integrar a heurísticas y a estrategias selectivas. Desarrollaremos el asunto en forma muy sucinta, pues se trata de un tema tan frecuentemente descrito en los textos que carece de sentido explayarse sobre el particular (cf. Clocksin y Mellish 1987: 6-13; Malpas 1987; Covington et al 1988:10-13, 78-79, 94-100). Por el momento, digamos que nada hay de peculiar en las implementaciones antropológicas que justifique sospechas respecto de que el cálculo conceptual que le atañe no sea viable por estos medios.

b) Predicados extralógicos

Una dificultad que los "modelos" mentales o dibujados en papel no experimentaban eran la de ne-cesitar cláusulas y mecanismos que no están directamente ligados a la naturaleza y a los contenidos del problema que todo modelo representa. Un modelo convencional era capaz, en principio, de resol-ver la pregunta "¿cuáles son las tribus que habitaban la Patagonia?" sin que fuera preciso especificar en algún momento "escriba la respuesta correspondiente" o "mantenga los resultados en la memoria". Cualesquiera fueren las ventajas de este hecho, una computadora no es un autómata lógico o un ins-trumento abstracto, sino un dispositivo real que envuelve físicamente a todo modelo que en ella se implemente y que le impone su propia lógica; lógica que hasta cierto punto es, desde el punto de vista del modelo, o bien irrelevante o bien extralógica.

La mayor parte de los dialectos de Prolog incluyen numerosos predicados extralógicos que com-plementan a un núcleo de resolución estrictamente formal que se denomina Prolog puro. Ciertos dia-

Page 83: Antropologia y Programacion Logica

83

lectos, que se jactan de rigurosos, aceptan sólo unos pocos, en tanto que otros, que se precian de prácticos, incorporan docenas; el hecho es que todos incluyen alguno, típicamente assert, consult, save, nl, integer, write, read, retract. De hecho, cabe interpretar como extralógicos a todos los predi-cados y elementos del lenguaje, con excepción de los conectivos lógicos convencionales que son ex-presables en forma clausal: el condicional (:-), la conjunción (and o coma), la disyunción (punto y coma) y la negación (not). Algunos predicados extralógicos desarrollan operaciones fundamentales; otros, como el ifthenelse del Arity Prolog, procuran preservar la atmósfera procedimental de los len-guajes clásicos. En el Apéndice II incluimos una tabla razonada de predicados extralógicos, necesaria y suficiente para decodificar las operaciones involucradas en los predicados built-in de todos los pro-gramas adjuntos.

El problema práctico que presentan ciertos predicados extralógicos es el de los efectos lógicos colaterales. Veamos, por ejemplo, el caso de dos predicados clásicos de entrada/salida, correspon-dientes a las operaciones de leer y escribir (de teclado y en pantalla, respectivamente, a menos que se estipule otra alternativa). El procedimiento de lectura liga una variable a un valor introducido, y el de escritura retorna el valor de una variable ligada o de una constante. Pese a que desde un punto de vis-ta lógico ambas operaciones parecerían simétricas, existe entre ellas una marcada diferencia operacio-nal. Si todas las invocaciones que realiza un programa a la rutina de escritura se reemplazaran con un procedimiento vacío que siempre se ejecuta exitosamente, la semántica del programa no se vería afec-tada. Lo mismo no se aplica, por desdicha, a las operaciones de lectura; en estas últimas, los valores asumidos por las variables correspondientes podrían modificar la naturaleza de las conclusiones a las que se llega.

Como la intrusión de esquirlas extralógicas en un tejido lógico axiomático entraña problemas sumamente delicados, los formalistas contemplan todas las capacidades prácticas de las computadoras (y sus cláusulas correlativas en el lenguaje lógico) con cierto recelo. Kowalski (1984), por ejemplo, ha discutido los peligros de utilizar predicados de tipo assert y retract. Su actitud es más tolerante respecto del primero que del segundo, por cuanto la aserción de una nueva cláusula en un programa que se está computando se asemeja a la generación de lemma, una técnica de prueba habitual en el cálculo de predicados. En las diversas implementaciones del Prolog la generación de lemma puede instrumentarse realizando la aserción de una prueba que acaba de deducirse (o de un resultado par-cial) al conjunto global de hechos y reglas:

lemma(Prueba) :- probable(P), assert((Prueba:-!)). 2.6

La vez siguiente que se intente probar el objetivo Prueba, el sistema utilizará la solución hallada,

y no será preciso volver a computar todo el proceso. Este uso formal de la aserción solamente es vá-lido cuando el proceso denotado por Prueba es determinista, es decir, cuando tiene una única solución posible.

Debemos tomar nota de una diferencia entre la generación de lemma en un programa lógico y la introducción de lemmas en un marco teórico tal cual se ha venido caracterizando en la filosofía de la ciencia. En este ámbito, un lemma es una hipótesis demostrada como teorema en otra teoría y que se toma en préstamo "cuando hace falta" (Bunge 1985:437). Los lemmas son harto frecuentes en las deducciones propias de la ciencia factual. En programación lógica las cosas son algo más estrictas: un lemma debe ser o bien demostrado a través de un proceso determinista a partir de las premisas inicia-les, o debe ser incluido entre ellas desde un principio, a título de axioma.

Page 84: Antropologia y Programacion Logica

84

Los demás usos de la aserción y retracción de hechos y cláusulas en tiempo real no están aún bien delimitados. Dicen Sterling y Shapiro:

Los predicados assert y retract introducen en el Prolog la posibilidad de programar con efectos colatera-les. El código que depende de efectos colaterales para su ejecución adecuada es difícil de leer, difícil de opti-mizar y difícil de tratar formalmente. De allí que estos predicados sean un tanto controvertibles, y que utili-zarlos sea a veces resultado de pereza intelectual y/o incompetencia. [...] A medida que avance la tecnología de los compiladores de Prolog, la ineficiencia del uso de assert y retract será más evidente. [...] Los programas que se automodifican son un concepto olvidado de la ciencia computacional. Los modernos lenguajes de pro-gramación eliminan esta posibilidad, y la buena práctica con lenguaje ensambladores también evita estos tru-cos de programador. Es una ironía histórica que un lenguaje de programación que pretende abrir una nueva era en computación abra la puerta del frente a tales técnicas arcaicas, utilizando los predicados assert y retract (1986:180).

La realidad es algo menos alarmante, y la noción de programas capaces de automodificarse (correlato, en lógica, de la noción de no-monotonía) constituye una posibilidad seductora que no de-bería descartarse por las dificultades formales que acarrea. Es posible, de todas maneras, proporcio-nar una justificación lógica para algunos usos limitados de la aserción y la retracción. Realizar la aser-ción de una cláusula, por ejemplo, se justifica si dicha cláusula ya se sigue deductivamente del progra-ma. Agregar esa cláusula no modificará entonces el significado del mismo, sino que a lo sumo mejo-rará su performance. Del mismo modo, retirar una cláusula se justifica cuando ella sea lógicamente re-dundante.

Las operaciones de entrada/salida y aserción/retracción, en síntesis, nunca han estado demasiado bien combinadas con la estructura global del lenguaje, y por ello su uso ha de ser discrecional. Su im-plementación reposa sólo en la llamada semántica procedimental7 del lenguaje, y no tiene conexión al-guna con el modelo estricto de la programación lógica, representado por un formalismo más abs-tracto.

Tenemos que tener permanentemente en cuenta que la tecnología disponible es transicional. La e-xistencia de predicados de entrada/salida lógicamente "impuros" será evitada en el corto plazo con la puesta en marcha de programas lógicos concurrentes basados en el Prolog; en ellos, las estructuras de datos modificables se podrán implementar mediante monitores que tienen una definición puramente lógica, y que actúan como si constituyeran un proceso recursivo perpetuo (cf. Shapiro 1984).

No existe, por último, una clasificación lógicamente aceptable de los tipos de predicados extraló-gicos posibles. Su espectro, por otro lado, varía conforme a la evolución de las técnicas computacio-nales comunes, lo cual quiere decir que se expande con suma rapidez. Es habitual que los manuales consignen predicados aritméticos, para lectura y escritura de archivos, para tratamiento de ristras de caracteres, para conversión de tipos de datos, para manejo de ventanas y menúes, para gestión de ba-ses de datos, para realización de gráficos o sonidos y para programación de máquina a bajo nivel. El cuadro no es exhaustivo ni sistemático; en todo sentido, y en tanto no sean interferentes, las operacio-nes a las que alude quedan por completo fuera de la lógica.

7 Véanse los siguientes apartados sobre los diferentes modelos semánticos del lenguaje.

Page 85: Antropologia y Programacion Logica

85

c) La forma lógica clausal

Este es el momento de examinar dos cuestiones fundamentales para nuestros propósitos: la rela-ción de la sintaxis del Prolog con la notación lógica y los aspectos concernientes a su semántica. Exa-minemos primero las características lógicas. El lector, sin duda, habrá notado cierta diferencia entre las estructuras lógicas que constituyen el lenguaje y las notaciones simbólicas que pueblan los libros de texto como los de Quine, Church, Gödel, Carnap o Von Wright. Esta diferencia no es sólo sintác-tica. La sintaxis del Prolog no sólo encarna una modalidad definida de cálculo de inferencia (el cálculo de predicados)8 sino que responde a un estilo de notación, intermedio entre la escritura simbólica y el lenguaje natural, que se denomina forma clausal.

Todo sistema de cálculo lógico que haya adoptado la notación simbólica dispone de varias for-mas alternativas de escritura, y de procedimientos específicos de transformación para pasar de un tipo de forma a otro. La más común de todas recibe el nombre dudosamente imaginativo de forma normal o forma canónica; otras formas habituales son las llamadas forma prenexa, las formas de Skolem, las formas prenexas skolemizadas, la forma normal disyuntiva y, naturalmente, la forma clausal. Las ra-zones de la existencia de diversas formas en el interior de un método de cálculo son diversas: deter-minadas operaciones son más fáciles de realizar en una forma que en otra, ciertos razonamientos re-sultan más comprensibles, y algunos métodos de prueba de consistencia pueden llegar a simplificarse cuando se incluyen o se eliminan cuantificadores, o cuando se quitan o agregan conectivas lógicas. Eventualmente, procedimientos de prueba que son posibles bajo una forma no lo son bajo otra forma distinta.

Por ejemplo, Alonzo Church probó que la lógica de primer orden es indecidible respecto a satis-facibilidad. Esto quiere decir que para un conjunto de fórmulas de lógica pura del primer orden no existe un procedimiento automático tal que para cada fórmula perteneciente a él nos permita decidir en un número finito de pasos si esa fórmula es satisfacible o no. En 1930 Gödel probó que ciertos conjuntos de la lógica de primer orden son decidibles, y esos conjuntos coinciden con las propias fór-mulas del cálculo de predicado cuando se las expresa en forma prenexa. Como es bien sabido, toda fórmula normal es equivalente (es satisfecha por las mismas interpretaciones que) alguna fórmula pre-nexa (cf. Gödel 1982:37-39). No interesa aquí, en rigor, al menos por ahora, qué signifique la satisfa-cibilidad de una fórmula o qué estructura peculiar tengan las formas prenexas. El objetivo es simple-mente demostrar que las diversas formas de expresión lógica se comportan diferentemente frente a los problemas de la consistencia, la completud, la decibilidad o la computabilidad.

A diferencia de lo que presuponían las teorías modélicas informales (o amorfas) de la antropolo-gía, la forma, en definitiva, no es neutral, por cuanto determina el campo de posibilidades y los proce-dimientos de prueba que afectan a un lenguaje. La elección de una forma adecuada es crucial cuando se trata de diseñar un procedimiento para que una computadora sea capaz de reconocer y validar una cláusula de la manera más económica y eficaz posible. Por diversas razones, tanto formales como contingentes, la forma clausal es, entre otras cosas, una forma que admite una computación más cer-cana a lo óptimo que la que es peculiar de otras formas alternativas. Los siguientes ejemplos están en

8 Nos ocupamos del cálculo de predicados en la cuarta parte de la tesis, al desarrollar el contraste entre ese formalismo y el cálculo de proposiciones (secuela anacrónica del silogismo) que acompaña desde siempre a la lógica y a la epistemología no computacionales.

Page 86: Antropologia y Programacion Logica

86

forma clausal, aunque no (todavía) en el tipo de forma clausal que es capaz de aceptar el intérprete de Prolog: abuelo(x,y) <- progenitor(x,z), progenitor (z,y). 2.7 masculino(x), femenino(x) <- humano(x).

Obsérvese una peculiaridad de los conectores de la forma clausal en su versión originaria: pese a que estén denotados por el mismo signo (la coma), los de la cabeza corresponden a la disyunción ("o"), y los del cuerpo a la conjunción ("y"). En su versión computacional sólo esta segunda propie-dad habría de mantenerse; luego se verá por qué.

Ya hemos descripto la estructura notacional de las cláusulas del Prolog, señalando en el trámite sus diversos componentes y su variada nomenclatura: predicado, functor o relación, átomos, objetos, argumentos o términos, cabeza y cuerpo, variables y constantes. Todos estos elementos preexisten al lenguaje de computación; los diseñadores de éste sólo han introducido ligeras modificaciones en los signos, en función de las limitaciones tipográficas características de los teclados de consola.

En términos históricos, la forma clausal es hasta cierto punto independiente del cálculo de predi-cados, pero se ha desarrollado de hecho en conjunción con éste. De hecho, en el excelente texto de programación lógica editado por Thayse (1988:26-29), las cláusulas de Horn se explican como si for-maran parte del cálculo proposicional. La forma clausal no es sino una convención de escritura que busca superar algunas ambigüedades del lenguaje natural, pero sin perder su innegable poder expre-sivo. La práctica ha demostrado que no es necesario pasar por la forma normal de la notación lógica antes de escribir formas clausales. Por el contrario, en general es la llamada forma normal la que se clarifica cuando se transcribe a notación de cláusula. El paso de la forma natural del lenguaje a la forma clausal de la lógica (a diferencia de lo que sucedería con otro formalismo simbólico) es de una notable fluidez, al punto que casi carece de toda preceptiva categórica, con la excepción de un régi-men sumamente escueto que pasamos a describir.

Amén del uso de paréntesis, la forma clausal acostumbra invertir el orden en que aparecen las conclusiones respecto de las premisas. Por consiguiente, en vez de escribir "si A entonces B", la cláu-sulas deben atenerse a la expresión "B si A". La razón de ser de esta prescriptiva es puramente ana-lógica: se procura atraer la atención hacia la conclusión o consecuente de la cláusula.

Además, por razones técnicas, dentro del conjunto de las formas clausales, en programación ló-gica se ha adoptado una convención más específica en favor de una notación propuesta por Alfred Horn (1951). Las cláusulas de Horn son aquellas que contienen una sola conclusión: es decir, la ca-beza de una cláusula de esta clase contiene un solo término, en lugar de varios términos disjuntos. Para que una cláusula de esta forma califique como cláusula de Horn debe cumplir además dos con-diciones: la conclusión debe ser afirmativa, y por lo menos uno de sus términos (en la cola) no debe ser negado9. Horn demostró que cualquier problema que pueda ser expresado en forma lógica se puede transformar en un conjunto de cláusulas de ese tipo; la mayor parte de los formalismos utiliza-

9 Existen otras definiciones, por cierto: Malpas dice que "una cláusula de Horn es una cláusula que contiene un solo literal positivo" (1987:44). Un literal positivo es una afirmación lógica; un literal negativo es una negación (_P). El Prolog original marsellés utiliza la terminología de literales positivos y negativos que había instrumentado Kowalski en su teoría de la resolución, de modo que la cláusula A :- B1,...,Bn se escribía +A-B1...-Bn. Nosotros optamos por la definición original, que es más clara y completa.

Page 87: Antropologia y Programacion Logica

87

dos en la programación de computadoras se parece mucho más a las cláusulas de Horn que a las que Kowalski denomina "no-Horn" (1986:28-29).

Algunos lógicos han llamado la atención sobre el hecho de que las cláusulas de Horn se pueden considerar como si fueran reglas de reescritura de proposiciones o predicados y que, en consecuencia, un conjunto de cláusulas de Horn equivaldría a una especie de gramática context free (no determinis-ta), análoga a las que se han desarrollado en lingüística (cf. Thayse 1988:29). En efecto, una cláusula de Prolog de este tipo:

s :- p, q, r. 2.8

Se puede interpretar análogamente a esta regla generativa o de reescritura, donde el signo denota

"se reescribe" en lugar de la condición:

s -> p, q, r 2.9

Aunque esta es una analogía significativa, existe, sin embargo, una diferencia importante: en una

regla de reescritura, el orden de los elementos del cuerpo es crucial, mientras que en una cláusula de lógica pura el orden sería indiferente debido al principio de conmutatividad de las operaciones con-juntivas. Con todo, de ser preciso sería posible justificar la analogía, introduciendo una serie de res-tricciones cuyo carácter analizaremos al desarrollar los comentarios sobre nuestros modelos genera-tivos.

Las cláusulas de Horn son tan simples como expresivas. Todo el Prolog se basa en ellas, al punto que un programa se puede redefinir como un conjunto de cláusulas de Horn que expresa la informa-ción pertinente para la resolución de un problema o para responder a una consulta. Desde el punto de vista lógico, una cláusula de este tipo puede ser:

a) una simple aserción atómica, como "los arunta viven en Australia", o

b) una condición, como ser "x heredará el bien y si x es el hijo de z y z es el actual poseedor de y"10.

Las aserciones e implicaciones son lo mismo que con referencia a los elementos sintácticos del lenguaje hemos llamado respectivamente "hechos" y "reglas".

Sería posible escribir cláusulas de Horn mediante una notación infija, que es muy común en ma-temáticas, por ejemplo 2+2 en lugar de +(2,2); pero en lógica simbólica se ha popularizado una nota-ción prefijada, en la que por lo común se antepone el elemento indicador de la relación: la idea de que los arunta viven en Australia se expresaría viven(arunta,australia). La notación infija es más natural, por lo menos para los hablantes de lenguas indoeuropeas; pero la notación prefijada es a la larga más precisa, porque el orden de los elementos trasunta una cierta estructura funcional, lo cual además simplifica su descomposición analítica y facilita su lectura por parte de una máquina.

10 Kowalski (1982:6) dice "implicación"; a menos que consideremos la condicionalidad como una especie de forma débil de la implicación, esta aseveración es equívoca. Es necesario reiterarlo: condicionar y definir son prerrogativa del análisis que realiza un estudioso que escribe un programa lógico. La implicación, en cambio, no se aserta: se calcula. Calcular una implicación es tarea de la máquina.

Page 88: Antropologia y Programacion Logica

88

La programación lógica no está ligada, en teoría, a ninguna forma específica de notación. Si fuera preciso, se podrían diseñar operadores infijos o sufijos para expresar las cláusulas en el orden que se desee, o para escribir directamente en una forma que no sea clausal. Aunque esto es en principio po-sible, la configuración actual de los programas intérpretes hace que dicho procedimiento no resulte demasiado práctico y que vaya a contramano de una tendencia tecnológica que al menos ha demos-trado ser eficaz.

Subrayemos por último una discrepancia adicional entre la forma clausal del Prolog y las nota-ciones lógicas convencionales: aquélla carece de cuantificadores y en consecuencia, de los signos re-queridos para denotarlos. La lógica estándar posee dos cuantificadores básicos: el cuantificador uni-versal ("para todo X") y el existencial ("existe un X"). Si bien al introducir la cuantificación en la lógica se gana un innegable poder expresivo, es evidente que aumenta también la complejidad de la notación.

El Prolog no explicita cuantificador alguno, lo que no significa que no se pueda cuantificar lógi-camente en ese lenguaje cuando sea preciso hacerlo. Suele decirse que en él se asume que todas las variables están universalmente cuantificadas, pero es más correcto pensar que la cuantificación de las variables de la cabeza de la regla es universal y la de las variables locales del cuerpo de la regla es e-xistencial. Este rasgo acerca otro paso más el Prolog a las formas naturales de plantear un problema e insinúa que ciertos planteamientos lógicos del pasado seguían pistas innecesariamente enrevesadas.

La forma en que se puede cuantificar existencialmente en Prolog es quizá más expresiva que la forma clásica, aunque es muy rara la ocasión en que la cuantificación existencial se pone de manifiesto en tanto tal; no es que en los problemas de la vida real que se modelizan no surjan instancias que la lógica convencional resolvería mediante una cuantificación de ese tipo: más bien se trata de que el estilo de resolución de un programa lógico no pone en foco el hecho de que se está cuantificando de una u otra manera, aunque sea eso lo que se está haciendo cuando se contempla el problema desde cierta óptica.

Veamos un caso de cuantificación existencial implícita. Si no pudiéramos cuantificar existencial-mente, la siguiente regla de Prolog sería impropia:

madre(alguien, P) :- persona(P). 2.10

La regla expresa que alguien es madre de P si P es una persona. Pero "alguien" pretende ser aquí

una constante, no una variable. La expresión anterior implica que "alguien" es madre universal de cualquier persona, que no es lo que se quiere expresar. La solución consiste, con perdón por el neo-logismo, en skolemizar. Esto es, introducir una función llamada "función de Skolem" en honor del matemático noruego Thoralf Skolem, quien las introdujo como una técnica para eliminar cuantifica-dores, utilizando en su lugar símbolos de función.

madre(progenitora(P), P) :- persona(P). 2.11

La función progenitora(P) denota la dependencia con respecto a P. En esta forma, la frase podría

leerse como: "Para todo P, progenitora de P es una madre de P, si P es una persona". La skolemiza-ción, desde ya, no necesita ser tan tautológica y autoevidente. El programador de Prolog típico sko-lemiza constantemente sin tener conciencia de ello. Nuestro programa de ejemplo de relaciones pa-

Page 89: Antropologia y Programacion Logica

89

rentales skolemiza en forma más discreta y aún así es susceptible de leerse conforme a la intención que orientó su escritura.

El cálculo de predicados que respalda a la programación lógica es llamado también cálculo de cuantores (o cuantificadores); es notable que su rasgo más conspicuo prácticamente haya desapareci-do en su encarnación computacional. La skolemización es la forma más frecuente ya no de expresar cuantificadores existenciales, sino de hacerlos desaparecer del horizonte sin incurrir en falacias lógi-cas. Existen otras maneras de hacer lo mismo y de introducir determinadas sutilezas de cuantificación, como las metavariables descriptas por John Sowa o los focalizadores de McCord, que resultaría excesivamente preciosista referir aquí (cf. McCord 1987; Sowa 1987). d) El Algoritmo de Resolución

En la vida real o en la práctica de una lógica estándar, los procesos de inferencia se realizan en

función de los llamados procedimientos de prueba, que ponen en marcha las leyes que rigen el modo de razonamiento de que se trate. Un procedimiento de prueba consiste en el encadenamiento de una serie de pasos lógicos en los que se desenvuelven operaciones y transformaciones que resultan acep-tables en función de la aceptación de determinadas leyes o principios lógicos, fundadas a su vez en la demostración formal de un teorema. En el cálculo de proposiciones, por ejemplo, dichas leyes podrían ser la "ley de la doble negación", la "ley de contraposición del condicional", la "ley de la conmutativi-dad de la disyunción", las leyes de De Morgan, el modus tollendo tollens, etcétera (Deaño 1987:107-112). Los procedimientos de prueba que se consideran aceptables para el desarrollo de un razona-miento dependen de numerosos factores y varían irremisiblemente según se acate uno u otro marco de teoría.

La pregunta ahora es: ¿cuáles son los procedimientos de prueba subyacentes al uso del lenguaje en que fundamos nuestra modelización? Nuestra herramienta lógica es un procedimiento mecánico de prueba y por lo tanto descansa en el uso de una máquina de computación. La pregunta podría re-es-cribirse: ¿cómo se hace para materializar una demostración lógica en una máquina? Controladamente antropomorfizado, ese interrogante se podría también formular así: Todos sabemos que una computa-dora realiza cálculos numéricos con una eficacia que nadie discute, pero ¿cómo es posible que una máquina desarrolle un razonamiento?

Imaginemos por un momento que estamos intentando modelar un fenómeno o sistema cualquiera de la vida real en el cual cabe discernir cierto número de variables. Supongamos también (y luego se comprobará que ésta es una suposición de pesadilla) que debemos construir nuestro modelo de acuer-do con los cánones de la lógica convencional, valiéndonos de las conocidas tablas veritativas. Recu-rriendo a la tabla de la figura 2.3, observemos qué sucede en el caso de tomar como punto de partida un número de tres componentes proposicionales y sus correspondientes interrelaciones:

Nótese que el número de líneas de una tabla veritativa es 2n, donde n es el número de variables presentes en la fórmula. Esto causa que sea completamente impracticable utilizar tablas de valores de verdad o cualquier otro sucedáneo similar para verificar la corrección de inferencias cuando se parte de un número superior (digamos) a las veinte o treinta variables. Una tabla de verdad de 40 variables tendría algo así como 1.099.511.627.776 renglones (unos quince o veinte mil millones de páginas), lo cual hasta para una computadora es demasiado.

Page 90: Antropologia y Programacion Logica

90

A B C A o B B & C B&C si AoB V V V V V V V V F V F F V F V V F F V F F V F F F V V V V V F V F V F F F F V F F V F F F F F V

Diagrama 2.3 - Tablas veritativas

Una forma mejor y más directa consiste en inventar una regla de inferencia que legitime la con-clusión de una afirmación a partir de otras aserciones. Por ejemplo, para deducir:

(C1) El pueblo migrará si no hay suficientes lluvias.

A partir de las premisas:

(P1) El pueblo migrará si sobreviene el hambre. (P2) Sobrevendrá el hambre si no hay suficientes lluvias.

Utilizamos una regla de la forma

(P1) A si B (P2) B si C -------------------- (C1) A si C

A esta regla la podríamos considerar la transitividad de "si". Se puede probar que una aserción

tal como C1 se sigue de una serie de otras aserciones, mediante el uso sucesivo de reglas de prueba, de las que la transitividad es sólo una. Una prueba es entonces una secuencia de correctas aplicacio-nes de reglas a premisas y a teoremas, es decir, a aserciones que ya han sido probadas.

Pero aquí viene lo interesante: la regla de transitividad para "si" se puede formular de una manera ligeramente distinta. Dado que las fórmulas que contienen el condicional "si" se pueden re-escribir con "o" utilizando este principio de equivalencia:

B si A equivale a (A) o B

podemos reescribir la regla de transitividad bajo la forma de la llamada regla de resolución, la cual constituye la base oculta de todas las máquinas de inferencia de los dialectos del Prolog y de otros lenguajes emparentados:

(P1) A o B (P2) B o C ---------------------- (C1) A o C

Page 91: Antropologia y Programacion Logica

91

Existen muchas otras reglas de prueba aparte de la resolución. Incluso podemos inventar nuevas

reglas, utilizando otros conectores. Pero para un mecanismo computacional de resolución de proble-mas, es más sencillo tener sólo una regla de inferencia y restringir todas las fórmulas a una única mo-dalidad correspondiente. Las fórmulas resultantes de la aplicación del principio de equivalencia men-cionado responden, casualmente, a las restricciones impuestas por la forma clausal. En este punto, conviene ilustrar lo que resulta cuando se intenta probar un tipo específico de aserciones en forma clausal:

(P1) B

(P2) B ------------- {}

Las cláusulas P1 y P2 se llaman a menudo cláusulas madres [parent clauses] de la cláusula C1,

conocida a su vez como resolvente. Aquí el signo {} denota lo que se llama "cláusula vacía", que no es otra cosa que la contradicción. Una cláusula vacía se contradice a sí misma, y sólo puede derivarse de un conjunto contradictorio de premisas. En realidad, por razones técnicas muy precisas, el meca-nismo de resolución del Prolog trabaja exactamente al revés de lo que cabría esperar, introduciendo una cierta reminiscencia popperiana en el procedimiento de prueba: el intérprete primero niega la hi-pótesis que corresponde probar; si de esta negación resulta la cláusula vacía, la hipótesis se estima correcta.

Podría decirse, en otros términos, que el principio de resolución es una única regla de inferencia que puede utilizarse para producir todas las conclusiones posibles que pueden emanar de un conjunto determinado de hechos y aserciones. La regla de resolución comprende dos momentos: una cláusula definida (que es la aserción implicada en un objetivo) y una cláusula negada, que es otra afirmación que niega la afirmación definida o la considera falsa. El cálculo lógico resultante de la aplicación de esta regla funciona aproximadamente así: el intérprete primero construye la negación del goal que se pretende demostrar y luego procura establecer que esta negación (si se afirmara) sería inconsistente al agregarse a los demás hechos conocidos.

En realidad, el cálculo de resolución ideado por Robinson no es completo en el sentido en que dentro de él sea posible derivar todas las consecuencias de una fórmula. En una aplicación relativa al mundo real esta noción de completud significaría muy poco, dado el carácter masivo que en seguida asume la derivación. La resolución posee en cambio la propiedad, infinitamente más valiosa, de ser completa en cuanto a la refutación. De un conjunto no satisfacible de cláusulas siempre es posible derivar la cláusula vacía, la contradicción elemental, un aserto falso en todas las interpretaciones po-sibles. Esta propiedad es suficiente para probar todas las consecuencias.

Sería sumamente impráctico si para comprobar la inconsistencia de un conjunto de premisas ge-nerando todas sus consecuencias lógicas. No se parte entonces del dictamen de sentido común de que hay que calcular todas las consecuencias de un conjunto de aserciones para probar si una de ellas coincide con la pregunta que se formule; se parte del principio, mucho más pragmático, de que un conjunto de aserciones inconsistente genera la cláusula vacía. O lo que es lo mismo, que sólo de un

Page 92: Antropologia y Programacion Logica

92

conjunto de premisas inconsistente se puede derivar una contradicción, aunque el dominio de refe-rencia sea infinito11.

Al nivel de la interpretación, podría decirse que el método de resolución del Prolog es a la vez fundado (no permite inferir ninguna aserción que no se siga de otras aserciones) y completo (todas las aserciones que se sigan de otras se pueden inferir mediante este método). Esta posibilidad se abre porque incorpora no sólo un simbolismo lógico apto para expresar predicados de primer orden, sino además un lenguaje de computación capaz de desarrollar procesos de inferencia que escapan a las posibilidades de la lógica clásica, en base a representaciones imposibles de estipular en computación convencional. Las posibilidades de la lógica tradicional no son otras que las de la combinatoria ciega, la expansión exponencial y la recursividad infinita. Las posibilidades de la computación convencional son las de ejecutar órdenes impartidas a una máquina.

No existen procedimientos para calcular de una manera eficiente todas las conclusiones que se pueden derivar de un conjunto de premisas. El intérprete de Prolog no combina posibilidades confor-me a tablas veritativas, sino que desarrolla una heurística, algoritmo, estrategia o regla de resolución que no implica revisar una a una las conclusiones de una serie de premisas para determinar el valor de una pregunta; en su lugar ejecuta un procedimiento que, según se ha descubierto, tiene plena validez para ciertos casos y formas lógicas específicas. Da la casualidad que esas formas lógicas (y en particu-lar la forma conjuntiva) son las que vienen al caso en todos los usos que podamos imaginar, aunque desde un punto de vista abstracto y absoluto sigan existiendo regiones indecidibles, im-probables o incalculables. Luego veremos con todo detalle lo que significan estas características en cotejo con las limitaciones supuestas que algunos antropólogos endilgan a todos los sistemas formales a raíz de una lectura atroz -alimentada por intereses irracionalistas- de la llamada "prueba de Gödel".

Lo que aquí hemos presentado no es una descripción detallada de los fundamentos operativos del lenguaje, pero alcanza para nuestros fines. A pesar que todavía los programas en Prolog se desarro-llan en máquinas de arquitectura Von Neumann, nada hay en sus procedimientos resolutivos que no esté minuciosamente especificado, que resulte sospechable o que haya sido alguna vez motivo de crítica seria por parte de los entendidos. El trabajo de fundamentación prosigue día a día, al punto que el estado actual de (por ejemplo) la investigación sobre la decidibilidad de la resolución en operacio-nes distributivas se consultará más probablemente a través de revistas periódicas (Journal of Artificial Intelligence, The Journal of Automated Reasoning, Journal of Symbolic Computation, International Journal of Approximate Reasoning) que en las páginas de los libros, siempre demasiado viejos en relación con el crecimiento exponencial de los métodos.

2. Semántica de los programas lógicos

Más interesantes aún nos resultan los aspectos semánticos del Prolog, aquellos en los que se re-laciona con su fundamentación lógica por un lado y con su utilidad antropológica por el otro. ¿Qué tipo de saber modeliza efectivamente este lenguaje, y cómo es que logra hacerlo? ¿Qué correspon-dencia existe entre la "interpretación" semántica de las cláusulas, los "datos" de la disciplina y los

11 Véase en el capítulo siguiente la restricción necesaria del dominio lógico a un universo acotado, y la correlativa posibilidad de que todo conjunto inconsistente de cláusulas admita un subconjunto inconsistente finito.

Page 93: Antropologia y Programacion Logica

93

"hechos" del mundo real? ¿Cuáles son los supuestos de la descripción? ¿En qué consiste el isomor-fismo entre las relaciones que constituyen o que subyacen a los problemas antropológicos esenciales y el carácter relacional del lenguaje, y cómo es concretamente que logra éste representar o iluminar a aquéllas?

Lo primero que hay que decir es que hay un significado lógico que tiene que ver con lo que un programador pretende expresar y un significado computacional, relacionado con el comportamiento que se espera adopte la máquina en la ejecución de una cláusula. Luego veremos que por encima de esta doble semántica (por fortuna, reductible a una sola) existe otra, más rica y compleja, que rige las relaciones entre un programa en tanto modelo y el mundo que resulta modelado.

Veamos primero la semántica de orden más bajo, que ya de por sí nos presenta una doble pro-blemática. El "significado" de una fórmula en lógica simbólica se refiere a su valor de verdad. Esta es una decisión que se remonta a Frege, quien se vio impelido a identificar el valor veritativo de un enun-ciado con su referencia (Frege 1985:51-86). Pese a que debiera ser transparente, el valor de verdad de una aserción es, para los practicantes de una ciencia concreta, una entidad oscura que es necesario esclarecer. Afortunadamente esto no parece ser difícil: la ambigüedad de la noción es un efecto de la forma en que se enuncia. La significación de un símbolo constante dentro de una fórmula o cláusula se refiere a su valor veritativo con respecto a un dominio de interpretación: es verdad o no lo que se afirma en ella.

Sintaxis Semántica es una tautología, ÃÄ es válido, ÆÍ es consistente es satisfacible es inconsistente es refutable es deducible de , ÃÄ es consecuencia de , ÆÍ equivale a una sentencia positiva es incremental y no válido o refutable equivale a una sentencia condicional se preserva en intersecciones

Diagrama 2.4 - Equivalencias entre semántica y sintaxis

(según Chang y Keisler 1973:16)

No tenemos que demostrar aquí que entre la sintaxis y la llamada semántica lógica existe un bien afiatado conjunto de correspondencias (cf. diagrama 2.4). Pero nuestros modelos no son abstractos sino computacionales, y en computación la semántica de un constructo en lenguaje de computadora se refiere usualmente al comportamiento de la computadora cuando ese constructo se evalúa. Desde este punto de vista, la semántica implica la asignación de significado a los programas: discutir la se-mántica permite entonces describir más formalmente las relaciones que un programa computa. Dado que el Prolog es a la vez un lenguaje lógico y un lenguaje de computadora, ambas nociones de semán-tica le resultan aplicables. Dado también que el lenguaje en cuestión es de tipo descriptivo, todo cuan-to tenga que ver con su semántica es esencial, y por lo tanto ha sido objeto de una elaboración par-ticularmente precisa.

La problemática impone una descripción separada de las cuestiones semánticas involucradas por la lógica del Prolog en relación con la máquina y de la relación (por así decirlo) entre el modelo y el mundo. Tenemos entonces dos órdenes de semanticidad vinculados en el mismo modelo, más que

Page 94: Antropologia y Programacion Logica

94

contrastados en concepciones distintas de la significación: por una parte está la semántica que llama-remos "de primer orden", que se refiere a la interpretación modelo-teorética o axiomática del forma-lismo computacional, y por el otro la semántica que de aquí en más se llamará "de segundo orden", y que se refiere a la representación del conocimiento de un dominio de interpretación a través de dicho formalismo. Trataremos inicialmente la semántica del lenguaje como formalismo lógico, y luego la semántica de un modelo escrito en ese lenguaje en tanto representación de un dominio empírico.

Informalmente, puede considerarse que el significado de un programa lógico es el conjunto de instancias fundadas que son deducibles de sus cláusulas por medio de un número finito de aplicacio-nes de una regla de inferencia como, por ejemplo, el modus ponens. El hecho de que internamente el intérprete se ciña más bien a una versión más fuerte del modus tollendo ponens (identificado con la regla de resolución) es semánticamente irrelevante. El conjunto de instancias fundadas es la totalidad de los hechos que pueden deducirse, mediante reglas, de los hechos iniciales: fundar una instancia quiere decir ligar una variable a un valor constante, demostrar que hay un caso que corresponde a una relación. Pero esta versión informal del significado no es suficientemente clara.

Existen cuatro modelos semánticos formales concurrentes que explican el "significado" de un programa, y que nosotros hemos sintetizado, homogeneizado e interrelacionado a partir de elabora-ciones dispersas y de estructura literaria muy disímil: el modelo declarativo, el modelo de punto fijo, el procedimental y el de la máquina abstracta o autómata. A estos modelos se puede agregar, en otro nivel de análisis, una semántica en términos de metalenguaje. Los siguientes apartados explican en base a qué fundamentos lógicos el comportamiento de una máquina se puede referir significativa-mente a un problema relativo a un dominio empírico, o en otros términos, mediante qué formalismos se vinculan un lenguaje, un cálculo lógico, un dispositivo de procesamiento de símbolos y un universo de significación.

a) Modelo semántico declarativo

El modelo semántico declarativo del Prolog especifica el valor de verdad de sus relaciones. De

todos los modelos, este es el que más enfatiza las cuestiones lógicas. Se usa el término "declarativo" porque bajo esta interpretación se asume que una cláusula declara que existe una relación entre sus argumentos si se satisfacen todas las condiciones estipuladas en la cláusula. Tomemos el siguiente caso: adulto(Individuo,Edad) :- 2.12 persona(Individuo), Edad => 18.

Esta especificación puede leerse como: "Cualquiera (Individuo) es adulto si él o ella es una per-

sona con una edad igual o mayor a dieciocho años". Leídas de acuerdo con el modelo declarativo, las cláusulas de Prolog son fórmulas basadas en la lógica de predicados del primer orden, escritas me-diante cláusulas de Horn. Los únicos conectores lógicos que pueden ocurrir son "si", "y" y "o". Según este modelo, el orden de las condiciones de una cláusula no es significativo, puesto que se interpreta que todas ellas se sostienen simultáneamente. El conjunto de cláusulas que conforma un programa en Prolog describe la estructura lógica relevante de su dominio de aplicación.

Page 95: Antropologia y Programacion Logica

95

Lo que acaba de enunciarse completa la idea de la interpretación declarativa en una tesitura apro-ximadamente informal, en el sentido cotidiano de la palabra; conjeturamos que un antropólogo acep-tablemente escrupuloso puede conformarse con esa versión de las cosas, que en rigor es más que sufi-ciente para alcanzar cierta comprensión de lo que significa leer declarativamente un programa. Pero para que dicha interpretación fuese siquiera posible, ha sido preciso desarrollar una formulación harto más rigurosa, en términos de procesos y relaciones lógicas mucho más fuertes; los párrafos que si-guen reproducen esa fundamentación. La exposición es difícil, como que se refiere a un conjunto de teoremas abstractos, pero no es ininteligible; los conceptos definidos engranan mutuamente, como las entradas de un diccionario, y a pesar de que la construcción del modelo ha sido un proceso colectivo, todo se articula con la fundamentación procedimental del intérprete lógico que se ha analizado en el capítulo anterior con una congruencia que tiene algo de estremecedora.

El punto de partida es el hecho de que el cálculo de predicados introduce la cuantificación lógica para formalizar aserciones sobre todas las cosas posibles. Para otorgar alguna significación a tales a-serciones, necesitamos denotar expresamente su rango de posibilidades. Una abstracción hecha a partir del mundo contra la cual se deba interpretar una fórmula en cálculo de predicados incluye un dominio de objetos, que hace las veces de "todas las cosas posibles" que pueden reemplazar a una variable. Las asignaciones de verdad serán entonces relativas a ese dominio.

Pero esto no es tan sencillo. En el interior de un dominio, existen innumerables opciones posibles, y no es infrecuente que el dominio sea infinito o por lo menos "innumerable". Si se define la implica-ción lógica con respecto a la verdad en todos los modelos, ¿cómo se puede poner a prueba la impli-cación en presencia de una infinidad de modelos? El problema se ha resuelto utilizando un tipo de expresiones propias del cálculo de predicados llamadas "fórmulas universales". En el caso de estas fórmulas, es factible determinar la implicación relativa a modelos sobre un dominio en particular, un dominio abstracto llamado Universo de Herbrand. Este universo debería ser llamado de Skolem, más que de Herbrand, pues fue el mismo lógico que introdujo la eliminación de los cuantificadores quien propuso la idea tan tempranamente como en 1928. La iniciativa de Skolem le permitió desarrollar procedimientos mecánicos de prueba cuyos conceptos fundamentales constituyen la base de todos los sistemas deductivos contemporáneos (cf. Bläsius y Bürckert 1989:19).

Antes de explicar la noción de universo de Herbrand debemos caracterizar un sustrato aún más fundamental, el que los manuales refieren como la semántica formal de un sistema lógico. Como es sabido, el codificador de esa semántica fue el polaco Alfred Tarski (1936). Dado un conjunto no va-cío, llamado el universo o dominio de discurso, se llama interpretación a la operación que asocia los objetos sintácticos (símbolos constantes, símbolos de función y de predicación) con objetos semánti-cos tales como miembros de ese universo y relaciones entre ellos. Supongamos, para mayor claridad, que nuestro sistema es literalmente oscuro y que la naturaleza de las funciones ha sido expresada a través de una sintaxis abstracta, aunque ello no sea necesario dada la capacidad de nuestros lenguajes para operar con sintagmas complejos. Consideremos que el universo está formado por los símbolos constantes a y c, por el símbolo de función siguiente y por el símbolo de predicado menor_que.

Tomemos inicialmente dos interpretaciones convencionales posibles, J y K; la primera tiene como universo los números naturales, la segunda los días de la semana de lunes a domingo, sin reciclar. Se dice entonces que en la interpretación J, la función siguiente mapea con el sucesor y el símbolo de predicado menor_que con la relación aritmética del mismo nombre. De igual modo, bajo la interpretación K, el símbolo de función siguiente corresponde al mapeado de "mañana" y el predicado menor_que con la idea de "día anterior".

Page 96: Antropologia y Programacion Logica

96

Asignemos ahora valores a las constantes c y a conforme a este cuadro arbitrario.

Constantes Interpretación J Interpretación K a 0 Domingo c 2 Martes

Diagrama 2.5 - Interpretaciones

Bajo una interpretación determinada, cada término fundado se debe evaluar contra un elemento del universo. Por ejemplo, un término como siguiente(siguiente(c)) evalúa contra el número natural 4 en J y con el día Jueves en K. Dada una serie de elementos atómicos t1, , tn, correspondientes a los miembros de los respectivos universos, la evaluación resulta en una tupla de elementos P(t1,,tn) que se deben evaluar conforme a la relación asociada con el símbolo de predicado P.

La evaluación consiste en determinar si la tupla pertenece a la relación asociada con dicho símbo-lo. Cuando este sea el caso, diremos que la interpretación satisface al átomo, o que el átomo es ver-dadero bajo dicha interpretación; de otro modo, se dirá que la interpretación de marras falsa al átomo, o que el átomo es falso bajo esa interpretación.

Por ejemplo, la interpretación J satisface al átomo:

menor_que(a,siguiente(siguiente(c)) 2.13

puesto que cero es efectivamente menor que cuatro; la interpretación K, en cambio, falsa este

átomo o estructura, pues de acuerdo con lo establecido Domingo no precede a Jueves. Así como se puede determinar el valor de verdad para átomos o estructuras, se puede hacer lo propio con cual-quier fórmula de cualquier complejidad que pueda formarse a partir de los elementos del lenguaje. De todo este ejemplo deberá retenerse lo siguiente: una interpretación que satisface a una fórmula F es llamada un modelo de F. Las fórmulas a su vez se llaman:

Válidas Si son satisfechas por todas las interpretaciones. Satisfacibles Si son satisfechas por al menos una interpretación. Falsables Si son falsadas por al menos una interpretación. Insatisfacibles Si son falsadas por todas las interpretaciones.

En el modelo declarativo, el conjunto de todos los términos fundados12 que pueden formarse a partir de los símbolos constantes y de las funciones que aparecen en un programa constituye lo que se denomina un universo de Herbrand o dominio de Herbrand. De cualquier conjunto finito o "alfabeto" de constantes, por ejemplo {a,b} y de otro conjunto finito de functores, por ejemplo {p,q} se pueden construir dominios conglomerando todos los términos constructibles a partir de esos alfabetos de

12 Es decir, un símbolo constante o la aplicación de una función cuyos argumentos son todos términos fundados.

Page 97: Antropologia y Programacion Logica

97

constantes y functores. Un universo de Herbrand es un dominio combinatorio que poseería una estructura de este tipo:

{a, b, p(a), q(a), p(b), q(b), p(q(a)), p(q(B)), ...}

El concepto de universo de Herbrand puede parecen en principio oscuro a los programadores de

Prolog o a los antropólogos, porque intuitivamente las descripciones en un programa concreto nunca consideran por separado un conjunto de constantes y otro conjunto de functores. En realidad la no-ción es más simple de lo que parece, y el ejemplo dado basta para caracterizarla aunque su utilidad pueda parecer al comienzo un tanto enigmática.

Así como antes vimos que una interpretación que satisface a una fórmula F es llamada un modelo de F, también puede decirse que toda fórmula satisfacible en un sistema lógico posee un modelo de Herbrand. En muchísimos casos, la programación lógica se hace posible porque no es preciso consi-derar todas las interpretaciones posibles (y todos los modelos posibles) de un programa, sino tan sólo las interpretaciones y modelos de Herbrand.

La base de Herbrand es el conjunto de todos los goals, demostraciones u objetivos fundados que se pueden formar a partir de los predicados de un programa y de los términos del universo de Her-brand. Una base es infinita si el universo lo es: por ejemplo, si el programa consistiera en un predi-cado que denota los "números naturales", la base de Herbrand de ese programa sería:

{numero_natural(0),numero_natural(s(0)), ...}

Paradójicamente, que la base sea infinita no quiere decir que el universo lo sea. En correlación con la universalidad de su cuantificación, para el cálculo de predicados el universo de Herbrand es finito, lo que significa que una fórmula sólo posee como implicación un conjunto finito de modelos de Herbrand, es decir, modelos cuyo dominio es el universo de Herbrand.

Hay que tener en cuenta que el teorema de Jacques Herbrand (o mejor dicho, el teorema de Löwenheim-Skolem) fue formulado en realidad pensando en la lógica funcional, y no en el cálculo de predicados. En este último contexto, la base de Herbrand es finita en virtud tanto de la cuantificación universal como del uso de variables, lo que no es necesariamente verdad en el caso de la lógica fun-cional.

Como se ha visto, en este esquema conceptual, una interpretación de un programa lógico equi-vale a un subconjunto de la base de Herbrand. Esto es, una interpretación asigna verdad o falsedad a los elementos de la base de Herbrand. Una demostración en la base de Herbrand es verdad con res-pecto a una interpretación si es miembro de esa base, y el falsa si no lo es (Sterling y Shapiro 1986:80-81).

Esto se puede expresar con más sencillez exponiendo las cosas de otra manera. En rigor, estas definiciones se originan en el hecho de que no existe ningún algoritmo general de decisión que nos pueda determinar si una fórmula arbitraria del cálculo de predicados es válida, contingente o inconsis-tente, porque las formas de ese cálculo (al operar con variables y al no imponer límites al encadena-miento de conjunciones) están sujetas a una infinidad de interpretaciones posibles. Esto es lo que qui-so decir Church en 1936 cuando probó que la lógica de primer orden es indecidible. Ello implica que, en la práctica, no se pueden tomar en cuenta todas las interpretaciones posibles para testear si una

Page 98: Antropologia y Programacion Logica

98

fórmula es consistente o no. Ante esta circunstancia, reminiscente del problema de la inducción, Her-brand propuso una solución de sumo interés que a la larga llevó a una prueba muy simple para veri-ficar la validez de una fórmula.

El principio de Herbrand estipula que una forma clausal es inconsistente si y sólo si es falsa en todas las interpretaciones posibles. Como existen innumerables dominios posibles, sería conveniente definir un dominio especial tal que una forma clausal fuera inconsistente si (y sólo si) fuera asignada como falsa por todas las interpretaciones posibles de ese dominio. Dicho dominio existe, y es preci-samente el dominio de Herbrand. Este es un dominio "universal", un microcosmos distinguido, cuyos términos (los términos de Herbrand) no poseen sentido específico alguno; son meros términos sintác-ticos.

Las limitaciones asentadas por Gödel y por Church no afectan en modo alguno a programas lógi-cos referidos a dominios empíricos normales, analizados a través de conceptos semejantes a los que se han dado históricamente o de otros conceptos acaso más sutiles. Un universo de Herbrand comprende harto más posibilidades de anidamiento y recursión que las que son propias de cualquier universo conceptual de las ciencias sociales, porque incluye la combinación recursiva de todos los valores de objeto con todas las relaciones y nombres de atributo susceptibles de concebirse. En un modelo an-tropológico real los valores de objeto sólo se hallan incrustados en predicados que expresan algunas de las relaciones posibles, pues ninguna teoría sensata comprende el mundo como el conjunto de todas las relaciones entre todos los elementos. Una combinatoria relacional de una potencia semejante a un dominio de Herbrand no tiene siquiera correlatos conceptuales imaginables en una ciencia social: en síntesis, la oferta de la lógica desborda de antemano a las demandas categoriales posibles, aún so-bre la base de una implementación computacional en su expresión mínima.

Toda aserción puede expresarse en forma lógica; toda forma lógica puede expresarse mediante una cláusula de Horn. Los lógicos húngaros Andreka y Nemeti (1976) han demostrado primero que toda función computable sobre cualquier universo de Herbrand se puede definir mediante un progra-ma escrito en cláusulas de Horn, y luego que un programa lógico destinado a computar una función sobre un universo de Herbrand se puede construir utilizando solamente las constantes y functores de-finidos en los alfabetos de ese universo.

Aquí debemos practicar una disyunción entre lo que intuitivamente llamamos "modelo" (y que puede ser desde una representación analógica a una metaforización extendida) y lo que por ese tér-mino se comprende en un plano semántico más formal. Tenemos aquí que afrontar la definición de lo que se entiende por "modelo" dentro de un "modelo" de interpretación. Es importante retener la idea que esta profusión de homónimos no intenta disolver la noción vulgar de modelo sino precisarla en di-ferentes y bien especificados ámbitos de interpretación. Los modelos a los que nos estamos refiriendo en este párrafo nada tienen que ver con la naturaleza de los programas lógicos en tanto "modelos" de una u otra realidad empírica, sino a los aspectos formales e internos de su significación lógica, obser-vados desde una determinada perspectiva. Con estas salvaguardas, una interpretación es un modelo para un programa lógico si para cada instancia fundada de una cláusula en un programa hay una inter-pretación correspondiente. Intuitivamente, puede decirse entonces que los modelos son interpretacio-nes con respecto a la lectura declarativa de las cláusulas de un programa.

Por ejemplo, ya que numero_natural(0) está en todos los modelos, numero_natural(s(0)) también lo estará. Es fácil darse cuenta que la intersección de dos modelos para un programa lógico es tam-bién un modelo. Se dice que el modelo obtenido por intersección de todos los modelos es el modelo

Page 99: Antropologia y Programacion Logica

99

mínimo de un programa lógico; el modelo mínimo es, por definición, el significado declarativo de dicho programa (cf. Sterling y Shapiro 1986:80-82; Maier y Warren 1988:192-194, 364-366).

En este punto es oportuna una breve nota de orden histórico: M. Davis y H. Putnam propusieron un método automático para demostrar teoremas tan tempranamente como en 1960; este método ya utilizaba el teorema de Herbrand pero aún no -por desdicha- el algoritmo de unificación, de modo que no podía implementarse todavía en ninguna máquina real. Desde el punto de vista lógico el método era fundado, pero ineficiente, por cuanto analizaba todas las potencialidades de las reglas y las susti-tuía de acuerdo con principios operativos oscuros.

El sistema de prueba automática de teoremas de Davis y Putnam (y habrá que acostumbrarse a llamar teorema a todo nuevo hecho o regla fundado en hechos y reglas precedentes) consistía en dos secciones: la primera tenía que ver con la generación del universo de Herbrand y con la sustitución de éste por las correspondientes fórmulas del cálculo de predicados; la segunda evaluaba las fórmulas así generadas, y era tenida por los autores como su contribución más importante. Pronto se hizo eviden-te, sin embargo, que el problema no radicaba tanto en probar la propiedad tautológica en la segunda sección como en sustituir sistemáticamente todas las instanciaciones de Herbrand en la primera.

La idea de utilizar la unificación como complemento de un método basado en el teorema de Her-brand se debió a una cadena de estudiosos que va desde Dag Prawitz, D. McIlroy y L. Wos hasta J.A. Robinson; con esa decisión se logró aventar todos los mitos vigentes respecto de la impracticabilidad de la programación lógica. Sólo faltaba escoger una regla de inferencia adecuada, y esa regla fue la de resolución, "hallada" por Robinson entre 1963 y 1964. Más tarde el mismo Robinson probó que la resolución es completa para las cláusulas de Horn bajo ciertas condiciones especificables (resolucio-nes binarias, no factorialización) que minimizan el impacto de la mal llamada "prueba de Gödel", tor-nando obsoletas, por lo menos, algunas de sus lecturas irracionalistas (cf. Davis y Putnam 1960; Robinson 1965; Henschen y Wos 1974).

Pese a que la unificación y la resolución las desplazaron a un cono de sombra, sobre las defini-ciones de Herbrand se ha elaborado una serie de teoremas lógicos de enorme importancia teórica y práctica en el desarrollo de la programación lógica, por cuanto han logrado minimizar o neutralizar los tres problemas clásicos que se presentan a la verificación de la consistencia de una fórmula en el cálculo de predicados, y que podríamos sintetizar como sigue:

1) Existen infinitamente muchos posibles dominios de interpretación.

2) Si el dominio escogido es infinito, existen infinitamente muchas instancias de la fórmula.

3) En este dominio infinito, existen infinitamente muchas interpretaciones posibles, y cada una de ellas asigna un valor de verdad a infinitamente muchos literales.

Los resultados de las elaboraciones de Herbrand eliminan de cuajo la primera dificultad, pues lo único que debe considerarse en el modelo es el dominio de Herbrand, que sólo incluye la combinación de los elementos y relaciones especificados; las otras dos dificultades desaparecen cuando el dominio es finito. Los enunciados de los teoremas que constituyen el núcleo de hierro del modelo semántico declarativo -y que reproducimos en los apéndices- establecen, consecuentemente, que:

1) Un conjunto de cláusulas es inconsistente si y sólo si es falso para todas las interpretacio-nes de Herbrand.

Page 100: Antropologia y Programacion Logica

100

2) Un conjunto de fórmulas del cálculo de predicados es consistente si y sólo si todos sus subconjuntos finitos son consistentes.

3) Todo conjunto de fórmulas enumerable y consistente admite un modelo contable o enu-merable. Este último principio es lo que se conoce como el teorema de Löwenheim y Sko-lem.

Recientemente estos modelos teoréticos se han complementado con otros métodos de prueba y otras semánticas que no habrá ocasión de revisar aquí. Mención especial requiere los métodos de co-nexión o de matrices, desarrollados independientemente por Peter Andrews en Carnegie-Mellon y por Wolfgang Bibel en la Universidad de Munich. Se trata de los modelos más promisorios, que invo-lucran una mecanización de la lógica aún más radical. Mientras que los métodos anteriores, incluido el de resolución, todavía se basaban en el concepto de una prueba humana (y antes que nada en la idea de una serie de pasos bien definida), las nuevas concepciones descartan estas tradiciones lógicas y se concentran específicamente en las capacidades de las máquinas. Las pruebas generadas mediante es-tructuras de matrices ya no tienen demasiado en común con nuestras concepciones de la prueba, aun-que siguen reposando en instanciaciones y apareamientos en un universo de Herbrand y pueden ser transformadas en demostraciones intuitivamente aceptables (cf. Siekmann 1989). Nuestros colegas in-formáticos de la cátedra de inteligencia artificial de la Facultad de Ciencias Exactas de la Universidad de Buenos Aires confían, según nos han dicho, en otros modelos que hoy se encuentra en fases pro-totípicas. La difusión de estos hallazgos y búsquedas es cosa de futuro.

Los modelos semánticos definidos por Van Emden y Kowalski (1976) y luego retomados y reor-denados por otros autores reconocen una transición suave entre la problemática que desarrollamos hasta este punto (y que podría referenciarse como model-theoretic semantics) y la llamada fixpoint semantics o semántica de punto fijo que ahora pasamos a caracterizar.

b) Modelo semántico de punto fijo

Esta semántica, claramente no-procedimental, es análoga en cierto modo a la que se encuentra en

la base de los programas escritos en el lenguaje de definición de funciones recursivas. La formaliza-ción de esta semántica depende de un conjunto de conceptos algo más intrincados que los requeridos por las demás; dado su carácter más bien formal y complementario, el lector interesado más bien en la antropología que en la lógica puede saltear su caracterización.

Expresemos de otra manera una definición que ya hemos dado: La asignación de valores de ver-dad a las instancias de un conjunto P de procedimientos lógicos mediante la sustitución de las varia-bles por los términos del dominio H(P) es lo que se denomina una interpretación de Herbrand. Si el conjunto P de procedimientos se particiona en un subconjunto I y en otro subconjunto J, que denotan respectivamente todos los antecedentes y todos los consecuentes que posean valor de verdad positi-vo, se puede demostrar que la interpretación de P sobre la base de dichos valores de verdad es un modelo para P sí y sólo si J es un subconjunto de I.

En la jerga propia del Prolog, el subconjunto I incluye a todos los cuerpos de regla, mientras que subconjunto J incluye todas las cabezas. Pese a la proliferación de símbolos, lo que se pretende decir en este modelo es en realidad muy simple: una vez que se ha escogido I, J queda totalmente determi-

Page 101: Antropologia y Programacion Logica

101

nado por las reglas que se establecen. Esto significa que no se puede probar nada que no esté implica-do por las premisas, y que sólo es posible probar lo que ellas implican. En otras palabras, existe una función T que mapea ambos conjuntos de átomos tal que T(I)=J; esta función se conoce habitual-mente como la transformación asociada con el conjunto de procedimientos P.

Llegamos así a un teorema importantísimo que dice lo siguiente: para cada conjunto P de proce-dimientos, existen conjuntos de átomos I que satisfacen la condición T(I)=I. Es decir que para ciertos conjuntos de átomos, la transformación asociada al conjunto de procedimientos (condicionados e incondicionales) sería igual a esos conjuntos. Esos conjuntos de átomos se conocen como los puntos fijos de T; y entre ellos existe exactamente uno al que se llama punto fijo mínimo de T, denotado pfm(T). La razón por la que el punto fijo se llama de ese modo es porque se lo puede definir como un conjunto estable o estacionario de fórmulas del que no se puede inferir ninguna fórmula adicional de una manera consistente.

En otros términos, cada conjunto de procedimientos P posee muchos modelos, incluyendo los modelos I de Herbrand, todos los cuales satisfacen que T(I) sea un subconjunto de I. El más pequeño de todos los I, llamado el modelo mínimo de Herbrand, satisface también la exigencia de que T(I)=I, y es por lo tanto el punto fijo mínimo de T.

Veamos ahora en qué inciden estas cuestiones formales en la definición de una semántica. La de-notación de cualquier símbolo p de predicado en el conjunto de procedimientos P se puede definir como la siguiente relación:

{t|p(t) _ pfm(T)}

Esta definición, desarrollada por Van Emden y Kowalski, caracteriza la semántica de punto fijo

de los programas lógicos. En esta semántica un conjunto P de procedimientos se concibe en términos de la ecuación de punto fijo que le está asociada I=T(I), la que puede interpretarse como si las tuplas computables a partir de P (es decir, las soluciones de sus átomos consecuentes) fueran exactamente aquéllas que pueden ser evaluadas por las invocaciones o átomos antecedentes del conjunto P.

El logro más importante del estudio de Van Emden y Kowalski es la elegancia de la prueba res-pecto de que los modelos procedimentales, declarativos y de punto fijo para los programas consisten-tes en cláusulas de Horn son equivalentes, en el sentido de que determinan idénticas denotaciones para sus símbolos de predicado. La equivalencia de los dos primeros se debe al Teorema de Comple-tud de Gödel que relaciona (en el ámbito de la lógica de predicados del primer orden) la posibilidad de probar [provability] con la validez (cf. Gödel 1981:20-34). La equivalencia de los dos restantes se establece demostrando que el punto fijo mínimo de T es el modelo mínimo de P, y que P implica lógi-camente a p(t) sí y sólo sí p(t) es verdad en ese modelo.

En un artículo posterior, Apt y Van Emden (1982) presentan la semántica del punto fijo mínimo bajo la forma de una teoría formal de retículas, y la utilizan luego para probar la fundamentación y la completud de la estrategia estándar de resolución para los programas escritos con cláusulas de Horn. Los autores definen también el punto fijo máximo de T, y a partir de él caracterizan la naturaleza for-mal de los problemas insolubles que fallan en un tiempo finito debido a la ausencia de computaciones exitosas en el espacio de búsqueda.

La exposición anterior, pese a su tono un tanto seco, posee dos consecuencias interesantes frente a la adopción de una práctica modélica por parte de una ciencia empírica. Cada conjunto finito y con-

Page 102: Antropologia y Programacion Logica

102

sistente de cláusulas de Horn, como hemos visto, admite un único modelo mínimo. Ello implica, en primer lugar, que fundarse en un modelo mínimo significa admitir la verdad de los hechos explícita-mente mencionados y de sus consecuencias lógicas a través de reglas, pero de nada más. Esta idea equivale a lo que ha dado en llamarse "supuesto del mundo cerrado", consistente en dar por irrele-vante o falso todo aquello que no se estipule como verdadero. En segundo lugar, todo este desarrollo ha conducido al concepto, que algunos estiman extraño, de la "negación como falla": en una consulta de Prolog, la respuesta "no", más que un juicio existencial u ontológico, involucra que el sistema ha fallado en demostrar la verdad del objetivo que se le plantea.

c) Modelo semántico procedimental

La contraposición de una estrategia semántica declarativa y de una estrategia procedimental es

bastante más vieja que las computadoras y refleja la distinción de Tarski (1936) entre -respectivamen-te- la concepción de teoremas construida en función de una teoría de modelos [model-theoretic] y la que resulta de la aplicación de un procedimiento de prueba [proof-theoretic].

En la teoría de modelos, un teorema es una fórmula que es verdad para todos los modelos posibles de los axiomas.

En la teoría de la prueba, un teorema es la conclusión de una prueba, la cual a su vez es una secuencia de fórmulas derivadas a partir de axiomas mediante reglas de inferencia.

Es como si existiera una diferencia intrínseca, independiente del uso de una computadora, entre las fórmulas lógicas que pueden sostenerse en una estructura teoremática abstracta que no implica ninguna secuencia concreta de procedimientos demostrativos y las que pueden sostenerse al cabo de un procedimiento secuencial de prueba, de tipo algorítmico, aunque ambos conjuntos de pruebas sean semejantes o idénticos.

Existen otros dobleces y otras lecturas de la misma dicotomía, puesto que existen también dos modos diferentes de utilizar las reglas de inferencia. Por una parte se puede partir de los axiomas lógi-cos y aplicar reglas de inferencia hasta que la fórmula a ser probada (válida o insatisfacible, depen-diendo que el cálculo sea positivo o negativo) finalmente se deriva. Este sería un cálculo deductivo. La segunda modalidad consiste en partir de la fórmula cuya validez o insatisfacibilidad debe demos-trarse y aplicar reglas de inferencia hasta llegar a los axiomas; este procedimiento es el que se conoce como cálculo de prueba (Eisinger y Ohlbach 1989). Existe alguna correspondencia entre el cálculo deductivo y el encadenamiento hacia adelante y entre el procedimiento de prueba y el encadenamiento hacia atrás, nociones que explicaremos en su oportunidad. Pero la disyunción primordial no pasa por aquí, sino por la oposición entre la lógica pura de la teoría de modelos y la prueba lógica de los algo-ritmos.

Pese a que en 1930 Gödel probó que para el cálculo lógico de primer orden el conjunto de fór-mulas que puede probarse a partir de un conjunto de axiomas es idéntico al conjunto de fórmulas que son verdaderas en todos los modelos posibles de esos axiomas, y que por lo tanto, las dos definicio-nes son equivalentes (1981:20-34), el mundo se dividió entre procedimentalistas y logicistas. Aquellos argüían que los procedimientos de prueba son más eficientes que la prueba de teoremas, pues es más rápido evaluar una denotación en un único modelo finito que llevar a cabo una prueba general para

Page 103: Antropologia y Programacion Logica

103

todos los modelos posibles, finitos o infinitos. Sería más sencillo, afirmaban, expresar acciones como cláusulas de programación que como una serie de axiomas. William Woods (1981) aseguraba que una definición en términos de procedimientos eliminaría los infinitos mundos posibles que surgen en la teoría de modelos. El movimiento logicista devolvió el golpe implementando lenguajes como el pro-pio Prolog, que son esencialmente probadores de teoremas de alta velocidad. Jaakko Hintikka (1973) proporcionó una forma de eliminar la infinidad de los mundos con sus "modelos de superficie", y otros autores, como John Sowa (1984), adaptaron estas ideas a la elaboración de grafos conceptua-les, reminiscentes de los calculadores hipotéticos imaginados por Peirce.

En suma, pruebas y modelos constituyen dos aspectos complementarios de la misma teoría: una estrategia procedimental evalúa la denotación de una fórmula en un modelo particular, mientras que un probador de teoremas muestra que una fórmula es verdad en todos los modelos posibles.

De acuerdo con el modelo procedimental de la semántica del Prolog, también llamado operacio-nal, las condiciones de una cláusula especifican un proceso para establecer el valor de verdad de sus conclusiones. Es decir, las condiciones se interpretan como un conjunto de pasos que se deben eva-luar exitosamente para que se sostenga la conclusión especificada en la cabeza de la cláusula.

Un conjunto de cláusulas con el mismo nombre de predicado y el mismo número de argumentos se interpreta como un procedimiento. Una pregunta o hipótesis con el mismo nombre de predicado y el mismo número de términos se considera como un llamado (call) a ese procedimiento. Retomemos un ejemplo previo: adulto(Individuo,Edad) :- persona(Individuo), Edad => 18.

Leída en forma procedimental, la cláusula anterior se especifica como "Para determinar si cual-

quiera (Individuo) es un adulto, demostrar primero que es una persona, y verificar luego si su edad es igual o mayor a dieciocho años". De acuerdo con esta lectura, el orden en que se evalúan las cláusulas es significativo. Determinar primero que el individuo es una persona, por ejemplo, define un espacio de búsqueda que elimina otras posibilidades.

Es importante dejar en claro que no se trata de que la interpretación semántica declarativa "se re-fiera", "enfatice" o "privilegie" al dominio modelado, mientras que la interpretación procedimental "tiene que ver" más bien con las máquinas. En rigor, siempre se trata de una fundamentación que es menos de orden empírico o computacional que de orden lógico. Conforme al modelo semántico que ahora nos ocupa, se podría decir que el Prolog deriva su capacidad de cálculo de una interpretación procedimental de la lógica, es decir, de una representación del conocimiento en términos de definicio-nes que involucran procedimientos, de modo tal que el "razonar" deviene un simple proceso consis-tente en invocar los procedimientos correctos de demostración.

d) Modelo semántico de máquina abstracta

Este modelo es similar el modelo semántico conductual de los lenguajes convencionales de com-

putación, en la medida en que especifica la conducta del intérprete en respuesta a la evaluación de un constructo del lenguaje. El intérprete de Prolog aplica una estrategia de resolución de problemas para

Page 104: Antropologia y Programacion Logica

104

evaluar una pregunta en contraste con un conjunto de cláusulas; computacionalmente, esa estrategia se puede caracterizar (siguiendo a Von Neumann) como un autómata o máquina abstracta. En gene-ral, la caracterización de las "máquinas abstractas" en teoría computacional no se realiza en términos de la teoría de autómatas de Von Neumann, aunque sería factible y esclarecedor hacerlo; lo que se a-plica, en general, es un análisis más o menos formalizado de tipo "qué es lo que hace una máquina pa-ra resolver la cláusula X". Esta máquina es abstracta por cuanto no es una máquina verdadera, cuyos detalles técnicos de fabricación podrían hacer que las cosas fueran en realidad de otro modo.

Una pregunta en Prolog, junto con el conjunto de cláusulas del programa, tienen una significa-ción computacional, en la medida en que disparan una cierta conducta por parte del intérprete: el modelo semántico de la máquina abstracta especifica el significado de una pregunta y de un conjunto de cláusulas en términos de acciones por parte de una máquina abstracta. En este caso, las acciones de esta máquina se pueden explicar como una aplicación de la regla de inferencia conocida como re-solución. La propiedad básica que hace que la lógica u otros lenguajes declarativos no resulten coac-cionados por el concepto neumanniano de computación es su neutralidad semántica con respecto a la estrategia de ejecución, lo que técnicamente se llama el "desacople" de la lógica con referencia al con-trol del flujo del programa. Este desacople dista de ser completo, y es por ello que el llamado modelo de máquina abstracta no está integrado axiomáticamente al resto de las construcciones semánticas al-rededor del Prolog. En los hechos, la especificación de este modelo se ha transformado en una des-cripción de la forma en que el intérprete realiza las operaciones pendientes en una pila o stack de requerimientos (cf. Malpas 1988:121-147).

La posibilidad de simular diferentes tipos de autómatas en Prolog ha sido reiteradamente demos-trada en la bibliografía especializada. Sterling y Shapiro (1986:224-228) ilustran los modelos compu-tacionales básicos de autómata finito y autómatas de almacén pushdown y proporcionan programas que desarrollan intérpretes para máquinas de Turing, con lo cual quedan envueltos y satisfechos todos los modelos posibles. A partir de este modelo tan pobremente desarrollado en un principio, comenzó a construirse una elaborada fundamentación que posibilitó el uso del Prolog como el prototipo por excelencia de los lenguajes aptos para el procesamiento paralelo en máquinas de quinta y sexta ge-neración. No vamos a ahondar aquí en esta temática, suficientemente tratada por los especialistas pero por el momento demasiado novedosa como para pretender atarla a una aplicación específica en ciencias sociales, donde el modo dominante de planteamiento de problemas sigue siendo secuencial (cf. Hogger 1984:253-258).

e) Modelo semántico metalingüístico

Después de Russell y Tarski se considera que un método de prueba lógico concierne específica-

mente a determinado nivel de análisis. Las reglas de juego de una lógica rigen para cierto conjunto ló-gico-lingüístico, y no necesariamente para un lenguaje que se refiera a ese conjunto. Esta peculiaridad es la que permite, después de todo, hacer referencia a la lógica desde fuera y superar las más insidio-sas paradojas. A despecho de las falencias de sus propias lecturas y exégesis, Gregory Bateson (1980, 1985) ha familiarizado a los antropólogos con el concepto de tipificación lógica, llevado por Anthony Wilden (1979) y los terapistas familiares hasta el punto de la saturación.

Como hemos dicho alguna vez, un lenguaje como el Prolog es capaz de ser su propio metalen-guaje. Un predicado en Prolog no sólo puede hacer una referencia igualitaria a otros predicados en

Page 105: Antropologia y Programacion Logica

105

términos de implicación y cálculo, sino que puede definir inflexiones tan delicadas como la naturaleza de los procedimientos de inferencia que se asocian a los demás predicados, incluido él mismo. Esto significa que es posible escribir cláusulas en Prolog que actúen como predicados de metalenguaje. Más que posible, ello es sumamente habitual, al punto que el programador no siempre es consciente de haber atravesado los límites que separan a los diversos niveles de tipificación. Las razones para escribir un programa semejante son las de reemplazar el significado implícito en una pregunta, ya sea (a) utilizando una estrategia de resolución de problemas diferente a la que usa el intérprete o (b) con-siderando una fuente de conocimiento distinta a la de las cláusulas estipuladas. Pero una potencia semejante impone una serie de fundamentaciones de otro orden de abstracción. Agregar un simple hecho adicional a un conjunto preexistente de premisas constituye un acto lógico que puede tornar inválidas las conclusiones obtenidas hasta el momento o puede introducir una contradicción fatal en el sistema. En un modelo en el que las premisas incluyen la descripción de lo que se sabe, un dato más constituye una premisa adicional que determina nuevas posibilidades para el valor de las conclusiones que hayan de calcularse. Lo mismo, pero con signo contrario, vale para el caso de que se eliminen datos (y por ende premisas) anteriormente actuantes.

Todos estos procesos que modifican las reglas del juego lógico no están reglados por una lógica sino, consecuentemente, por una metalógica. Ahora bien, estas metalógicas deben ser expresamente validadas y, de ser posibles, amalgamadas en un tejido coherente con el de la lógica de base, a fin de que los fundamentos de un modelo no varíen incontrolablemente conforme se extiende o se contrae la altura del nivel de tipicación desde el que se contempla el plano del lenguaje. En suma, tiene que ha-ber una semántica formal para los predicados extra y metalógicos. El modelo semántico que se refiere a dicha amalgama ha sido elaborado por diversos estudiosos y aún hoy se sigue perfeccionando (Ko-walski 1979; Bowen y Kowalski 1982; Miyachi y otros 1984). No describiremos aquí este modelo, por cuanto parte de lo que se le aplica se solapa con nuestro tratamiento de las lógicas aternativas en la cuarta sección de la Tesis.

3. Pragmática

En esta sección se analizarán dos rangos de problemas pragmáticos. El primero concierne a un

conjunto conexo de problemas característicos de la práctica teórica que ninguna otra propuesta mo-délica en antropología se molestado en esclarecer, tal vez porque éste era un gesto que se sospechaba inútil en un entorno que no estaba destinado a materializarse: cómo es posible concretamente conver-tir un problema antropológico en un modelo expresado en términos de cierto formalismo, cuál es la secuencia metodológica que debe respetarse, qué garantías existen de que un modelo semejante vaya a funcionar con una mínima eficacia, cuál es la estructura formal de este proceso, en qué grado el tra-bajo material con un modelo se encuentra involucrado en una axiomática.

El segundo aspecto es de gran interés, aunque sea más específico de la mecánica subyacente al formalismo y de la praxis computacional que de la disciplina beneficiaria del recurso. Cuando abor-demos este punto, desarrollaremos una caracterización formal (a) del entorno interactivo de trabajo con un lenguaje de programación lógica (de qué manera el antropólogo -en este caso- dialoga con y reflexiona sobre el modelo que va generando) y (b) de los fundamentos operativos axiomáticos de esta forma de trabajo. La caracterización que emprenderemos no se refiere al paisaje que el usuario encuentra cuando implementa un producto determinado, sino a la naturaleza de las operaciones que el

Page 106: Antropologia y Programacion Logica

106

intérprete de un lenguaje lógico (mediador necesario entre el científico y el modelo) ejecuta en el tra-tamiento de un formalismo.

a) Desarrollo e implementación de un programa lógico

Aunque las cuestiones más puramente antropológicas (concernientes a la semántica) siguen aún

pendientes de desarrollo cabal, hemos hablado de cierto número de aspectos concernientes a la fun-damentación "subyacente", por así llamarla, que define la posibilidad misma de un planteo de esta naturaleza. Hemos probado, en suma, que a despecho de los rumores en contrario, la programación lógica es posible en teoría. Ahora bien, de nada serviría a nuestros efectos disponer de una funda-mentación teórica formidable, si en la práctica concreta y mundana nos enfrentáramos con dificultades insolubles. A fin de eliminar discontinuidades de razonamiento, resta por ver entonces no sólo cómo es material y pragmáticamente posible programar en forma declarativa un problema determinado, sino cuál es la fundamentación formal de este procedimiento.

Evaluar pragmáticamente un modelo es un proceso que debe distinguirse tanto de la computa-ción de una prueba como de la contrastación empírica de los eductos de un programa. Dada la pecu-liar fundamentación axiomática de la programación lógica, "correr" un programa (vale decir, el pro-ceso que formalmente podríamos llamar "computación") forma parte del proceso mismo de resolu-ción del problema que el programa plantea. Dado que un programa lógico es un conjunto de axiomas, la computación puede interpretarse como la prueba constructiva de una aserción (de hecho un teo-rema, aunque suene pedante llamarlo así) relativa a o perteneciente a un programa. Probar constructi-vamente quiere decir calcular; y este cálculo se realiza mediante una operación consistente en un pro-cedimiento de prueba que se atiene a determinada regla de inferencia (cf. Bläsius y Bürckert 1989:19-21). La afirmación lógica a probar es lo que se llama un objetivo o goal, y este objetivo puede ser una consulta extensional, la simulación de un proceso o el planteo de una hipótesis.

Pero una cosa es que la ejecución de un programa lógico pueda entenderse como una prueba constructiva integrada al conjunto axiomático del modelo y otra muy distinta que el programa esté bien hecho desde el punto de vista computacional. Nos guiaremos por un indicio: a pesar de que se ha trabajado formalmente, este costado "pragmático" de la formalización computacional se encuentra relativamente poco desarrollado. Como dice Hogger,

Actualmente no existe ninguna implementación automatizada que sea capaz de derivar necesariamente programas lógicos eficientes a partir de especificaciones arbitrarias, y no parece probable que surja ninguna en un futuro cercano (1984:179).

Este estado de cosas denota, quizá, una posible discontinuidad en los procedimientos que condu-cen a la formalización, una grieta en el escudo de la tecnología. El inconveniente, como se verá, no es fatal, pero al menos exige que quien formula un modelo sea, aparte de científico, un programador aceptable. La programación lógica ha heredado de la computación convencional una modalidad "analítica" de resolver la construcción paulatina de un programa que puede no ser el método más ade-cuado a su filosofía de resolución. El programador "típico" prefiere desarrollar un programa en forma intuitiva y experimental, basándose en una vaga imagen mental o en algún algoritmo preconcebido que dirija la sucesión de cláusulas. Esta estrategia analítica consiste en una especie de búsqueda a

Page 107: Antropologia y Programacion Logica

107

tientas en la que se van incorporando poco a poco (de hecho, a medida que se fracasa) las optimiza-ciones y los refinamientos pertinentes.

En los últimos años ha surgido una estrategia sintética, en la que los pasos que sigue el pro-gramador se derivan lógicamente de la especificación del problema. La prioridad es en este caso obte-ner una versión inicial del programa que entregue necesariamente las soluciones correctas, poster-gando las cuestiones de eficiencia para un momento ulterior, en el que se implementan cuidadosamen-te modificaciones que vayan preservando la corrección inicial.

Kowalski (1982:4) ha sugerido que el problema de desarrollar un programa correcto y eficiente se puede descomponer en dos subproblemas más simples:

1. Especificación. La primera tarea consiste en especificar el problema a ser resuelto y la in-formación que se necesita a efectos de su solución.

2. Eficiencia. Es posible identificar y eliminar las ineficiencias implícitas en el planteamiento de un problema, transformando la especificación en un programa efectivo.

Esta separación refleja algo bien sabido: que la especificación es más fácil de formular que el programa completo, pues sólo necesita ser trivialmente "pertinente" o "correcta", mientras que el pro-grama necesita ser tanto correcto como eficiente. Dado que la programación lógica discurre en un entorno computacional, y dado que el lenguaje de especificación es nada menos que un lenguaje de computación, los problemas de eficiencia se pueden simplificar considerablemente. La tecnología actual propia de las diversas implementaciones del Prolog es eminentemente interactiva, por lo que el avance mediante métodos de "ensayo y error" es en la práctica más rápido de lo que permitirían pre-suponer todas las especulaciones construidas en torno de los procesos de feedback.

Crear un programa es un proceso complejo de planteamientos, reformulaciones, verificaciones y pruebas, que se acelera y optimiza, ceteris paribus, cuanta más experiencia se posea y cuanto mejor estipulada se encuentre la teoría discursiva que es objeto de modelización. Casi siempre sucede que en la interacción con el sistema, al margen de las modificaciones que haya que introducir por la idio-sincracia de la herramienta, se manifiesta un retorno inmediato de directivas, indicios y constricciones para el replanteamiento metodológico del problema, que poseen incidencia más allá del hecho de que el programa haya o no de consumarse en su totalidad conforme a lo proyectado.

Lo notable del caso es que la praxis interactiva y el desarrollo de prestaciones ingeniosas de de-bugging, presentes en todos los dialectos conocidos, aparece complementada por una heurística for-mal del desarrollo empírico de la programación lógica, que por su amplitud y robustez configura un capítulo aparte del amplio material de fundamentación (cf. Clark 1977, 1978; Clark y Sickel 1977; Clark y Darlington 1980; Hogger 1978, 1979; Hansson y Tårnlund 1979). Estas aportaciones tienen cierto aire de familia con la "síntesis de programas" propia de la computación convencional; sin em-bargo, acorde con la doble lectura semántica de los lenguajes declarativos, se pueden interpretar tam-bién como una aplicación de reglas deductivas puras. Esto quiere decir que los programas derivados mediante tales reglas a partir de las especificaciones están lógicamente implicados por éstas: son, en otras palabras, una parte específica de sus consecuencias lógicas, de modo tal que la derivación, al mismo tiempo que elimina ineficiencias, preserva la corrección formal de los procedimientos.

Los consejos en favor de un desarrollo efectivo de los programas lógicos enfatizan el uso de una especificación en términos de un lenguaje de computación de alto nivel que sea al mismo tiempo (como el Prolog) un lenguaje de programación. Superficialmente, este requerimiento entraría en con-flicto con la idea de que el lenguaje de especificación sea relativamente "natural" y fácil de utilizar.

Page 108: Antropologia y Programacion Logica

108

Los especialistas han superado este escollo desarrollando una heurística de re-expresión de las espe-cificaciones, a través de tres etapas sucesivas:

1. Empleo de un lenguaje natural impreciso.

2. Empleo de un lenguaje natural preciso y no ambiguo.

3. Empleo de un lenguaje formal preciso.

En la primera formulación la especificación del problema puede ser incompleta, ambigua y quizá contradictoria. Numerosos proyectos de especificación y la mayor parte de los proyectos de inteli-gencia artificial sobre lenguajes naturales aceptan ese lenguaje impreciso como insumo estándar. Des-pués de todo, desarrollar parsers y scanners que acepten cláusulas en lengua natural es un proceso de programación más largo y tedioso que propiamente difícil. "Aceptar" tiene aquí un sentido formal que nada tiene que ver, a esta altura del desarrollo de la inteligencia artificial, con algún tipo de "compren-sión" inteligente por parte de la máquina.

En una segunda instancia, las especificaciones se re-escriben en términos de esquemas bien co-nocidos relativos al lenguaje natural, como ser redes semánticas, grafos causales, frames y scripts, ex-tremadamente fáciles de tratar en lógica simbólica y en lenguajes formales, aunque en rigor su desa-rrollo haya sido independiente de dichos ámbitos. En esta etapa intermedia si eliminan las ambigüeda-des y se tornan explícitos los supuestos implícitos13.

La re-escritura en un lenguaje formal preciso es casi indiscernible de la resultante de la transfor-mación de las expresiones en lenguaje natural mediante su representación en esquemas. Si el lenguaje simbólico utiliza directamente la forma clausal, y si las cláusulas se reducen a cláusulas de Horn, in-troduciendo los caracteres de representación aceptables por el parser del intérprete e inteligibles para la máquina, la especificación se convierte sin discontinuidades ofensivas en un programa lógico en Prolog.

Como hemos venido demostrando, la profundidad de las fundamentaciones en programación ló-gica acostumbra superar todas las expectativas y todos los antecedentes. Para cada pequeña faceta del desarrollo, para cada problemática experimentada o potencial, existe una profusa elaboración lógica y un enorme acopio de demostraciones experimentales. Uno de los aspectos que han sido objeto de estudio formal y que en este punto relativo a la pragmática vienen inmediatamente al caso es el de la relación entre lo que un programador pretende y el "significado formal" resultante de un programa14.

El significado formal de un programa (en tanto equivalente al modelo mínimo de un programa lógico) no puede ser ni correcto ni incorrecto. Pero bien puede suceder que el "significado" de un programa no sea lo que el programador tenía en mente en el momento de plantear el problema que el programa refleja. Los lógicos han formalizado, por ende, todo cuanto se refiere a lo que se denomina el "significado pretendido" o "significado intencional" de un programa, el cual se define como un con-junto de objetivos fundados; éstos son, sin más, las respuestas positivas que puede producir un pro-grama en opción de consulta y que habían sido previstas como tales por el programador:

13 Abordamos esos y otros formalismos más adelante, en base a contenidos y problemas antropológicos.

14 Este "significado formal" es lo que hemos caracterizado más arriba al ocuparnos del modelo semántico declarativo del lenguaje Prolog.

Page 109: Antropologia y Programacion Logica

109

Un programa P es correcto con respecto a un significado intencional M, si M(P) está con-tenido en M; un programa P es completo con respecto a un significado intencional M, si M está contenido en M(P). Un programa es en consecuencia correcto y completo con respecto a un significado pretendido si ambos significados coinciden exactamente (Sterling y Shapiro 1986:82-83).

Un aspecto importante de un programa lógico es si éste es capaz de terminar todos los cálculos potenciales que inicia. Se ha definido como dominio de terminación de un programa al dominio de objetivos en el cual cada cálculo inherente al programa logra llevarse a cabo. Por lo general, un pro-grama útil debe tener un dominio de terminación tal que incluya su significado intencional.

Aquí es donde pueden comenzar a surgir problemas: dado que el modelo computacional de los programas lógicos produce un número relativamente elevado (si es que no innumerable) de respuestas terminables como educto de una consulta, no cabe duda que por bien diseñado que esté un programa, la mayoría de las respuestas que entregue serán juzgadas triviales.

Pero esta no es una limitación de la lógica, sino la clave de su singular apertura: una vez que se ha construido un programa computacionalmente correcto y semánticamente apropiado, la iniciativa "hermenéutica" pasa al proceso de pregunta, que -en una ciencia inmadura- es donde radican las prin-cipales dificultades (cf. Gadamer 1977). En un modelo real, en el que se suman las consecuencias de todos los antecedentes, y en el que cada generación de consecuencias se agrega como nuevo conjunto recursivo de antecedentes al sistema total, es la pregunta lo único que puede introducir una desagre-gación científicamente útil, un recorte a la profusión de combinatorias en estampida. Es desde las preguntas que se comienza a definir un sistema de esta naturaleza.

Como veremos, el modelo del Prolog, deliberadamente más "restrictivo" en el tratamiento de las búsquedas que un modelo de instanciación a ciegas, hace posible componer programas no triviales sobre dominios relevantes cuyo dominio de terminación coincide con el significado intencional, vale decir, coincide con las respuestas pertinentes a las preguntas del científico.

b) La modelización como proceso interactivo

Una calculadora electrónica que efectúa operaciones aritméticas no es una caja negra; quien se

sirve de ella sabe (o intuye) que existen ciertas garantías formales en su comportamiento, y que los re-sultados que haya de entregarnos han de ser razonablemente dignos de confianza. Es posible, además, averiguar cuáles son las operaciones reales de binarización, conversión a decimal, representación digi-tal o cálculo logarítmico que la máquina realiza tras el espejismo de las apariencias. Las cuatro ope-raciones básicas, como se sabe, se ejecutan interiormente como otras tantas modalidades de la suma, y una simple raíz cuadrada desencadena aproximaciones, reintentos y tanteos cuya trayectoria no deja rastros.

Interactuar con una computadora que proporciona confirmaciones de hipótesis, deriva conclusio-nes a partir de premisas, relaciona hechos hasta entonces inconexos o determina el valor de verdad de una aserción es algo más inquietante que operar un artificio que sólo acepta o devuelve números, pero no es (o no debería ser) más misterioso. Algunas operaciones matemáticas, de hecho, son más contraintuitivas, sutiles y dificultosas que muchos de los cálculos conceptuales que nuestras ciencias plantean. La inteligencia artificial contemporánea ya no persigue un antropomorfismo difuso, sino que se funda en el comportamiento inteligente de las personas para formular estrategias mecánicas más

Page 110: Antropologia y Programacion Logica

110

sagaces que la combinatoria o el ensayo-y-error. La máquina no tiene ninguna inteligencia, no la ten-drá jamás, y no es preciso tampoco jugar a imaginar que la tiene, porque la interacción no consiste en ningún fingimiento que sea más mimético o más metafórico de lo que lo es -por ejemplo- el desarrollo de una multiplicación.

Si se parte de la base de un dominio del conocimiento ya modelado en términos de la declaración de un conjunto de hechos y reglas, lo que cabe explicar es la forma en que el intérprete de un lenguaje lógico evalúa un requerimiento, efectúa un cálculo y entrega una respuesta, en un proceso análogo al que describe una calculadora digital. Saber cómo opera esta última no parece excesivamente necesa-rio, porque hace mucho que los cálculos numéricos se confían a una instancia mecánica sin que nadie proteste por la deshumanización del saber. Averiguar cómo se comporta un programa lógico es algo más informativo y esencial, sobre todo porque ciertas corrientes de opinión siguen obstinadas en creer que este comportamiento es imposible. Exponemos seguidamente las operaciones reales clandestinas que confieren a una sesión con una máquina que ejecuta un programa lógico su virtualidad de inte-racción inteligente.

La operación de un intérprete de Prolog se puede comprender como un ciclo recursivo de unifi-cación (apareamiento de patrones o pattern matching) y evaluación de objetivos parciales. Impulsado por un requerimiento o consulta (query), el intérprete descenderá tan profundamente como sea nece-sario en la estructura del programa para encontrar hechos que validen el requerimiento, para luego retornar habiéndolo probado o fracasando al intentarlo. El proceso se inicia cuando el investigador que ha construido el modelo -o un usuario eventual- activa un requerimiento ingresando la secuencia de caracteres convencionalmente necesaria a través del teclado o por otro medio.

La estructura estática de un programa en Prolog consiste en un conjunto de hechos y reglas que se dinamiza cuando se dispara, introduce o ejecuta una consulta. Toda la estructura del formalismo se centra en su capacidad de aceptar y procesar preguntas, y por ello no es azaroso que las tres entida-des se hallen morfológicamente relacionadas. Como ya se ha visto, la forma de una consulta es la de una regla sin cuerpo, y en el contexto de la ejecución de un programa se la considera como un hecho puro, con referencia al cual se solicita al intérprete que entregue una validación. Conforme se indi-quen variables, constantes o variables anónimas, la pregunta puede asumir tres naturalezas cualitati-vamente distintas:

a) ¿Es verdad lo que afirma esta consulta sin variables? O bien ¿Puede sostenerse este hecho (una conclusión, una conjetura, una hipótesis) a la luz de los hechos ya estipulados como verdaderos? ¿Es la presente una conclusión válida a partir de los hechos conocidos?

b) ¿Cuáles son los valores conocidos que pueden asumir las incógnitas que se especifican en esta pregunta bajo la forma de variables? ¿Cuáles son los elementos de la base de conoci-mientos que responden a estas condiciones formales?

c) ¿Hay algún caso conocido (no importa cual) que corresponda a estas condiciones? O bien ¿Existen algún caso conocido que case con algunos de estos requerimientos?

Las condiciones formales especificadas en el objetivo admiten una inmensa variedad relacional y una infinita heterogeneidad semántica, incluyendo la especificación de operaciones disyuntivas, com-paraciones, rangos de valores posibles, excepciones, cálculos intermedios, etcétera; después ejemplifi-caremos algunas posibilidades de modulación del significado de los objetivos de acuerdo con los pro-pósitos de una consulta.

Page 111: Antropologia y Programacion Logica

111

Una vez formulada la pregunta, el intérprete sucesivamente (a) define lo que está pendiente de demostración como resolvente, el cual es por lo común una conjunción de objetivos a ser probados a la que después se irán agregando otras conjunciones subordinadas, (b) coloca el primer objetivo a demostrar en una pila interna de objetivos pendientes o stack, y (c) busca a través de las cláusulas que han sido estipuladas como parte de la declaración del programa la primera cláusula cuya cabeza unifi-que con la consulta. Una unificación de dos términos es una sustitución que hace que esos términos sean momentáneamente idénticos. Esta operación tiene un análogo aritmético inmediato: cuando ante una ecuación de primer grado "se despeja X", lo que se hace en rigor es unificar X con los valores que pueda asumir.

Previo a la unificación, "X" es el nombre de la incógnita; tras la unificación, es el nombre de un valor. En todo cálculo, la unificación está formalmente condicionada. En un programa lógico, para que una pregunta unifique con la cabeza de una cláusula, ambas deben tener el mismo nombre de predicado y la misma aridez. Dadas las siguientes reglas y hechos, el proceso de unificación es autoe-vidente, a condición de que no se confunda la unificación con la resolución positiva de la cláusula:

patrilineal(X) :- tribu(X,_), computa(X,linea_paterna). 2.14 tribu(iroques,estados_unidos). tribu(are_are,salomon). computa(iroques,linea_materna). computa(are_are,linea_paterna).

La respuesta "verdadera" a una expresión de consulta tal como patrilineal(Tribu), y que es sin duda Tribu = are_are, resulta de unificar conjuntiva y afirmativamente los dos predicados del cuerpo de la regla.

La forma peculiar que asume la unificación es la de un algoritmo, es decir, un conjunto de reglas que gobiernan lo que cabe llamar "unificación de términos" en la computación de un programa lógico. El problema de unificar dos listas de argumentos (por ejemplo {s1,...,sn} y {t1,...,tn} se puede ver también como si consistiera en resolver el sistema de ecuaciones =(s1=t1,...sn=tn) para las varia-bles involucradas. El algoritmo de unificación, que es "el corazón del modelo computacional de los programas lógicos" (Sterling y Shapiro 1986:68) consiste en las siguientes reglas recursivas:

1) Una variable unifica con una constante o una estructura; como resultado, la variable queda instanciada con el valor de la constante o la estructura.

2) Una variable unifica con una variable; ambas variables se transforman en la misma, indis-tintamente denotada.

3) La variable anónima (_) unifica con cualquier otra entidad.

4) Una constante unifica con otra constante, solo si ambas son iguales.

5) Una estructura unifica con una estructura si ambas tienen el mismo nombre de predicado y el mismo número de argumentos, y si los argumentos pueden ser unificados.

La primera descripción del algoritmo de unificación (mucho más formalizada que lo que trasunta este esquema) se encuentra en los trabajos de J.A. Robinson (1965). Por su importancia en el diseño

Page 112: Antropologia y Programacion Logica

112

global de la demostración automática de teoremas, se puede decir que el algoritmo de unificación es, en lo que respecta a la computación de una consulta, tan importante como lo es el cálculo axiomático de predicados como formalismo básico, el algoritmo de resolución como procedimiento de prueba, o la forma clausal como criterio de notación (cf. Paterson y Wegman 1978; Martelli y Montanari 1982; Sterling y Shapiro 1986:68-79).

Una variable que aún no tiene ningún valor instanciado posee el status de variable libre. Cuando dos términos unifican, la variable queda ligada al valor de la constante y pierde la libertad que antes tenía; la asignación de un valor a una variable se conoce también como la instanciación de la misma. Si una variable sólo puede unificar con un cierto valor y sólo con uno, se dice que el cálculo de su ins-tanciación es determinista, e indeterminista cuando el número de los valores posibles no está restrin-gido de antemano a uno solo.

Cuando se encuentra una cláusula que unifica con la consulta, se dice que esta cláusula se activa, se convierte en la cláusula actual, y cada uno de los términos o sub-objetivos del cuerpo de la cláusula comienza a evaluarse siguiendo el mismo procedimiento que se había seguido con la pregunta ori-ginal. Si la cláusula que unifica con la pregunta no tiene cuerpo (es decir, si es un "hecho" incondicio-nal), se dice que la consulta inmediatamente tiene éxito. De existir sub-objetivos pendientes en el stack, se van activando los mismos, repitiéndose el procedimiento de unificación.

Si el intérprete no puede encontrar una cláusula en la base de datos que unifique con un objetivo, "vuelve sobre sus pasos", realiza un movimiento de retroceso conocido como backtracking: esto es, retorna al último sub-objetivo exitoso, deshace la instanciación de cualquier variable que pudiera ha-berse hecho como parte de las comprobaciones parciales del camino desandado y comienza a buscar la cabeza de otra cláusula que unifique con ese subobjetivo. El proceso de computación finaliza cuan-do el resolvente queda vacío. Cuando el proceso termina se entregan las respuestas pertinentes: los valores constantes que unifican con las variables indicadas en las consultas, o "yes" o "no" si se ha tenido éxito o se ha fallado, respectivamente, en la demostración de la verdad del hecho propuesto.

El orden en que el intérprete va realizando las diferentes pruebas y los diversos reintentos es "de izquierda a derecha y de arriba abajo". Cada ramificación se explora exhaustivamente en profundidad antes de continuar hacia otras ramificaciones. Esta forma de buscar por las ramas de un árbol se llama

Page 113: Antropologia y Programacion Logica

113

depth-first search, porque involucra ir tan lejos como se pueda por determinado camino antes de vol-ver e intentar la exploración de otro.

La estrategia en cuestión no deja rama o nodo sin explorar, de modo que el rastreo cubre todo el árbol. Salvo que se prescriba otro orden de búsqueda o que se implemente lo que se ha dado en llamar una heurística, esta es estrategia que asume el sistema by default, sea o no ella aconsejable o práctica en función de la interpretación intuitiva del problema a resolver.

El curso del backtracking no es una búsqueda a ciegas cuya amplitud "crece en forma exponen-cial conforme a la magnitud de la base de datos"; tampoco es cierto que todo cálculo racional está sujeto a dicha explosión combinatoria, como alucina el antropólogo Sheldon Klein en la fundamenta-ción de su analógica (1983:151). La explosión combinatoria no tiene nada que ver con las cantidad de elementos o con la cantidad de clases de elementos que pueda haber en una base de conocimientos. Más bien se diría que la complejidad de un proceso de cálculo tiene menos que ver con la amplitud global de la base de conocimientos que con la cantidad de valores diferentes que puedan asumir los términos conjuntivos que se encadenan en una prueba individual.

En general el tiempo de computación crece linealmente con la complejidad de la resolución, a menos, claro, que se instrumente un procedimiento heurístico adecuado, en cuyo caso la demora po-dría ser aún menor (Shapiro 1984). Nótese que el desarrollo de una prueba en Prolog no implica el hallazgo de todas las consecuencias posibles derivables de todas las premisas originales y de sus res-pectivas conjunciones, sino que, en función de un objetivo planteado, define sucesivos espacios de búsqueda (los resolventes) dentro de los cuales se realizan sólo las unificaciones que correspondan. Debido al modo de operación del proceso de búsqueda en las ramas del árbol, un planteamiento con-juntivo adecuadamente expresado equivale a la división de un problema global en una serie de reso-luciones parciales.

En principio, el conjunto de las respuestas que entregue el intérprete a una consulta dada no de-pende del orden en que se hayan estipulado los hechos y reglas que constituyen la base de datos. Después de todo, la regla conmutativa rige también para el cálculo de predicados. Si se modifica el orden de ingreso de los datos o el orden de los términos en las consultas en un programa sin efectos lógicos colaterales, resultará afectado el orden de entrega de las respuestas y (posiblemente) la com-plejidad de la búsqueda, pero no, en teoría, el valor absoluto de la contestación.

Es preciso detenerse un instante para analizar el significado lógico de una falla en el proceso de unificación; que el intérprete no sea capaz de probar un objetivo implica que dicho objetivo no puede sostenerse como un hecho válido, deducible de la base de datos tras un número finito de pasos en un procedimiento de prueba. Si la base de datos que simboliza el conocimiento que tiene un científico de un dominio de investigación equivale conceptualmente al conjunto de los axiomas de un sistema de-ductivo, la falla del sistema para probar una conclusión propuesta como objetivo equivale entonces a negarla, a otorgarle "falso" como valor de verdad. Esto es lo que se quiere significar con el conocido apotegma negation as failure, que ha ocasionado tantas disquisiciones en el mundillo de la inteligen-cia artificial.

Esta equivalencia no tiene nada de paradójica, una vez que se asume que todos los conocimientos necesarios para fundamentar una conclusión han sido explícitamente asentados. Dicho de otra mane-ra, se asume que toda la información que no aparece en el conjunto establecido de cláusulas es falsa, y que el intérprete debe actuar como si se hubiera asertado su negación. La incapacidad del intérprete

Page 114: Antropologia y Programacion Logica

114

para distinguir entre una cláusula desconocida y otra cuyo valor de verdad no puede calcular respon-de a lo que Raymond Reiter (1978) ha llamado "hipótesis del mundo cerrado".

La vigencia de la hipótesis del mundo cerrado incide sobre numerosas articulaciones lógicas en el interior del sistema, entre ellos el sentido del condicional; en un mundo cerrado, el condicional simple se transforma en un bicondicional, y una cláusula en Prolog de la forma A :- B se interpreta entonces como "A si y sólo si B". Esta hipótesis es un efecto del predicado de metalenguaje implícito que go-bierna el significado de una cláusula en Prolog, y de ser preciso puede ser suplantada por otra. Entre-tanto vale la pena insistir en ello: a menos que se coordine otra línea de acción, el sistema asume que el conocimiento representado es el único pertinente al efecto de las demostraciones que se procesen, y que ese conocimiento (al mismo efecto) ha sido estipulado en su totalidad.

El algoritmo de unificación, la forma pautada de recorrer los senderos conexos del espacio de búsqueda, de asumir la falla como negación y de entregar los resultados constituyen el esqueleto, el cimiento, el modelo mínimo del proceso interactivo. Infinidad de posibilidades se abren cuando las preguntas se complementan con predicados capaces, por ejemplo, de graficar la solución de un pro-blema, de archivar las soluciones intermedias o de abrir interfaces con lenguajes orientados a la cuan-tificación. Todo ello depende sin embargo de la versión del lenguaje que se utilice, de los recursos que haya decidido agregarle el departamento de marketing que lo promueve, de la experiencia com-putacional del programador y de otros factores contingentes que no hacen a la base axiomática de una teoría de modelos, centrada en el núcleo puro de la programación lógica más que en sus encarnacio-nes ocasionales. Basta saber que allá afuera hay más instrumentos del intelecto que los que hasta hoy (resignados a la impotencia metodológica) nos hemos atrevido a probar.

Aún ciñéndonos al núcleo del formalismo, es imposible describir aquí el paisaje de las interaccio-nes posibles entre el científico y el modelo. Este panorama depende, en lo esencial, de la naturaleza del dominio modelado, del tipo de modelo que se implemente (generativo, descriptivo, analítico, ex-plicativo, clasificatorio, estadístico, experto, diagnóstico, predictivo, simulador) y de la estrategia an-tropológica o computacional a la que se recurra. Lo que suele suceder en la mayoría de los casos es que la estructura del modelo se vaya replanteando a medida que el diseñador lo testea mediante pre-guntas, en un proceso que tiene cierto aire de familia y una potencialidad semejante a la de los circui-tos de realimentación.

Ningún modelo de los anteriormente adoptados en nuestra disciplina poseía un lenguaje bien de-finido, una semántica generalizada, un procedimiento de prueba, una instancia interactiva con el in-vestigador que lo manipula y un mecanismo efectivo de producción. No es impropio conjeturar que, de confluir todos ellos en un formalismo comparable, la riqueza de un marco teórico particular podrá medirse por la fuerza eductiva de los modelos que produzca. Los programas desarrollados en los apéndices ilustran algunas de las estrategias de modelización que este poderoso formalismo, el más expresivo y general que podamos implementar, aporta a una disciplina hasta hoy metodológicamente carenciada.

c) Estrategias y Heurísticas

Cuando se posee una máquina relativamente veloz, la tentación inicial es documentar todos los

aspectos del fenómeno modelado, combinar todas las variables entre sí, recorrer exhaustivamente el terreno de las posibilidades, correlacionar estadísticamente todo con todo, no dejar ninguna pista sin

Page 115: Antropologia y Programacion Logica

115

explorar. Esta ansiedad de compleción, este grado cero de la estrategia constituye, precisamente, una forma de pensar que bloqueó durante algunos decenios el desarrollo de la inteligencia artificial. No ayudaría en mucho, de cara a las cercanías del infinito, que las máquinas fueran mil, diez mil o un mi-llón de veces más rápidas. Los problemas cuantitativos, los obstáculos que presenta la explosión de los números, no se superan con fuerzas contrapuestas (pues siempre se iría en pérdida) sino con re-cursos persuasivos, con inteligencia, con heurísticas.

Heurística (o eurística) tiene, casualmente, el mismo origen que eureka, la palabra griega que se refiere al descubrimiento. Una heurística es una regla empírica para formular una suposición acertada, para elaborar una estrategia de resolución lo más óptima posible. La heurística no garantiza los re-sultados como lo hacen o pretenden hacerlo los algoritmos convencionales, pero ofrece en compen-sación resultados cuyo carácter les hace casi siempre útiles. Una heurística no rompe, necesariamente, la mágica continuidad implicativa requerida por una fundamentación axiomática. Más bien, una heu-rística constituye algo así como un atajo cualitativo en la encrucijada de la cantidad; y esta peculiari-dad -en un contexto de programación declarativa- representa una instancia de suma coherencia con-ceptual y de un inusitado interés epistemológico.

Desearíamos que no se viera a la heurística como una especie de mal necesario; las pruebas lógi-cas emergentes de una heurística correcta son tan taxativas como las que surgen de una comproba-ción totalizadora. La prueba total no es una prueba posible. El problema de la explosión combinatoria ante modelos de la vida real tampoco es una cuestión que pueda superarse en el futuro, cuando se cuente con una tecnología más apropiada, o, en concreto, con procesadores más rápidos y memorias más extensas. Por el contrario, se trata de un límite teórico absoluto, como el límite que aparece cuando se investigan las interacciones subatómicas de la materia. Las grandes cantidades tienen una cualidad que les es propia. Y es increíble las pocas cosas que deben reunirse para que su interacción comporte una magnitud gigantesca, para que un sendero antes familiar se transforme en un laberinto.

Examinado en profundidad, un problema trivial de ajedrez, por ejemplo, impondría una serie de posibilidades cuya representación exhaustiva (no digamos ya su tratamiento) implicaría una cifra muy superior a la del número de electrones que hay en el universo. El simple problema de encontrar las rutas posibles entre veinte ciudades, que se reduce a la sencilla fórmula de factorial (20-1)!/2, da como resultado la enumeración de 60.8222.550.204.416.000 posibilidades: escribir mil soluciones por segundo, demandaría algo así como 1.928.670 años, más unos tres meses. Es obvio que tales repre-sentaciones y tácticas son formal y materialmente imposibles, sea cual fuere el grado de sofisticación tecnológica que se haya alcanzado.

En aplicaciones computacionales que conciernen a representaciones del mundo real se corre con frecuencia el riesgo de caer en el clásico problema de la explosión combinatoria, por más acotado que parezca ser el dominio de referencia. Aunque se ha fantaseado mucho con esta amenaza, lo cierto es que no existe un procedimiento formal para calcular por anticipado si un problema no determinístico se precipitará o no en un proceso de crecimiento exponencial conforme se incrementa la densidad de los objetivos encadenados15. Una o dos variables que se agreguen a la estructura del query o a la ra-

15 Nótese que nunca coordinamos el problema del crecimiento exponencial del tiempo de resolución con la cuestión del tamaño de la base de datos, que es lo que dictaría el sentido común. Aún cuando una cierta magnitud en una base física impondría la multiplicación redundante de punteros y la necesidad de implementar algoritmos de búsqueda eficiente, este aspecto de la cuestión atañe casi siempre a correlaciones lineales.

Page 116: Antropologia y Programacion Logica

116

mificación de los sub-objetivos, y un planteamiento al principio plausible deviene un proyecto demen-cial.

Estas son algunas de las razones que han conducido al desarrollo de métodos de resolución con-trolada de problemas; con estos métodos se han podido al fin implementar exitosamente programas de razonamiento automático de propósito general que alguna vez se creyeron impracticables. Una de las formas que ha asumido la elaboración de estrategias heurísticas tiene que ver con la pautación de lo que un poco displiscentemente se han dado en llamar "reglas de inferencia". Numerosas aplicaciones contemporáneas de programación lógica involucran la implementación de cierto número de estas reglas de inferencia, tanto positivas como negativas; las primeras inician procesos de resolución y las segundas imponen restricciones a esos procesos que mantienen la amplitud del cálculo en una cota razonable de complejidad.

Existen innumerables modelos pautados de procedimientos de inferencia, algunos de ellos suma-mente prácticos; es de esperar que en los próximos años los recursos más utilizados se vayan subsu-miendo en tipos heurísticos y en cánones de medios-a-fines garantidos por la experiencia, que conver-tirán el cálculo del razonamiento en algo muy diferente de lo que es hoy. No es casual que algunas de las estrategias canónicas de inferencia hayan cristalizado en modalidades de trabajo que, antes que nada, tienen un nombre que les otorga identidad conceptual y que facilita su replicación (cf. Tello 1988:418-419; Bläsius y Bürckert 1989).

En teoría y a priori, cuando se trata de encontrar una prueba en un sistema deductivo (que, en términos dinámicos, se puede interpretar como un sistema de transiciones de estados lógicos), lo que se corresponde según el dictado del sentido común es enumerar exhaustivamente todos los estados a los que puede llegarse a partir del estado inicial. En la práctica, y luego de innumerables experiencias fallidas, los sistemas de deducción sólo son viables si se encuentran los medios para evitar las transi-ciones "malas" o "inútiles". El problema radica en que la selección de las transiciones "buenas" requie-re, de hecho, conocimiento específico sobre el dominio al que se refieren las aserciones a ser proba-das.

Existen, sin embargo, criterios puramente sintácticos que solamente explotan la estructura de las fórmulas y que pueden aplicarse en consecuencia independientemente del dominio de aplicación que se trate. Aunque estos recursos a la fecha son más bien de bajo poder, lo concreto es que los métodos que se han desarrollado sirven para eludir las ineficiencias más groseras. En el estado actual de las investigaciones, los criterios sintácticos de heurística mínima y control de estrategias en programas lógicos se han tornado decisivos para que el funcionamiento de éstos sea satisfactorio.

El número de estas estrategias ha llegado a ser lo suficientemente significativo como para que se haya sentido la necesidad de tipologizarlas. Los estudiosos reconocen en general dos grandes tipos: las estrategias de restricción y las de ordenamiento. Las primeras prohiben la exploración de ciertas ramas de la derivación deductiva, a veces al precio de la ampliación en profundidad de la longitud de la prueba. Las segundas no restringen la exploración de rama alguna, sino que establecen el orden en que han de ser tratadas.

Algunos de los procedimientos de inferencia más conocidos y de uso más común son los siguien-tes:

1. Unificación. La unificación (que no debe confundirse con el algoritmo del mismo nombre, de-finido por Robinson para el apareo de patrones y la instanciación de variables) es una regla de infe-rencia en la cual dos fórmulas se unifican para formar una cláusula. La regla opera encontrando una

Page 117: Antropologia y Programacion Logica

117

variable de reemplazo que hace que las dos fórmulas tengan valores idénticos, con una posible dife-rencia de signo. Por ejemplo:

dependiente(X) y no(dependiente(X)) o no(independiente(X)) conduce a no(independiente(X)) por unificación

2. Resolución binaria. Es una regla de inferencia que produce una nueva cláusula a partir de dos cláusulas preexistentes, ejecutando una unificación de los predicados en cada una que posean el mismo valor pero signo opuesto. Por ejemplo:

no(expansivo(X)) o dinámico(X) y no(dinámico(X) o no(quieto(X)) conduce a no(expansivo(X)) o no(quieto(X)) por resolución binaria.

3. Resolución UR. Es la regla de inferencia que deriva una cláusula simple de un conjunto de cláusulas, tal que el conjunto de variables más general es satisfecho por todas las cláusulas. Por ejemplo:

no(sib(X,Y)) o no(padre(Z,X)) o padre(Z,Y), y sib(luisa, juan) y no(padre(javier, luisa)) conduce a no(padre(javier, juan)) mediante resolución-UR

4. Hiper-resolución. Es una regla de inferencia que pueda derivar una cláusula compuesta positi-va a partir de un conjunto de cláusulas, una de las cuales (por lo menos) incluye una fórmula negativa, de manera tal que el conjunto de valores de las variables más generales permita que todas las expre-siones de satisfagan.

5. Hiper-resolución negativa. Esta regla de inferencia es idéntica a la anterior, excepto en el he-cho de que los valores positivo y negativo están invertidos; por ejemplo:

no(sib(X,Y)) o no(padre(Z,X)) o padre(Z,Y) y sib(juan,luisa) o no(hermano(juan,luisa)) y padre(javier,juan) conduce a padre(javier,luisa) o no(hermano(juan,luisa)) por hiper-resolución negativa

6. Paramodulación. Cuando se aplica esta regla de resolución a un par de cláusulas, una de las cuales incluye un predicado positivo de igualdad, produce una cláusula en la que se ha sustituido la igualdad correspondiente. Por ejemplo:

varon(hermano(X)) y

Page 118: Antropologia y Programacion Logica

118

igualp(hermano(luisa, juan) conduce a varon(juan) por paramodulación.

7. Demodulación. Es una técnica que puede utilizarse como regla de inferencia, consistente en reescribir expresiones como expresiones de igualdad, en las que el predicado de igualdad se expresa como una cláusula simple y las variables se reemplazan sólo en algunos predicados de igualdad. Por ejemplo:

igualp(hija(padre(X), hermana(X)), y nombre(hija(padre(juan), luisa) se reduce a nombre(hermana(juan), luisa) por demodulación.

8. Subsunción. Es una técnica, que puede utilizarse como regla de inferencia, en la que se descar-tan todas las cláusulas que son menos generales o que duplican la cláusula disponible más general. Por ejemplo:

igualp(hija(padre(X), hermana(X)) reemplazaría a

igualp(hija(padre(juan), hermana(juan)) por subsunción.

9. Pesado. Es una técnica en la que se asignan prioridades a los diversos elementos que compo-

nen un problema, incluyendo sus términos, cláusulas y conceptos. Se trata de una herramienta que permite al diseñador de un programa controlar la forma en que éste evoluciona al resolver un proble-ma. Asignando los pesos apropiados, el investigador puede hacer que el programa se concentre alre-dedor de los aspectos que se consideran más cruciales para la solución del problema.

10. Factoreo. El factoreo es una técnica que opera sobre una sola cláusula, seleccionando dos fórmulas con el mismo predicado, e intenta producir una nueva cláusula unificándolas con los valores adecuados.

Hasta cierto punto, las recetas citadas hasta aquí son formales y abstractas. Pero existen otras posibilidades. Una de las heurísticas desarrolladas en los últimos meses es especialmente significativa para la antropología. Nos referimos al llamado algoritmo genético, el cual ha venido no sólo a ex-pandir el campo de aplicación de las heurísticas, sino a esclarecer la naturaleza de ciertas formas de metaforización en el uso de modelos que siempre se han dado por descontadas. El algoritmo genético también parece destinado a revelar, en forma dramática, la capacidad de expansión temática de estra-tegias analíticas y sintéticas que durante muchos años se creyeron ligadas a objetos fenoménicos res-tringidos (cf. Austin 1990; Goldberg 1989; Holland 1975; Grefenstette 1985, 1986, 1987; Schaffer 1989).

Uno de los objetivos de las estrategias sintéticas en inteligencia artificial es el de desarrollar sis-temas que pongan en relieve, sin aprendizaje forzado, reglas semánticas explícitas o capacidades para reconocer patrones, categorizar y asociar. Tales sistemas deberían ser capaces de autoorganizarse y de adaptarse sobre las bases, solamente, de su exposición al entorno. Por fortuna, existe un ejemplo viviente de ese tipo de sistema: los organismos biológicos. Como lo expresa Austin:

Durante su evolución, los sistemas biológicos han desarrollado exitosas estrategias de adaptación conduc-tual y de síntesis para aumentar las probabilidades de supervivencia y propagación. Las constricciones ambien-

Page 119: Antropologia y Programacion Logica

119

tales a las que deben enfrentarse tales estrategias han impuesto profundos cambios en los organismos biológi-cos. Estos cambios se manifiestan en especializaciones estructurales y funcionales, organización informacional y representaciones internas del conocimiento (1990: 49).

Detrás de esta sencilla caracterización se esconde uno de los campos más vigorosamente desa-rrollados, cuyos conceptos han sido discutidos con la mayor precisión: la selección natural. Una de las ideas más interesantes que aquí fructificó fue la de selección acumulativa; ésta se refiere a un proceso en el cual los procesos al azar se transforman en procesos deterministas, o por lo menos, regidos por reglas más pautadas y restrictas que las del azar. En la selección acumulativa, cada perfeccionamiento incremental sucesivo en una estructura de soluciones se convierte en la base para la generación si-guiente. En contraste, la selección por pasos separados situaba cada nueva estructura de soluciones independientemente de las anteriores. En el proceso así concebido, ninguna adquisición acumulativa del conocimiento definía lo que podría constituir una buena performance y su recompensa corres-pondiente en el espacio de problemas.

En este paradigma, el término "ambiental" se utiliza en el sentido más amplio posible, denotando cualquier espacio de problemas susceptible de definirse mediante parámetros. En la evolución bioló-gica, la supervivencia es la medida de la performance y la reproducción en la generación siguiente es la recompensa. Desde este punto de vista, toda criatura viviente puede considerarse como una estruc-tura de soluciones en su ecosistema. Discusiones ulteriores entre biólogos darwinianos, sociobiólogos y otros científicos, en las que participaron Brooks, Wiley y el Premio Nobel Ilya Prigogine, perfeccio-naron la conceptualización de las teorías biológicas de base y fueron limando sus asperezas y puntos discutibles.

Pero lo importante no es tanto la exactitud de estas teorías en lo que respecta a los hechos de la evolución biológica, sino que el principio de la selección natural y la genética de poblaciones cons-tituyen ideas intrínsecamente poderosas. Lo son a tal extremo que han servido de inspiración para construir algoritmos que se han aplicado con éxito total en campos tan disímiles como el aprendizaje de máquinas y la optimización de funciones (Goldberg 1989). Un algoritmo genético es

[...] un procedimiento iterativo que mantiene a una población de estructuras que son soluciones posibles a desafíos específicos del ambiente. Durante cada incremento temporal (llamado una generación), las estructuras en la población actual se califican por su efectividad como soluciones locales, y sobre la base de esas evalua-ciones, se forma una nueva población de soluciones potenciales utilizando "operadores genéticos" específicos, tales como reproducción, cruzamiento y mutación (Grefenstette 1986: 123).

Los algoritmos genéticos han demostrado ser harto superiores a la búsqueda a ciegas, por cuanto utilizan la información acumulada para podar el espacio de búsqueda y generar soluciones posibles, a despecho de que las técnicas anteriores no hayan sido óptimas. El principio del que se parte es que el comportamiento exitoso de un sistema en un entorno dinámico exige a menudo soluciones adaptati-vas. Habitualmente, la complejidad inherente al entorno (ruido, elevada dimensionalidad, respuestas multimodales e incertidumbre) impide la especificación de soluciones a priori aceptables. Los sistemas adaptativos, en sus diversas aplicaciones, intentan resolver problemas acumulando conocimiento so-bre el mismo y utilizando esa información para generar soluciones aceptables; estas soluciones no siempre son óptimas pero a la larga acostumbran ser satisfactorias.

Pero ¿en qué consisten, después de todo, los famosos algoritmos genéticos? Las sucesivas inves-tigaciones han definido un marco de referencia sumamente general en la especificación de los algorit-mos genéticos, ateniéndose a unos pocos supuestos:

Page 120: Antropologia y Programacion Logica

120

1) El ambiente, los insumos y los productos se pueden representar mediante hileras de sím-bolos de longitud fija sobre un alfabeto A. A menudo, y siguiendo pistas que indican que el alfabeto binario es óptimo, ese alfabeto resulta ser {1,0}. Se han investigado numerosos alfabetos arbitrarios para representar los diferentes espacios de problemas, pero su mayor o menor efectividad es todavía materia de conjeturas.

2) Se puede considerar que cada punto en el espacio de problemas es un individuo represen-tado solamente dentro del sistema mediante una secuencia de caracteres generada a partir del alfabeto ambiental del sistema. Esta serie oficia de material genético cuyas posiciones específicas (loci) en la secuencia (cromosoma) contienen símbolos o señales únicas (ge-nes) que asumen determinados valores (alelos).

3) En un instante dado, el sistema mantiene una población P(t) de series (también llamadas clasificadores) que representan el conjunto actual de soluciones al problema. El proceso comienza por generación al azar o por especificación explícita de la población inicial.

4) La única realimentación disponible para una estrategia adaptativa es el valor de la medida de la performance (adecuación). Este feedback se llama a veces "realimentación de orden cero"; la información mínima requerida para la adaptación es un indicador de la optimici-dad de la forma en que se está afrontando el proceso adaptativo.

5) El tiempo se mide en intervalos discretos llamados "generaciones".

6) En una estrategia adaptativa, no se requiere ninguna información a priori concerniente al espacio de problemas, aunque esta limitación puede relajarse.

Pese a lo que pueda sugerir el vocabulario que despliegan los especialistas (tanto más enigmático cuanto más alejado se encuentra el lector de los problemas conceptuales de la teoría neodarwiniana), los algoritmos genéticos han demostrado ser extremadamente versátiles: sus insumos y sus productos pueden representar una amplia variedad de fenómenos, cuyo límite resta fijar. Esta "variedad de fe-nómenos" incluye, de hecho, problemas de optimización combinatoria, procesamiento de imágenes, sistemas de control industrial y aprendizaje de máquinas (Davis 1987; Grefenstette 1985, 1987; Schaffer 1989). No hay razones para que los algoritmos genéticos no resulten de aplicación a proble-mas antropológicos (no necesariamente "evolutivos") expresados en un lenguaje declarativo como el Prolog.

Se ha vuelto común, por ejemplo, utilizar algoritmos genéticos para resolver problemas de in-ducción y optimización de reglas. En este tipo de aplicaciones (similares a las que se ejemplifican en nuestros programas "generadores de reglas"), los interrogantes principales tienen que ver con la forma de descubrir reglas que funcionen, de eliminar las que no sirven (asumiendo que el espacio de memoria es limitado y que el ruido es potencialmente disruptivo) y de generalizar hacia la optimiza-ción las reglas que se van reteniendo.

También es habitual servirse de algoritmos genéticos para simular modelos biológicos de com-portamiento y evolución (Dress 1989; Wilson 1987) y para descubrir arquitecturas y topologías de conectividad novedosas en sistemas de redes neuronales, en un nuevo paradigma combinado que Edelman ha bautizado como "darwinismo neuronal" (Edelman 1987). Deseamos llamar la atención sobre el paralelismo que existe entre este darwinismo neuronal y algunas otras estrategias y heurísti-

Page 121: Antropologia y Programacion Logica

121

cas que acabamos de ver y el "esquema evolucionista" mediante el cual Popper metaforiza la vida, muerte o supervivencia de las teorías en un "tercer mundo" de ideas y conceptos que en cierta forma podríamos asimilar a la cultura (cf. Popper 1988). Si bien el nivel de análisis al que operan ambas concepciones es en general distinto, su forma lógica es sin duda idéntica. En algún otro momento sacaremos de esta coincidencia no fortuita las conclusiones que hagan falta.

4. UNIVERSO LÓGICO Y REPRESENTACIÓN

Al contrario de lo que parecían pensar los levistraussianos y demás antropólogos inclinados a proponer formalismos modelizadores, el objetivo de la construcción de un modelo no es primordial-mente obtener un calco descriptivo de la realidad para examinar las relaciones entre cosas con mayor claridad. Sin que ese fin quede excluido por completo16, y sin que sea preciso discutir la idea trivial de que toda representación siempre será más simple que lo representado17, el propósito fundamental de la representación del conocimiento sobre un dominio es, en nuestro caso, obtener un programa cuyo comportamiento refleje la estructura del dominio en algun(os) aspecto(s) relevante(s). Si ese pro-grama logra su cometido, podrá solucionar problemas lógicos relativos a ese dominio o simular su comportamiento, además de retornarnos reflexivamente la estructura y los supuestos de nuestra pro-pia descripción.

Es necesario abordar aquí una cuestión ya elucidada desde otros ángulos, a la que nunca está de más volver: ¿cómo es posible simular el comportamiento de un sistema u objeto real a partir de un modelo puramente lógico? Al proponer nuestras representaciones de lo real ¿no estamos hablando, en rigor, de un orden lógico oculto en lo real, de una especie de providencia rectora?

La respuesta a esta segunda pregunta es negativa. Una simulación de esta naturaleza no encubre ninguna afirmación de carácter metafísico acerca de un orden inmanente a las cosas, o de una corres-pondencia entre el mundo y las leyes de la lógica, como ingenuamente han afirmado algunos irracio-nalistas que no distinguen claramente entre un modelo y la realidad que éste representa.

No es necesario partir de la hipótesis de la naturaleza racional del mundo para construir un mo-delo: lo que en un modelo se afirma implícitamente no es que el mundo sea racional o que esté regido por leyes, sino que desde la perspectiva de una teoría, el mundo es como el modelo lo describe. Y para que algo sea como se lo describe (es decir, para que la descripción sea inteligible y no faculte lecturas infinitamente incontroladas) la descripción ha de ser no contradictoria.

No es necesario tampoco partir de la base de que en el mundo existen regularidades para cons-truir el modelo de un caso: la extensibilidad del caso modelado a otras esferas (otras culturas, otros sistemas), o como dicen los epistemólogos, la amplitud y la ampliación de su ámbito de predicación -por curioso que pueda parecer- es una cuestión extralógica, atinente a la interpretación del modelo y

16 Es propio de la naturaleza de los modelos, sin embargo, demostrarse a menudo más complejos (menos ingenuamente sencillos) que la percepción no modelada de la realidad (cf. Popper 1985:128-136).

17 En rigor la representación no es ni más simple ni más compleja que lo representado, sino que es sencillamente de otro orden.

Page 122: Antropologia y Programacion Logica

122

no a su estructura. Y esta interpretación (de acuerdo con Gödel y con la teoría de los tipos lógicos) no puede formar parte del mismo modelo. La interpretación de un modelo bien puede ser congruente con una teoría que afirme -como lo propugna Geertz (1983)- la validez estrictamente local del cono-cimiento.

Las "cosas del mundo" no tienen por qué ser racionales o no contradictorias; la contrapartida de esto -y esto es algo que no admite ninguna componenda- es que los modelos no pueden dejar de serlo. La exigencia de que los modelos (o las descripciones, o las teorías) no sean contradictorias no depende, como pudiera pensarse, de una toma de partido en favor de una tendencia logicista. Más allá de algunas ocasionales resistencias fundamentalmente equivocadas (como la de Feyerabend 1982), es un imperativo del conocimiento. Detrás de esto último anida una demostración convincente, debida en principio a Bertrand Russell: a partir de cualquier conjunto contradictorio de premisas, es lógica-mente posible demostrar lo que se desee. Dicho de otro modo, un enunciado incoherente entraña todo enunciado, entre ellos aquél que uno quiera; de la misma forma, cualquier aserción (sin que im-porte su contenido) puede ser un posible falsador de una fórmula contradictoria. La demostración de esta paradoja aparente puede encontrarse desarrollada en Popper (1985:87), aunque en ese desarrollo se ha deslizado un error que es fruto del sesgo refutacionista que se la ha impreso.

Que el modelo sea congruente y que reproduzca o simule aceptablemente los procesos propios del dominio de realidad que en él se representa no implica que "la realidad sea lógica", sino que el modelo lo es: podemos, de hecho, modelar tanto un proceso evolutivo que rime con los dictados de la razón como un estallido de locura. Nuestro objeto podría ser hoy el razonamiento cartesiano, mañana la lógica de Auschwitz. Aseverar (o negar) que la realidad esté sujeta a leyes no es lo mismo que ase-verar (o negar) que pueda ser modelizada; aquél no es un problema que se aborde frontal ni oblicua-mente en esta tesis, pues las leyes, al salirse fuera de lo que a través de un modelo es demostrable, pertenecen a un orden que no es el de la lógica que dicho modelo cubre.

En lo que respecta a la relación entre el modelo y el mundo, entre la representación y la realidad, lo primero que hay que decir es que los "hechos" del Prolog no son tales con referencia a las entida-des del mundo, sino con referencia al modelo que se construye, y que es admitidamente un constructo lógico, del que dependerán los valores de verdad. Esta es la noción de modelo que, en contraposición a las aventuras especulativas que se desataron después de Lévi-Strauss, deseamos enfatizar.

En el proyecto del positivismo lógico, tal como lo expresó Carnap (1965: 69), los hechos inicia-les de un sistema deductivo remitían a "proposiciones de observación" o "proposiciones protocola-res". Esta idea era consonante con una filosofía que afirmaba que el propósito de la teoría del cono-cimiento es "esclarecer por medio del análisis lógico el contenido cognoscitivo de las proposiciones científicas y, a través de ello, el significado de las palabras que aparecen en dichas proposiciones" (1965:66). Estas ideas ontológicas penetraron en el temprano cálculo de predicados: "Ser -decía Quine- es ser el valor de una variable" (cf. Ayer 1965:32).

Sin excluir que la epistemología pueda reivindicar esos u otros objetivos, está claro que ninguno de ellos tiene nada que ver con una teoría de modelos; es esencial comprender que ésta sólo atañe a las relaciones formales de implicación en un conjunto de enunciados cuyo valor objetivo de verdad y cuyo "significado" no podrá jamás dirimirse en el interior de dicha teoría.

La correspondencia de los "hechos" lógicos con los "hechos" empíricos no puede determinarse internamente, pues nuestra estipulación puede ser intencional o accidentalmente falaz desde el punto de partida. Un modelo deliberadamente mentiroso posee, ceteris paribus, exactamente la misma es-

Page 123: Antropologia y Programacion Logica

123

tructura lógica que un modelo denodadamente veraz. Es posible construir, en efecto, un modelo de simulación de lo que sería el mundo si fueran válidas determinadas afirmaciones absurdas, y este mo-delo debe funcionar tan redondamente como uno construido sobre premisas correctas.

No existe entonces ninguna marca formal que distinga un modelo cuya interpretación constituya una falsedad de otro que conduzca a conclusiones verdaderas. Y esto sucede porque, al contrario de lo que suele pensarse, las ideas intuitivas de verdad y falsedad como adequatio (o inadequatio) men-tis ad rem no constituyen rasgos intrínsecos de la lógica. A menudo se parte deliberadamente de premisas falsas con el propósito de demostrar más allá de toda duda que cierto sistema de pensa-miento es erróneo, y que si las cosas fueran como ese sistema dice que son, el mundo sería distinto de lo que es; esto es lo que ha hecho magistralmente Emanuel Peterfreund para demoler con excepcional agudeza didáctica el concepto freudiano de energía (1976:43-58).

Un logicial en Prolog no es un oráculo; sencillamente no existen en inteligencia artificial herra-mientas que operen sobre un diseño oracular y que acumulen "conocimientos" o "hechos" más allá de un marco teórico que establece cuáles son los hechos pertinentes y por qué. La inteligencia artificial moderna busca menos fabricar máquinas inteligentes que formalizar la naturaleza de su estupidez y a-provechar esta debilidad aparente como una fuerza escondida. La ignorancia en que una máquina se mantenga garantizará, por ejemplo, que tengamos que explicitar todos nuestros supuestos y que ella no esté en condiciones de introducir clandestinamente ninguno.

Si escribimos en un programa una cláusula que afirma que los trobriandeses viven en América, la máquina lo creerá. Un programa en Prolog no "sabe" nada, ni necesita hacerlo: si de lo que se trata es de estipular un modelo, que la máquina "sepa" lo que no le digamos expresamente, más que ventajoso sería tal vez inoportuno. Al igual que sucede al pensador humano en actitud natural de razonamiento, las inferencias se desviarían por caminos colaterales, considerando cuestiones poco relevantes y efec-tuando cálculos que no vienen al caso. Lo más que nos puede y nos debe decir un cálculo lógico (de esta índole o de cualquier otra) es qué pasaría si en un universo que nosotros describimos, las premi-sas que afirmamos fuesen verdaderas. Y la máquina en general no dice esto espontáneamente, sino que se limita a responder si una conclusión se sigue o no de las premisas que asertamos.

Subrayemos que las descripciones involucradas por la estipulación de "hechos" en Prolog no ata-ñen tanto a "cosas" como a "relaciones", expresadas en notación funcional. En su propia estructura el lenguaje satisface el viejo sueño estructuralista de pensar en términos de relaciones, una empresa que los estructuralistas mismos abordaban con categorías relacionales muy pobres (las más pobres de toda la epistemología contemporánea), como las discutidas "oposiciones binarias" de Trubetzkoy y Ja-kobson o las "mediaciones" de Lévi-Strauss.

No está del todo mal que los "hechos" del Prolog tengan el nombre que tienen. Este aparente atropello empirista nos permite poner de manifiesto que los "hechos" claros y sencillos de la observa-ción no poseen nunca una sencillez y transparencia tales que no reciban su propio carácter de "hechos" dentro de cierto marco de interpretaciones y supuestos: pues hasta el presunto hecho más elemental, formulado en el enunciado observacional más corriente, presupone ya un marco conceptual dentro del cual pueda tener una significación y un valor que trasciendan "la idiocia bruta de la pura sensación" (Wartofsky 1978: 240). No producimos cosas, sino modelos; los modelos a su vez no pro-ducen cosas (el sabor de la sopa, como diría Einstein), sino consecuencias lógicas de sus premisas, consecuencias que cabe contrastar (en una investigación que retorna en ello a sus cauces naturales) con la misma realidad en que se origina la representación.

Page 124: Antropologia y Programacion Logica

124

Pero si los "hechos" del Prolog son diferentes a los "hechos" del sentido común (o a las "cosas" de la fenomenología), la "lógica" de la programación lógica es también diferente a la de los escolásti-cos y a la de los epistemólogos. Es abismal la diferencia estilística que media entre los tratados dis-cursivos de lógica y los textos que abordan desarrollos realizados sobre computadoras, en los que la falta de rigor y de pertinencia son más difíciles de disimular tras la cortina impenetrable de la simbo-logía. Los practicantes de la lógica computacional aún no han elaborado filosóficamente esta circuns-tancia, lo que nos deja el campo expedito para intentarlo nosotros.

Tómese cualquier texto de epistemología, de filosofía de la ciencia, de filosofía analítica o como se la quiera llamar, y se verá prestamente que en ellos se prescriben métodos de trabajo y se proble-matizan asuntos de los que aquí ni siquiera hablamos: definiciones, "frases bien formadas" (fbf), reglas sintácticas de transformación, términos teóricos, términos empíricos, leyes de la naturaleza, operacio-nalización, falsabilidad, magnitudes y escalas, axiomatización mediante teoría intuitiva de conjuntos, causalidad, criterios de delimitación entre ciencia y seudociencia o criterios de demarcación entre ciencia y metafísica. No obstante ofrecerse bajo el envoltorio de una declamada "lógica de la investi-gación", nada o casi nada de todo ese inventario de programas de discusión inconcluyentes tiene que ver un ápice con la lógica.

Estamos proponiendo aquí una formalización que no pasa por una elaboración abstracta cons-cientemente axiomática, que no define en el significado convencional de esta palabra y que no cuan-tifica a menos que sea necesario y relevante, y que sin embargo es rigurosa, en la medida en que pre-serva la coherencia interna de lo que afirmemos y nos permite modelizar en un sentido que nada tiene de figurado. Podemos en lo sucesivo construir modelos bastante más tangibles que los embrollos levistraussianos, y en una escala de potencia y precisión que no se había alcanzado jamás. Estamos haciendo pasar el rigor por donde lógicos y filósofos de la ciencia, privados de una máquina de cál-culo conceptual y sujetos a las limitaciones de continuidad deductiva demostradas por Miller (1983), no habían siquiera imaginado que podía pasar algún día. Se está demostrando que el rigor puede lo-grarse sin tabular valores de verdad, sin definir, sin cuantificar compulsivamente, sin utilizar una sim-bología algebraica.

No es que se esté postulando un principio de ciencia radicalmente distinto, sino que las operacio-nes axiomáticas de orden más bajo están confiadas al instrumento en el cual nos basamos, a la lógica operativa del intérprete del lenguaje, al principio de resolución, al algoritmo de unificación y a la prueba de la cláusula vacía. Descender al plano de la formulación euclideana -como lo ha hecho en antropología William Geoghegan- carece ya por completo de justificación, como no sea la de deslum-brar a quienes no han asimilado siquiera el estructuralismo por reputarlo difícil.

En cierto sentido, la adopción de la herramienta permite hacer de cuenta que la axiomatización ya está hecha desde el principio, y que en lo esencial corre a cargo del instrumento; nosotros podemos dedicarnos, por ende, a la antropología. Podemos situarnos entonces en un nivel descriptivo, conside-rablemente más relajado y menos ofensivo a la sensibilidad del antropólogo que las cifras de los esta-dísticos y los símbolos de la lógica, y formular una ciencia parecida a la que acostumbrábamos. La notación clausal puede ser, en todo caso, nuestra notación íntima, y eventualmente nuestro lenguaje de debate. Este es, en parte, nuestro programa, cuyas dificultades comenzamos seguidamente a explo-rar. Después habrá ocasión de investigar si la escasez de preocupaciones en común entre nuestra propuesta y el dogma que prescribe adoptar los métodos de las ciencias naturales se debe a que noso-tros situamos lo nuestro en otro momento de la indagación, o en otra dimensión del conocimiento.

Page 125: Antropologia y Programacion Logica

125

5. TEORÍAS Y MODELOS LÓGICOS

En este capítulo se establece la forma en que el cálculo de predicados (bajo la forma clausal típica

de la programación lógica) se puede adaptar a la semántica de dominios específicos, de modo de pro-ducir teorías acerca de esos dominios. Para que esta producción sea posible, para que el modelo o la teoría dispongan de una fundamentación axiomática (requisito indispensable para conjurar el fantasma de los enunciados contradictorios y las arbitrariedades deductivas) es preciso abismarnos en una lógi-ca de la construcción de modelos mucho más concentrada en lo formal que -por ejemplo- la "lógica" de la investigación científica que nos han propuesto los epistemólogos, en la que se entremezclan en confusa algarabía principios lógicos de los más abstractos con la necesidad de no mostrarse exagera-damente positivistas, de construir un discurso sobre la práctica social de la ciencia o de refutar los títulos de cientificidad del marxismo o el psicoanálisis.

Pero esta concentración no apareja simplicidad. Este es otro punto de nuestra exposición en el que, sin dejar de referirse a una fundamentación rigurosa, los conceptos metateóricos siguen manifes-tando su propensión a la polisemia. Ninguna entidad tiene una sola cara, ni siquiera en un contexto formal; una teoría es, entre otras cosas, un cuerpo tangible de escrituras, una intertextualidad de perfi-les borrosos, tanto como una constelación ideológica, una estructura axiomática, un conjunto de ele-mentos de un lenguaje, un fragmento de cosmovisión. Lo mismo vale para otros conceptos, tales como "estructura", "lenguaje" y "modelo". En un mundo en el que una mesa puede ser tanto un con-cepto estático como un referente mutable, tanto un conjunto de maderas y clavos como una masa de átomos, aquella multivocidad sólo expresa la multitud de los puntos de vista, y no la imposibilidad de mirar las cosas desde un enclave racional.

El nuestro es un paradigma cosmopolita, no la solitaria elucubración de un genio. No es una sola concepción de la construcción de modelos y teorías en programación lógica la que tenemos que con-trastar con la misma actividad tal como se ha dado en -por ejemplo- el estructuralismo: son muchas concepciones, a las que se añade el hecho conocido de que hay harto más disponibilidad de conceptos que de palabras, de que cada instancia metodológica se puede analizar desde diversos ángulos y de que cada estudioso ha aportado, junto con sus ideas valiosas, su grano de arena a la causa de la con-fusión general. Como hemos asimilado y reelaborado numerosos mundos conceptuales en función de una postura que procura no mimetizarse con los dogmatismos que nos han precedido, y como tam-bién hemos jugado en ocasiones el papel de demiurgos, no existe problema alguno en considerar que todos esos mundos son válidos simultáneamente, en tanto las aguas y las tierras de cada uno no se mezclen con las de los otros.

Es importante subrayar entonces que la proliferación de homónimos de diversos sentidos no les resta significado, en tanto se conserve el valor relativo que cada término ostenta en sus contextos particulares de definición. Preferible a la definición de un significado uniforme para cada vocablo, es la proliferación de significados relativos a puntos de vista que no es posible derogar y que constituyen formalmente parte de un universo ordenado de significaciones. El problema, si se lo piensa bien, es exactamente el inverso al de la existencia de diversos significantes con contenidos intercambiables, di-lema que, en el viejo estructuralismo, nos impedía la construcción de todo modelo.

Page 126: Antropologia y Programacion Logica

126

Por otro lado, existe una razón formal para que los términos metateóricos se presenten en una configuración multifoliada: la herramienta de la que estamos hablando es, según se la mire, tanto un lenguaje de la lógica simbólica, una axiomática, un método mecánico de resolución de problemas, una forma de representación propia de una ciencia empírica, un modelo abstracto y un lenguaje de compu-tación. En ese cosmos de confluencias históricas y de comunicación de ideas, las ecuaciones curricu-lares de cada responsable son disímiles. Cada autor participante traza el mapa de las cosas a su mane-ra, manera que eventualmente se traduce o se extrapola sin una estricta preocupación por las homo-logías; cada corriente llena además sus conceptos de connotaciones discrepantes, correlacionadas con ideologías "fuertes", "conciliadoras" o "débiles" acerca del cometido epistemológico y la misión histó-rica de las formalizaciones. Sería irrazonable esperar que cada perspectiva posea un léxico distinto y no redundante, emancipado de toda asociación. Los diversos ángulos desde los cuales se contempla la herramienta no pueden dejar de presentar cruzamientos. Podríamos falsear la realidad y escoger (o construir) una sola serie de definiciones canónicas, a acatar de aquí en más; pero con ello no se cons-truiría un paradigma más riguroso, sino un dogma más estrecho. Escogemos deliberadamente, pues, la proliferación de lecturas posibles, advirtiendo que ello no excusa de definir las palabras a quien escribe, ni de recurrir al contexto para recuperar la plena y exacta significación de los términos a quien está leyendo.

Conviene evocar inicialmente, en un vocabulario apropiado a las caracterizaciones y comparacio-nes que han de seguir, los significados y atributos usuales de las entidades que acostumbramos llamar teorías. Cualquiera sea el dominio descripto por una teoría, ésta consiste primordialmente de un len-guaje en el que se pueden expresar afirmaciones o negaciones. Anotemos este primer contraste: el estructuralismo o la etnosemántica (en tanto teorías o metateorías de la modelización) no poseían un lenguaje sino en el mejor de los casos una jerga técnica esporádica; esta jerga se hallaba sintáctica-mente incrustada en el discurrir amorfo y sin consecuencias de una forma literaria de expresión, se-mánticamente plagada de ambigüedades y pragmáticamente imposibilitada de realizarse en un modelo.

Tenemos entonces una teoría que se expresa en un lenguaje, de diccionario finito pero de poten-cialidades expresivas innumerables. Ciertas afirmaciones de la teoría poseen un carácter especial, y se las llama axiomas o postulados; éstos constituyen, por así decirlo, las verdades básicas de una teoría. Mediante determinadas reglas de razonamiento, se derivan o infieren afirmaciones más complejas o variadas a partir del conjunto inicial de postulados, que también se consideran verdaderos y que se denominan consecuencias. Ejemplos de teoría en este sentido informal podrían ser el psicoanálisis, el marxismo, la cross-cultural anthropology y el materialismo cultural; como ya comprobamos, estas teorías se expresan aproximadamente en lenguaje natural, con el añadido de un conjunto -más bien exiguo- de terminología técnica. Los axiomas o postulados de estas teorías no siempre son explícitos y tampoco funcionan siempre como tales, fundando o justificando las conclusiones a las que se llega. Todo esto no implica que no se pueda expresar esas teorías de una manera más rigurosa; pero nadie afirmaría que este ha sido el caso.

A un nivel tanto estructural como de contenidos, un programa lógico basado en el cálculo de predicados, tal como se lo ha caracterizado hasta el momento, se puede comprender como una espe-cie de equivalente formal de la noción vulgar de teoría. Lo que este cálculo añade a una teoría con-vencional es un sistema axiomático fundado y completo: todas las fórmulas válidas (afirmaciones) del lenguaje se pueden obtener a partir de un pequeño conjunto de postulados y de reglas de inferencia. Las consecuencias de las premisas constituyen teoremas, que pueden a su vez funcionar como premi-sas de teoremas ulteriores.

Page 127: Antropologia y Programacion Logica

127

Pero el cálculo de predicados muy rara vez se usa en ese sentido. La mayor parte de las veces, quien utiliza dicha herramienta está interesado en un dominio particular, y no en las propiedades gené-ricas, abstractas o axiomáticas de un cálculo lógico determinado. Si se aplican las capacidades de re-presentación y resolución del cálculo de predicados a un dominio empírico, se obtendrá un modelo posible relativo a dicho dominio. Este es sólo uno de los muchos sentidos de la noción de modelo; más tarde haremos referencia a otros.

Marquemos ahora un nuevo contraste que pone en crisis las definiciones de -por ejemplo- Kaplan y Manners: el dominio empírico puede ser tanto genérico y abstracto como concreto y particular. Aunque este juego rara vez se consuma, podemos asignar diferentes dominios empíricos a un modelo construido en función de entidades sin denotación inicial. En la medida en que los referentes empíri-cos dependen de una interpretación que no puede introducirse en un modelo ni ligarse a sus símbolos significantes salvo como comentario no computable, el ámbito referencial de un modelo formal es irrelevante como norma para definir lo que es un modelo y distinguirlo, a través de esa definición, de lo que se supone que es una teoría.

Otra diferencia surge de inmediato. Los epistemólogos distinguen a menudo una construcción deductiva hipotética de una construcción deductiva nomológica. Sobre esta distinción se basan otros tantos tipos, dispuestos en una jerarquía de méritos a veces explícita. Una teoría "hipotético deduc-tiva" toma hipótesis o conjeturas probables como punto de partida; una teoría "nomológica deducti-va", en cambio, se funda en leyes establecidas o "universales nómicos". A partir de unas y otras se co-mienza a plasmar el tejido lógico de las inferencias, constituyendo en ese proceso la "lógica de la in-vestigación científica" según el paradigma deductivo. A menudo se exige la presencia de una "ley uni-versal" o de más de una ley universal entre las premisas para garantizar la cientificidad de un cons-tructo, o se establece la obligatoriedad de que las premisas sean independientes, o que sean "compa-tibles con los datos observacionales" o con los "hechos conocidos" (Nagel 1981:39-55; Hempel y Op-penheim 1953). Otras autoridades exigen que las premisas sean atinentes a "individuos", en oposición a "clases", o viceversa, que se cumplimente cierto ritual de experimentaciones concomitantes o que la finalidad del modelo sea la de establecer o justificar una explicación (Popper 1985:62-68).

Pero estos requerimientos no son de un orden estrictamente lógico, y no se pueden integrar a una teoría de modelos sin sesgarla en favor o en contra de determinada concepción de la ciencia. Por plausibles que puedan parecer, las exigencias en el sentido de que las premisas sean "leyes de la natu-raleza", "individuos", "objetos con denotata observables" o cosas por el estilo, jamás podrán ser inte-gradas a la misma lógica que garantiza la coherencia interna de un modelo. Las recomendaciones de la epistemología convencional no son un conjunto de principios lógicos, sino un tejido heterogéneo de opiniones, apreciaciones más o menos sensatas y recetas prácticas de sentido común.

Una vez más, hay que decir que la calidad sustantiva de las premisas es tan irrelevante para la e-sencia de un modelo lógico como su verdad empírica, puesto que tales aspectos pertenecen tanto a las interpretaciones que sobre ellas se aplican (a su "mapeado sobre la realidad") cuanto al estatuto axio-lógico de esas interpretaciones, a la mayor o menor "aceptabilidad" de su valor de ley o de hipótesis por parte de una comunidad científica en un momento dado. No es que esos factores carezcan de importancia; al contrario, pensamos que ninguna antropología seria podría construirse sin reflexionar sobre ellos. El hecho es más bien que su discusión carece de pertinencia en la estipulación de una teo-ría axiomática y general de los modelos como la que aquí se desenvuelve. En una teoría de esta índo-le, la especificación carnapiana de la naturaleza de las premisas no forma parte del problema. Urge

Page 128: Antropologia y Programacion Logica

128

recuperar toda la potencia de las operaciones formales, lo cual se hace antes que nada fijando sus límites. Como decía Schlick:

Que lo lógico es en cierto sentido lo puramente formal se ha dicho hace ya mucho tiempo y con frecuen-cia; pero no estaba verdaderamente clara la naturaleza de las formas puras. El camino hacia tal claridad parte del hecho de que todo conocimiento es una expresión, una representación. Es decir, expresa la situación de he-cho que es conocida en ella. Esto puede ocurrir en cualquier número de modos, en cualquier idioma, por medio de cualquier sistema arbitrario de signos. Todos esos modos posibles de representación -si de otra manera ex-presan realmente el mismo conocimiento- deben tener algo en común, y lo que les es común es su forma lógi-ca. [...] Sólo ella es importante para el conocimiento. Todo lo demás es material inesencial y accidental de la expresión, no diferente, digamos, de la tinta con la cual escribimos un enunciado (Schlick 1965:61).

La descripción de un dominio se realiza, como lo hemos visto, a través de un conjunto más o menos extenso de predicados y constantes funcionales. En Francia y en Bélgica se acostumbra llamar signatura a una colección de predicados, cada uno con una aridez bien definida. Mediante las reglas sintácticas del cálculo de predicados, se obtiene un lenguaje a partir de esa signatura, y este lenguaje es el conjunto de términos y fórmulas generados a partir de la signatura.

Tal como lo consideran ciertos autores, en especial en Francia, la interpretación de ese lenguaje (de acuerdo con las reglas del cálculo de predicados) constituye su estructura. Según esta concepción (alternativa a otras que ya se han expuesto o se expondrán luego) una teoría relativa a un lenguaje es un conjunto de fórmulas del mismo, a las que se llama axiomas; un teorema es, en este sentido, una consecuencia lógica de los axiomas. Y una estructura para la cual todos los axiomas de una teoría son verdaderos, se llama un modelo de esta teoría (Thayse 1988:78-80).

Existe la posibilidad de que determinadas teorías se basen en sistemas lógicos más poderosos que el cálculo de predicados, pero esta posibilidad no será explorada en este contexto, ni se corresponde todavía -en nuestro estado de desarrollo tecnológico- con ninguna implementación viable. En un marco de referencia en que se tome en cuenta la jerarquía de los sistemas lógicos, las teorías basadas en el cálculo de predicados podrían llamarse teorías de primer orden. Esta definición enfatiza el he-cho de que las variables de todas las cláusulas se interpretan como objetos individuales: no existen variables funcionales ni variables de predicado.

Esto parecería imponer un límite: las lógicas de orden más elevado podrían ser, con mucho, más expresivas que la lógica del primer orden. Pero, por desdicha, a un alto poder expresivo corresponde un poder deductivo más bien bajo: no existen a la fecha sistemas axiomáticos completos para las lógi-cas de orden más elevado, ni es probable que existan algún día, ni es de esperar tampoco que en caso de existir lleguen a ser prácticas.

El cálculo de predicados es un sistema lógico amplio y compacto. No todo el cálculo de predica-dos puede incluirse en una fundamentación: como hemos visto, si no se quiere caer en formulaciones indecidibles o en procesos interminables, es preciso restringir el lenguaje de la teoría a un subconjunto de dicho cálculo, mediante determinadas estipulaciones adicionales: el uso de la forma clausal, la res-tricción de las cláusulas posibles a cláusulas de Horn, la cuantificación universal implícita, las reglas de Skolem, el uso de unos pocos procedimientos específicos de resolución, o mejor aún de uno solo.

Hemos dicho antes que el método de resolución del Prolog es a la vez fundado (no permite infe-rir ninguna aserción que no se siga de otras aserciones) y completo (todas las aserciones que se sigan de otras se pueden inferir mediante este método). Deseamos ahora destacar una diferencia importante entre la naturaleza fundada y completa del Prolog como lenguaje para construir modelos teoréticos y

Page 129: Antropologia y Programacion Logica

129

la posibilidad de estipular teorías completas y categóricas en base a él. Ambos niveles de análisis no deben confundirse, porque lo primero no implica lo segundo. Pero esta limitación no es tan grave como parece.

Está demostrado que a partir de un lenguaje basado en una signatura muy escueta se pueden de-mostrar teorías muy poderosas, y más que nada teorías adecuadas a las necesidades de las disciplinas establecidas. En lo sucesivo llamaremos teorías categóricas a las que sólo admiten modelos finitos, tal como resulta del teorema de Löwenheim y Skolem. Pese a las resonancias colosales de su nombre, las teorías categóricas no son en general demasiado interesantes, dado que los dominios finitos se pueden abordar mediante métodos más simples y cercanos a la intuición que los que impone un tra-tamiento formal.

Llamaremos teorías completas a las que dan cuenta de todos los hechos posibles en un determi-nado dominio, con independencia de los criterios seguidos en una modelización determinada. Las teorías desarrolladas mediante programación lógica rara vez son completas; de hecho, una teoría comprensiva sobre determinado dominio de la realidad no siempre es deseable, porque lo más común es que no sea fácil de tratar en la práctica. A menudo es preferible una teoría incompleta, es decir, una teoría consistente en enunciados cuyos valores de verdad valgan sólo dentro del mundo cerrado que describen. En suma, las teorías a las que nos referiremos cuando no se estipule ninguna cualifi-cación adicional habrán de ser teorías incompletas y no categóricas. Diversos ejemplos de estos atri-butos aparecen en los programas o modelos que incluimos como suplemento ilustrativo.

Lo importante de todo esto es que de ningún modo este carácter incompleto y no categórico es imputable al estado de desarrollo de nuestra disciplina o a la naturaleza peculiar de sus objetos. A menudo se afirma lo siguiente como expresión de deseos, pero aquí entendemos haber expuesto en los capítulos anteriores una demostración acabada: en lo que a la construcción de modelos y teorías concierne, desde un punto de vista formal todas las ciencias empíricas se encuentran en la misma situación (cf. Carrithers 1990).

Tal vez sea conveniente diagramar la forma en que se inserta el proceso de modelización que propugnamos en el conjunto del trabajo científico. El siguiente diagrama de flujo, sumamente meta-fórico, ilustra nuestro esquema global, identificando convencionalmente los conjuntos de enunciados y símbolos que constituyen (1) la "realidad", (2) los marcos ideológicos o paradigmáticos, (3) las estrategias, marcos teóricos o programas de investigación antropológicos, (4) la teoría axiomática del cálculo de predicados, (5) las formulaciones discursivas o estudios informales de casos, (6) los mode-los o programas lógicos y (7) los eductos de los modelos mediante cuadrados de líneas gruesas, y los procesos de mediación que definen y analizan la realidad, determinan los paradigmas, sintetizan for-mulaciones discursivas, codifican modelos formales, computan programas lógicos y contrastan e-ductos utilizando rectángulos de líneas finas.

El número de conjuntos de enunciados y símbolos y de sus operadores de conexión ronda la cifra de 7, y es una muestra deliberada de la conveniencia de atenerse a los hallazgos de Miller (1983). El orden que hemos impuesto es arbitrario y persigue una finalidad didáctica, al tiempo que asume una representación plausible de las operaciones metodológicas: entre un conjunto de enunciados y otro de diversa categoría, naturaleza o nivel de abstracción hay siempre un proceso que transforma o define al que viene antes y determina al que viene después. Los conjuntos de enunciados que se aparean me-diante un procedimiento o una relación de determinación, se pueden considerar pares ordenados de insumo y producto, cuyo carácter de tales no siempre está reglado por una operación axiomática.

Page 130: Antropologia y Programacion Logica

130

Esta configuración, por supuesto, no pretende reglar ni describir la forma en que epistemologías que no son las nuestras desenvuelven su vida teórica; lo que se busca es apenas trazar una imagen comprensible de la inserción de un momento formal en un proceso global de trabajo teórico expuesto como un grafo controladamente idealizado, en el que se han omitido aspectos tan cruciales como el trabajo de campo, la experimentación y la forma en que el saber interactúa que una realidad que no es necesariamente la que el científico construye.

Los epistemólogos estructuralistas encontrarán que nuestra mención de los "conjuntos de enun-ciados" evoca la llamada statement view, para ellos detestable. Los estructuralistas niegan, como es sabido, que las teorías constituyan conjuntos de enunciados en el sentido lógico, y esto es preci-samente lo que afirmarían los partidarios fantasmáticos de la "concepción enunciativa". No nos entre-tendremos en justificar nuestra nomenclatura, pues ella se basta a sí misma; en cierta forma tampoco interesa lo que las teorías sean, que es lo que, pensando en Kuhn, importa a los estructuralistas: que las teorías, cosmovisiones o formulaciones discursivas (incluida la statement view) se pueden con-siderar como conjuntos de enunciados (no necesariamente axiomáticos, enumerables o consistentes) lo prueba el mismo hecho de que se pueda hablar de ellas en términos de lo que ellas enuncian.

Dado que la mayor parte del esquema no denota procedimientos formales ni hechos taxativos, el esquema en sí es nada más que una heurística útil, una ficción ocasional, que se deberá descartar ape-nas se la comprenda y sobre la que no volveremos a insistir fuera de este trabajo. El esquema es auto-evidente, y esperamos que no ofrezca mayores dificultades ni en lo que respecta a aceptar nuestra idea de que los conjuntos de enunciados y símbolos son tales (realidad incluida), ni en relación con la imagen de que esos ámbitos se encuentran existencialmente ligados mediante determinados procesos y coacciones, más o menos explícitos, evidentes y formalizables:

a) La determinación de las estrategias o programas de investigación por marcos ideológicos o paradigmáticos (el llamado "contexto de descubrimiento").

b) El análisis y la definición de la realidad a través de los dictámenes y conceptos de una teoría (la llamada "construcción social de la realidad"). Nuestro esquema expresa que "la sociedad" no construye su realidad sin mediaciones; hemos preferido mediar lo real y lo contextual a través de lo teórico, lo cual define la posibilidad de existencia de tantas reali-dades como teorías se postulen.

c) La producción sintética de enunciados discursivos concretos en dependencia de un marco teórico determinado, o en otra escala, la capacidad que tiene una perspectiva teórica, es-trategia o programa de investigación para expedirse discursivamente sobre la realidad.

d) La posibilidad de construir un modelo o programa lógico codificando dicha formulación conforme a los cánones sintácticos y semánticos de una teoría axiomática.

e) La prueba constructiva del modelo, su puesta en marcha, para obtener un educto, realizar un cálculo atinente, generar la imagen de un fenómeno o simular un comportamiento.

f) La crucial contrastación de ese educto o comportamiento, por último, con (una definición de) la realidad.

El esquema comporta diferentes niveles de referencia, y por lo tanto diferentes sentidos para la concepción de los "conjuntos de enunciados" como entidades que son diferentes manifestaciones, en

Page 131: Antropologia y Programacion Logica

131

su conjunto, de lo que comúnmente se acostumbra llamar "teoría". El marco paradigmático abarca un cosmos o una ecumene, el marco teórico concierne a un dominio dentro de ese cosmos y la formula-ción discursiva concreta a un problema acotado dentro de ese dominio. De este modo, el estudio de Marvin Harris sobre las razones de la prohibición de consumo de carne vacuna en la India constituye la formulación discursiva de un problema, el Materialismo Cultural constituye el marco teórico de referencia y el materialismo en general el paradigma, cosmovisión, tradición filosófica o marco ideo-lógico determinante.

Si se desea, se puede reemplazar la nomenclatura que aquí se propone por alguna otra que haya sido consagrada por el uso y que apunte al mismo conjunto politético: las "tradiciones de investiga-ción" de Barnes o Laudan, las "disciplinas" de Toulmin, las "matrices disciplinares" de Kuhn, las "o-rientaciones teoréticas" de Merton, Kaplan y Manners, las "estrategias de investigación" de Marvin Harris, los "programas de investigación" de Lakatos, las "redes teóricas" de Stegmüller y Moulines o las "escuelas invisibles" de Price (cf. Barnes 1982; Laudan 1977; Toulmin 1977; Kuhn 1979; Merton 1967; Kaplan y Manners 1979; Harris 1978; Lakatos 1983; Stegmüller 1976; Moulines 1983; Price 1961; González Echevarría 1987).

Los procesos que se interponen entre los diversos conjuntos de enunciados equivalen a las "mediaciones" y "determinaciones" en que abunda la literatura antropológica. No todas esas media-ciones parecen formalizables, lo cual es otra forma de decir que la transformación de uno a otro con-junto no siempre se rige por operaciones especificables mediante una axiomática. Parecería ser que cuanto más axiomáticamente esté especificado (o sea especificable) el mecanismo de transformación, tanto más estará el educto sustantivo de esa transformación determinado por (y sólo por) los conteni-dos del conjunto antecedente.

La línea de puntos delimita, diacríticamente, lo que el buen sentido indica que es posible formali-zar: ni un ápice más, pero tampoco menos. Dentro del espacio de actuación de la teoría axiomática, es posible a lo sumo construir un modelo a partir de una especificación "natural" y probar la consis-tencia absoluta del constructo resultante. Lo que se encuentra fuera de su ámbito no forma parte de ninguna "lógica" de la investigación, sino cuando mucho de una ideología plausible, de una directriz que en algún momento ha resultado práctica. Ni falta que hace decir que con técnicas convencionales sólo se pueden producir y contrastar lo que hemos llamado "formulaciones discursivas" de validez siempre opinable, mientras que con técnicas de programación lógica cualquier programa de investiga-ción puede producir y contrastar eductos harto más refinados, con ciertas garantías de coherencia in-terna fundadas en la utilización de la teoría axiomática del cálculo de predicados y en sus extensiones computacionales.

Al llamar "discursiva" a una formulación no la estamos sometiendo a un juicio peyorativo; las construcciones de este tipo son inevitables aún en el proceso de desarrollo de un modelo formal. No se codifica, operacionaliza, mapea ni formaliza ninguna realidad en estado crudo, sino un conjunto más o menos ordenado de aserciones que se le refieren. Una formulación discursiva constituye así la materia prima de todo modelo, y ha venido siendo la forma normal de expresión de nuestra disciplina. Dinámicamente consideradas, las formulaciones discursivas equivalen a lo que se ha llamado el "significado intencional" de un modelo [intended meaning], lo que un modelo pretende denotar (cf. Van Emden y Kowalski 1976; Sterling y Shapiro 1987:15-16); al utilizar el otro término pensamos preservar el sentido de una epistemología en la que no todos los constructos teóricos están destinados a formalizarse. De mediar un mapeado razonablemente prolijo (una codificación correcta) entre una

Page 132: Antropologia y Programacion Logica

132

formulación discursiva y un programa lógico expresado en cláusulas de Horn, aquélla constituye nada menos que la interpretación de éste.

El campo formal no subsume la totalidad de cada una de las formulaciones discursivas imagina-bles, porque algunas de ellas no son suficientemente explícitas, son sobreabundantes, diseminan con-notaciones o son inherentemente contradictorias. La mayor parte de las formulaciones que conoce-mos incluyen operaciones (como la "oposición binaria" levistraussiana o la "mediación cultural" de Marshall Sahlins) cuya falta de especificación les impide alcanzar el estatuto de tales, y que en un modelo habrán de funcionar tan pobremente (o no funcionar en absoluto) como lo hacen en su ver-sión original. En el dibujo, la inserción parcial de las formulaciones discursivas dentro del área de con-sistencia garantida es entonces deliberada: con ello se implica por un lado que toda teoría en lenguaje natural (contradictoria o no) es expresable en un lenguaje formal, y por el otro que si esa teoría lle-gara a ser en efecto contradictoria pueden suceder varias cosas, entre ellas: (a) si la contradicción es conscientemente introducida y si no se formaliza, con cierta habilidad operacional el investigador podrá demostrar la conclusión que desee; (b) si la contradicción no es deliberada y si se construye el modelo, más temprano que tarde se generará la cláusula vacía y el carácter contradictorio del modelo se hará manifiesto.

La contrastación queda fuera del círculo formal, pues las operaciones que involucra no forman, por lo regular, parte del modelo. Nótese que aunque la naturaleza de la contrastación impide forma-lizarla, lo que se contrasta en uno u otro caso son cosas diferentes; en una teoría informal se contrasta lo que verbalmente se afirma que podría ser su output o su comportamiento, minimizando las conse-cuencias que se derivan del hecho de que un modelo que no funciona (como el estructuralista) no ge-nera ningún comportamiento o educto susceptible de contrastarse; en un modelo computacional, en cambio, se contrasta, inevitablemente, un comportamiento real. Como sucede con los niños, un mode-lo computacional se comporta mal o bien, pero se comporta de algún modo, y en base a ese compor-tamiento el modelo bien podría llegar a replantearse. De los modelos verbales no se sabe a ciencia cierta si se comportan o no, y es por ello que, por elegantes y meticulosos que sean, sus diseñadores vivirán por siempre en el limbo de los métodos im-probables o en la sospecha de que su funciona-miento es ilusorio. No saber si un modelo actúa como se espera teóricamente que actúe es, a nuestro juicio, demasiado no saber.

Se considere grave o no esta amenaza, es importante señalar que, a diferencia de lo que ocasio-nalmente se afirma, los verdaderos modelos jamás se contrastan: lo que se contrasta es su compor-tamiento productivo, su performance, la información de salida, la trayectoria que simulan, la respuesta que devuelven. La peregrina idea de que se puede contrastar un modelo (y no su comportamiento) engrana sin duda con el prejuicio de que aún un modelo "ligeramente contradictorio" podría producir algo coherente, o de que no es necesario que un modelo produzca o re-produzca nada. ¿Será, tal vez, que los modelos formales se siguen diseñando a imagen y semejanza de los modelos icónicos o analó-gicos, y que por eso mismo se piensa más en su isomorfismo que en su consistencia?

El dilema es "isomorfismo o consistencia", correspondencia con la realidad o coherencia interna, operacionalización inductiva o poder deductivo. Lo último que resta decir sobre los modelos denota-dos en el esquema es que, si se admite la taxonomía que distingue los modelos analógicos (o icónicos) de los modelos formales (o conceptuales), lo nuestro atañe solamente a los segundos. Ninguna ope-ración formal de mapeado garantiza el isomorfismo de dos entidades diferentes, y lo que signifique la consistencia de una analogía es algo que no se sabrá nunca, porque la analogía (o aún la homología

Page 133: Antropologia y Programacion Logica

133

estricta) es una operación externa de proyección entre dos entidades disjuntas y la consistencia una prueba lógica interna en un conjunto conexo.

No hay formalismo que determine o que pueda justificar el procedimiento de mapeado de un dominio sobre otro de diferente estructura, y es por ello que discernir dónde termina una analogía rigurosa y dónde comienza una metáfora casual resulta tan difícil. El mismo término "mapeado" (que describe una suerte de correspondencia miembro a miembro, pero que no esclarece ni el significado proyectivo de la correspondencia ni el de la membrecía) es un sucedáneo seudoformal evidente de los "espejos", "iconos", "reflejos" y "homologías" de esas epistemologías arcaicas estudiadas alguna vez por Bachelard, Eco o Foucault. No hay mapeados axiomáticos. Los formalismos que garantizan la consistencia de un sistema formal, en cambio, se cuentan por docenas. Los únicos modelos que aquí nos preocupan, por ende, son los modelos formales, que no tienen la obligación de ser evocativos (aunque sean modelos de simulación), sino la posibilidad de ser consistentes.

La consistencia no es una exigencia entre otras. Si la consistencia es el requisito básico, el vehículo de la modelización no puede ser otro que la lógica. Se descartan, por ende, otros candidatos igualmente tentadores, como la teoría intuitiva de conjuntos ilustrada por Suppes (1988) con ejem-plos de la psicología, el álgebra instrumentada por los etnosemánticos, la topología matemática de Leach (1971) o las matemáticas estructuralistas subyacentes a la obra de Piaget o Lévi-Strauss, por-que ninguno de esos marcos fundantes problematiza la consistencia, contentándose con un rigor de otro orden, casi siempre analógico.

Sólo un modelo consistente puede producir conclusiones basadas en un cuerpo de premisas, y sólo en el interior de un modelo cuya consistencia ya se haya verificado tiene sentido insertar formali-zaciones de otro tipo, que no están en absoluto excluidas. El problema con los modelos que incluyen aserciones contradictorias no es que no produzcan nada, sino que pueden producirlo todo: como di-jimos tantas veces, de un conjunto contradictorio de premisas es posible inferir cualquier aserción. Por tal motivo, las implementaciones más cuidadosas de los lenguajes de programación lógica poseen prestaciones de debugging y control que niegan la supervivencia de modelos basados en premisas contradictorias.

El Prolog clarifica hasta la náusea el viejo precepto lógico que establece, a veces tras un enreve-sado proceso de prueba, que de un conjunto de premisas contradictorio puede derivarse cualquier conclusión. La reformulación de esta consigna en cláusulas de Horn es muy sencilla, y proponermos expresarla como sigue: de una disyunción contradictoria puede probarse la pertenencia de cualquier elemento a cualquier categoría, y de la conjunción de contradicciones nada puede derivarse. Si la dis-yunción es como sigue:

humano(X) :- hombre(X); not(hombre(X)). 2.15

cualquier instancia ligada de la variable X calificará como caso aceptable del atributo o relación

denotada en el predicado, incluso aquellas que no se hayan referido en el conjunto de los hechos ini-ciales. Sometiendo a prueba la pregunta humano(piedra), donde el término constante podría ser cual-quiera, la máquina respondería afirmativamente. Advirtamos que este no es un defecto del Prolog, sino una consecuencia legítima del modo de expresión de la regla en cualquier lógica imaginable. Si, por el contrario, planteamos una conjunción como ésta:

Page 134: Antropologia y Programacion Logica

134

humano(X) :- hombre(X), not(hombre(X)). 2.16

ni siquiera los casos estipulados como hechos producirán un proceso de computación finito, y

toda pregunta al respecto estará destinada a abortar.

Es preciso establecer ahora cuál es el rol de la lógica en la construcción de teorías y modelos, pues hasta el momento sólo hablamos en general de "fundamentación". Lo que hemos fundamentado es hasta ahora la herramienta y el lenguaje con que la modelización se consuma; resta hacer lo propio con los modelos lógicos en tanto instrumento de la disciplina, salvando la distancia que media entre la antropología y la disponibilidad de un recurso lógicamente fundado. La pregunta que cabe hacer es cómo se usa la lógica en antropología, o cómo se transforman las formulaciones discursivas de siem-pre en modelos formales de una nueva naturaleza.

Toda formulación antropológica ha presumido de estar lógicamente fundada, de modo que la idea no es nueva. Ningún antropólogo (a excepción de Stephen Tyler) presume de contradictorio. En los modelos antropológicos que definimos como parámetros para que se pueda luego ponderar nues-tro aporte, la lógica era una instancia consabida, cuyo rol fundante y legitimador se daba por supues-to. En ellos se insinuaba que la lógica era respetable en sí misma, y algo más implícitamente se la ca-lificaba como instrumento indispensable, sin que quedara demasiado claro por qué. Si la documenta-ción del trabajo de campo, la retórica del "haber estado allí", satisfacía los requerimientos de la auto-ridad etnográfica, la exhibición de formalismos (tanto más apreciados cuanto más esotéricos) fundaba algo así como el emblema de la autoridad metodológica.

Como consecuencia de ello, en la antropología de avanzada el papel de la lógica siempre fue un tanto inespecífico, en especial en la obra de los autores que hacían gala de vanguardismo; éstos des-parramaron promesas formales que muy pocas veces alcanzaban algún desarrollo y menos aún resul-taban en la invención de instrumentos de aplicación permanente. El valor de uso de las herramientas no importaba tanto como el valor de cambio de su ostentación en el mercado académico. Con fre-cuencia, la apropiación de los recursos formales adoptó la sospechable contextura de lo que podría-mos llamar "amontonamiento referencial" o "sopa de teorías", en el que unas cuantas citas bibliográfi-cas, unas fórmulas simbólicas o un oportuno name-dropping suplían la exigencia de la asimilación real de un saber.

Esto ha sido más evidente en los Estados Unidos que en Europa, en donde la erudición (necesa-riamente real) es una cualidad más común y más apreciada que la capacidad técnica (posiblemente ilu-soria). Anthony Wallace, por ejemplo, deploraba que los antropólogos sólo hubieran mantenido "rela-ciones periféricas" con "la lógica formal, las matemáticas, la estadística descriptiva, etc." (1972:12). Su antropología es representativa de un espíritu de geometría que dominó la escena norteamericana durante la década infame del análisis componencial, cuyo fracaso ulterior sólo sirvió para confirmar en el imaginario antropológico la idea de que todo intento formal está condenado a la misma suerte. En la etapa racionalista, cualquier recurso formal venía al caso, por el solo hecho de serlo. Los etno-científicos utilizaban el álgebra de Boole para establecer relaciones lógicas entre clases, y no perdían ocasión para enfatizarlo; Floyd Lounsbury echó mano de un par de operadores booleanos conmutati-vos, y a falta de un formalismo más fuerte los rudimentos del álgebra de conjuntos se desperdigaron durante algunos años en las páginas de los informes etnosemánticos, hasta que William Geoghegan (1971) formuló el primer sistema axiomático de la antropología, en términos euclidianos, en un artículo tan riguroso como oscuro y, en el fondo, trivial (cf. Reynoso 1989).

Page 135: Antropologia y Programacion Logica

135

En estas experiencias, nunca se pasó de definir una notación que en ninguno de los casos cubría todo el espacio discursivo de los modelos, y que mezclaba alegremente (lo que hubiera desesperado a Quine) la lógica con la teoría de conjuntos o con cualquier especie indefinida de regularidad. David Cooper, de la Universidad de Surrey, ha identificado frecuentes usos espurios de la noción de lógica en antropología:

Algunos escritores utilizan "lógica" para referirse a cualquier aspecto de los pensamientos y creencias na-tivas. Lévi-Strauss, por ejemplo, titula su discusión general de la clasificación nativa "La Lógica de la Clasifi-cación Totémica". Encuentro que esto es oscurecedor. Una tribu bien puede creer que las almas de los elefantes vuelan al cielo cuando ellos mueren. Otra tribu puede creer que, aunque los elefantes no tienen alma, algunas enfermedades son ocasionadas por la mala voluntad de las almas de los elefantes. Ambas tribus tienen creen-cias particulares, pero en el segundo caso hay una peculiaridad adicional y radicalmente distinta. Parecería ra-zonable restringir el término "lógica" a esta segunda peculiaridad: la cuestión de la inconsistencia. Paradóji-camente, algunos antropólogos que han defendido al pensamiento primitivo contra cargos de ilogicidad e in-consistencia han hecho su trabajo más difícil al tomar como ejemplos putativos de lo ilógico lo que no son si-quiera casos putativos de inconsistencia en ningún sentido lógico (Cooper 1975:238-239).

Las demostraciones aportadas por Cooper son elocuentes. John Beattie, por ejemplo, toma la afirmación de los nuer que reza que "Los gemelos son aves" como caso putativo de creencia "auto-contradictoria" (1966:68). Pero aunque esta creencia nuer pueda sonar extravagante, tal como está no es más candidata a calificar como contradicción que una aserción que afirme que "Los pollos son a-ves". Debido a que es una propiedad relacional, la inconsistencia requiere por lo menos dos enuncia-dos o una proposición compuesta para manifestarse. Dice Cooper que la proposición de los nuer po-dría conducir prestamente a una contradicción si la ligáramos a otras proposiciones que nosotros reputamos verdaderas. Pero a menos que podamos adscribir estos u otros pensamientos a los nuer mismos, no es legítimo acusarlos a ellos de inconsistencia (loc. cit.). Sean cuales fueren los dilemas implicados por las creencias erróneas, no cabe confundirlos automáticamente con la falacia.

Uno de los casos más alucinantes que conocemos de vaciamiento semántico del concepto de ló-gica se encuentra en el conocido ensayo de Edmund Leach sobre comunicación y cultura. Dice Leach:

En nuestra propia sociedad occidental, alfabetizada, organizada mecánicamente, la lógica aristotélica "verdadera" se ha incrustado de tal manera en el sistema cultural que casi siempre damos por supuesto que este tipo de lógica es un componente esencial del sentido común. Sin embargo, en la práctica sólo utilizamos los principios lógicos formales en ejemplos relativamente raros, en los que tratamos de transmitir información exacta desde lejos empleando un único canal o comunicación, como cuando escribimos una carta o un libro o cuando hablamos con alguien por teléfono (1985:95).

No vale la pena entretenerse en desconstruir afirmaciones de este jaez, típicas de una concepción de la antropología incapaz de divulgar el saber científico sin distorsionarlo. La idea de que en sus co-municaciones epistolares o telefónicas los seres humanos se rigen cotidianamente por "principios lógi-cos formales" es tan poco precisa, tan poco formal, tan analíticamente vacua y acaso tan falaz que no creemos que pueda aplicarse siquiera a la correspondencia sobre cuestiones lógicas que en su mo-mento mantuvieran Russell y Whitehead.

Los antropólogos, con la honrosa excepción de los que se embarcaron -con epicentro en Inglate-rra- en las discusiones en torno a las lógicas alternativas, a la racionalidad y al neotylorismo, no han sido demasiado consecuentes en sus referencias a la lógica. Aún en esa polémica excepcional, la revi-sión de la lógica se restringía al examen de las modalidades veritativo-funcionales, y sus conclusiones establecían apenas la necesidad de agregar un par de columnas a las viejas tablas de verdad. Fuera de

Page 136: Antropologia y Programacion Logica

136

ese círculo, el término se ha usado en multitud de sentidos heterogéneos, a menudo tan figurados o ambiguos que no parecen haber sido objeto de ninguna reflexión preliminar. Por poner un caso, es di-fícil saber qué quería decir concretamente Georges Balandier cuando hablaba de "las lógicas que ope-ran en todas las sociedades, [lógicas] implicadas hasta el presente por toda vida social; y a las que, precisamente por esta razón, se las debe reconocer como antropo-lógicas" (1975:14).

Frente a este racionalismo panteísta, frente a esta usurpación que confunde la especificidad de la lógica con la generalidad de los órdenes, afirmamos que no cabe investigar ninguna lógica que no sea la propia, en su capacidad de dar cuenta de un problema que desde las coordenadas de una teoría i-gualmente reflexiva se defina como tal. Nuestros modelos no han de tener por objetivo representar, digamos, "la lógica de los nuer", construir una maqueta de un hecho cultural para jugar con ella y así redimirnos de nuestra incapacidad experimental, sino analizar las formas en que podemos dar cuenta sistemáticamente de un fenómeno, problematizar la resistencia que él opone a nuestra capacidad para comprenderlo o explicarlo. El modelo pone a prueba la consistencia de la teoría, permite reflexionar sobre sus arbitrariedades conceptuales y verifica su productividad.

No creemos ser caprichosos si concluimos que la antropología, en general, ha bastardeado el concepto de lógica. Cuando no se utilizó un instrumento de escasa cobertura (una operación algebrai-ca ocasional, perdida en un océano de thick description), o cuando no se hizo referencia a una lógica que era en realidad otra cosa, la alternativa siempre fue el eclecticismo. Benjamin Colby, típicamente, se manifestaba en deuda con "la ciencia cognoscitiva, la filosofía, la semiótica, la lingüística, [...] el análisis proposicional, el procesamiento de información, la toma de decisiones" y otras áreas más o menos básicas o aplicadas de investigación (1986:39). ¿Qué finalidad persigue esta multiplicación de acreedores, que no sea la de postergar indefinidamente el pago de las deudas contraídas? El bricolage con ruinas de discurso, evidentemente, no es prerrogativa del salvaje.

Declaraciones de principios similares se encuentran desperdigadas por toda la antropología más o menos reciente. Pero su significado cabal es muy incierto; la "lógica" que se menciona es una entidad demasiado genérica, y afirmar que se es respetuoso de sus avances o utilizar de tarde en tarde algún simbolismo emergente de ella no supone ningún compromiso epistemológico tangible, ningún ejerci-cio sistemático, y mucho menos una fundamentación. En la antropología de avanzada, la promiscui-dad de la lógica con disciplinas o especializaciones concretas (que acaso también la subsumen implíci-tamente) acaba disolviendo la identidad del rol que aquélla juega en el conjunto de una construcción metodológica. Nosotros pretendemos una fundamentación más fuerte, y ésta sólo se alcanza con un compromiso más específico. Nos hemos impuesto mirar el problema desde otro ángulo, situando esa fundamentación que ya sabemos existente o potencial en campos instrumentalmente más definidos. Para ello recuperamos, modificándola, una útil distinción elaborada por los lógicos belgas del equipo de André Thayse (1988:159):

a) La lógica puede ser vista como una técnica efectiva y directa para representar el cono-cimiento y el razonamiento que se ejerce sobre él. En este caso, se podría decir que la lógi-ca opera como una herramienta universal que puede o no ser utilizada en conjunción y complementariedad con otras herramientas.

b) La lógica su puede considerar también como una herramienta fundamental para abordar el análisis semántico del conocimiento y la validación de los razonamientos que sobre él se ejercen.

Page 137: Antropologia y Programacion Logica

137

c) Por último, la lógica se puede concebir como un formalismo de referencia contra el que se pueden comparar otros formalismos, ayudando a definir a éstos de una manera más rigu-rosa.

Ni que decir que de los múltiples roles de la lógica nos interesan todos. Tomando la caracteriza-ción antexpuesta como esquema de ordenamiento, comenzaremos por analizar el rol de la lógica como vehículo para la representación del conocimiento disciplinario.

Page 138: Antropologia y Programacion Logica

III

FORMALISMOS DE REPRESENTACIÓN DEL CONOCIMIENTO ANTROPOLÓGICO

0. Introducción

En el proceso metodológico que estamos delineando, un modelo se construye en base a un

programa lógico, al punto de identificarse con él. Un programa lógico vincula un núcleo descriptivo y un mecanismo de inferencia en una misma unidad modélica y computacional. Nada más alejado que un programa lógico de la concepción ingenua de la inteligencia artificial, la misma que prevaleciera el tiempo suficiente como para imponer su nombre al proyecto: desde el punto de vista semántico, el núcleo descriptivo de un programa lógico no es una enciclopedia del mundo, sino una descripción del conocimiento que (en este caso) un antropólogo tiene sobre determinado dominio restringido, expresado en cláusulas de un lenguaje computacional adecuado, de preferencia Prolog. El mecanis-mo de inferencia trabaja luego sobre esa descripción para verificar si determinadas hipótesis pueden derivarse o no del conocimiento inicial, para re-producir instancias posibles de los casos re-presentados o para una multitud de fines sintéticos o analíticos. Motor de inferencia y representación cognitiva no siempre son, desde luego, partes separadas de un programa; se han desarrollado es-tupendos modelos sin rastros de esa dicotomía, que en algunas instancias no es más que una heurística útil.

La descripción es un proceso no axiomático para el cual no rige una legislación irrevocable. Existe, eso sí, una creciente masa de tradición oral y de sapiencia práctica que no conviene soslayar. Lo primero es acotar el dominio. Que no sea un conjunto vacío es un requisito obvio; que no sea el universo es una decisión perspicaz. Que sea más restringido que amplio -por último- no es una e-xigencia apremiante, sino una recomendación saludable: cuanto mayor sea el rango referencial de un modelo, menor será su correspondencia con los casos particulares y su eficacia pre y posdictiva, y más enrevesado será el proceso de interpretación de los resultados que arroje.

Sorprendentemente, al incorporarse la fuerza de las máquinas las pretensiones de la ciencia se encogen, en lugar de expandirse. Edificar modelos omnicomprensivos como los que proliferan en nuestra disciplina parece sencillo en tanto uno se mantenga en el terreno de la discursividad informal; esto sucede porque las implicancias y las relaciones cruzadas que se desencadenan no están a la vista y en realidad nunca se disparan. El teorizador informal no tiene modo de percibir problemas habi-tuales, tales como la explosión combinatoria, la trivialidad, la circularidad, la generación de conse-cuencias indeseadas, el carácter impráctico que van asumiendo los procesos de cálculo lógico y la re-gresión infinita. En general, nuestra experiencia de trabajo cooperativo nos indica que la formaliza-ción de un modelo referencialmente ambicioso persuade a quien la emprende de lo resbaladizo que es el terreno de la teoría holística trascendental y lo fácil que es extraviarse cuando se vuela demasiado alto. El Prolog ha demostrado ser un espléndido y drástico inductor de reducción de escala en el de-sarrollo de la teoría y el método disciplinar.

Lo que sigue inmediatamente a la elección de un dominio empírico es la adopción de una forma de representación del conocimiento que se tiene sobre el mismo. Esta instancia poco tiene que ver

Page 139: Antropologia y Programacion Logica

139

con la expresión sintáctica de los términos, tópico que ya hemos cubierto; cuando hablamos de una forma de representación nos referimos esta vez a la semántica concerniente al objeto disciplinar, la cual comprende, por un lado, la estructura relacional que engloba a todos los hechos y reglas que participan de la descripción y, por el otro, los procedimientos de inferencia que habrán de recorrer e-sa estructura para responder a una pregunta, plantear una hipótesis, simular un proceso o realizar un diagnóstico.

Se debe decidir, entonces, cuál ha de ser la organización interna del conocimiento a describir, con vistas a la implementación ulterior de las operaciones de búsqueda y cálculo conceptual más acordes con el problema que se trata de resolver. En este punto se presentan dos alternativas, no del todo excluyentes: se puede escoger un formato ad hoc que dé cabida a la estipulación de variables que intuitivamente parezcan ser las más importantes, o se puede recurrir a un tipo más o menos consagrado de representación, incorporando toda la experiencia computacional sedimentada alrede-dor suyo en materia de heurísticas, comprobación de límites, beneficios, riesgos y efectos colaterales, algoritmos de búsqueda, estructuras de datos subsidiarias y técnicas auxiliares. La segunda alterna-tiva favorece la modularidad y la portabilidad del sistema que vaya a programarse, e incrementa las posibilidades de comunicarlo a otros estudiosos sin abundar en detalles que sólo interesan a una implementación o a una temática en particular.

Cuando decíamos, empero, que ambas modalidades de trabajo no eran excluyentes, queríamos significar más bien que toda representación, aunque no adscriba exteriormente a una forma re-conocida, responde a un esquema o a una combinación de unos pocos esquemas fundamentales, ya sea en su totalidad o en cada uno de sus segmentos heterogéneos. Pese a que ciertos bastiones pro-clives a la actitud antimetodológica han difundido recientemente la idea de que los saberes discipli-narios de la era contemporánea son extraordinariamente heterogéneos e inconmensurables (cf. Geertz 1983:147-166), lo cierto es que las estructuras subyacentes a las representaciones, emic o etic, científicas o literarias, se agotan en unos pocos tipos fundamentales. En otros términos, parece-ría ser que las formas de representación del conocimiento no son tantas, después de todo, y que la mayor parte de ellas puede encontrar cabida en nuestra disciplina, sin que sea digna de mencionarse ninguna peculiaridad global de la representación emergente del tipo de fenómenos que una ciencia blanda (como la nuestra) reclama como su objeto.

En este punto cabe subrayar que la mera existencia de una estructura de representación marca una diferencia importante entre el formalismo que aquí se propone y las teorías de modelos de la lógica, la epistemología, la antropología y la computación tradicional. En confrontación con cada uno de esos campos, esa diferencia asume un sentido específico y una forma distinta:

1) Modelos lógicos y epistemológicos. Como correlato de su carácter excesivamente abstracto, en la teoría de modelos y, en general, en la totalidad de las corrientes de la lógica pura, la lógica aplicada y la epistemología (cualquiera sea el compromiso de las diversas escuelas con la lógica estándar), no existe nada parecido a una teoría de las estructuras de representación, y mucho menos una praxis alrededor de ellas. En la lógica convencional, los elementos que participan de las analíti-cas de la inferencia o bien son abstractos, o semánticamente vacíos, o puntuales; los términos de la referencia (los "Sócrates", los "hombres" y los "mortales"), fuera de su actuación específica en el me-canismo de cálculo cuando les toca el turno, se incrustan de una manera indiferente en una masa a-morfa de inclusión de clases con respecto a la cual ni siquiera las lógicas más realistas y existenciales tienen nada que decir. Curiosamente, se ha reservado el término de "formas lógicas" para denotar diversas pautas de procesos de inferencia; con ello se afirma, implícitamente, que la forma concep-tual del universo lógico al que corresponden los términos de las ecuaciones lógicas es irrelevante. La cosa no varía cuando se habla de "lógica de clases": en ella todo se agota en la pertenencia de ele-

Page 140: Antropologia y Programacion Logica

140

mentos sin relieve a clases sin estructura. Daría la impresión de que los lógicos teoréticos han co-menzado sus construcciones por el extremo indebido, llamando "modelos" a las interpretaciones válidas de una expresión al principio abstracta, una entidad formal, platónica, en espera de su aplica-ción a las cosas del mundo.

2) Modelos antropológicos. Nuestro modelo difiere de los que se han propuesto en antropo-logía en numerosos aspectos; pero en lo que concierne a su contraste con las formas de representa-ción del conocimiento propias de los modelos inscritos en la antropología estructuralista y de los esquemas descriptivos pertenecientes a la antropología cognitiva derivada de Goodenough, es opor-tuno enfatizar una especie de quiasma o de divergencia ortogonal.

a) A diferencia de lo que sucedía en el caso de los modelos levistraussianos (en los que este particular no constituía problema alguno), en el modelo que se caracteriza en esta tesis existe algo así como una estructura de representación inherente e ineludible. En nuestra epistemología, la estructura de representación del conocimiento, más allá de que arroje o no efectos colaterales de orden técnico sobre las operaciones de inferencia, no constituye una opción susceptible de pasarse por alto, sino prácticamente un prerrequisito de la o-peración sobre el modelo. El punto de origen de un modelo de este tipo es un conjunto de hechos y de reglas que relacionan esos hechos, y es casi inevitable que ese conjunto se estructure de alguna manera. Aunque exista, desde ya, la posibilidad de implementar un modelo total o parcialmente desestructurado, o de no reflexionar acerca de la estruc-tura de una representación, las actitudes elípticas recortan la eficacia del modelo como instrumento de reflexión sobre el conocimiento disciplinar. En los modelos antropológi-cos estructuralistas y en algunas de sus reelaboraciones matemáticas, como decíamos, la estructuración de la base de conocimientos o bien no está tipificada o es irreflexiva (cf. El Guindi y Read 1979; Weil 1985). Aunque pueda sonar paradójico, es notoria la falta de una estructura representacional genuina en el discurso estructuralista. En él se dis-curre sobre estructuras, por supuesto; pero las estructuras de las que se habla son (o de-berían ser) posicionales, formales o sintácticas, sin relación alguna con las estructuras se-mánticas de los dominios modelados.

b) En relación con los modelos descriptivos de la etnociencia nos encontramos en una si-tuación diferente: en estos modelos lo único discernible es una estructura de representa-ción a la que no está asociado ningún proceso de inferencia, a excepción de una posible generalización en el interior de los casos que, por definición, no puede extenderse más allá del ámbito de un dominio particular (parentesco, terminología cromática, taxonomía natural, recetas de cocina) en una cultura dada. En otros términos, el esquema etnocien-tífico es un modelo que comienza y acaba en una descripción y que no está ligado, de he-cho, a ninguna teoría. A diferencia del nuestro, que postula la representación como for-malismo a partir del cual comenzar a operar consecuencias, el modelo etnocientífico se limita a una especificación descriptiva o a la botanización transcultural de una estructura (cf. Reynoso 1986b).

3) Modelos Computacionales. La computación convencional no pretendía representar conoci-mientos, sino cuando mucho manipular "datos". En la disponibilidad de una amplísima gama de for-malismos de representación del conocimiento radica entonces una de las diferencias esenciales entre (por ejemplo) la tecnología de la programación lógica y la de las bases de datos convencionales. Si

Page 141: Antropologia y Programacion Logica

141

bien ambas, en hipótesis, cubren un mismo campo de posibilidades relacionales en las operaciones de búsqueda, en programación lógica el ensamblado de la representación sobre la cual se ejecuta la bús-queda es infinitamente más transitable y versátil que en DBMS. Ninguna base de datos, hoy por hoy, puede incluir representaciones arboladas, listas recursivas ni listas de diferencia. La relación entre ambas tecnologías es asimétrica: todo lo que puede hacerse en un excelente DBMS se puede hacer en programación lógica, mientras que lo inverso no alcanza a ser verdad. Y por añadidura, un buen lenguaje de programación lógica posee, entre sus prestaciones procedimentales, un método de ac-ceso a estructuras de datos expresadas en DBMS o en planillas de cálculo. Es por ello que, en algún momento, incluiremos las bases de datos relacionales y las matrices como formalismos de repre-sentación a tener en cuenta.

Decíamos que los desarrollos de programación lógica en antropología exigen, desde el principio, alguna clase de representación del conocimiento, bajo la forma de un análisis de la estructura del do-minio que debe ser descripto. Ya hemos visto que es posible describir la estructura de un sistema mediante la teoría axiomática del cálculo de predicados, dado que éste es un formalismo representa-cional. Entiéndase que no es el mapeado de la realidad sobre las estructuras representacionales del modelo lo que queda garantizado axiomáticamente en lo que respecta a su consistencia, sino el conjunto de conclusiones que pueden derivarse desde la representación de los hechos en adelante. La representación del conocimiento y el desarrollo formal de una teoría están de todos modos inextri-cablemente vinculados: no hay modelo posible sin una mínima conciencia de esta ligadura.

La representación del conocimiento acerca de un dominio involucra la descripción de los as-pectos relevantes de la estructura del dominio en un lenguaje descriptivo. Una vez asertados los he-chos y las reglas que constituyen ese conocimiento, se tiene fundada la base del modelo y es posible ingresar en el ámbito de los problemas formales, en donde los términos epistemológicos conocidos adquieren otra dimensión. Se dice luego que el significado formal de una descripción es análogo a las respuestas o conductas que la estructura procesual del formalismo puede producir sobre la base de esa descripción. Aclaremos que dicho significado formal es análogo entonces al conjunto de con-secuencias de la teoría, en tanto que la estructura procesual del formalismo es análoga a un conjunto de reglas de inferencia.

Si la semántica formal de un lenguaje de computación (revisada en el capítulo II.3.2) concierne a la naturaleza de las entidades que lo conforman y al comportamiento de los programas escritos en él, la semántica de la representación del conocimiento tiene que ver ya con una interpretación disciplinar relativa a un dominio de aplicación del formalismo. Podríamos llamar a aquélla semántica de primer orden y a ésta semántica de segundo orden, situando en un solo registro conexo aspectos de la sig-nificación que hasta el día de hoy han desconcertado a los autores de obras de síntesis sobre el sig-nificado; éstos nunca han podido vincular satisfactoriamente la semántica de los lógicos con la de los lingüistas, manteniéndolas como dominios de conceptualización que sólo tienen en común su nombre (cf. Lyons 1980).

El registro semántico del segundo orden (que es el que ahora nos ocupa) es casi siempre un campo estructurado de alguna manera. Dicho de otra forma, toda representación del objeto discipli-nar posee, desde el inicio o a la larga, cierta estructura. Hoy en día los tipos y subtipos básicos para la representación del conocimiento suman un par de docenas, cómputo del que habría que descontar unos pocos casos que son más bien variantes notacionales, combinaciones, transformaciones o meta-tipos de los tipos básicos. Al fin y al cabo, existe toda una nueva disciplina (la ingeniería del conoci-

Page 142: Antropologia y Programacion Logica

142

miento1) abocada a explorar su taxonomía y su funcionalidad. Sin ánimo de ser exhaustivos, ejempli-ficaremos algunos de los tipos de representación candidatos a ser utilizados en antropología, señalan-do su espacio de actuación, sus beneficios y sus inconvenientes.

Antes de ello deberíamos dejar sentado que la elección de un tipo en detrimento de otro difícil-mente pueda prescribirse sobre una base formal, por más acotado que se encuentre el fenómeno que deba representarse. Este es un nivel de decisión hasta cierto punto subjetivo, aunque la experiencia acumulada alrededor de determinados tipos bien conocidos (y más que nada en torno de los frames) sea un factor digno de ser tenido en cuenta en el diseño de un programa inteligente.

Disciplina Estructura Ciencia Cognitiva e Ingeniería del Conocimiento Reglas de Producción Frames, Esquemas y Guiones Redes Semánticas, Grafos Conceptuales Grillas de Repertorio Lingüística, Antropología y Psicología cognitiva Listas Cadenas o complejos encadenados Series Secuencias Analógicas Arboles Claves Taxonomías Partonomías Paradigmas Tipologías Tipos-Token Prototipos Conglomerados o congeries focalizadas Ordenamientos temáticos Grupos de interacción recíproca Montón o congeries Escalas Computación Listas Arboles Matrices y arrays Representación orientada al objeto Bases de Datos Redes Neuronales

Diagrama 3.1 - Estructuras de Representación del Conocimiento

Como es sabido, se han propuesto varios tipos de representación del conocimiento, algunos de los cuales están aún a la espera de un equivalente adecuado para su nombre en lengua española: frames, redes semánticas, scripts, grafos causales, grafos existenciales, grillas de repertorio, retícu-las, objetos, actores, planes, líneas-K, reglas y, por supuesto, lógica. Uno de los problemas en esta proliferación de notaciones, señalado por Walker (1987:221), es que no se dispone de un estudio a-cabado de sus respectivas virtudes y defectos; en la medida en que cada sistema de notación reside

1 Que sepamos, la denominación de Ingeniería del Conocimiento fue acuñada por Edward Feigenbaum, quien se inspiró en la "ingeniería epistemológica" de Donald Michie. Ambos términos ganaron dominio público no antes de 1974.

Page 143: Antropologia y Programacion Logica

143

en su propia esfera de experiencias y responde a criterios e ideologías disímiles, históricamente acci-dentales, esta situación parece llamada a perdurar. Afortunadamente, la programación lógica en Pro-log ofrece una base común y una tecnología práctica como para intentar alguna vez esta compara-ción, que por el momento diferimos en beneficio de una caracterización más circunstancial.

Pero aunque la comparación formal se posponga y aunque las duplicaciones encubiertas de tipos similares hayan procurado evitarse, la que sigue es con mucho la catalogación más amplia y hete-rogénea de formas de representación del conocimiento sociocultural en programación lógica de la que tengamos noticia. Ello sucede porque hemos considerado tres fuentes de insumo: sucesivamente,

(a) Las que se han propuesto en psicología o en Ciencia cognitiva, y más tarde en ingeniería del conocimiento, por lo general en correlación con ciertas teorías sobre la memoria y la representación mental humana; en este ámbito, las estructuras propuestas se interpre-tan como organizaciones de la información.

(b) Las que se han desarrollado en las ciencias sociales semi-formales de los últimos veinte o treinta años, en particular en la semántica lingüística y en la antropología cognitiva; en estas disciplinas, las estructuras asumen la forma de organizaciones del significado.

(c) Las que resultan emergentes de la práctica computacional genérica en torno a los len-guajes, sean éstos declarativos, procedimentales, funcionales u orientados al objeto; en esta actividad, por último, las estructuras se refieren siempre a las organizaciones de los datos.

Lo importante no es evocar la anécdota de la existencia o la abundancia de los modos pautados de representación, sino someterlos a examen mientras se analiza, metalingüísticamente, la capacidad de la signatura propuesta para representarlos. Las modalidades reepresentacionales se prestarían a a-comodarse en una serie de correspondencias laxas que estructuran analógicamente distintos momen-tos, campos o niveles del proceso metodológico global. El cuadro resultante (que exponemos a título de una intuición no desarrollada) sería como sigue:

Momento Unidad Semántica Inferencia Prueba Estructuración del Predicado Cláusula Goal lenguaje Hecho Regla Pregunta Operación metodológica Estipulación de datos Organización Pruebas de teorías y casos Sistemas Expertos y KBS Base de conocimiento Motor de Inferencia Diagnosis

El cuadro anterior puede leerse en términos de gruesas correlaciones estructurales, de este tipo:

hecho : regla :: base de conocimiento : motor de inferencia :: pregunta : prueba

lo que involucra que existen correspondencias o analogías que vinculan y atraviesan respectivamente las unidades de representación, los mecanismos deductivos o paradigmas lógicos reconocidos y las operaciones de testeo de hipótesis y producción de eductos. Habría, entonces, una especie de fitness casi "natural" entre la estructura declarativa del lenguaje y el diseño conceptual del modelo. De lo que se trata ahora es de esclarecer las posibilidades de la columna marcada.

Page 144: Antropologia y Programacion Logica

144

En la caracterización siguiente de las estructuras de representación del conocimiento se super-ponen tres pruebas críticas:

(a) la estipulación de un conjunto de "hechos" o "datos" antropológicos representables de manera óptima en cada estructura indagada;

(b) la escritura de cada forma de representación en cláusulas del lenguaje Prolog;

(c) un análisis somero de la productividad propia de los distintos formalismos y de los in-convenientes que presentan, de presentar alguno.

Toda vez que esta capacidad representativa en sentido amplio nunca antes se había formulado como cuestión susceptible de examen, la adecuada respuesta que el Prolog brinda a todas estas for-mulaciones debe entenderse no como una recopilación de hechos consabidos, sino como demostra-ción de uno de nuestros ejes esenciales. Bastará agotar el repertorio de las formas semánticas de la antropología y volcarlas en sintaxis de Prolog para que una de las dudas que por costumbre se arro-jan contra los modelos formales (su asemanticidad) quede aventada para siempre. No es necesario estar de acuerdo con la estructura que hemos impuesto al conjunto clasificatorio que revisaremos; e-lla no es importante, pese a que desde el punto de vista formal pueda revestir interés para quienes buscan un (meta)lenguaje descriptivo adecuado para expresar esos fenómenos conceptuales.

Reconocer tres perspectivas separadas (pero convergentes) ha generado ciertos interesantes e-fectos de correspondencia, paralelismo, contraposición o coincidencia parcial entre los respectivos formalismos. Estos efectos insinúan quizá un nuevo concepto de interdisciplinariedad. En él subsiste la idea de una dimensión puramente formal que encoge el número de las estructuras universales, pero entretejida con cierto respeto a las especificidades históricamente dadas que vuelve a expandirlo con-forme al número de disciplinas intervinientes; y de este entrecruzamiento se desprende, a su vez, un mapa móvil y bastante complicado de las posibilidades de conmensurabilidad entre los diferentes campos del saber.

Uno de los objetivos de los siguientes apartados ha de ser redibujar el cuadro 3.1 marcando la actuación de esos efectos. Esto no es tan fácil como parece, pues las respuestas metodológicas fa-bricadas en una disciplina no siempre coinciden con las preguntas que otras disciplinas formulan. Las diferentes ciencias encuadran objetos diversos, aunque sus nombres engañosamente se repitan. Co-mo se ha subrayado alguna vez, un fenómeno tan anodino y primario como la "percepción" entraña más bien "fisiología" para ciertas ciencias, "mecanismos" para algunas otras y "conocimiento" para otras más. "Interpretación" remite en lógica a los rigores de Tarski, en antropología a las libertades de Geertz. Los foucaultianos no cabrían en su gozo, ya que para percibir las discrepancias no hace falta siquiera esperar una transición de epistemes. Pero aquí se quiere subrayar un efecto de signo contrario, como lo es el carácter representacional que comparten las estructuras (hasta hoy diver-gentes) de la información, el significado y el tratamiento de datos, y el escaso número de estructuras discernibles a despecho de la proliferación de significaciones.

Algo debe importar que la computación, pese a su desinterés innato y rotundo por las formas que asumen las hebras de significados culturalmente compartidos, se las arregle con más o menos las mismas categorías de ordenamiento que la etnociencia. Que algunos hablen de datos donde otros ven interpretaciones es cuestión de jerga, más que de genuina divergencia estructural. La computación proporcionará, llegado el momento, formas genéricas para plantear modelos y resolver problemas ló-gicos; genérico quiere decir aquí que el dominio de aplicación puede ser cualquiera, en tanto la re-presentación inicial obedezca a una determinada estructura y a condición de que esa estructura resul-

Page 145: Antropologia y Programacion Logica

145

te aceptable o "natural" para la ciencia usuaria. Y esta no es una ilusión aristotélica o cartesiana, su-peditada al cientificismo o al sesgo etic de la corriente antropológica que escojamos para demostrar-la; hay pruebas históricas, documentos y testimonios: incluso cuando se quiso abandonar para siem-pre la semántica de límites taxativos y de condiciones necesarias y suficientes (acatando exigencias que estremecieron en la misma época a todos los campos del conocimiento), ambas ciencias desa-rrollaron por separado (pero en estricto paralelismo) el mismo género de ideas: por aquí la semántica de prototipos y la filosofía wittgensteiniana de los aires de familia; por allá, los fuzzy systems y los sistemas de cálculo aproximado. Luego profundizaremos este punto.

El análisis de esos efectos sería aún más seductor en el caso de que nos decidiéramos a una ex-ploración exhaustiva; pero la nuestra no pretende serlo, ni siquiera tentada por este aliciente. La fun-ción de nuestro ordenamiento es ante todo sugestiva de un ámbito indefinido de posibilidades repre-sentacionales, y el ordenamiento mismo -como una prueba inductiva- sólo tiene el propósito (retóri-co, si se quiere) de destruir el estereotipo que proclama el "esquematismo" de las descripciones for-males y de encoger así el territorio de la imposibilidad. Hay sin duda una entropía en la propuesta de diseñar formas genéricas, capaz de acoger contenidos diversos. Pero ¿no decía acaso Weber que los modelos deben ser duros, y que conviene que atraviesen lo real oblicuamente, para no enceguecerse con la complejidad de las cosas?

1. Estructuras cognitivas de representación

El campo cognitivo del que extraemos estas caracterizaciones iniciales para homogeneizarlas y

contrastarlas posee confines difusos y cambiantes. Hace unos años se hablaba de psicología cogniti-va, hoy se ha dejado de hacerlo en beneficio de una cognición transdisciplinaria (compárese Mayer 1985 o Cohen 1983 con Norman 1987 o Gardner 1987a). Los estudiosos que han concebido los di-versos formalismos se definen algunas veces como practicantes de la ciencia cognitiva, otras como tributarios de la inteligencia artificial, otras más como especialistas en ingeniería del conocimiento. ¿Puede haber orden y formas fijas en un campo móvil, en una práctica sin siquiera nombre? ¿Es razonable buscar en una zona borrosa el meollo semántico de un formalismo que se dice axiomática-mente fundado?

Las respuestas son afirmativas. Por el momento, ni esta indefinición, ni el hecho de que otros encuadres, diferentes al ofrecido, puedan resultar eventualmente más plausibles, parecen representar un problema mayor. Lo único que motiva la separación de este tipo de estructuras de las restantes es que su convertibilidad mutua ha sido explícitamente objeto de estudio con anterioridad. Son estruc-turas de representación del conocimiento con conciencia de serlo, y no meras anatomías objetivas del "significado". Por otra parte, las estructuras que llamamos cognitivas (al igual que las computaciona-les y a diferencia de las lingüístico-antropológicas) han sido formuladas como alternativas de estruc-turación a las que se puede recurrir en todo momento, con mayor o menor adecuación conforme al asunto modelado. Su dominio es primordialmente lógico y reflexivo, antes que objetivo y empírico. Se usan para representar enfatizando el artificio a los fines analíticos, y no para pintar sintéticamente las cosas como son.

Sólo muy de tarde en tarde se ha afirmado que tal o cual fragmento de realidad posee nece-sariamente (en la cabeza de alguien, nativo o científico) la estructuración conceptual de que ellas dan cuenta, o que determinado dominio conceptual en una cultura se articule necesariamente según una estructura dada. La moraleja de las estructuras representacionales de ese campo laberíntico y obeso conformado por la inteligencia artificial, la ingeniería del conocimiento y la ciencia cognitiva, esta-blece que, en hipótesis, cualquier dominio del conocimiento se puede expresar a través de cualquier

Page 146: Antropologia y Programacion Logica

146

estructura, y que las configuraciones aparentes con que los dominios responden a la indagación son consecuencia directa de la forma en que se los interroga y de los fines que se pretenden alcanzar.

Los parágrafos siguientes exploran sucesivamente, sin pretender agotar el tópico y sin abismarse en la complejidad real de las discusiones puntuales, la posibilidad de implementar antropológi-camente reglas de producción, frames, redes semánticas, grafos conceptuales y grillas de repertorio. Advirtamos que es un tanteo provisional, no un inventario. La ciencia cognitiva conoce muchas es-tructuras más, aunque podríamos apostar que la mayoría de ellas subsume en alguna de las clases enumeradas.

a) Reglas de producción

Aunque la regla de producción sea el formalismo representacional que primero salta a la imagi-

nación cuando se piensa en transferirlo a cláusulas de programación lógica, su status en el ámbito de la ingeniería del conocimiento es hoy en día precario. Sin duda, se trata del método más elemental: las reglas de producción expresan un conocimiento granular y compuesto de meras adiciones decla-rativas, sin estructura interna.

Las reglas de producción son, junto con una base o conjunto de datos y un mecanismo de inter-pretación, uno de los componentes de los llamados Sistemas de Producción, propuestos ya por Post en la década del 40 (cf. Davis y King 1985). Las reglas de producción fueron implementadas en inte-ligencia artificial por el científico cognitivo Allen Newell, quien había visto aplicarlas a Robert Floyd en el diseño de lenguajes formales y compiladores en Carnegie-Mellon, hacia 1960. Existe una pro-funda analogía entre las reglas de producción, las cadenas de Markov de las matemáticas y las reglas de reescritura (o reglas generativas) de la gramática chomskyana.

De los sistemas expertos que se han hecho famosos, tan sólo el más antiguo, MYCIN, utiliza re-glas de producción; PROSPECTOR usa además redes asociativas particionadas, PIP implementa frames, CADUCEUS redes causales taxonómicas, CASNET redes causales asociativas y CRIB esquemas de tipo frame sobre una base de datos relacional. Pero no todo programa lógico (conviene aclararlo) está destinado a convertirse en un Sistema Experto, de modo que la escasa presencia de las reglas de producción en este ámbito no puede interpretarse como signo de su paulatina desapari-ción.

Una regla de producción en el sentido de la ingeniería del conocimiento no es necesariamente lo mismo que una "regla" en tanto estructura básica del Prolog o que una "regla" sociocultural real con-ceptualmente reflejada. Una regla en Prolog posee variables que ligan el cuerpo y la cabeza; una regla de producción puede construirse combinando variables o constantes. Los sistemas de produc-ción son, de hecho, varios años anteriores a la invención de este lenguaje, y en ellos la regla es me-nos un artificio mandatorio o prescriptivo que la descripción de un fragmento o chunk de conoci-miento. Una regla de producción puede anotarse en Prolog mediante una o más cláusulas. Por ejem-plo:

descendiente(A,D) :- progenitor(D,A). 3.1 descendiente(A,D) :- progenitor(D,P), descendiente(A,P).

O bien:

Page 147: Antropologia y Programacion Logica

147

ceramica(tipo_A) :- posee(decoracion_incisa), 3.2 posee(motivos_ornitomorfos), proviene(valles_calchaquies).

El primer par de ejemplos (3.1) es en realidad uno solo, de estructura recursiva. Dado que la forma clausal invierte las pautas secuenciales del lenguaje natural, conviene leer la regla en orden in-verso a la escritura de la cláusula y con los signos especiales ya interpretados: "si el progenitor de D es A, o si el progenitor de D es P y el descendiente de A es P, entonces el descendiente de A es D"; o bien "si una pieza posee decoración incisa y motivos ornitomorfos, y si además proviene de los Valles Calchaquíes, entonces corresponde a la cerámica tipo A". Lo que es lo mismo que decir que ejecutando ciertos procedimientos (o instanciando ciertas variables) se obtendrán ciertos resultados, o se demostrará cierta aserción.

En casi todas las máquinas de inferencia, shells o demostradores de teoremas, la acción de una regla es habitualmente más compleja de lo que trasunta la cabeza de una sola regla en Prolog; es posible que en la ejecución correspondiente a la demostración de una regla se modifiquen datos de la base de conocimiento, se escriban resultados o se ejecuten procesos variados. Dado que disparar una regla produce típicamente una situación nueva, dichas reglas se llaman reglas de producción.

Sistemas de reglas Símil longitudinal Encadenamiento hacia adelante Encadenamiento hacia atrás Símil vertical Arriba-abajo Abajo-arriba Figura latina Modus ponens Modus tollens Inferencia Deducción Abducción Orientación Por los hechos Por las hipótesis

Diagrama 3.2 - Sistemas de Reglas

Es posible definir un programa eficiente que consista en unos pocos hechos incondicionales y en una discreta constelación informal de reglas. Cuando las reglas se acumulan, se reenvían e inter-vinculan, definen una estructura de inferencia, ejecución o encadenamiento. Las reglas están asocia-das a dos modalidades de ejecutar el proceso de inferencia, que ordinariamente se caracterizan como "encadenamiento hacia adelante" (forward chaining) y "encadenamiento hacia atrás" (backward chaining).

En los sistemas de razonamiento hacia adelante, dirigidos por el antecedente o down-top, las reglas de deducción se aplican a los hechos y las reglas para producir un nuevo conocimiento, finali-zando la ejecución del algoritmo cuando se obtiene la fórmula buscada o todas las fórmulas posibles. Para realizar encadenamiento hacia adelante, el sistema se asegura que se han establecido todas las premisas de una regla, y luego considera que la conclusión puede sostenerse. Este encadenamiento constituye un proceso deductivo en sentido estricto. Consecuentemente, se puede redefinir un siste-ma de razonamiento hacia adelante como una máquina de inferencia que comienza trabajando con hechos y se dirige a averiguar sus consecuencias.

Un sistema de deducción de este tipo se puede interpretar como una aplicación controlada del teorema de deducción hacia adelante (Thayse 1988:123), que reza como sigue:

Dadas las expresiones lógicas F1, ..., Fn y G, se dice que la expresión G es una consecuencia lógica de F1, ..., Fn si la expresión lógica ((F1, ..., Fn) & G) es falsa o inconsistente.

Page 148: Antropologia y Programacion Logica

148

El paradigma del encadenamiento hacia adelante parecería ser el de una especie de búsqueda a ciegas, pero esto no es por completo fidedigno, ya que en el uso corriente se utilizan numerosas heurísticas de restricción, cuyas relaciones con estas reglas han sido particularmente bien estudiadas.

Un sistema con encadenamiento hacia atrás o top-down, por el contrario, comienza con un objetivo (al que se trata como si fuera una hipótesis) y luego busca hechos que lo confirmen. En este encadenamiento, el sistema trata la conclusión de una regla como un objetivo (goal) a ser estable-cido, y se impone a sí mismo el sub-objetivo de establecer cada una de las premisas de la regla; este sub-objetivo puede a su vez originar otros; pero en una inferencia con encadenamiento hacia atrás exitosa, algunos goals coincidirán eventualmente con hechos conocidos. De esta forma, los valores resultantes parciales se pasan a partir de los hechos y a través de diversos niveles de reglas, hasta llegar al goal original.

Dicho de otra manera, en los sistemas con encadenamiento hacia atrás las reglas de deducción se aplican al objetivo y a las reglas para producir sub-objetivos nuevos; la ejecución del algoritmo fi-naliza cuando todos estos sub-objetivos corresponden a hechos. A diferencia de la modalidad ante-rior, este encadenamiento encarna fundamentalmente un proceso de abducción. Aunque este proce-dimiento se ha reputado propio de la mente humana y arquetípico de la imaginación intuitiva o estéti-ca, el Prolog en su forma nativa trabaja naturalmente según este principio. El pequeño sistema exper-to incluido en los apéndices ejemplifica el uso de reglas de producción con encadenamiento hacia a-trás como método de demostración.

Desde un punto de vista lógico, los sistemas de deducción de esta clase se pueden interpretar como una aplicación controlada del teorema de deducción hacia atrás (Thayse 1988:124) que reza como sigue:

Dadas las expresiones lógicas F1, ..., Fn y G, se dice que la expresión G es una consecuencia lógica de F1, ..., Fn si la expresión lógica (F1, ..., Fn & G) es verdadera o válida.

Los sistemas de razonamiento hacia adelante y hacia atrás son, como se ha dicho, opuestos. Aunque el segundo es el más afín a la naturaleza de la máquina de inferencia del Prolog y el que en-caja más de cerca con las estrategias heurísticas de las tendencias contemporáneas en inteligencia ar-tificial, la elección de una forma de razonamiento en lugar de otra depende de la naturaleza y la am-plitud del problema. Es pragmáticamente posible y lógicamente correcto utilizar una combinación de ambas estrategias, o servirse de meta-reglas que establezcan cuál es la más adecuada en determinado contexto.

Los sistemas de razonamiento hacia atrás y hacia adelante, asimismo, pueden estar compuestos de otras figuras representacionales aparte de las reglas de producción, aunque ha sido pensando en ellas que se los ha caracterizado. A la inversa, es posible "leer" el contenido de un programa cual-quiera como un conjunto de reglas de producción que responden a una u otra estrategia, aún cuando el formalismo específico para la representación del conocimiento no sean reglas sino, por ejemplo, frames o redes semánticas. Lo que es lo mismo, podríamos decir que, de todos los formalismos de representación del conocimiento que se han definido, las reglas de producción constituyen el de nivel de generalidad más bajo, conformando una especie de grado cero de la estructuración en la que ésta coincide con y se limita a una estrategia de tratamiento. Aunque existe la posibilidad de expresar to-do el conocimiento relativo a un dominio en forma de reglas, fundiendo de alguna manera la repre-sentación y los algoritmos de procesamiento, es bastante común que las reglas constituyan un nivel aparte, basado en una representación precedente de hechos puros. La cláusula 3.1, que establece el

Page 149: Antropologia y Programacion Logica

149

cálculo de la descendencia, corresponde a este tipo, en tanto que la 3.2, que describe un estilo cerá-mico, incorpora valores constantes en la expresión condicional.

El uso de reglas como forma de representación trae aparejados ciertos efectos que dependen de la textura y complejidad del dominio empírico y de su articulación teorética. En determinados casos, el orden en que el intérprete considera cada una de las soluciones potenciales pudiera ser pertinente e incluso crítico. En el estado actual de la tecnología de PC, la máquina de inferencia no puede con-siderar todas las reglas simultáneamente. El proceso de escoger qué reglas deben procesarse primero se conoce como resolución de conflictos [conflict resolution]; este elemento de juicio pragmático es tan esencial que podría decirse que forma parte inseparable de la experiencia computacional en torno de los sistemas de conocimientos basados en reglas.

Si consideramos que un sistema basado en reglas constituye el paradigma de la programación declarativa, podríamos decir que un programa diseñado según sus principios (que típicamente inclu-ye escasa información sobre el orden en que se dispararán las reglas durante el proceso de cómputo) posee alta transparencia, pero exhibe escasa visibilidad de conducta. Una regla es transparente por-que su significado, contenido en el interior de la regla misma, es independiente de su ubicación en u-na base de datos. Que su visibilidad sea pobre significa que el orden en que se ha de procesar una re-gla no es de inmediato evidente a través de una lectura casual (cf. Davis y King 1977; Pedersen 1989). Naturalmente, un programa procedimental común en un lenguaje clásico exhibe las virtudes y defectos complementarios: máxima visibilidad y mínima transparencia.

En una modelización de un fenómeno o proceso del mundo real, lo habitual es que las reglas de producción engranen con otras modalidades más envolventes. En general se ha reconocido que existen dos formas de materializar este encaje: estructurando las reglas primarias mediante reglas de mayor abarcatividad para formar un esquema jerárquico o utilizando meta-reglas que establecen se-cuencias o estrategias de decisión. Una tercera alternativa sería la de transformar reglas primarias de producción en formas de articulación más complejas o específicas de cada dominio. La bibliografía asequible abunda en ejemplos (cf. Davis y Buchanan 1985); nuestro sistema experto AGENI3.PRO incorpora metarreglas y rutinas para transformar reglas en frames.

b) Frames

Si el número de reglas de producción que conforman una descripción es moderado, no hay

mayores problemas; pero en el caso de los sistemas de conocimiento de cierta magnitud, las reglas pronto se vuelven incontrolables, por más que se implementen estrategias de encadenamiento hacia atrás o heurísticas que minimicen el espacio de búsqueda y la profundidad de la exploración. A pesar de que el cálculo está a cargo de una máquina especializada y veloz, la acumulación de unos pocos centenares de reglas torna inmanejable a cualquier motor de inferencia. Un buen sistema de represen-tación del conocimiento se caracteriza por una forma sucinta de notación y un mecanismo implícito para que sus diversos aspectos se puedan modificar a voluntad y comparar sobre un criterio preesta-blecido. Y las reglas, si bien sirven con eficacia a determinados propósitos, no constituyen un sistema óptimo, pues su estructura interna prácticamente es nula.

Page 150: Antropologia y Programacion Logica

150

Entre las alternativas que se han propuesto se destacan los "marcos" o frames2. En rigor, los frames son uno de los mejores sistemas de representación que se conocen, y aunque muchos antro-pólogos no lo tengan claro, constituyen también una entidad en la que convergen sin saberlo los for-malistas más acérrimos, los partidarios de la linguística emic, los relativistas culturales y los feno-menólogos (cf. Kenneth Pike 1954; Metzger y Williams 1966; Goffman 1974; Bateson 1985; Minsky 1986). El frame es también una forma de representación muy general, que puede servir de vehículo para la expresión de taxonomías, partonomías, secuencias de producción, prototipos y congeries de diverso orden y de variada atmósfera de denotación.

El contexto de descubrimiento de esta modalidad representacional es nada menos que el de una reacción histórica de las facciones humanistas de la inteligencia artificial en contra de los modos mecánicos, acontextuales y planares que reducían el conocimiento a datos, hechos objetivados o in-formación abstracta. Los frames y otros muchos constructos conexionistas de la misma naturaleza, como las líneas-K de Minsky, las estructuras beta de Moore y Newell, los scripts de Schank y Abel-son, los esquemas de Bobrow y Norman, las perspectivas de Bobrow y Winograd y los memory organizing packets de Roger Schank responden a la necesidad de crear formas representativas que reproduzcan la sutileza y la abundancia de matices propias del pensamiento y el lenguaje humano en la vida real (cf. Moore y Newell 1973; Minsky 1975; Schank y Abelson 1987; Bobrow y Norman 1975; Bobrow y Winograd 1977; Minsky 1987; Schank 1987).

Formalismo Autor Año Dependencia conceptual D.G. Hays 1964 Roger Schank 1969 Estructuras Beta James Moore y Allen Newell 1973 Frames Marvin Minsky 1975 Esquemas Daniel Bobrow y Donald Norman 1975 Scripts (guiones) Roger Schank y Robert Abelson 1977 Planes Roger Schank y Robert Abelson 1977 Prototipos, Perspectivas Daniel Bobrow y Terry Winograd 1977 Líneas-K Marvin Minsky 1981 Paquetes de organizaciónde la Memoria (MOPs)

Roger Schank 1981

Diagrama 3.3 - Estructuras de Tipo Frame

Un frame es, en cierta acepción, un estereotipo, un arquetipo, un esquema mental, un lugar co-mún o, como diría Alfred Schutz, una tipificación. Husserl, insospechable de tecnicismo deshumani-zante, hablaba de noemata, y Bartlett denominó schemata a constructos similares. Para algunos psi-cólogos cognitivos un frame es un modelo de la mente que posee "realidad psicológica", vale decir, una descripción de estructuras, funciones, almacenes de memoria o estados mentales. El ser humano, según esta perspectiva, descansa en un enorme cuerpo de conocimiento implícito, de transmisión y modulación cultural, que utiliza para interpretar las situaciones de la vida diaria. Pero el uso de este concepto en inteligencia artificial no presupone la aceptación de esos supuestos ontológicos: a nues-tros fines, sólo basta que el frame sea un medio adecuado de representación.

2 Se ha propuesto el empleo de "marco" como equivalente en español de frame (p.ej. Hernández y Pazos Sierras 1988). Pero este último uso es tan frecuente en la literatura especializada que por ahora preferimos dejarlo así.

Page 151: Antropologia y Programacion Logica

151

Los frames son estructuras de representación que proporcionan formas de organizar datos acer-ca de objetos, acciones o sucesos en una jerarquía. Un caso particular pertenece a una clase de fe-nómenos; ésto es trivial. Una vez que caracterizamos un animal como "perro", asumimos una serie de atributos que posee un perro como miembro de una clase mayor que lo engloba: tiene cuatro pa-tas, pelo y esqueleto interno, es mamífero, se reproduce de determinada manera, casi siempre ladra. Si el ejemplo apesta a sentido común, es porque se trata de eso; la ciencia tiene otros recursos, a veces axiomáticos, que no son los que se pretende caracterizar aquí. Pues bien, en terminología de inteligencia artificial, un perro en particular hereda una propiedad (tener cuatro patas, etc) por el hecho de pertenecer a la clase "perro"; esta clase a su vez posee automáticamente ciertas caracterís-ticas que dependen de los niveles superordinados (ser mamífero, poseer esqueleto interno, ser multi-celular), y así sucesivamente hasta el tope de la jerarquía de las clases.

Un ejemplar posee todos los atributos de su clase (o en sistemas no jerárquicos, de su "arque-tipo" o "prototipo") a menos que se estipule lo contrario. Estos atributos tienen, además, una serie de valores posibles. Si un aspecto en un frame no está explícitamente estipulado, el frame heredará el valor por defecto (default value) del frame con respecto al cual esté subordinado o de su forma prototípica: si en el mundo del sentido común, de la interacción cotidiana y de la actitud natural alguien pide un vaso de agua, supongamos, se asume que el agua debe ser potable, que debe estar en estado líquido y que no debe ser ni destilada ni oxigenada.

De más está decir que un formalismo de este tipo no es reflejo inmediato de una realidad, sino una construcción que le atañe, y que tanto podría responder a una sistemática etic epistemológi-camente refinada como a una forma emic de ordenar el mundo. En antropología se han utilizado conceptos análogos al frame en numerosas ocasiones, eventualmente bajo el rótulo de "esquemas culturales" (cultural schemata) y casi siempre en modelos que nunca experimentaron tratamiento y verificación en una máquina (Basso 1967; Rice 1980; Frake 1981; Agar 1982; Casson 1983). En su versión originaria (Minsky 1975), un frame era una forma de representar una situación, un cons-tructo cultural, una convención. Cada frame posee slots (literalmente "ranuras" o "cavidades") que identifican esa situación o que especifican los parámetros de una situación particular.

Un frame es una estructura de datos para representar una situación estereotipada, como estar en cierta clase de habitación, o ir a una fiesta infantil de cumpleaños. Asociadas a cada frame hay diversas clases de información. Parte de esta información se refiere al uso del propio frame. Otra parte se refiere a lo que puede esperarse que suceda después. Otra se refiere a lo que hay que hacer si estas expectativas no se confirman (Minsky 1981).

Los frames facilitan la identificación taxonómica y la comparación entre casos, tanto al hombre de la calle en su actividad vulgar como al científico en las operaciones comparativas formales. Podría decirse que los archivos de la HRAF en la Universidad de Yale son un gigantesco frame, con otros frames anidados: cada sociedad consiste en una serie de slots que los antropólogos llaman "com-ponentes" o "categorías culturales" (economía de subsistencia, organización comunitaria, religión, sistema de parentesco, organización política); en cada caso esos slots asumen valores cambiantes. En un análisis comparativo concreto, algunas variables poseen valores tan constantes que no se tienen en cuenta, se "simplifican" (como en las ecuaciones aritméticas) o se dan por descontadas; otras (la poliandria, por ejemplo) sólo se mencionan allí donde excepcionalmente se manifiestan, de modo que si no se especifican se asume que no ocurren, o que el valor de la variable MATRIMONIO en ese ejemplar es "neutro" o "normal", por el efecto de herencia respecto del arquetipo o frame supraor-dinado del que dependen.

A su vez, los slots de un frame pueden contener procedimientos que se activan para calcular el valor numérico de un atributo, o bien reglas de producción incorporadas que activan un procedi-

Page 152: Antropologia y Programacion Logica

152

miento para averiguar un valor. Al contrario de los sistemas de reglas, que se pueden amontonar y resultar confusos y contradictorios, en un frame el orden es parte inherente de la base de conoci-mientos.

El lenguaje Prolog es especialmente adecuado para la estipulación de frames; sus estructuras de datos, en particular las listas y los árboles, se prestan espléndidamente para el anidamiento y la recursión características de los frames, y los procedimientos permiten representar de una manera muy transparente el proceso de inclusión y la herencia de atributos. Una serie de artículos en revistas especializadas ilustran esta prestación con toda claridad (Jay y Knaus 1989; Floyd, 1988). A ellos remitimos para probar este punto, no sin antes ejemplificar un frame para la estructuración de histo-rias tradicionales operacionalizado por la antropóloga Elizabeth Rice (1980), de la Universidad de Arizona, reminiscente de nuestra propia modelización del análisis eidocrónico de Benjamin Colby. Cuando sus slots se instancian con contenidos concretos, el esquema de Rice corresponde a una clase específica de frame que se denomina guión o script:

relato(A,B,C) :- situacion_inicial(A,B), episodio(C,D), conclusion(E). situacion_inicial(A,B) :- escenario(A), tema(B). episodio(C,D) :- problema(C), resolucion(D). escenario("tiempo, lugar, protagonista"). tema("situacion motivadora"). problema("suceso"). resolucion("accion, consecuencia").

El modelo, naturalmente, está considerablemente estilizado y sólo intenta demostrar la natu-raleza jerárquica del conjunto. Los literales establecidos como "hechos" de Prolog pueden remitir a estructuras anidadas adicionales con opciones múltiples, o a una especificación de los contenidos po-sibles. La puesta en marcha de un programa que utilizara un frame de este tipo no sólo nos permitiría deslindar la estructura del educto, sino simular el proceso diagramado mediante reglas que, por su estructura pautada y jerárquica, devienen frames.

Uno de los máximos especialistas reconocidos en Prolog, Rodger Knaus, quien alguna vez fuera colaborador de Benjamin Colby en las primeras experiencias computacionales de la antropología, está desarrollando desde hace algunos años formas de expresar frames en dicho lenguaje (cf. Jay y Knaus 1989). Knaus utiliza un operador específico para definir frames, aunque ello no es estricta-mente preciso. Nosotros hemos estructurado como frames los predicados en que se describen los e-lementos en los sistemas de análisis de representaciones plásticas que acompañan a esta tesis, apro-vechando la tipificación exigida por el dialecto Turbo Prolog como operador inherente, tal como se muestra en el ejemplo adjunto.

domains % ejemplo abreviado 3.3 pieza = integer franja = integer ident_hilera, espacio, forma = symbol modo_articulacion, descrip, unidad_morfologica = string lista = string* franjas = franja*

Page 153: Antropologia y Programacion Logica

153

hilera = pares(unidad_morfologica, modo_articulacion) predicates cd(string,lista) espacio(pieza, forma) especif(pieza, franja, ident_hilera, franja, ident_hilera, unidad_morfologica, modo_articulacion) especfr(pieza, franja, franja, modo_articulacion). for(symbol,string) franjas(pieza,franjas) mod(modo_articulacion, descrip) pares(pieza, franja, ident_hilera, unidad_morfologica, modo_articulacion) uf(unidad_morfologica, descrip) clauses % Modos de articulación: mod("1","identidad"). mod("2a","traslación horizontal"). % mod("6","extensión"). mod("99","no articulado"). % Unidades morfológicas: uf("1a","triángulo simple equilátero"). uf("1b","triángulo isósceles"). uf("1c","triángulo rectángulo"). % uf("56","líneas oblicuas c/apéndices trianguliformes"). uf("72","líneas puntuadas"). for(forma_1,"Media calabaza"). for(forma_2,"Esferiforme"). for(forma_3,"Botelliforme"). % Correlaciones descriptivas: % cd("unidades morfológicas simples",[...]). cd("triángulos simples",["1a","1b","1c","1d","1e","1f","1g"]). % Descripciones de piezas: espacio(1,forma_1). espacio(29,forma_1). franjas(1,[1]). franjas(29,[1, 2, 3, 4]). pares(1,1, superior,"4a","2"). pares(1,1, inferior,"4a","2").

Page 154: Antropologia y Programacion Logica

154

pares(29,1,inferior,"1d","2a"). pares(29,2,superior,"1a","2a"). pares(29,2,intermedia,"24","99"). pares(29,4,superior,"1a","2a"). pares(29,4,inferior,"1a","2a"). especif(1, 1, superior, 1, inferior, "4a","3"). especif(29, 2, superior, 2, inferior, "1a","3"). especif(29, 3, superior, 3, inferior, "1a","3"). especif(29, 4, superior, 4, inferior, "1a","3"). especfr(29, 2, 3, "5"). especfr(29, 3, 4, "4").

El ejemplo anterior corresponde a la estructura de representación de un conjunto de calabazas

pirograbadas prehispánicas de la Puna Centro-Oriental (provincia de Jujuy, Argentina) conforme a la descripción inicial de la lic. María Isabel Hernández Llosas, investigadora del CONICET. La codi-ficación resultante no comporta una simplificación de los datos originales, sino que traduce con naturalidad conceptos ya presentes en la formulación originaria (Hernández Llosas s/f), la cual ofrece una semblanza descriptiva homogéneamente parametrizada, al punto que no ha hecho falta prever valores asignados por defecto.

Los predicados binarios uf y mod sintetizan las claves de codificación de las unidades morfoló-gicas y los modos de articulación presentes en su decoración. El frame descriptor propiamente dicho se articula encadenando jerárquicamente los slots espacio, franjas, pares, especif y especifr, que de-notan en ese mismo orden el número y forma global de la pieza, el número de franjas de cada una, los motivos y la articulación de cada hilera y relaciones analíticas adicionales entre diversas franjas e hileras. El predicado cd insinúa aspectos complementarios de la jerarquización de los datos, a efectos de llegar a correlaciones analíticas de carácter más general. La herencia entre los niveles más altos y los más puntuales es, en general, una regla de inferencia tan débil como lo han querido los que in-ventaron la estructura: los detalles están subordinados al conjunto, sin que la existencia de conjuntos (aquí franjas o pares) implique necesariamente que siempre se dará el caso de subordinación.

Es notoria la adecuación del frame para ordenar información ampliamente variable, como la relativa a estas calabazas: nótese que una pieza simple no deja casilleros vacíos ni desperdicia alma-cenamiento en la computadora, mientras que un ejemplar complejo admite incrustaciones recursivas hasta el nivel de detalle que haga falta. Tanto las piezas sencillas como las complicadas conservan la suficiente comparabilidad como para que sea posible abstraer regularidades significativas por poco que la dimensión de la muestra justifique hacerlo. Ni que decir tiene que el objeto empírico del frame no necesita afinidad tipológica con un tiesto: existen frames para tratar de secuencias de aconteci-mientos (en cuyo caso se habla de scripts) o para pautar normas de conducta (y aquí caben todas las reglas y cláusulas de la etnometodología). La jerarquía de los frames se puede recorrer hacia aden-tro, afuera, arriba y abajo, definiendo archi o microestructuras que pueden tratarse como frames incrustados o bajo la forma de otros órdenes, y en especial redes; Minsky sugiere una tipificación profusa (polinemas, líneas de conexión, transmarcos, micronemas, pronomos, isonomos, paranomos, agencias, transmarcos, unimarcos) y una semántica integrada que prometemos recorrer algún día (cf. Minsky 1986).

Otras formas posibles de representación mediante frames pueden encontrarse en los textos elementales de Prolog (cf. Malpas 1987; Rowe 1988; Weiskamp y Hengl 1988). Según todos los in-dicios, la nuestra constituye, sin embargo, la primera implementación antropológica del concepto a

Page 155: Antropologia y Programacion Logica

155

nivel de la programación de un sistema. Por lo demás, casi todos los frames a los que se hacen refe-rencia en la literatura computacional son de carácter técnico y abstracto, y están incorporados a ar-tículos programáticos en los que es más frecuente leer promesas sobre las bondades de la estructura que demostraciones empíricas de su versatilidad. Los frames han poblado la literatura antropológica de orientación neocognitiva de los años 70, al uso de los colaboradores compulsivos de American Ethnologist; pero su adopción no se hizo carne en la disciplina debido a la volatilidad conceptual de las teorías que hicieron uso de ellos y a la frivolidad epistemológica con que, de Lévi-Strauss en más, los antropólogos afrontamos el diseño de modelos. Los énfasis simbolistas tuvieron siempre prece-dencia, en detrimento de la documentación de los programas y de los detalles técnicos de los desa-rrollos, protocolos sin los cuales los frames son cháchara. La plena elaboración de representaciones mediantes frames por parte de los antropólogos para modelar su propio conocimiento o el de los su-jetos que se estudian aún es meramente un proyecto.

Es preciso documentar también que ha habido cierta oposición al concepto de frames; cuatro años después del trabajo inaugural de Minsky, Hayes (1979), en un ensayo brillante y de fastuoso estilo, analizó los logros de sus implementaciones y los pliegues de sus supuestos lógicos, llegando a conclusiones más bien negativas. Hayes desarrolla su discusión examinando tres concepciones distin-tas de esta modalidad:

(1) Los frames como lenguaje formal para la representación del conocimiento, comparable a (digamos) el cálculo de predicados.

(2) Los frames como sistemas que presuponen la representación de cierto tipo de conoci-miento (esta sería la que Hayes denomina "interpretación metafísica").

(3) Los frames como un método de implementación computacional para la organización de la memoria, recuperación de información e inferencia. Esta última vendría a ser la con-cepción "heurística".

Hayes considera, tras una nutrida ejemplificación, que los frames constituyen sólo una sintaxis alternativa a la lógica de predicados, por cuanto en general expresan relaciones entre individuos ló-gicos. Pero aunque los significados parecen ser los mismos, las conclusiones que habitualmente se derivan del uso de frames son diferentes a aquellas sancionadas por la lógica, y que se refieren siem-pre a mecanismos de inferencia. Hayes anota como factores negativos la falta de reglas de inferencia deductivamente fundadas, la imposibilidad de distinguir entre metáforas ("meras caricaturas") por un lado y aserciones reales por el otro, y la falta de monotonía (en el sentido lógico) suscitada por la no-ción de valores por defecto3. Los estudiosos han respondido a las críticas de Hayes con enorme contundencia, y puede decirse que más allá de esta polémica, que nada tuvo de colateral, la popula-ridad del método sigue aún hoy en ascenso. Israel (1983) demolió las distinciones y confusiones de Hayes entre representación y razonamiento, estableciendo que el uso de una representación no com-promete con ningún mecanismo particular de inferencia; Etherington y Reiter (1983) enfatizaron la relación entre el uso de representaciones estereotípicas y los sistemas de lógica no-monotónicos, cuestionando el propio compromiso de Hayes con la lógica monótona del primer orden. El éxito de los frames, además, se demostró andando, optimizando innúmeras bases de conocimientos antes ex-presadas en reglas de producción sin estructurar y mejorando la eficacia de los sistemas (Ringland 1988:99). El artículo de Hayes, empero, es signo de un desvío saludable ante la aceptación a veces

3 El concepto de lógica no monotónica se desarrolla en la cuarta sección de la Tesis.

Page 156: Antropologia y Programacion Logica

156

mecánica que suscitan ideas que, como la fenomenología que quiérase o no que subyace al frame, se basan a menudo en un cuestionamiento demasiado genérico de los modos lógicos estándar y en un examen insuficiente de algunos de sus propios resortes.

c) Redes semánticas

Desde el estructuralismo a la etnociencia, los modelos antropológicos convencionales recu-

rrieron con frecuencia a la graficación analógica de determinadas ideas, fenómenos y representacio-nes. Este grafismo es sumamente variado, y recorre desde los árboles chomskyanos de Colby a las matrices multidimensionales de Osgood, pasando por todas las posibilidades intermedias. A esta variedad subyace una constante: en ninguno de los ejemplos consultados existe un nexo formal e invariante entre la estructura gráfica de la representación y la estructura conceptual o empírica repre-sentada.

Los textos formalistas de la antropología contemporánea están atestados de esquemas gráficos; pero la forma en que el grafismo contribuye a esclarecer una idea compleja (si es que efectivamente lo hace) ha permanecido en gran parte sin examinar. Se recurre al dibujo que sea para trasuntar la idea que corresponda, dando por descontado que la grafía aporta un suplemento didáctico, por fun-darse en un código (no analizado, e implícitamente no analizable) que presuntamente comparten au-tor y lector. En contadas ocasiones, es cierto, el autor proporciona una tabla de correspondencias para posibilitar una trascodificación entre lo graficado y lo conceptual; pero las correspondencias cambian de un dibujo a otro, aún dentro de los mismos conjuntos de argumentaciones. Para cada ar-gumento, se nos obliga a aprender de nuevo las convenciones de un código tortuoso y a veces o-culto.

Tal como la concebimos e integramos, la programación lógica inaugura nuevas posibilidades de trascodificación al romper con el precepto que afirma que las representaciones analógicas o estéticas no admiten regirse por un código susceptible de explicitarse. Al lado de las formas convencionales de representación conceptual, están disponibles numerosas técnicas gráficas, conocidas genéricamente como redes. No hay que confundir las redes representacionales con el análisis de redes, desarrollado en ciertas áreas de las ciencias sociales, y a su vez fundado en una amplia apropiación de la teoría matemática de grafos (cf. Boissevain 1973). De este último nos ocuparemos en el primer estudio de casos. Las primeras constituyen en realidad una amplia familia de representaciones gráficas del cono-cimiento, cuyos miembros más conspicuos son las redes semánticas (o asociativas) y los grafos conceptuales.

Se dice que las redes semánticas tienen su origen en Aristóteles, y en particular en sus ideas en torno del asociacionismo (la conducta está reglada por asociaciones aprendidas entre conceptos) y del reduccionismo (los conceptos se hallan constituidos por otros conceptos más elementales). Com-putacionalmente hablando, la historia de las redes se remonta a diversas experiencias con grafos con-ceptuales aplicados al problema de la traducción mecánica de textos, en los años 50 y 60. Los sis-temas más elaborados de aquel entonces fueron las redes correlacionales de Silvio Ceccato (1961) y las redes semánticas de Margaret Masterman (1961), la reputada crítica de la epistemología kuhnia-na. Quillian (1966) propuso el primer sistema de computación importante que utilizó redes semánti-cas como modelo de la memoria, y desde allí en más se elaboraron muchísimos prototipos que exhi-ben escasos puntos en común. Roger Schank y sus colaboradores desarrollaron grafos de dependen-cia conceptual para el tratamiento de insumos en lengua natural y para la mecanización de razona-mientos. Hacia fines de los 70, cuando Nicholas Findler (1979) editó un variado conjunto de artí-

Page 157: Antropologia y Programacion Logica

157

culos a ese respecto, las implementaciones de grafos conceptuales ya eran innumerables (cf. Mac Randal 1988).

Este ha sido desde siempre un campo en el que la teoría nunca estuvo a la altura de la práctica; o mejor dicho, como lo han advertido Woods (1975), McDermott, Israel y Brachman (1981) y John Sowa (1984), una actividad en la que las cuestiones lógicas y filosóficas subyacentes han sido abor-dadas con cierta negligencia. Aquí atacamos frontalmente dichas cuestiones, en relación con la posi-bilidad de la implementación antropológica de estos formalismos en el curso de elaboración de un modelo. Así como los diagramas de flujo que poblaban los libros antiguos de computación consti-tuían la dimensión visual de los programas procedimentales, sugerimos considerar en lo sucesivo que redes y grafos constituyen la versión gráfica o el correlato visual del cálculo de predicados o de las diversas lógicas que ésta se halla en condiciones de represemtar.

Los miembros más básicos del conjunto son los grafos conceptuales. Si tomamos el cálculo de predicados como entidad representacional de orden más bajo, podemos decir que los grafos concep-tuales reemplazan los nombres de predicado, respectivamente, por dos distintas clases de nodo, con arcos que ligan nodos de distintos tipos. Cada grafo conceptual corresponde a una aserción lógica singular.

ENGULLE

CUCHILLO

AG OBJ

INST PAR

PERSONA COCO

CASCARAMAT

Diagrama 3.4 - Grafo Conceptual con un ciclo "Una persona engulle coco con un cuchillo

hecho de cáscara de coro"

Las redes semánticas son mucho más abarcativas que los grafos semánticos; representan una colección de fórmulas, ilustran sus conexiones mutuas y las incluyen en un dominio de discurso. Los teóricos han subrayado que mientras las redes semánticas son útiles a nivel descriptivo porque repre-sentan una especie de retrato estructural de un conjunto de hechos, por el otro lado también ilustran algunas de las estructuras utilizadas en las implementaciones computacionales del cálculo de predi-cados (Thayse 1988:125).

En una red semántica o red asociativa, las entidades y clases de entidades se identifican entonces mediante nodos, y las relaciones entre entidades se identifican mediante arcos que unen esos nodos. Al igual que en la notación con cláusulas de Horn, un arco conectado a un solo nodo establece una propiedad o atributo de ese nodo (cf. Findler 1979). Los nodos representan términos (nombres de relaciones físicas, situaciones, lugares, procesos, eventos, relaciones n-arias) y los arcos denotan relaciones binarias o argumentos de relaciones n-arias, para todo n igual o mayor que 2.

Un ejemplo nítido de red semántica lo tenemos en las preguntas, encadenamientos conceptuales e interlinkages propios de la etnociencia:

¿Para qué se usa X? ¿Qué clase de X es esto?

Page 158: Antropologia y Programacion Logica

158

¿Qué clases de X hay? ¿Qué es este ingrediente de X? ¿Cuáles son todos los ingredientes de X? ¿Cuáles son las partes de componen X?

En el momento más tormentoso del desarrollo de la antropología cognitiva, este tipo de re-presentación del conocimiento caracterizaba, sin que los interesados lo advirtieran, casi toda la elici-tación de dominios etnosemánticos. Lo que sigue es un fragmento de nuestra reescritura de una red semántica provista por Charles Frake (1965:142) para describir una fase de la selección de ingredien-tes para preparar bebidas fermentadas entre los subanum de Filipinas, expresada en hechos y cláusu-las de Prolog. La representación original era como sigue:

mamaqen gayu buna (2)e/u p/e

'mascada de betel' 'árbol' 'fruto'

buna (3) buna (1) buna (4)

i/u e/u e/u

'constituyente' 'palma de areca' 'nuez de areca'

e/g

buna (5)'nuez de areca'

Diagrama 3.4 - Red semántica

Lo cual en Prolog se expresaría aproximadamente así:

elemento_uso(arbol,mascar_betel). 3.4 elemento_uso(palma_areca,ingrediente_tipo_mascada). especie_uso(nuez_areca,ingrediente_tipo_mascada). ingrediente_uso(ingrediente_tipo_mascada,mascar_betel). parte_elemento(fruto,arbol). parte_elemento(nuez_areca,palma_areca). especie_genero(arbol,palma_areca). especie_genero(fruto,nuez_areca). es_un(A,B) :- especie_genero(B,A). parte_de(A,B) :- parte_elemento(A,B); ingrediente_uso(A,B).

Page 159: Antropologia y Programacion Logica

159

usa_para(A,B) :- elemento_uso(A,B); ingrediente_uso(A,B).

Nótese que las "reglas" estipuladas en el segundo párrafo reducen los hechos posibles a unas pocas relaciones típicas inclusivas. En notación Prolog, los predicados expresan los arcos y los tér-minos denotan los nodos. Desde el punto de vista funcional, una red semántica permite realizar infe-rencias a lo largo de caminos descriptos por determinados arcos. Si por una parte el etiquetado es-pecífico de los arcos permite conservar la semántica de las relaciones entre los elementos considera-dos, por la otra la abundancia en los tipos de enlaces llevaría a la ineficacia en la interpretación de la totalidad de la red.

Un concepto esencial en el formalismo de las redes semánticas es el de jerarquía, que hace que esta estructura de representación sea especialmente adecuada para la formalización de taxonomías, secuencias, partonomías o tipologías, tanto etic como emic. Cada nivel de la taxonomía se representa mediante un nodo conectado por arcos de tipo es_un con los niveles superiores e inferiores. Las redes se adaptan igualmente para la representación de objetos no jerarquizados. Al igual que los frames, las redes, en sus diversas variedades, se originan en las especulaciones de la ciencia cognitiva acerca de las formas de representación del conocimiento "en la mente humana", supuesto que no es obligatorio suscribir en el modelo descriptivo que aquí se propone.

Desde ya, las relaciones implicadas en un grafo semántico pueden ser mucho más elaboradas y teoréticamente ricas que las predicaciones simples de tipo es_un o es_parte_de, permitiendo traducir a reglas cualquier esquema de condicionalidades, tanto cualitativas como mensurables. Algunos han propuesto definir las ligaduras en función de la gramática de casos desarrollada por Fillmore (1966) para superar las limitaciones de las categorías de "sujeto" y "objeto"; los seis casos de relaciones su-geridos inicialmente (Agentivo, Instrumental, Objetivo, Dativo, Factitivo y Locativo), y que preten-dían reflejar un conjunto de conceptos universales, y probablemente innatos, se incrementaron luego hasta alcanzar un número de primitivos relacionales pesado y difícil de manejar (Mac Randal 1988:54).

La ventaja de las redes frente a otras alternativas radica en su atractivo gráfico, que las hace inmediatamente comprensibles (Hernández y Pazos Sierra 1988:193-212). La idea de que un dia-grama que representa un conocimiento antropológico de carácter sintético sea convertible a predica-dos lógicos es sin duda seductora. Es posible que esa inmediata comprensibilidad oculte sin embargo una trampa, como todo lo que se tiende a dar por sentado o resuelto; en la vida práctica, la literatura de orden más técnico sobre la formalización con grafos tiende a ser de un fuerte gradiente de impe-netrabilidad (p.ej. Sowa 1984). El exceso de pedagogía genera dificultades nuevas, oscuridades e-mergentes. El grafismo debe dosificarse a mínimos todavía no calculados, pues la acumulación de grafo tras grafo produce efectos de saturación que hacen que a la larga los textos devengan ilegibles.

Se han señalado otros defectos en la representación mediante redes: los más importantes pare-cen ser la ausencia de una terminología relacional aceptada por todos y la falta de una semántica clara y precisa. El problema radica en que una notación no posee por sí misma significado alguno, y que en este ámbito de estudios y aplicaciones la palabra "semántica" a menudo encubre un vacío de significación real: el dibujo es un mediador, y no es bueno que se arrogue un protagonismo desme-dido. Una red no es más que una especie de estructura sintáctica, descriptible por una gramática grá-fica que ocupa el lugar de una gramática de estructura de frase. Desde el punto de vista lógico el grafismo nada agrega, excepto claridad de percepción. Por este motivo, la mera adaptabilidad de una formulación teorética bajo el aspecto de un esquema visual no lo es todo: la teoría misma debe pro-

Page 160: Antropologia y Programacion Logica

160

porcionar de por sí la carnadura de las significaciones en forma de conceptos para evitar que el edi-ficio formal se desplome.

d) Grillas de repertorio

Si hemos de ser estrictos, las grillas no pertenecen al mismo orden de tipificación lógica que los

demás modos de representación que hemos revisado, pues constituyen más un método de elicitación del conocimiento que un formalismo descriptivo. Como formalismo, empero, se utiliza para describir objetos en términos de sus rasgos y valores, de una manera muy semejante a lo que en antropología cognitiva se conoció como análisis componencial (Reynoso 1986b).

En rigor, el uso de grillas de repertorio es casi idéntico al interlinkage y a otros métodos de en-trevista similares, utilizados por Frake, Metzger, Williams, Berlin, D'Andrade y demás etnógrafos cognitivistas entre mediados de la década del '50 y fines de los '60 (cf. Frake 1964; Metzger y Wi-lliams 1966). Por ahora no extraeremos conclusiones del hecho admirable de que una técnica de eli-citación mecánica del conocimiento experto se asemeje hasta en los detalles más colaterales a una técnica etnográfica de análisis del "pensamiento salvaje". Utilizamos esta semejanza para comprobar una vez más, por si hiciera falta, la concordancia de la oferta informática con la demanda antropoló-gica y para que no se piense en utilizar el aura tecnocrática de esta herramienta como un argumento en contra de su adecuación.

El desarrollo de esta modalidad de representación se origina en la Teoría de los Constructos Personales de George Kelly (1955), la cual ha ejercido cierta influencia en las recientes estrategias de elicitación del conocimiento más allá de las grillas propiamente dichas. Los constructos de Kelly son templates o moldes que una persona crea y que luego intenta hacer coincidir con la realidad. La ven-taja de este modelo (concebido en su origen para hacer frente a los mecanismos defensivos del sujeto en la práctica clínica) tienen la ventaja de servir directamente para recolectar conocimiento experto. Lamentablemente, tanto la teoría como la praxis de las grillas de repertorio están surcadas de noto-rias inconsistencias terminológicas, originadas por el hecho de que en su formulación han participado disciplinas y especialidades heterogéneas (técnicas de reconocimiento de patrones, psicometría, taxonomía numérica) cuyo único denominador común es la descripción y la taxonomía de objetos.

La jerga de los repertoristas es variada: una tarea de toma de decisiones o de selección es un proceso en el que se selecciona un ejemplar entre un conjunto de alternativas posibles. Las seleccio-nes se efectúan en el contexto de casos específicos, y a partir de la información que le corresponde. Cuando se toman numerosas decisiones en un caso, es común que se efectúen selecciones interme-dias, que pueden llegar a asumir una estructura jerárquica.

Pero no todas las decisiones se toman como si el problema fuese íntegramente novedoso: el experto, por lo común, relaciona algunas de ellas con su experiencia anterior y a las que se asemejan con ésta las considera ejemplos. Los ejemplos ayudan a vincular concepciones abstractas con casos concretos, y es posible que sin tales nunca se logre estar seguro si el conocimiento capturado es realmente correcto. Muchos antropólogos observan con cierto recelo los hábitos epistemológicos de su propia disciplina, aduciendo que en la misma resulta más fácil y es más frecuente ejemplificar que definir. Cuando alguien ejemplifica un concepto en lugar de especificar las condiciones necesarias y suficientes que lo definen, se acostumbra tomar esa actitud como un indicio de debilidad teórica.

La verdad de las cosas es que se ha reflexionado muy poco sobre la estructura y las capacidades de la expresión mediante ejemplos. La inteligencia artificial contemporánea ha rehabilitado el método

Page 161: Antropologia y Programacion Logica

161

de la ejemplificación, que posee a veces una eficacia operativa que las mejores definiciones categóri-cas envidiarían; la utilización de ejemplos se ha convertido incluso en una excelente heurística en la computación convencional, en el seno de las implementaciones de bases de datos relacionales que utilizan un lenguaje de búsqueda llamado QBE4. En principio, todas las operaciones axiomáticas del álgebra relacional se pueden denotar sin ambigüedad mediante una ejemplificación adecuada. Los que estudian la incorporación de prestaciones inteligentes a la tecnología de base de datos han ve-rificado expresamente la excelencia del Prolog para expresar fórmulas de QBE (cf. Mouta, Williams y Neves 1988).

Durante la toma de decisiones, los expertos realizan su selección considerando rasgos caracte-rísticos para distinguir las alternativas. Se considera entonces que los rasgos son propiedades o cuali-dades que definen la selección en sí. Para identificar los rasgos (exactamente igual que en los interro-gatorios etnográficos de los etnosemánticos) se comparan dos elementos alternativos de una selec-ción y se solicita se indique en qué se parecen y en qué difieren. Dado que los rasgos reflejan carac-terísticas que se confrontan en una toma de decisiones, usualmente se considera que cada rasgo tiene su opuesto en el interior del conjunto. Este particular se parece más, de hecho, a la técnica del di-ferencial semántico, ideada por Osgood para investigar la connotación, las asociaciones de ideas y los significados afectivos, que al frío formalismo del análisis componencial, pensado por Goode-nough para dar cuenta del significado denotativo.

Con las características (traits) sucede lo mismo que con los rasgos (features): también existen opuestos a lo largo de determinada dimensión de posibilidades. Los valores posibles de una carac-terística se conocen como atributos, cuyo conjunto define un rango de posibilidades y una dimensión distintiva. Por ejemplo:

Característica Opuesto Atributo Joven Viejo Edad Rico Pobre Riqueza Pesado Liviano Peso

La semejanza entre las tríadas propuestas por Kelly y el método de tríadas utilizada por los et-nógrafos cognitivistas es sorprendente. Sospechamos que ni unos ni otros han sido conscientes del paralelismo metodológico, de la duplicación de esfuerzos o de la proliferación innecesaria de termi-nología. Pero los métodos no son por completo idénticos, ya que el producto que resulta de aplicarla varía. La diferencia esencial consiste en que en el caso de la entrevista etnográfica se obtenía un cua-dro componencial de un dominio (por lo general bajo la forma de un paradigma), mientras que en la elicitación experta se generan estructuras inferenciales que tienen la forma de las reglas de produc-ción del Prolog.

El método de las tríadas consiste en presentar tres ejemplares y en preguntar cuáles son los rasgos que dos de ellos comparten, pero no un tercero. El interrogatorio prosigue de la misma forma hasta que se identifica cierto número de características, número que varía, naturalmente, conforme a la dimensión del dominio que se releve. El sistema de relevamiento AQUINAS, por ejemplo, utiliza casi exclusivamente esta metodología. El método de las tríadas, sin embargo, tiene un punto débil:

4 Es decir, Query By Example. Véase, por ejemplo, Alan Mayne y Michael Wood, Introducción a las Bases de Datos Relacionales, Madrid, Díaz de Santos, 1985.

Page 162: Antropologia y Programacion Logica

162

pese a que proporciona descripciones de una manera rápida y bastante práctica, de su aplicación no se derivan reglas discriminatorias generales; en otros términos, el método permite describir, pero no relacionar.

selecciones ejemplos

rasgos características

atributos

valores inducción

conocimiento

coinciden tienen

tienen tienen

llevan a

exhiben

tienen

Diagrama 3.5 - Grillas de Repertorio

Al lado de las similitudes, es justo destacar algunas diferencias técnicas relevantes, analizarlas y explicarlas reflexivamente. En su estudio de las categorías nativas del los tzeltal, Metzger y Williams (1966) emplean una terminología que difiere de la que emplean los analistas de grillas, aunque el propósito y el proceso de la elicitación se asemejan. Dichos autores sostienen que los datos que subyacen a una etnografía deberían representar respuestas culturales a cierto conjunto de condicio-nes. Pero las condiciones que rigen las respuestas nativas están presentes sólo por implicación; la descripción es replicable en un sentido muy general y está abierta a interpretaciones muy diversas y personales. Las "condiciones" son aquí la técnica investigativa, que define un mundo de interacción y choque cultural en sí. Es deseable que las condiciones se formulen en términos de contextos lingüís-ticos unitarios, a los que ellos llaman frames, y que se supone que responden a contrastes clasifica-torios significativos para los informantes, pese a que de hecho surgen en el momento de interactuar con los antropólogos. La formulación de frames produce listas que constituyen conjuntos contras-tantes, cuya organización posee, según se supone, una relación significativa con la configuración del "conocimiento" de los actores culturales.

El contraste mayor entre los cuadros proporcionados por Metzger y Williams y la salida de una grilla de repertorio típica radica en la falta de regularidad y los matices y asimetrías de significancia que se perciben en los primeros, imputables a modos de organización de los frames ajenos a una mentalidad clasificatoria que podríamos llamar aristotélica o linneana, sin que ello implique poner en tela de juicio su riqueza semántica, su eficacia pragmática o su valor adaptativo.

La misma conclusión podría derivarse de tomar como parámetro otro estudio, esta vez co-rrespondiente a las categorías de cobertura de otras taxonomías folk de la misma etnía tzeltal (cf. Berlin, Breedlove y Raven 1968). En este caso los procedimientos (y la terminología que les corres-ponde) son casi los mismos que se han popularizado entre los ingenieros del conocimiento que ins-trumentan grillas. Se despliegan tests de tríadas (inventados etnográficamente, al parecer, por Rom-ney y D'Andrade), se induce a los informantes a construir claves binarias y se cubren los resultados de ambas operaciones con series de comparaciones apareadas. Las dimensiones y valores hallados por el equipo de Berlin corresponden sin duda a las características y atributos de los analistas de grillas. De nuevo la información de campo es más sinuosa y matizada que los insumos preparados para el tratamiento computacional, lo que incita a explicarlo, toda vez que no por su superior rea-

Page 163: Antropologia y Programacion Logica

163

lismo la estructuración etnográfica es cualitativamente distinta. Los datos, sencillamente, son más ajenos, más extrañados.

Tras varios años en el curso de los cuales los estudios cognitivos en antropología perdieron la masiva popularidad que disfrutaron en los 60, nos ha sorprendido hallar en un texto de inteligencia artificial una evaluación entusiasta de los métodos aplicados por los etnógrafos del conocimiento (cf. Benfer y Furbee 1989):

Pocos ingenieros del conocimiento encontrarán problemas semejantes a los que afrontan los antropó-logos. Sin embargo, utilizar los métodos que los antropólogos han desarrollado para capturar el conocimiento indígena de pueblos y dominios posee ventajas superiores a las de la experiencia cotidiana. El concepto pri-mario más útil es la distinción entre emic y etic. Es bien sabido que la mayoría de nosotros no puede verbali-zar fácilmente dominios del conocimiento, es especial aquéllos en los que somos expertos. Sin embargo, los antropólogos y los lingüistas han desarrollado métodos exactamente para ese propósito, los métodos de la et-nociencia. [..] Los antropólogos poseen experiencia en sistemas bien conocidos para los expertos, pero a los cuales el antropólogo comprende sólo imperfectamente. [..] El ingeniero del conocimiento comparte muchos de los mismos problemas, si bien no el escenario, a menudo incómodo, que representa el campo (1989: 29).

Estos ingenieros, sorprendentemente, ignoran la existencia misma de las grillas y la historia ín-tima de tecnologías del saber que con seguridad tejieron ellos antes y mejor; nosotros mismos, simul-táneamente, parecemos ignorar el valor de lo que llevamos hecho. No viene al caso analizar punto por punto la forma en que se consuma el relevamiento automatizado del expertise del que resultan las grillas. Eso ha sido descripto con lujo de detalles en bibliografía accesible (Parsaye 1988). Lo que sí es importante es tomar nota de la posible equivalencia lógica entre la transferencia de ese expertise a un dispositivo mecánico que funciona según formas peculiares de inferencia y la trasmisión de un conocimiento especializado desde un informante etnográfico hasta un encuestador coaccionado por otras pautas de razonamiento.

2. Estructuras antropológico-lingüísticas de representación

El propósito de este apartado es el de demostrar la posibilidad de expresar en Prolog primero, y

luego comparar, perfeccionar y recuperar a través de modelos operativos las estructuras de significa-do y representación desarrolladas en las áreas de conjunción de la antropología y la lingüística desde el surgimiento de la antropología cognitiva de Goodenough (1956) hasta nuestros días (cf. Reynoso 1986b).

La idea no consiste en aislar la capacidad del lenguaje para la reescritura de estructuras pre-viamente formalizadas o pautadas, sino en demostrar su adecuación para expresar cualquier estruc-tura, tomando aquellas que ya han sido abstraídas y nominadas como muestra representativa de una totalidad que a primera vista tiende a lo innumerable. Nuestra dependencia de las formalizaciones lingüístico-antropológicas ya establecidas para la identificación del ámbito de posibilidades de las es-tructuras semánticas responde sólo a una conveniencia práctica, y no presupone que avalamos el orden clasificatorio que se ha inventado o descubierto ni la necesidad de reconocer estas (y no otras) formas de configuración del campo semántico.

Trabajar con estructuras ya propuestas no involucra facilitar la gestión reproduciendo nexos predigeridos, sino hacerla más crítica poniendo a prueba la capacidad de la signatura del Prolog para tejer nexos deductivos a partir de ellas, sirviéndose del troquelado categorial de las representaciones como heurística que deberá orientar, llegado el momento, el análisis, las comparaciones y la generali-

Page 164: Antropologia y Programacion Logica

164

zación. Hay que evaluar tanto la fuerza sintáctica y pragmática del lenguaje para tratar la estructura, como la eficacia de la estructura para organizar el tratamiento lógico de lo real. Si hay o no dominios sin estructura, ello no es aquí relevante, aunque la no-estructura (como el caos) ha manifestado po-seer pautas que justificaron definirla como una estructura más: el montón o congeries. Si la represen-tación original se reputa no estructurable en el sentido de "ininteligible" o quizá "no racional" (Tyler 1978), tan difícil o imposible será sacar conclusiones en Prolog como en discurso antropológico na-tural. Pero si de la estructuración no se segrega una cierta eficacia modélica, ella será gratuita y po-drá reputarse como formalismo superfluo.

Es digna de señalarse una diferencia significativa entre las estructuras ya descriptas, originadas en la ciencia cognitiva o en la ingeniería del conocimiento, y las que revisaremos a continuación. A-quéllas se corresponden con teorías acerca del funcionamiento de la mente individual; éstas tienen que ver principalmente con representaciones colectivas. Si las primeras pretendían utilizar la "metá-fora de la máquina" o el "paradigma del procesamiento de la información" como imágenes que per-mitieran modelar el pensamiento humano y reproducirlo mecánicamente, las segundas pretenden construir una representación inteligible para el científico, cuyo contenido no es otra cosa que un mo-delo del llamado "pensamiento salvaje", ya sea para mostrar su identidad o su diferencia con la men-talidad occidental. Unas y otras estructuras se pueden desplegar en un modelo de programación ló-gica como recursos heurísticos, sin adscribir, en cada caso, a las teorías en que se originan.

Para ser consecuentes con su uso lingüístico y antropológico, utilizaremos el concepto de lexe-ma para referirnos a las unidades verbales de significación en un campo u ordenamiento semántico. Un lexema es, de acuerdo con la caracterización de la semántica estructural, una unidad del voca-bulario, análoga a una entrada de diccionario, no siempre equivalente a la palabra. Según los seman-ticistas, existen lexemas simples ("flauta"), lexemas complejos ("flautista") y lexemas compuestos ("flauta de Pan"), aunque esa distinción está ligada a las peculiaridades del idioma y parecerían ser relativas (cf. Lyons 1980:71-72). En su escritura en lenguaje Prolog (cuya dependencia de una len-gua madre de tipo flexional habrá que analizar algún día), lo más probable es que un lexema se exprese mediante un término o un predicado.

Si situamos al lexema en el centro de la escala de referencia, encontraremos estructura ya sea en el interior del lexema, a nivel de sus componentes parciales de significado (semas, sememas), como alrededor de él, determinando una macroestructura (campo, dominio) al cual el lexema pertenece cuando se lo considera desde cierto punto de vista, desde el cual el conjunto que integra se destaca como segregado o conjunto contrastante.

En antropología lingüística, el análisis de la estructura semántica interna de los lexemas estuvo ligado históricamente al análisis componencial, codificado por la etnociencia, etnosemántica o antro-pología cognitiva derivada de Goodenough. No es preciso identificar las caracterizaciones siguientes con los supuestos teóricos de esa escuela, seducida por los principios particularistas, emic, y en oca-siones anticientíficos (no obstante su formalismo) sustentados por el idealismo norteamericano. La antropología basada en el análisis componencial es una de las pocas corrientes respecto de la cual se admite abiertamente que fracasó. Se reconozca o no la validez del análisis componencial clásico, es menester reivindicar en este contexto la legitimidad del análisis semántico y subrayar la equivalencia lógica entre las operaciones de análisis del contenido semántico interno de los lexemas que compo-nen un dominio, el deslinde de la estructura interna de ese dominio y la clasificación de las entidades que conforman el mismo.

En lo que al Prolog respecta, el problema de las estructuras representacionales lingüísticas y antropológicas tiene tres caras: la primera es la capacidad de expresar conjuntos de hechos y reglas

Page 165: Antropologia y Programacion Logica

165

cuya mera estipulación determine la existencia de una estructura identificable obrando como nivel subyacente o implícito del conjunto; la segunda, la posibilidad de ordenar hechos preexistentes de modo que asuman una estructura que se desea imponer; la tercera, averiguar si una estructura defini-da se encuentra operante en un conjunto de hechos elicitados. En una prueba de aplicación de las capacidades del lenguaje se deben resolver las tres instancias. Algunas pruebas se suministrarán en este apartado; las que no, serán desplegadas en los programas y estudios de casos. Lo que sigue no es el listado de todas las estructuras de significado reconocidas en todas las corrientes constituidas en semántica lingüística, sino las de aquellas instrumentadas consecuentemente en la antropología, entendiendo que éstas constituyen una muestra representativa de las posibilidades teóricas. Lo que interesa de esas estructuras (que no serán estudiadas en todos sus aspectos ni presionadas hacia todas sus consecuencias) es su anatomía relacional; como este no es un tratado de semántica antro-pológica, sólo en algunos casos tantearemos terreno en otros sentidos.

a) Listas

Quienes han propuesto la idea afirman que una lista consiste en múltiples entradas léxicas que

no están relacionadas más que por su orden ocasional, el cual es totalmente aleatorio. En su uso cul-tural común, en un procesamiento de información confiado a la memoria a corto plazo, las listas sólo son útiles para pequeños números de elementos (cf. Tyler 1978:255-256). En una circunstancia descriptiva cualquiera (las materias primas que constituyen un ergón, el número de textos que se refieren a un sitio arqueológico, el inventario de los elementos que componen una representación) las listas constituyen una forma de estructuración tan frecuente como poco analizada.

Ya se ha visto que el lenguaje Prolog dispone de recursos preconstruidos para expresar sin-tácticamente la existencia de una lista, y de una serie de predicados tanto built-in como definidos por la tradición profesional, capaces de operar recursivamente sobre esas entidades. Véase, por ejemplo, el uso de los predicados findall, member, sort, reverse o append en los programas del apéndice y en el apartado 3.a de este capítulo. Pero no es preciso identificar las listas recursivas incorporadas al lenguaje con este tipo de estructuraciones conceptuales; es posible (y a veces puede resultar más práctico) representar los ítems mediante iteraciones de hechos. El ejemplo siguiente expresa las ma-terias primas constituyentes de un ergón, primero como lista recursiva y luego en forma de hechos acumulados:

ergon(mascara[madera,pluma,tripa,hueso]). 3.5

ergon(mascara,madera). ergon(mascara,pluma). ergon(mascara,tripa). ergon(mascara,hueso).

En Prolog sobran recursos para convertir conjuntos de hechos a listas y viceversa, lo cual, incidentalmente, sirve para demostrar la equivalencia semántica de las diversas estructuras de repre-sentación. La forma más sencilla de transformar un conjunto como el referido a una lista de ergones es mediante el predicado findall:

conversion :-findall(A, ergon(_,A), elementos(A)). 3.6 Y a la inversa: conversion :- elementos(Z),!,

Page 166: Antropologia y Programacion Logica

166

miembro(X,Z), assert(ergon(X)), fail.

Convertir una lista en un conjunto de hechos predicativos es algo más que instrumentar un mero cambio de formas. Computacionalmente, una lista es una estructura recursiva, y el mismo carácter asumen, como por contagio, los algoritmos que se le aplican. Un conjunto de hechos, en cambio, se puede tratar utilizando iteraciones en vez de recursión. Se sabe desde Gödel (1931) que las estructuras recursivas son peligrosas: todo sistema que las incluya se arriesga a la indecidibilidad, aunque en un programa bien diseñado esos límites se mantienen distantes. Algún día analizaremos por qué a los científicos sociales dominar las representaciones recursivas les insume mayor esfuerzo que ÄdigamosÄ a los programadores lógicos de profesión. En el capítulo dedicado a las estructuras computacionales de tipo lista revisaremos otras alternativas de tratamiento.

b) Cadenas o complejos encadenados

Una cadena es una secuencia de lexemas agrupados en la que no existe ningún principio ho-

mogéneo de agrupamiento. Cada lexema se relaciona con cada uno de los otros mediante un rasgo distinto (Vygotsky 1962:64-65; Bruner 1973:355-359; Tyler 1978:256). La representación de una cadena en Prolog es asaz directa, ya que puede exponerse mediante cualquier conjunto de expresio-nes que denoten algún tipo de análisis componencial. Para la codificación de un conjunto de datos destinados a reflejar una estructura de complejo encadenado se puede optar entre algoritmos recursi-vos sobre listas de listas, por ejemplo, y procedimientos iterativos sobre estructuras complejas de ari-dez múltiple. Diagnosticar que un dominio posee estructura de cadena, en cambio, requiere el diseño de procedimientos algorítmicos con un discreto despliegue de predicados extralógicos y una inevita-ble apelación a la variable anónima.

c) Series.

Una serie es un conjunto de lexemas relativos a elementos que se suceden o se preceden en el

tiempo. En la antropología cognitiva clásica o en sus inmediaciones, las series daban cuenta, por ejemplo, de las etapas de ejecución de un ritual o de los pasos necesarios para producir determinado compuesto o confeccionar algún producto (pócimas, vasijas, viviendas, dramas sociales, actores cul-turales). En general, las series o secuencias etnográficas relevadas han sido bastante simples, con escasas ramificaciones y paralelismos; pero la estructura en sí puede llegar a ser considerablemente compleja y a imponer, una vez en la máquina, procesos de producción o inferencia que deben ser descompuestos en otras estructuras más simples para poder simularse.

Al contrario de lo que sucede en modelos que (como los estructuralistas) no tienen un correlato instrumental discernible, la introducción del tiempo en un modelo computacional no es de ningún modo una instancia crítica. La máquina de Von Neumann se encarga de establecer el isomorfismo entre el orden de la serie que se procesa y su orden efectivo de tratamiento. Al carácter serial del conocimiento o significado que se representa pudieran corresponderle exigencias de temporalidad sobre la lógica encargada de construir a partir de él inferencias emergentes. De la lógica temporal y de su simulación en Prolog trataremos en la cuarta sección de la tesis; nuestro programa SIMULA, a su turno, ilustra una sucesión seriada de acontecimientos cuyo isomorfismo con la secuencia temporal efectiva puede modularse, permitiendo jugar a la sincronía perfecta, a la aceleración y a la

Page 167: Antropologia y Programacion Logica

167

cámara lenta. El programa de marras disemina cantidades; para tratar series cualitativas, sólo deben reemplazarse los números por los símbolos que correspondan. Así como en el caso de las listas las posibilidades de la computadora desbordan las exigencias de las demandas antropológicas imagi-nables, en el de las series lineales la inminencia de las máquinas de procesamiento paralelo hace que la complejidad y amplitud de las demandas instrumentales sigan bajo control, con un añadido feliz: en casi todos las implementaciones que conocemos, la base estructural de los lenguajes para proce-samiento paralelo es el mismo Prolog, modificado para la circunstancia (Clark y Gregory 1983; Ead-line 1987; Shapiro 1986).

d) Secuencias analógicas

Estas secuencias proporcionan los ordenamientos propios de cosas tan comunes y heterogéneas

como guías telefónicas, números de página y diversos dominios funcionales (cf. Tyler 1978:257). Se podría pensar en extender la definición de la categoría estructural hasta cubrir esquemas de representación tan bien conocidos por la etnografía como los llamados mapas cognitivos o los domi-nios culturales ad hoc que hicieran exclamar a Wierzbicka que "las manzanas no son una clase de frutas" (1984), insistiendo en que la categorización en las culturas reales a menudo se asemeja más al Emporio Celestial del Conocimiento Benevolente que a las clasificaciones lógicas y científicas. Como cualquier otro lenguaje de computación, el Prolog dispone de recursos para practicar y analizar los criterios de ordenamiento a que haya lugar. Hasta donde alcanzamos a ver, que un dominio sea fun-cional, contingente y ocasional en vez de estático, necesario y taxonómico no impone ningún obs-táculo imaginable a su expresión en cláusulas de lógica.

e) Arboles

En oposición radical a los sistemas de definición de rasgos componenciales mínimamente re-

dundantes o paradigmas, resultantes de la aplicación simultánea de distinciones componenciales, existe una estructura de máxima redundancia en el que ningún par de rasgos contrasta sobre más de una dimensión. Este sistema puede ser llamado un árbol, aunque esta nomenclatura induzca a confu-siones con grafos conexos conmutativos capaces de trasuntar, en principio, todo tipo de relación o secuencia.

Para representar gráficamente un árbol se requiere un diagrama de conmutación apto para reflejar una estructura semántica ramificada. No se trata de que un árbol semántico no pueda repre-sentarse, por ejemplo, mediante matrices; es sólo que una figura matricial no sería económica como modo de diagramación, debido a la elevada redundancia de la articulación del dominio: la mayoría de las coordenadas, en efecto, aparecería ocupada por casilleros vacíos. En el diagrama arbolado el primer nodo indica típicamente la raíz o dominio, mientras que los nodos subsiguientes hacia abajo representan la elección de un solo rasgo o atributo a partir de una dimensión determinada. De acuer-do con la antropología cognitiva clásica, un árbol perfecto (que puede incluir o no una taxonomía) se representa por medio de un diagrama arbolado en el cual, para cada dimensión, existe un solo nodo sobre el cual se aplica. Paradigmas y árboles son lógicamente incompatibles, aunque cualquiera de ellos puede ocurrir en una taxonomía. Una vez más, la traducción de un árbol componencial o taxo-nómico a cláusulas de Prolog no ofrece ninguna dificultad especial. Una alternativa de codificación podría consistir en expresar mediante nombres de predicado las dimensiones que se contrastan y como términos sus valores sustantivos. Es posible que la representación más adecuada y directa sea la que implica el uso de estructuras específicas del lenguaje lógico, llamadas asimismo árboles, cuyo

Page 168: Antropologia y Programacion Logica

168

carácter analizaremos en el contexto oportuno. Como estructuras convencionales los árboles lógicos son quizá una pizca más complicadas de lo necesario; en compensación permiten tratar a las mara-villas casos muy abstractos de isomorfismo.

f) Claves

En un campo semántico, las claves permiten contrastar rasgos simples de significado, de modo

que se pueda referir la presencia o ausencia de algún atributo. Las claves se encuentran muy esporá-dicamente en contextos etnográficos, y existen motivos que conducen a sospechar que, allí donde aparecen, responden a un efecto clasificatorio que se produce como consecuencia de la estrategia utilizada por el etnógrafo en el trabajo de elicitación (Cf. Wierzbicka 1984; Fowler 1979).

En Prolog la representación de claves y la determinación de la presencia de esta estructura en un conjunto elicitado no son mayormente problemáticas, con una salvedad. El mecanismo natural para expresar el carácter negativo de un atributo es la negación. Aquí es donde corre el riesgo de filtrarse una paradoja: pese a que la leyenda popular atribuye a la computación una eficacia restringida a los campos que se articulan taxativamente por "sí" o por "no", en un programa lógico una estructura se-mántica definida por afirmaciones y negaciones puras sería, de todas las imaginables, la más ambigua y la más indócil. Es que la negación tiene diferentes significados en un sistema lógico natural, en la lógica computada y ante el sentido común. La literatura técnica ya ha llamado la atención sobre este particular, que hace del uso de la negación en un programa lógico una instancia particularmente deli-cada (cf. Sterling y Shapiro 1987: 165-168; Covington et al 1988: 24-27).

Agujas en ramitos de 5+ -

Piñas con puntas gruesas+ -

Piñas con puntasespinosas

Piñas con 10-20 cmde largo

+ - + -

Espinascurvas

Piñas de 7,5-20 cmabiertas

Pino blancooriental

P. strobus

Pino blancooccidentalP. monticola+ - + -

P. balfouriana P. aristata P. flexis P. albicaulis

Diagrama 3.6 - Clave parcial (cf. Preston 1966)

El diagrama anterior, por ejemplo, sólo se podría expresar en Prolog al precio de cierta cuota de redundancia. Existen, sin embargo, numerosas alternativas a las claves, tanto en los árboles binarios de la teoría matemática de grafos, en los árboles B+ de la computación y en los métodos de pairing de la etnociencia reciente (cf. Lancy y Strathern 1981). En los apartados específicos trataremos ese punto.

Page 169: Antropologia y Programacion Logica

169

g) Taxonomías.

Una taxonomía consiste en un grupo de lexemas relacionados por relaciones de inclusión: un

terrier es un (tipo de) perro, un perro es un (tipo de) cuadrúpedo, un cuadrúpedo es (un tipo de) animal, y así sucesivamente. Una taxonomía es una estructura de ordenamiento de un tipo lógico claramente distinto al de Äpor ejemploÄ un árbol o un paradigma. En aquél caso nos encontramos ante una forma relacional precisa (la inclusión de clase) que puede no conceptualizarse en un aborde componencial, de un orden más abstracto. Casi todas las taxonomías reportadas por los etnógrafos se hallan ordenadas internamente conforme a estructuras de tipo árbol, y es posible que los niveles planos de una jerarquía taxonómica respondan casi siempre a configuraciones como las que aquí se filiarán como paradigmas.

Técnicamente, una taxonomía es una relación de la forma aTb, donde T es una relación taxo-nómica que en lenguaje natural asume expresiones tales como "- es (una clase de) -", "todos los - son -" y posiblemente otras. Una taxonomía es irreflexiva (un taxon no puede ser subordinado o su-praordinado de sí mismo), asimétrica (un taxon no puede ser a la vez sub y supraordinado) y transi-tiva (si aTb y bTc pertenecen a ella, luego aTc también). La condición de transitividad es tal vez la característica formal de la taxonomía de más amplios alcances (cf. Werner y Fenton 1970), en tanto que, para cierta etnología que se extiende entre Lévi-Strauss, el cognitivismo y Hallpike, la taxono-mía en sí se ha transformado en el arquetipo del ejercicio intelectual típico de la pensée sauvage.

El grosor que va adquiriendo esta tesis no nos permite más que esbozar lo que debería ser un tratamiento cumplido de este formalismo, uno de los que esconden articulaciones y consecuencias más ricas para la antropología. Es esa misma riqueza la que ahora nos obliga a un abordaje sumario, a estipular algo que se parece más a un plan provisional que a un dictamen concluyente.

Un desarrollo más ecuánime de estos menesteres no sería completo si no diera cuenta, en primera instancia, de la importancia de las taxonomías folk en el conjunto de los estudios cognitivos y de la forma en que los diferentes recursos computacionales (clásicos e inteligentes) podrían contri-buir al esclarecimiento de formas emic de estructuración conceptual y a caracterizar mejor de lo que se ha venido haciendo hasta hoy su eventual diferencia con las pautas científicas de clasificación. Hay otros interrogantes agazapados: ¿es la taxonomía el grado cero de la ciencia? ¿hasta qué punto todo saber no es eminentemente taxonomizador? (cf. Benfer y Furbee 1989).

En un segundo momento, cabría inspeccionar también la relación entre las taxonomías poli-téticas y el problema de la taxonomía numérica, tanto a nivel emic como etic. La taxonomía numéri-ca o clasificación natural constituye a su vez una propuesta de orden inductivo que posee, según nos han comunicado colegas orientados a la antropología biológica, ciertas consecuencias metodológicas e ideológicas desagradables que no habría que pasar por alto. Así como las escalas de Guttman han propiciado especulaciones paleo-evolucionistas, la idea de la clasificación natural alimenta ideas que inclinan la práctica científica al irracionalismo (Needham 1975; Chaney 1978b).

En tercer orden, aquí debe tratarse asimismo el consabido aserto referido al estatuto de "historia natural" de que disfrutarían, en la puerta misma de su promoción a ciencias plenas, determi-nadas formas del conocimiento, la antropología entre ellas. A este respecto viene a cuento la si-guiente afirmación de Hempel, a encuadrar dentro del paradigma neopositivista:

Con alguna simplificación, a menudo puede decirse que el desarrollo de una disciplina científica parte de una etapa inicial de la "historia natural", etapa en la que se busca primeramente describir los fenómenos

Page 170: Antropologia y Programacion Logica

170

en estudio y establecer generalizaciones empíricas simples acerca de ellos, para pasar a etapas cada vez más "teóricas", en las cuales se otorga creciente importancia al logro de explicaciones teóricas amplias del tema empírico en investigación. El vocabulario requerido en las primeras etapas de este desarrollo será en su mayor parte observacional. [...] El paso a la sistematización teórica se señala por la introducción de nuevos términos "teóricos", que se refieren a las diversas entidades postuladas teóricamente, a sus características y a los procesos que intervienen" (Hempel 1988:143-144).

La ejemplificación de estas transiciones entre puntos de vista "sintomatológicos" y "etiológicos" podría tomar como punto de partida los supuestos de diversos programas clasificatorios (los ar-chivos de la HRAF, por ejemplo) y luego simular o poner a prueba la derivación de un conjunto de afirmaciones teoréticas, tomadas de los estudios transculturales de Murdock, Naroll, Cohen o Whi-ting. En esta analítica habría que indagar también la relación entre "términos observacionales" y "he-chos" de la notación lógica y entre "términos teóricos" y "reglas" o "procedimientos" lógicos, para ver si la transición hempeliana puede expresarse como la derivación (o construcción) de estos últi-mos a partir de aquéllos. Convendría quizá otorgar a esta diferencia un valor estrictamente relativo, por cuanto los "hechos" iniciales de un programa lógico (o de una etnología) podrían estar encua-drados con arreglo a categorías teóricas, más que observacionales.

Si es verdad lo que consigna Hempel, sería preciso indagar formalmente lo que las técnicas de inteligencia artificial aquí propuestas podrían hacer para perfeccionar los saberes propios de la etapa en que nos hallamos y de las bifurcaciones a la vista. Por último habría que expedirse sobre los importantes hallazgos de John Gregg (1954) y tratar a fondo las analogías elaboradas por James Hamill en "Syllogistic reasoning and taxonomic semantics", adaptándolas a las modalidades propias del cálculo de predicados.

Mientras todos estos objetivos se anotan entre los numerosos proyectos emergentes de esta te-sis, convengamos que, en tanto lenguaje relacional, el Prolog constituye un vehículo óptimo para la expresión de datos taxonómicos. Nuestro sistema experto, AGENI3.PRO, admite el ingreso y trata-miento de esa clase de datos. Las taxonomías no son formalmente tan especiales después de todo, y lo que las particulariza es el sentido de abarcatividad e inclusión de los términos a medida que se a-vanza hacia los lexemas terminales. El carácter de predicación clasificatoria de las reglas de produc-ción que forman el nivel aparente de la base de conocimientos del modelo es una instancia interpreta-tiva que no compromete la eficacia de las operaciones que la atraviesan. En dicho sistema, la con-dición de transitividad es coextensiva a la recursividad entre las categorías de inclusión.

h) Partonomías

La especificidad de la partonomía con respecto a otras estructuras de inclusión de clase finca en

que, en aquél caso, las relaciones de transitividad sólo resultan válidas entre niveles conjuntos. Así, mientras en una taxonomía resulta correcto interpretar que "un perro es un mamífero" (aunque existan planos intermedios de discriminación), en un esquema partonómico no lo es deducir que "un dedo forma parte del brazo" sin tener en cuenta la existencia de partes intermedias vinculantes.

La particularidad de las partonomías no sólo atañe a las operaciones interpretativas; para ser cabalmente correctas, las operaciones de inferencia que recorren las estructuras partonómicas o bien no deben dejar que las preguntas de inclusión disjuntas se realicen con éxito, o bien deben asentar en las respuestas la existencia y el carácter de las relaciones de inclusión intermedias. Para ello habrá que aniquilar la transitividad bloqueando todas las reglas recursivas o manteniéndolas bajo control. El objetivo no es difícil de alcanzar en Prolog, pero tampoco es de logro inmediato. Aunque no he-

Page 171: Antropologia y Programacion Logica

171

mos estudiado el problema en detalle, el control de los encadenamientos deductivos no parece pre-sentar dificultades insalvables una vez que se domine el flujo de la prueba lógica con el suficiente margen de virtuosismo. Nuestro sistema experto genérico AGENI3.PRO admite información parto-nómica como insumo, incluso bajo la forma de frames capaces de articular la comparación entre sis-temas distintos. En la transacción de diagnosis, el sistema especifica qué condiciones corresponden a los niveles superiores de la clasificación.

Hace ya casi un cuarto de siglo, la antropología del conocimiento descolló en modos de análisis partonómico de corte clásico. El estudio más típico, quizá, es el de Keith Basso (1967); en él se ana-liza la proyección del conocimiento partonómico del cuerpo humano sobre los automóviles y camiones transculturalmente adquiridos por los apache occidentales. En el esquema apache, el ca-bleado eléctrico se identificaba con las venas, el tanque de gasolina con el estómago, el distribuidor con el corazón, la gordura con la grasa mecánica, las luces frontales con los ojos, los mecanismos bajo el capó con las tripas o intestinos y así el resto.

Al margen de las enseñanzas que arroja sobre dominios semánticos previos y sobre los procesos de aculturación, el artículo de Basso, tan sencillo como ejemplar, nos sugiere que los recursos del Prolog bien podrían servir para determinar primero el isomorfismo entre esquemas arbolados y apro-vechar después el análisis de los isomorfismos para otorgar calidad formal a la extrapolación de me-táforas y analogías entre dominios cognitivos separados, o incluso entre diversas culturas. Ejempli-ficaremos el primer tópico al tratar sobre los árboles computacionales; el segundo, sin duda, requiere un tratamiento pausado y un diseño investigativo en los que por ahora no podemos entretenernos. Sacrificamos entonces otra excursión interesante, pese a que su promesa es más fundada que el apego ritual de la antropología interpretativa hacia metaforizaciones no analizadas y no analizables, en principio, a través de la metodología que ella misma promueve (cf. Turner 1974; Geertz 1980).

i) Paradigmas

El paradigma es la estructura representacional más ordenada, menos redundante y más perfecta

de todas las que se inventaron o descubrieron durante el auge fugaz del análisis componencial. Dado un dominio en el que se ha reconocido un número finito (idealmente, reducido) de dimensiones semánticas, cada una de las cuales puede asumir una cantidad acotada de valores posibles, se obtiene de inmediato un paradigma.

tú él

nos1 yo

nos3 nos2

vos ellosA

BC

Page 172: Antropologia y Programacion Logica

172

Suponiendo que el dominio en cuestión sean los pronombres personales de una lengua, como en la ilustración anterior, las dimensiones semánticas involucradas podrían ser (A) género, (B) número, (C) inclusión del hablante y (D) inclusión del oyente. Los valores posibles serían, respectivamente (a1) masculino, (a2) femenino y (a3) neutro; (b1) singular y (b2) plural; (c1) hablante incluido y (c2) hablante excluido; (d1) oyente incluido y (d2) oyente excluido.

Queda claro que un paradigma sería entonces una intersección de clases de un tipo especial, conjuntiva, no reflexiva, intransitiva y no jerárquica. Un universo se encuentra estructurado paradig-máticamente cuando al partírselo en conjuntos (asimilables a dimensiones) no queden conjuntos con miembros en común y la suma de todos los conjuntos restituya el universo inicial. En lógica de con-juntos, se podría decir que la intersección de todos los conjuntos es un conjunto vacío, y la unión de todos los conjuntos es el universo. Los paradigmas admiten también una representación arbolada, lo cual no debe inducir a confundirlos con los árboles, que son estructuras con otras características de redundancia componencial. La que sigue es una versión arbolada del paradigma pronominal anterior:

D

a1 a2

b1 b2 b2b1

c1 c2 c1 c1 c1c2 c2 c2

L1 L2 L3 L4 L5 L6 L7 L8

La aplicación de las definiciones componenciales estipuladas darían por resultado un dominio de ocho lexemas con la siguiente composición semántica:

L1 : Nosotros(1) - [tú y yo] a1b1c1 L2 : Yo a1b1c2 L3 : Tú a1b2c1 L4 : El a1b2c2 L5 : Nosotros(3) - [Todos] a2b1c1 L6 : Nosotros(2) - [Sin ti] a2b1c2 L6 : Vosotros a2b2c1 L6 : Ellos a2b2c2

Se han reconocido dos modalidades de paradigmas, los llamados perfectos u ortogonales, que son los más apreciados por los analistas, y los imperfectos, que como siempre pasa son los más abundantes. En un paradigma perfecto, para cada conjunto de valores a1, ..., an en una dimensión dada A, existe un par de lexemas en el dominio cuyas definiciones componenciales son idénticas, excepto en lo que respecta al rasgo semántico considerado en esa dimensión. En ese mismo para-digma perfecto, para cada combinación posible de rasgos y valores existe uno y sólo un lexema. Los paradigmas perfectos poseen redundancia cero, lo cual implica que un cambio operado en un solo rasgo de la definición componencial resultará en la definición componencial de otro lexema del mismo dominio.

Page 173: Antropologia y Programacion Logica

173

Es oportuno un ejemplo aducido por Goodenough, aunque este autor no se expresa en términos de paradigmas: el lexema "tía" puede hacer referencia a la hermana de la madre, a la hermana del pa-dre, a la esposa del hermano de la madre o a la esposa del hermano del padre; en todo caso, será un pariente de Ego que es simultáneamente (I) de sexo femenino, (II) ubicada a dos grados de distancia genealógica, (III) no lineal, (IV) de la generación mayor o "senior" y (V) no conectada por lazo marital en otra generación que no sea la mencionada. De esta manera, los diferentes denotata disyuntivos han sido integrados en una organización conjuntiva, constituyendo una clase unitaria que puede describirse como el producto cartesiano de la combinación de los distintos atributos.

Si el dominio es reductible a un paradigma perfecto, se cumplirá la condición establecida en los párrafos anteriores; en efecto, si se varía la dimensión (I) se obtiene "tío", si se modifica (II) se tiene "tía abuela", si se altera (III) "abuela", "sobrina" si se cambia (IV) y "tía de la esposa" o "tía del marido" si se transforma (V). En rigor, el paradigma completo de nuestra terminología de parentesco no es perfecto, ya que no existen lexemas para todos los términos del producto cartesiano (cf. Goo-denough 1967). La que sigue es una representación ortogonal (clase-producto) del paradigma de los términos básicos del parentesco en nuestra cultura.

Dimensiones Componenciales:

(A) Sexo del pariente: masculino (a1), femenino (a2). (B) Generación: dos por encima de Ego (b1); una por encima de Ego (b2); generación de Ego (b3); una por debajo de E- go( b4); dos por debajo de Ego (b5). (C) Linealidad: lineal (c1); co-lineal (c2); ab-lineal (c3).

c1 c2

c3 a1 a2 a1 a2 a1 a2

b1 abuelo abuela b2 padre madre tío tía b3 EGO hermano hermana primo prima b4 hijo hija sobrino sobrina b5 nieto nieta

En base a estas convenciones nomenclatorias, la composición semántica (o definición com-

ponencial) de los distintos parientes se expresaría como a1b1c1 para "abuelo", a2b1c1 para "abuela" y así el resto. Desde ya, la forma de expresar la estructura semántica de los diferentes lexemas que componen un dominio varían de un autor a otro; lo esencial es que se especifiquen las claves del procedimiento, a fin de que el análisis resulte inteligible y replicable.

Como no podría ser de otro modo en un lenguaje relacional, la representación de un paradigma en Prolog es sumamente sencilla y admite numerosas formas alternativas. El proceso para determinar si la estructuración conceptual de un dominio responde o no a un esquema paradigmático, es un po-co más complicado, sobre todo si éste no es ortogonal. De todas formas, el proceso necesario para llegar a esta determinación reproduce los mismos pasos que serían propios de un procedimiento no mecánico; lo hemos aplicado con buen efecto en un programa aquí no incluido, COMPONEN.PRO, concebido como complemento analítico de nuestro sistema experto.

Page 174: Antropologia y Programacion Logica

174

j) Tipologías

Según la caracterización de Stephen Tyler, "las tipologías difieren de los paradigmas sólo por el

hecho de que sus rasgos son idealizaciones ejemplares y declaradas que no representan un estado de cosas factual" (1978:274). Dado que son idealizaciones, los rasgos se formulan con anterioridad al análisis y se aplican arbitrariamente a una clase de lexemas. A diferencia de lo que sucede con los paradigmas, los rasgos de una tipología no surgen de la inter-comparación de los lexemas a ordenar. Se podría decir que mientras con los paradigmas se procede en forma inductiva, con las tipologías se procede deductivamente (Conklin 1969:107). Las tipologías no se utilizan con frecuencia en contex-tos folk, y son muy raras en contextos no analíticos.

Tanto una tipología como una taxonomía constituyen modos de ordenar un campo. La dife-rencia entre ambas consiste en que la primera se funda en la predicación de condiciones necesarias y/o suficientes (es decir, es un ordenamiento lógico eventualmente planar) en tanto que la segunda se origina en la pertenenencia de elementos a clases (y por ende es un sorting clasificatorio siempre jerárquico). Desde el punto de vista estructural, ambas estructuras podrían llegar a ser idénticas, variando sólo en la interpretación de los criterios que las originan.

Una tipología es una entidad quizá menos estructural que interpretativa de las relaciones que articulan una estructura. En un sistema lógico, las condiciones que definen los tipos pueden asimi-larse a reglas de producción o a otras configuraciones más primarias. Nuestro Sistema Experto (programa AGENI3.PRO) admite una tipología como conjunto de entrada regido por una serie va-riable de condicionalidades más o menos laxas, aristotélicas o difusas.

k) Tipos-token

Dos trabajos antropológicos de cierta importancia teórica y metodológica están relacionados

con una articulación del campo semántico que se ha llamado type-token (Gardner 1976:452-462; Randall 1976:546-553). Este ordenamiento semántico es similar a una tipología en el hecho de que utiliza tipos ideales, pero difiere de ella por no usar la intersección como medio para interrelacionar los tipos (Tyler 1978: 275). El tipo-token se caracteriza por una superposición parcial en el que los tokens periféricos se pueden ser considerar en parte de un tipo y en parte de otro, y en el que sólo los tokens más parecidos al tipo central están relacionados estrechamente con él. En esta estructura se puede hablar, en cierto sentido, de significados centrales y significados periféricos: la idea general es que existen colecciones de tipos confederados de acuerdo con un régimen muy tolerante, cada uno de los cuales posee un agrupamiento o constelación de tokens periféricos o satélites, ordenados conforme a su mayor o menor parecido con el tipo.

El tipo en sí funciona como un estándar de comparación; los tokens que se arraciman en las periferias se consideran verbalmente como formas "inusuales", cuasi-anómalas o "raras" del tipo correspondiente. En inglés -la lengua en que esta estructura semántica fue originariamente definida- existen indicadores lexicales de esta relación, usualmente palabras separadas por guiones ("blue-green", "reddish-brown") o sufijadas con "like" ("hawk-like"). Los elementos que se encuentran en la periferia, más alejados de los tipos "ejemplares" suelen solaparse con otros tipos (cf. Berlin 1977:67-96).

Es típico que estas estructuras se ordenen conforme a pautas implícitas e intrínsecamente cam-biantes, acordes con la heterogeneidad que la mente clasificadora intuye en lo real. Algunos teóricos

Page 175: Antropologia y Programacion Logica

175

de la antropología tendientes al irracionalismo ha subrayado con comprensible alborozo los proble-mas "lógicos" que presenta este tipo de ordenamientos.

Esta heterogeneidad, con su inherente falta de transitividad, es responsable de la diferencia entre la clasificación tipo-token y la clasificación taxonómica. La clasificación tipo-token es una congeries en la cual diversos conceptos focales disjuntos sirven para ordenar los tokens centrales en clases exclusivas y los tokens periféricos en clases parcialmente solapadas mediante una variedad de rasgos o relaciones que no se intersec-tan. Esta es, con mucho, la forma más común de clasificación porque nos permite usar una gran variedad de información y, puesto que no requiere una estructura monolítica e internamente consistente, puede ser suma-mente flexible, respondiendo prontamente a los diferentes propósitos y motivos que rigen nuestras clasifica-ciones. Desde el punto de vista de la lógica esto tiene sus inconvenientes; pero este es un problema para la lógica, no para nosotros, pues nosotros somos capaces de conducir nuestra vida cotidiana a despecho de su inherente ilogicidad (Tyler 1978:277-279; el subrayado es nuestro).

El gozo de Tyler frente al carácter "ilógico" o inconsistentemente lógico de estas estructura-ciones semánticas sólo se justificaría, desde ya, frente a un cientificismo esquemático para el cual la realidad se debe subsumir en una rígida conceptualización de tipo aristotélico. Lamentablemente para su causa, ni existen en la actualidad teóricos que sustenten una concepción tan square de la natura-leza o de los universos clasificatorios, ni representa para una lógica madura "problema" alguno este tipo de representación. Más aún, desde el punto de vista de un lenguaje descriptivo poderoso, como el Prolog, da lo mismo que los campos semánticos estén ordenados conforme a uno u otro criterio, que lo que haya que representar sean delicados matices o duros contrastes. Casos clasificatorios como los que el propio Tyler nos proporciona (cf. Tyler 1978:278) serían resueltos por un programa en Prolog con entera facilidad y fluidez, por cuanto si un problema es susceptible de constituirse y expresarse como tal en un conjunto de enunciados, también será pasible de vertirse en cláusulas lógi-cas declarativas. Un modelo lógico proporciona, por añadidura, formas de ordenamiento intermedias entre lo cualititativo y lo cuantificacional en las que las dimensiones relativas de distancia semántica podrían expresarse, por ejemplo, a través del mero ordenamiento de las entidades que conforman el conjunto en una lista progresiva.

l) Prototipos y "hedges"

En este apartado se analiza lo que sospechamos puede llegar a ser una inflexión esencial de la

representación del conocimiento en una antropología modelada. Para caracterizarla es menester, primero que nada, evocar con algún detenimiento una historia conceptual mal conocida y superfi-cialmente tratada por nuestros estudiosos (cf. Vázquez 1988), para quienes los capítulos esenciales de los últimos treinta años de la antropología se reputan presurosamente de formalistas y se dejan por lo tanto sin explorar.

Congruente con los giros y novedades categoriales que se introdujeron con la adopción de conceptos constructivistas del tipo de los esquemas y marcos, las ciencias cognitivas han desarrolla-do también una gramática de casos (Fillmore 1968) que hace que el modelo alcance, sin cambiar de forma, el plano de la predicación, una gramática cognitiva (Langacker 1976, 1986) que concibe el lenguaje como depósito y reflejo de un conocimiento enciclopédico, y una semántica de prototipos, que ha logrado trascender las dificultades lógicas y metodológicas más espesas de la antigua semán-tica estructural (cf. Rosch [Heider] 1972; Rosch 1977; Rosch y Mervis 1975; Mervis y Rosch 1981; Fillmore 1977, 1982; Coleman y Kay 1981; Lakoff y Johnson 1986; Lakoff 1975, 1977; Leech 1985:120-122; de Vega 1984:344-351; Gillian Cohen 1984:189-194).

Page 176: Antropologia y Programacion Logica

176

Entiéndase aquí como "semántica" la relación sígnica que media entre las variables de un es-quema y los distintos elementos de un entorno, que vendrían a funcionar como sus referentes empíri-cos. Se trata por un lado del sujeto o la cultura, procurando clasificar el mundo que los rodea, y por el otro del lingüista o del antropólogo, esforzándose por construir una semántica que dé cuenta en forma realista la naturaleza de ese proceso. Pues bien, para esta semántica prototípica, la relación entre el mundo y el concepto se interpreta como aproximativa, focal, oscilante, nebulosa (fuzzy), no determinista. En consecuencia, a veces alcanza y sobra con un vago parecido funcional o con un cierto aire de familia para que, en una instanciación de un esquema dado, un elemento del entorno califique como variable pertinente: en el esquema subyacente a una "transacción comercial", verbi-gracia, los elementos empíricos que satisfacen la variable "valor" pueden ser tanto billetes de banco como monedas, metales preciosos, cheques, pagarés, tarjetas de crédito, asientos contables, papeles de la deuda externa y así por el estilo.

Charles Fillmore, el lingüista que ha dado el mayor impulso a la semántica de prototipos (en un trabajo de una entidad comparable al de la psicóloga Eleanor Rosch), la ha concebido como una teoría del significado que se opone a las teorías componenciales de "listas de rasgos", las cuales, fundadas en una representación "digital" del sentido, afirman que éste resulta una conjunción aditiva de propiedades discretas, concebibles como "componentes semánticos", "semas" o "atributos crite-riales" (cf. Lyons 1980:299-315; Reynoso 1986a):

En filosofía, psicología, lingüística y antropología se ha tendido a tratar las categorías como 'aristoté-licas' y digitales, es decir, como entidades lógicas y limitadas, cuya pertenencia está definida por la presencia en un objeto de un conjunto sencillo de rasgos que sirven como criterio para diagnosticarla (Rosch 1977:18).

Esta perspectiva atomista es la que imperó, por de pronto, en casi todo el análisis de compo-nentes propiciado por la antropología cognitiva clásica, desde Goodenough hasta Werner; la nueva visión prototípica parece, a juzgar por los estimulantes resultados, mucho más apta para interacturar productivamente con la ciencia cognitiva actual. En la antigua concepción semántica, que bien po-dríamos denominar estructuralista, el significado de una palabra o lexema se representaba como un conjunto de rasgos, cada uno de los cuales adoptaba inequívocamente un valor. Así, el significado del lexema "HOMBRE", como ya lo hemos visto, podía entenderse como la sumatoria de los com-ponentes semánticos "HUMANO", "VARON" y "ADULTO".

En consonancia con esta idea, había que practicar sobre la globalidad del significado una dife-renciación que posibilitara su tratamiento formal: siguiendo a Gottlob Frege, se distinguía por un lado un significado central, básico y permanente, la denotación, y por el otro un significado opcional, diacrítico y variable, la connotación, colmada de aspectos subjetivos y de afectividad. Como no po-día ser de otra manera, y haciendo de la necesidad virtud, la connotación se excluía de un análisis que se ceñía a lo que se pensaba seguro, estático, invariante, cognoscible. Algunas excepciones, como las de Osgood y su diferencial semántico, no abultan tanto como para cuestionar la regla.

Se desarrolló así lo que hemos caracterizado como análisis componencial: un método para determinar los valores que presuntamente asume cada uno de los rasgos semánticos que componen el significado de un término, la forma en que esos valores conmutan en el interior de un conjunto de cosas o "dominio", y la manera en que esos dominios se agregan o se oponen para definir un campo totalizador que acaba coincidiendo con la cultura. El análisis componencial, abismado en poner de manifiesto la articulación matricial o paradigmática de los dominios que trataba, pretendía además pasar por una herramienta predictiva, capaz de establecer las condiciones necesarias y suficientes que una cosa debe satisfacer para ser ejemplo de una categoría rotulada por una palabra o perteneciente a una clase o dominio desde una óptica cultural definida.

Page 177: Antropologia y Programacion Logica

177

Dado que hemos dedicado todo un libro y el comienzo de este resumen al análisis componencial propiciado por la Nueva Etnografía americana de los '50 y '60, no incluiremos aquí demasiados pormenores sobre lo que fue su búsqueda de un modelo dotado de realidad psicológica, que fuera al mismo tiempo axiomático y fiel a lo que sucedía dentro de la cabeza de los hombres que estudiaba. Lo único que cabe decir aquí es que ese modelo caducó. Aunque el análisis componencial puede to-davía prestar algún servicio como herramienta de campo para ajustar una caracterización preliminar, lo concreto es que no satisfizo las enormes expectativas que despertara.

El fracaso fue aleccionador, aunque algunos se resisten a deducir sus moralejas. La misma trayectoria de la antropología cognitiva demostró formalmente la inoperancia de sus otros supuestos esenciales: la estrategia integralmente emic, el relativismo lingüístico, la equipolencia de pensamiento y lenguaje, la vigencia unánime de un mismo modelo en el interior de toda una cultura. Pero lo más cuestionado de todo fue su rígida concepción del significado, con arreglo a la cual la aplicabilidad de una categoría y la pertenencia de un ejemplar a una clase eran cuestión de "si" o "no", y no una cuestión de grado.

En la semántica de prototipos no hay ya primitivos indescomponibles ni valores excluyentes, pues se piensa que la gente no categoriza los objetos en términos de teoría de conjuntos convencio-nal, sino en base a prototipos y parecidos de familia. En el viejo esquema componencial todos los miembros de un conjunto de cosas detentaban el mismo grado de membrecía: una vaca era, en este sentido, tan mamífera como un murciélago o un delfín. En la concepción prototípica, por el contra-rio, hay como si fuera grados de tipicidad: si bien un delfín es técnicamente un mamífero, cae de suyo que no es un mamífero por excelencia. La variabilidad cultural y subjetiva del criterio de repre-sentatividad y el hecho afortunado de que la tipicidad puede medirse, graficarse y compararse, abren además esta semántica a una indagación estadística que para la etnociencia permaneció interdicta, pero que para ella es casi una precondición. La diferencia intracultural, que supone un límite infran-queable para la capacidad descriptiva del análisis componencial, es aquí el hecho mismo que permite, a través de un acercamiento asintótico, instituir la significación como fenómeno social y como pro-ceso.

Hedges Sujeto-Predicado Rasgos del Predicado compartidos por el sujeto

Un típico petirrojo-ave Definitorios y característicos gorrión-ave Técnicamente hablando pollo-ave Definitorios pero no característicos pato-ave pingúino-ave Laxamente murciélago-ave Característicos pero no definitorios mariposa-ave polilla-ave

Hedges y pares de sujeto-predicado (Lakoff 1972)

Incidentalmente, los predicados modificadores más o menos coloquiales que hemos subrayado han sido objeto de inspección, a su vez, por parte de George Lakoff, el más tenaz y original inquisidor de las metáforas. Lakoff ha denominado hedges a tales formas de expresión, capaces de identificar verbalmente al prototipo de una categoría y de definir diferentes tipos de relación con él; de este modo algo puede ser representante "por antonomasia" de su clase, o puede serlo "en un sen-tido técnico", "hablando vagamente", "en ciertos sentidos", "en un sentido figurado", "hasta cierto punto", "en algunos respectos", "mirándolo bien", "por así decirlo" o "en un sentido restringido". Al

Page 178: Antropologia y Programacion Logica

178

igual que la lista de hedges imaginables, las categorías son abiertas y sus límites no son taxativos (Lakoff 1975 y Johnson 1986:163-166).

Puede decirse que, en general, los lingüistas inscriptos en esta orientación han tenido el buen tino de no apelar al desorden teórico o al irracionalismo en nombre de la aparente nebulosidad del objeto. Eludiendo la seducción de un indeterminismo generalizado, la semántica de marras descubre que ella no es menos formal que la semántica clásica, y que incluso la supera en el terreno de la axiomatización por contar para sus fines con el explosivo desarrollo de la teoría de conjuntos nebu-losos (fuzzy sets), una especialización matemática novedosa, capaz de lidiar con la ambigüedad, que en algunos círculos ha llegado a transformarse en pasión (López de Mantaras 1985). Símbolo del crecimiento explosivo de estos estudios es el prestigioso International Journal of Approximate Reasoning, publicación oficial de la North American Fuzzy Information Processing Society (cf. Mukaidono, Shen y Ding 1989; Whalen y Schott 1989). Trataremos la lógica difusa con mayor am-plitud en la cuarta sección de esta tesis.

Las investigaciones de Rosch, que condujeron a una nueva vislumbre de las relaciones entre la mente, el lenguaje, la cultura y el medio, se originaron con referencia a un ámbito de fenómenos que a primera vista podría juzgarse marginal (la terminología relativa al color), y como complemento y respuesta a las conclusiones de Brent Berlin y Paul Kay, de la misma Universidad de Berkeley. El estudio de Berlin y Kay (1969), como es sabido, se difunde en una época en que comienza a hacerse indisimulable el fracaso de la experiencia emic de la etnosemántica y en que se manifiesta un discreto apogeo de la escuela comparativista de Yale y del evolucionismo antropológico. Dichos autores sa-len al cruce de la hipótesis del relativismo lingüístico de Sapir y Whorf en un territorio que en apa-riencia la favorecía, afirmando en contra de ella que existen determinantes universales del sistema visual, y que el inventario de términos cromáticos se expande en las distintas lenguas en función del tiempo, de modo tal que las categorías universales se van lexicalizando en un orden fijo y en gran medida predecible.

Berlin y Kay examinaron ejemplos de 98 lenguas pertenecientes a diversas familias lingüísticas, analizando la forma en que se encuentran definidos los "colores básicos". Estos no se estipulan intuitivamente, sino que se asocian a focos del espectro cuya lexicalización cumple determinadas condiciones. Un color básico es, entonces, un término cromático que posee:

1) denominación monolexémica, como por ejemplo "rojo" (y no "violeta azulado").

2) denominación no incluida en el ámbito denotativo de ningún otro término del conjunto (por ejemplo, "carmín" y "bermellón" no califican como términos de colores básicos -pese a ser monolexémicos- por estar incluidos en la denotación de "rojo").

3) aplicación generalizada, vale decir, no restringida a una sola clase de objetos, como sería "bayo", "trigueño" o "rubio".

4) saliencia cognitiva y frecuentación de uso.

Los autores solicitaron a cada informante la realización de dos tareas en base a un juego de 329 tarjetas Munsell, que representaban una muestra más o menos aceptable de los siete millones de matices que puede discernir el ojo humano. La primera tarea consistía en escoger "los mejores ejemplos" de cada color básico, de acuerdo con los parámetros de cada lengua; la segunda, en indi-car los "límites" de cada categoría, clasificando las tarjetas sin dejar residuo. De este modo, pudo

Page 179: Antropologia y Programacion Logica

179

identificarse en el conjunto transcultural un conjunto de once focos correspondientes a los colores blanco, negro, rojo, verde, amarillo, azul, marrón, púrpura, rosa, naranja y gris. Se encontró también que si una lengua incluye menos de once términos focales, existen severas limitaciones en cuanto a cuáles pueden ser las categorías nominadas. Las restricciones universales establecidas como ley por Berlin y Kay son las siguientes:

1) Todas las lenguas conocidas contienen términos para "blanco" y "negro".

2) Si una lengua contiene tres términos cromáticos, luego posee necesariamente un término para rojo.

3) Si contiene cuatro, incluirá el verde o el amarillo, pero no ambos.

4) Si posee cinco tendrá términos para el verde y también para el amarillo.

5) Si tiene seis, se agregará a los términos anteriores el que corresponde al azul.

6) Si tiene siete, añadirá el marrón.

7) Si tiene ocho o más, se incluirán en un orden indefinido el púrpura, el rosa, el naranja y el gris.

Si se construye en la tabla indicando en la ordenada el número de términos focales que posee cada lengua y en la abscisa las categorías cromáticas correspondientes, se encontrará que en lugar de 2048 combinaciones de los once términos (211), se dan en la práctica sólo 22. Más aún, los 22 tipos pueden resumirse en esta regla de implicación:

blanconegro

rojoverde amarilloamarillo verde

azul marrón

púrpurarosa

naranjagris

Para Berlin y Kay es razonable concluir que esta secuencia no sólo representa un juicio dis-

tribucional sobre las lenguas contemporáneas, sino un orden cronológico de aparición susceptible de interpretarse como una secuencia necesaria de etapas evolutivas.

Aunque este esquema evolucionista unilineal en particular puede ser impugnado, y vaya que lo ha sido, lo que merece rescatarse de estos hallazgos es su desafío a la idea frontal de que existen primitivos semánticos de naturaleza discreta. Si algo demostraron Berlin y Kay, es que los términos cromáticos no se agrupan en clases dependientes del valor de un componente del tipo de "rojez", "amarillidad" o lo que fuere. La pertenencia de un elemento a un conjunto determinado no puede decidirse mediante un juicio categórico por "sí" o por "no"; por el contrario, cabe reconocer grados de membrecía a lo largo de un continuum de posibilidades. Por ello, la herramienta más adecuada para formalizar esta problemática no es la teoría clásica de conjuntos, sino la ya mencionada teoría de conjuntos nebulosos, cuyo correlato lingüístico, ligado a la semántica de prototipos, vendrían a ser los hedges definidos por Lakoff (Kay y McDaniel 1978: 622).

Un conjunto nebuloso se define por una función característica fa que asigna a cada individuo x en el dominio bajo consideración un número fa(x) entre cero y 1. Esta operatoria, desde ya, no establece caprichosamente estos guarismos, sino que éstos se generan a partir de una muestra y un consenso estadístico garantizado por cruzamientos y testeos múltiples. Cuando Berlin y Kay pedían a

Page 180: Antropologia y Programacion Logica

180

sus informantes seleccionar "el mejor ejemplo del color x", estaban pidiendo en realidad que indica-ran qué colores tenían el grado más alto de pertenencia a dicha categoría.

Las últimas formulaciones de Berlin y Kay, escritas por separado, en concurrencia con otros autores, utilizan exhaustivamente la teoría de conjuntos nebulosos y la noción de hedges, y ya no la antigua categorización de "foco" y "límite"; el sentido es aproximadamente el mismo que en el mode-lo liminal de 1969, pero la expresión es ahora más formal, más cauta y más rigurosa (Berlin, Boster y O'Neill 1981; Berlin y Kay 1975; Kay 1975a, 1975b). En un artículo de 1978 publicado en la revista Language, Kay y McDaniel reconocen que el trabajo original de Berlin y Kay adolecía de unas cuan-tas fallas empíricas y de algunos errores teóricos, pero subrayan que la investigación ulterior la ha ratificado en lo esencial.

Como decíamos, los estudios de Eleanor Rosch (durante un tiempo, Eleanor Heider) afinaron y perfeccionaron las intuiciones de Berlin y Kay, llevando las demostraciones mucho más allá del estrecho espacio de la antropología del color. Tras las experiencias de Rosch, entró definitivamente en crisis la concepción clásica acerca de la forma en que los seres humanos categorizan la realidad. Dicha concepción clásica, resumida con virtuosismo por Howard Gardner, expresaba en pocas pala-bras que las categorías son siempre arbitrarias y que no hay nada en el mundo ni en el sistema ner-vioso que determine de qué manera el hombre debe recortar sus observaciones. En consecuencia, el lenguaje y la cultura realizan esa tarea conforme a pautas inmotivadas, que no tienen anclaje ni en la fisiología ni en los hechos.

Según esta misma hipótesis, las categorías se fundan en atributos definitorios: todos los miem-bros de una categoría comparten esos atributos, ningún miembro de otra categoría los comparte en su integridad, y no existe solapamiento ni ambigüedad entre los miembros de una categoría y los que no lo son. El lenguaje, entonces, rotula y aísla las categorías en función de un ordenamiento artificial del mundo que sirve a los intereses específicos o a la Weltanschauung de una cultura. O lo que es lo mismo: cada cultura estructura arbitrariamente el mundo, sirviéndose de una categorización de orden lingüístico, capaz de imponerse incluso a los dictámenes de la percepción y a la naturaleza objetiva de las cosas (cf. Gardner 1987:367-368).

Cuando Rosch va al campo a estudiar el curioso sistema cromático de los dani de Nueva Guinea, basado en sólo dos términos contrapuestos, descubre que los hábitos lingüísticos resultan incidentales, y que la forma en que los miembros de una cultura recuerdan e instrumentan los colores refleja más a la organización universal del sistema nervioso que la peculiar estructura de su léxico. En definitiva, los experimentos más rigurosos y transparentes revelan que el léxico codifica aspectos del color que de antemano son notorios para el sujeto, en lugar de resaltar arbitrariamente esos as-pectos, como hubiera querido, por ejemplo, Marshall Sahlins (1977).

Después de este trabajo iluminador, Rosch sondeó una amplia gama de dominios cognitivos, desde el reconocimiento de figuras geométricas hasta la expresión de las emociones, concluyendo que lo que era válido para la percepción cromática también lo era con referencia a otros campos, si es que no para todos (Rosch 1973a, 1973b, 1977, 1978; Rosch y Lloyd 1978; Mervis y Rosch 1981; Rosch y Mervis 1975; Rosch, Mervis, Gray, Johnson y Boyes-Braen 1976). Es en esta versión generalizada de sus teorías donde Rosch discierne una estructura cognitiva básica que se manifiesta rotundamente en un amplio conjunto de dominios tanto naturales como artificiales. Según ella, las categorías se contruyen en torno a un miembro central o prototipo, al ejemplo más representativo de su clase, que comparte con otros miembros de su especie buena parte de sus características, en tanto que comparte pocas o ninguna con ejemplares pertenencientes a otras clases. Por ejemplo, un tordo o un gorrión son aves más prototípicas que un pingüino, un avestruz o un casuario, y en consecuen-

Page 181: Antropologia y Programacion Logica

181

cia se lo reconoce como tales más rápidamente, siendo menos probable que se los clasifique como miembros de la clase de los mamíferos o de los peces.

Análogamente, el automóvil sedán con dos hileras de asientos resulta más prototípico que una limusina, una rural o un sport convertible. Los mismos hallazgos son válidos para un sinfín de siste-mas categoriales; en todos los casos, el reconocimiento y la evocación de formas y ejemplares se ex-plica mejor presuponiendo que los sujetos construyen prototipos, y no que tratando de demostrar que inventan o utilizan una lista fija de características. El punto aquí es que los prototipos no son ni pueden ser arbitrarios, sino que se modelan a instancias del conocimiento que suministra el contexto objetivo. Una de las metas del análisis en esta modalidad conceptual es determinar primero cuáles son los aspectos materiales y objetivos que definen la tipicidad de los prototipos y averiguar después cuáles son las causas de su varianza transcultural, si la hubiere.

Rosch señaló también otros aspectos de las estructuras categoriales, proporcionando los ru-dimentos de lo que podríamos llamar una tipología funcional. En ciertos sistemas conceptuales -dice- existe algo así como un nivel básico, excepcionalmente saliente. Los objetos que pertenecen a este nivel básico comparten numerosos rasgos funcionales y perceptuales. Por ejemplo, en el dominio del mobiliario, una silla es un objeto del nivel básico; en el ámbito del mundo animal, lo son los perros y los pájaros. Los elementos del nivel básico contrastan con los de un nivel superior, llamado supra-ordinado (el moblaje respecto de la silla, el reino animal, respecto de los perros y pájaros) y también con los de un nivel inferior, subordinado (la mecedora respecto de la silla, la calandria y el caniche respecto de pájaros y perros). Los niños pequeños muestran propensión a designar a todos los obje-tos conforme a categorías prototípicas del nivel básico: para ellos, durante un tiempo, todo cuadrú-pedo es un "perro", y los conceptos de "animal" o "caniche" sólo surgen más tarde.

Pero lo esencial de este modelo no pasa ni por su abigarrado detalle interno, ni por sus presta-ciones evolutivas, ni por sus diferencias puntuales con la visión de Berlin y Kay, sino por el hecho de que ha roto con dos de los principios fundamentales que sustentan la tradición clásica: la naturaleza taxativa de la categorización y el carácter arbitrario e inmotivado de los conceptos. De aquí en más, se entenderá que las categorías de un sistema clasificatorio actúan como un compromiso que concilia y trasunta la capacidad perceptual del sujeto, la clase de acciones que una persona puede llevar a ca-bo y la estructura física o material del mundo. Esto obedece, según Rosch, a delicadas razones adap-tativas. Los seres humanos, cuya evolución a lo largo de los siglos les posibilitó enfrentar con efi-ciencia las presiones de su entorno, tienden a agrupar en categorías las entidades que su aparato per-ceptual encuentra similares, o que les exigen actitudes análogas, o ambas cosas. No hay en ello aso-mo alguno de arbitrariedad.

Al contrario, todo sistema categorial se atiene, por un lado, al hecho de la estructura corre-lacional del mundo, y por el otro a rigurosos principios de economía cognitiva. Al decir que el mun-do posee una estructura correlacional, se quiere significar que ciertos atributos tienden a darse uni-dos, mientras que otros rara vez o nunca son compartidos por el mismo objeto; esto hace que el am-biente resulte mucho más inteligible y predecible para el organismo que si se tratase de un "conjunto total" en el que los atributos se hallan dispersos según pautas aleatorias.

De acuerdo con Rosch (1973, 1978), el tipo de estructuración simétrico y "componencial" sólo se presentaría, y no siempre, en el caso de los sistemas de categorías artificiales. Si lo que nos inte-resa es estudiar el mundo real, descubriremos una serie de principios distintos, pues para que las categorías naturales se comporten componencialmente, sería preciso que los estímulos provenientes del mundo fueran de naturaleza tal que todos los atributos combinasen entre sí con la misma proba-bilidad, lo cual puede falsarse con sólo observar un poco las cosas. Lo que sucede en la vida real es

Page 182: Antropologia y Programacion Logica

182

que ciertas combinaciones de atributos tienen una alta probabilidad de aparición, mientras que otras son raras, biológicamente imposibles, absurdas o inexistentes. Para utilizar un ejemplo muy claro: es mucho más probable que en la experiencia cotidiana encontremos criaturas con alas que tengan plu-mas que seres alados que tengan pelo.

El principio de la economía cognitiva asume que el sistema categorial está diseñado de modo que obtiene el máximo de información acerca del medio empleando el mínimo de recursos cogniti-vos. Al categorizar un objeto, digamos, como "naranja", se le atribuyen de inmediato las propiedades típicas de su clase sin necesidad de una exploración exhaustiva; se sabrá en seguida que es comesti-ble, que tiene cáscara, semillas y jugo, y resultará a la vez discriminable ipso facto de otros objetos como manzanas o melones. Por otra parte, las categorías deben reducir las diferencias estimulares a proporciones cognitiva y conductualmente manejables, evitando la sobreabundancia. De nada val-dría, por ejemplo, mantener un centenar de categorías de nivel básico para diferenciar con precisión otros tantos tipos de silla, y así sucesivamente.

Tenemos entonces que la estructura interna de una categoría abarcadora acomoda miembros que se disponen según un continuo de tipicidad o representatividad, y que algunos elementos muy típicos operan como puntos de referencia, arquetipos, estereotipos o prototipos, desempeñando un papel privilegiado, focal, en los procesos de categorización. En el caso de las categorías prototípicas, por consiguiente, la distribución de la tipicidad no es igualitaria: algunos miembros del conjunto son mejores que otros en tanto tales, aunque podrían serlo peores desde otra acomodación conceptual, desde otro frame frente al cual se comporten como elementos ambiguos o periféricos, cuyo aire de familia con el prototipo de turno esté momentáneamente amortiguado. La relación (todavía no ex-plorada) entre razonamientos como éstos y las preocupaciones de Mary Douglas por la atipicidad es evidente.

No se trata, empero, de dejar la significación librada al capricho o a la volubilidad del sujeto, ni de concebirla como una idealidad incondicionada a la que sólo es posible acercarse tangencialmente. Toda vez que la significación tiene que ver con una realidad, es absurdo juzgarla (tal como se ha hecho a menudo) como un mero efecto de superficie, como un epifenómeno del juego de los signos. Si bien la semántica de prototipos es probabilista en cuanto a los límites y alcances de las categorías que analiza, hay que dejar en claro que es determinista en cuanto a la naturaleza de los núcleos.

Los estudios transculturales de Rosch (1978) y los experimentos de Garner (1974), Shaw y Bransford (1977), cuyos diseños califican de lejos como los más rigurosos de la ciencia cognitiva reciente, han demostrado, en efecto, que las categorías naturales no son construcciones arbitrarias que las comunidades o los sujetos elaboran a su antojo, sino que por el contrario mantienen un alto grado de correspondencia con la estructura correlacional objetiva del mundo. Es una pena que dis-cusiones antropológicas sobre los méritos relativos del racionalismo y el empirismo (en la línea de Leach 1976) no tengan para nada en cuenta estas experiencias.

Situándose en un ámbito ecológico de fenómenos, por así decirlo, Rosch descubre, comprueba y ratifica que las propiedades estructurantes y organizativas de la memoria semántica reflejan las discontinuidades y los complejos de atributos del universo perceptivo. Esto no supone incurrir en un empirismo ingenuo ni devolver al asociacionismo su preminencia, sino más bien conceder a la realidad la tajada que ciertas estrategias ideologizadas se obstinan en escatimarle. El medio ambiente tiene una arquitectura correlacional objetiva, pero ésto ni se desvela de manera espontánea, ni se establece por obra y gracia de un sujeto cartesiano (o de una cultura aristotélica) que constituye el universo en el vacío.

Page 183: Antropologia y Programacion Logica

183

La descripción de la categorización del medio no es independiente del observador, por supuesto, sino que se halla mediatizada por el sistema perceptivo, el que determina cuáles son las propiedades inteligibles y relevantes para el organismo y para el sistema categorial que construye taxonomías con el fin de adecuarse a la estructura percibida. En otras palabras, si bien se acepta que las categorías están en último análisis determinadas por la estructura correlacional del ambiente, se subraya también que el organismo modula la información seleccionando el tipo de propiedades y el ámbito de pertinencia de las pautas, y exagerando en algunos casos (por imposición de la cultura, del orden social o de la historia), las particularidades estructurales del medio (cf. Rosch, Mervis, Gray, Johnson y Boyes-Braen 1976).

En este contexto hay que entender que el "aire de familia" que vincula entre sí a los elementos de una clase o que enlaza los slots de un esquema con objetos empíricos, es un término técnico, y no una simple manera de decir. En tanto término técnico, el "aire de familia" permite a la vez interre-lacionar los resultados de numerosas investigaciones aparentemente dispersas. Por empezar, Vi-gotsky (1962) demostró que los niños no forman sus conceptos clasificatorios en la forma que es usual en la lógica de clases, sino mediante un pensamiento complejo, un encadenamiento tal que los atributos cambian de uno a otro eslabón, sin que se mantenga a lo largo de todos los elementos un núcleo estable de significaciones. Esta es la estructura peculiar que hemos analizado como cadena o complejo encadenado, y que se aviene a ser mirada también prototípicamente.

Hacia la misma época, Wittgenstein desarrollaba una idea parecida en sus Investigaciones Filosóficas: "La cuerda consiste de fibras, pero no obtiene su fuerza de ninguna fibra que corra por ella desde un extremo al otro, sino del hecho de que haya un gran número de fibras entrelazadas" (1958:87). Del mismo modo, el ligamento que confiere unidad a una clase de cosas radica en el aire de familia que la recorre, en los parecidos esporádicos que el conjunto revela: entre las cosas que denominamos "juegos" (plays, Spiele) no hay un solo factor común, ni un solo atributo compartido por todas, ni un límite formal de la especie, sino apenas una correlación de aquella índole.

Ningún rasgo constante, asegura Wittgenstein, asocia entre sí los diversos "juegos" concebibles: la ejecución de una pieza para piano, una partida de billar, una apuesta por dinero, el movimiento circular de una bandeja giradisco o el arrastre de una grabadora, la representación de una obra tea-tral, una broma, una parodia, la práctica de un deporte, el desempeño de un rol, un riesgo. No se tra-ta, advirtámoslo, de un simple fenómeno de polisemia, como el que se da entre una vela de sebo, una noche de vigilia y una vela de barco; nada tan trivial: en el conjunto de los juegos hay algo más, un vínculo que puede intuirse, una jerarquía multifoliada de significaciones que se superponen, se apro-ximan, se solapan o se interpenetran, en un "juego" semántico que le confiere una cohesión inefable, pero verdadera, y sobre todo (sabemos ahora) susceptible de ser modelizada.

El antropólogo inglés Rodney Needham (1975) supo captar con perspicacia inusual la seme-janza entre las ideas de Vigotsky y las de Wittgenstein, vinculándolas a dos categorías formales de las ciencias "duras": la de clasificación politética y la de taxonomía numérica, también llamada cla-sificación natural. Para decirlo de otro modo, reuniendo todos nuestros conceptos: Needham advirtió que el conjunto politético integrado por una serie de elementos entre los que existe cierto aire de familia o cierta relación prototípica, admite ser abordado mediante los recursos formales de la taxo-nomía numérica, capaces de revelar el orden que recorre el conjunto sin ceñirse a los principios aris-totélicos y linneanos; luego propuso sus hallazgos como una nueva base consistente, útil para repen-sar la conceptualización de la propia antropología.

No interesa, por ahora, que este descubrimiento se haya materializado sin tener en cuenta lo que los investigadores de inteligencia artificial y lo que los diseñadores de sistemas expertos habrían po-

Page 184: Antropologia y Programacion Logica

184

dido aportar a una ciencia preparadigmática como la nuestra, persuadida de que la formalización apareja siempre la distorsión de los hechos, la caída en el cientificismo y el aniquilamiento del objeto. Lo importante es que no sólo a Needham le está dado hallar la pauta que conecta: la articulación de las ciencias humanas en torno a lo que fue la psicología cognitiva primero, la ciencia cognitiva des-pués, la ingeniería del conocimiento en los días que corren, permite apreciar como nunca antes un poderoso gesto de convergencia; un movimiento a través del cual el conocimiento comienza por fin a acumularse y la cooperación disciplinaria asoma como una realidad tangible. Toda la propuesta po-drá revelarse en algún momento falsa a la luz de los hechos; pero nadie negará que se trata de una estupenda hipótesis de trabajo.

Las digresiones de Wittgenstein acerca de los juegos del lenguaje, las investigaciones de Vi-gotsky sobre el desarrollo cognitivo, las exploraciones formales de Sneath, Sokal y Kronenfeld en taxonomía numérica, los estudios de Berlin, Kay, Rosch y Mervis sobre terminología focal, los desa-rrollos matemáticos de Lotfi Zadeh en materia de conjuntos nebulosos, los hallazgos de Lakoff sobre la metáfora y una masa creciente de trabajo científico, termina confluyendo con la semántica de pro-totipos y con la gramática de casos de la lingüística y con las categorías cognitivas de scripts, frames y esquemas, sustentando, en lo que a las ciencias humanas compete, una genuina revolución que no ha dejado de manifestarse tampoco en la filosofía, que recuperó para sí la respetabilidad de una forma sofisticada de empirismo (cf. Putnam 1975; Kripke 1972).

Sin eclecticismo alguno, sin amontonamientos arbitrarios, sin liderazgos forzados, un solo macromodelo, en una palabra, permite recorrer la cultura desde que apuntan la percepción, el pen-samiento y el significado hasta que se constituyen los mitos, los símbolos y las metáforas, demostran-do conexiones, isomorfismos y correspondencias insospechadas entre los diversos niveles fenoméni-cos y entre las herramientas designadas para interrogarlos. La exploración profunda de la diferencia lingüística y cultural (más que ninguna otra) ha sido la pieza metodológica que a permitido consoli-dar este logro.

Consideramos, en pocas palabras, que la ciencia cognitiva es una de las fronteras móviles de las ciencias humanas que poseen actualmente mayor interés. Pero aunque se han clarificado enormente ciertos problemas de la categorización y la taxonomía, tanto folk como científica, esto no quiere decir que todo lo esencial haya sido resuelto. La ciencia cognitiva todavía arrastra el peso de haber surgido históricamente de una psicología centrada en el sujeto individual; el locus de la cultura con certeza no se identifica tan fácilmente con la psiquis del sujeto, y de allí que la relevancia de los ha-llazgos cognitivos para la antropología en general sea despareja, localizada y hasta el día de hoy más bien escasa. Hay además un lastre intelectualista en lo que se admite y se rechaza como cono-cimiento, que hace que espacios enteros de la actividad mental y de la vida imaginativa de las socie-dades permanezca al margen de los focos de interés, sujeta al arbitrio de quienes socavan el método embanderados tras la santidad que para todos nosotros tiene, profesionalmente, lo emocional.

A la idea de prototipo en el plano de los significados puros le corresponde la estructura del frame o del esquema en el ámbito de las formas informacionales de representación. Esto va por de-finición ya que, desde Minsky en más, un frame pretende representar un estereotipo. Probada ya la adecuación del lenguaje para estas formas, los énfasis semánticos de quienes hablan de prototipos sin saber que Minsky existe no justifican nuevas disquisiciones por nuestro lado. La lógica que engrana con la semántica de prototipos para derivar inferencias difusamente calculadas es, sin duda, la lógica difusa. De ella trataremos en la cuarta sección de la tesis.

Page 185: Antropologia y Programacion Logica

185

m) Conglomerados o congeries focalizadas

El conglomerado [cluster] difiere de la organización mediante tipos-token en el hecho de que

ninguno de sus lexemas constituyentes funciona como tipo o ejemplar. Uno o más lexemas pueden constituir el foco de un grupo de lexemas interrelacionados, ordenados con respecto a aquellos en función de relaciones heterogéneas. Un ejemplo típico de congeries focalizada es la relación entre conceptos propia de las ciencias sociales, como por ejemplo "clase", "grupo", "status", "rol" e "inter-acción" en sociología o antropología social. La "clase" parecería ser un tipo de "grupo"; el "status" es un atributo, en tanto que el "rol" se referiría a algún tipo de acción característica y la "interacción" podría comprenderse como la consecuencia, causa o indicio del hecho de ser miembro de un grupo. Ninguno de los conceptos resulta ser el candidato ideal para constituir el foco del conjunto en todas las ocasiones de análisis; en un momento dado podemos poner a cualquiera de ellos en el foco; y esto, precisamente, constituye la característica definitoria de la estructura. El propio Stephen Tyler (1978:282-283) proporciona la pista para tratar el conglomerado del ejemplo en un lenguaje lógico y, aún más, en cláusulas de Horn; si se enfatizaran los esquemas proposicionales tomando a "grupo" como concepto focal, quedaría una serie de proposiciones como las siguientes:

es acción característica (rol, grupo) posee status (grupo) es una clase de (clase, grupo) es una concecuencia de (grupo, interacción)

Nótese que el conjunto procede del ensayo de Tyler, sin ninguna enmienda sintáctica por nuestra parte salvo las que emanan de su traducción. Transferir sus elementos a predicados de Pro-log sería un ejercicio tan directo y rutinario que lo dejaremos así, difiriendo apenas de otros frag-mento de programa que pudiéramos haber vertido.

n) Ordenamientos temáticos

El dilema siguiente se resuelve casi siguiendo los mismos pasos y aduciendo ejemplos que

proceden de la misma fuente irracionalista, concebida para exhibir afanosamente y con un febril en-tusiasmo los obstáculos semánticos que la ciencia no estaría, según se aduce, en condiciones de su-perar. Así como un conglomerado focal surge cuando un argumento o relata se repite en cierto nú-mero de proposiciones, los ordenamientos temáticos ocurren cuando la misma relación (el mismo predicado) se repite con cierto número de argumentos. Consideremos una vez más un ejemplo pro-porcionado por Tyler para demostrar la complejidad irreductible de las formas de significación; el listado procede directamente de su textos (1978: 283), corrigiendo el error original de la tercera lí-nea, reduciendo su longitud innecesaria y omitiendo los pomposos diacríticos que, después de todo, carecen de sentido en vocablos pluralizados por un texano conservador según los cánones de sufija-ción de la lengua de Shakespeare:

Los Brahmanes dan sacrificios para los Ksatriyas = dan sacrificio (Brahmanes, Ksatriyas) " " " " " " Vaisyas = dan sacrificio (Brahmanes, Vaisyas) " " " " " " Brahmanes = dan sacrificio (Brahmanes, Brahmanes) Los Ksatriyas dan protección a los Brahmanes = dan protección (Ksatriyas, Brahmanes) " " " " " " Vaisyas = dan protección (Ksatriyas, Vaisyas) " " " " " " Sudras = dan protección (Ksatriyas, Sudras) " " " " " " Ksatriyas = dan protección (Ksatriyas, Ksatriyas)

Page 186: Antropologia y Programacion Logica

186

Ninguna de las observaciones subsiguientes sobre relaciones transitivas, reflexivas, etc, aporta nada nuevo respecto de lo que llevamos dicho. Una vez más, el propio Tyler habla de predicados y argumentos, aunque parece ignorar la existencia de la programación lógica y de sus lenguajes predicativos, los cuales ya eran algo más que un proyecto cuando su libro fue dado a la imprenta. Esa ignorancia constituye quizá una hermosa táctica para que él demuestre a los lectores que tiene razón en contra de la razón; pero como estrategia es de muy corto alcance, y ya, ante los hechos, podemos considerarla desmentida.

ñ) Grupos de interacción recíproca

Una interacción recíproca denota la interdependencia mutua de las acciones características de

numerosas entidades. Esta estructura es la fuente y la base de "muchas nociones que tienen que ver con la interdependencia, la interacción y la reciprocidad y que se encuentran ampliamente distribui-das en las culturas bajo la forma de sistemas de intercambio matrimonial, organización ritual, inter-cambio económico y la organización de la sociedad misma" (cf. Tyler 1978:284).

"Interdependencia" ha llegado a ser, en ciertos ámbitos, palabra tan sagrada o emblemática como en otros lo son "historia", "significado" o "contexto". La antropología interpretativa incurre con frecuencia en estas variantes del fetichismo académico, que parten del prejuicio de que las "re-laciones" son más elusivas y menos tratables por la ciencia que las "cosas". La caracterización de los grupos de interacción recíproca en los libros de texto (que aunque no siempre lo adviertan no descu-bren otra cosa que lo que en otros espacios del saber ha dado en conocerse como "sistemas") casi siempre dirigen sus ejemplificaciones hacia la noción matemática de grupo, hacia Piaget o hacia la analítica levistraussiana, subrayando la complejidad del asunto. Desde ya, la programación lógica no encuentra en estas estructuras impedimentos, sino campos óptimos de aplicación. La demostración de este punto no implica un desafío abismal, ya que toda nuestra tesis lo abona, y en particular los programas y estudios de casos: raro sería que un lenguaje de computación pensado para expresar relaciones (cf. Malpas 1988) no triunfara precisamente allí donde los problemas que se le oponen son algunos de los que él ha venido a solucionar.

o) Montón o Congeries

Un montón o congeries es el más simple de todos los ordenamientos, el auténtico "grado cero"

de la estructuración, como que ha sido reputado el emergente de las etapas más elementales del desarrollo intelectual (Vygotsky 1962:355-359; 1987:92). Se trata de un agrupamiento que carece de principio estructural, a excepción de su inclusión en un mismo montón, pila o conjunto. Una congeries emerge de una totalidad indiferenciada como un grupo diferenciado de esa totalidad, pero no organizado internamente por ningún principio discernible. En la psicología genética de Lev Vygotsky, la caracterización de esta entidad es la siguiente:

Los niños pequeños dan su primer paso hacia la formación del concepto cuando colocan juntos un número de objetos en cúmulos inorganizados o en un "montón" para poder resolver un problema que los adultos solucionarían normalmente formando un nuevo concepto. El montón, que consta de objetos dispares agrupados sin ningún fundamento, revela una ex-tensión difusa y no dirigida del significado del signo (palabra artificial) hacia objetos no rela-cionados unidos por casualidad en la percepción del niño. En esta etapa, el significado de la palabra denota para el niño nada más que una conglomeración sincrética vaga de los objetos

Page 187: Antropologia y Programacion Logica

187

individuales que por alguna razón se encuentran unidos en su mente en una imagen que debi-do a su origen sincrético es altamente inestable (Vygotsky 1987:92)

La utilidad de esta estructuración en tanto tal en una analítica antropológica parece al menos tan difusa como los principios que la rigen. Incluso Hallpike, ansioso de demostrar a todo trance la pre-cariedad del pensamiento primitivo, consigna como estructuras elementales representativas del primi-tivismo tipos de ordenamiento más elaborados que éste (cf. Hallpike 1986). De todas maneras, como en ocasiones se ha hecho referencia a ella, la incluimos en nuestra caracterización de los ordenamien-tos posibles, en espera de que los antropólogos le encuentren alguna utilidad teorética aparte del lujo siempre grato de la referencia erudita (cf. Tyler 1978:288-289).

La correspondencia entre un conjunto de términos y el lenguaje Prolog (o para el caso, cualquier lenguaje) es más bien obvia, por cuanto es más fácil e inmediato representar un cúmulo indiferen-ciado que expresar una estructura ordenada de términos. La correspondencia entre un término o le-xema y una u otra congeries se podría expresar mediante diversas alternativas de organización de cláusulas, coordinadas o no en clases o jerarquías. Es posible asimismo que un sistema identifique reflexivamente una congeries por falla de todo otro intento de clasificación. Nuestro sistema exper-to, AGENI3.PRO, admite montones más o menos desestructurados entre los insumos que hacen las veces de base de conocimiento; si la máquina de inferencia de un programa está correctamente diseñada, la desestructuración afea, prolonga y enreda los cálculos lógicos, pero no los impide.

p) Escalas

Una escala cuantitativa apenas necesita caracterizarse; una escala cualitativa, en cambio, es una

entidad estructural bastante más exótica para la antropología, que se ha ocupado explícitamente de ella en muy contadas oportunidades, casi siempre polémicas. Este desinterés no deja de ser para-dójico, ya que la teoría en cuyo interior la antropología adquirió autoconciencia disciplinar y dimen-sión científica (el evolucionismo) implicaba ya, si se lo contempla en cierta forma, un ordenamiento escalar de complejidades, de rasgos presentes o ausentes, de transiciones y diferencias.

El evolucionismo es una modalidad que va y viene en la antropología sociocultural; después del neo-evolucionismo de los 40 y 50, nuevas oleadas evolucionistas trajeron consigo un puñado de herramientas formales (casi siempre, refinamientos del viejo método comparativo) que quedaron mal o bien agregadas al bagaje antropológico estándar o que se perdieron sin el debido examen en el baúl sin fondo de una disciplina que parece aborrecer la acumulación. En la última expansión neo-neo-evolucionista de los 80, con Diener, Nonini y Robkin, las teorías clásicas acogieron, como se sabe, tonalidades sistémicas, cibernéticas y ecologistas. En un episodio poco conocido de la historia dis-ciplinar, a principios de los 60, numerosos antropólogos para quienes "el concepto de evolución ha probado ser demasiado fundamental y fructífero como para ser ignorado indefinidamente por algo que se llama a sí mismo una ciencia", ensayaron una técnica para manipular datos cualitativos que, según se creyó, poseía un rigor que sólo se encuentra ordinariamente en los métodos cuantitativos. Los antropólogos fueron Buchler, Selby, Kay, Carneiro, Goodenough, Tobias, Snow, Hickman, Schwartz, Miller, Young, Fujimoto, Emery y Oeser, entre otros. La técnica fue el análisis escalar, y más en concreto la escala de Guttman.

El carácter cualitativo de la escala de Guttman finca en que en ella se determina de una manera simple y directa la presencia o la ausencia de rasgos, sin obligar al despliegue de una matemática ela-borada. El primer paso consiste entonces en esa determinación, colocando por ejemplo los rasgos en una columna y las sociedades en hilera. Veamos este caso, cuidadosamente expuesto por uno de los

Page 188: Antropologia y Programacion Logica

188

propagandistas del método, Robert Carneiro (1962). Naturalmente, en este cuadro + denota pre-sencia, - ausencia del rasgo que se trate:

Kuikuru Anserma Jívaro Tupí Inca Sherente Chibcha Yagan Cumaná Estratificación - + - - + - + - + Cerámica + + + + + - + - + Bebidas fermentadas - + + + + - + - + Estado político - - - - + - + - - Agricultura + + + + + + + - + Arquitectura - - - - + - - - - Metalurgia - + - - + - + - - Telares - + + - + - + - +

Una inspección intuitiva de una matriz semejante no revela ningún patrón apreciable, lo que era

de esperarse porque tanto los rasgos como las sociedades se dispusieron al azar. El paso siguiente consiste en contar y registrar el número total de presencias para cada rasgo y el número de rasgos presentes en cada sociedad. Los resultados de esa nueva tabulación serían los que siguen:

Número de presencias de cada rasgo Número de rasgos en cada sociedad Estratificación 4 Kuikuru 2 Cerámica 7 Anserma 6 Bebidas fermentadas 6 Jívaro 4 Estado político 2 Tupinambá 3 Agricultura 8 Inca 8 Arquitectura 1 Sherente 1 Metalurgia 3 Chibcha 7 Tejido en telar 5 Yagan 0 Cumaná 5

Ahora bien: colocando los rasgos culturales en orden decreciente de abajo hacia arriba y las sociedades en orden creciente de izquierda a derecha conforme al número de rasgos que poseen, se obtiene ya no una matriz aleatoria sino una entidad que el psicólogo social Louis Guttman, en 1940, llamó escalograma.

Yagan Sherente Kuikuru Tupí Jívaro Cumaná Anserma Chibcha Inca Arquitectura - - - - - - - - + Estado político - - - - - - - + + Metalurgia - - - - - - + + + Estratificación - - - - - + + + + Tejido en telar - - - - + + + + + Bebidas fermentadas - - - + + + + + + Cerámica - - + + + + + + + Agricultura - + + + + + + + +

Es indudable que el escalograma exhibe un patrón definido, y que el mismo revela algo acerca

de los procesos y estructuras subyacentes: en el caso analizado (que constituye un escalograma perfecto), parecería como que las sociedades agregaran paulatinamente rasgos sin perder los que ya tenían, y que sabiendo cuál rasgo está presente en una sociedad podríamos predecir algunos más. El

Page 189: Antropologia y Programacion Logica

189

valor del formalismo no se restringe a cruzar "sociedades" con "rasgos"; con mayor provecho pode-mos también correlacionar "sistemas" con "valores", "dominios" con "elementos", "lenguas" con "terminologías cromáticas" o lo que se quiera; de más está decir que pronto se adosaron perfecciona-mientos, extensiones y honduras metodológicas (coeficientes de escalabilidad y reproducibilidad, métodos interpretativos para casos anómalos, etc) que potenciaron las fuerzas del instrumento.

Es imaginable el revuelo que entre las filas de los evolucionistas causó semejante revelación metodológica, por sencilla u obvia que pueda parecernos hoy en día. Se multiplicaron las apuestas a favor o en contra del formalismo, se prodigaron los habituales artículos de apología y desmixtifi-cación, hasta que en algún momento la cosa se enfrió y quedó más o menos olvidada y en estado inconcluyente (Kronenfeld 1972; Marshall y Borthwick 1974; Graves, Graves y Kobrin 1968). No vamos a revivir aquí esas discusiones ni a juzgar el mérito metodológico de las escalas; sencillamente expondremos el mismo caso escalogramatical en cláusulas de Prolog digeribles por el sistema ex-perto AGENI3.PRO, como demostración de la naturalidad con que nuestra metodología es capaz de incorporar un formalismo. Considérense, por ejemplo, los siguientes registros, que bien podrían encontrarse o escribirse tal como están en su base de conocimientos:

regla(10,"Sociedad","Yagan",[]). regla(11,"Sociedad","Sherente",[1]). regla(12,"Sociedad","Kuikuru",[1,2]). regla(13,"Sociedad","Tupinambá",[1,2,3]). regla(14,"Sociedad","Jívaro",[1,2,3,4]). regla(15,"Sociedad","Cumaná",[1,2,3,4,5]). regla(16,"Sociedad","Anserma",[1,2,3,4,5,6]). regla(17,"Sociedad","Chibcha",[1,2,3,4,5,6,7]). regla(18,"Sociedad","Inca",[1,2,3,4,5,6,7,8]). cond(1,"posee agricultura"). cond(2,"posee cerámica"). cond(3,"posee bebidas fermentadas"). cond(4,"posee tejido en telar"). cond(5,"posee estratificación social"). cond(6,"posee metalurgia"). cond(7,"posee organización política estatal"). cond(8,"posee arquitectura en piedra").

El método natural para ordenar en una secuencia escalar predicados con números variables de términos consiste en un simple conteo o tallying, pasando por la instancia intermedia de convertir los términos a listas si así se lo desea. En computación es tradicional "sortear" matrices de datos conforme a su magnitud, y todo lenguaje incluye cláusulas que, convenientemente seriadas, permiten reacomodar la salida de la clasificación en el orden que convenga.

Un proceso de diagnosis ejecutado sobre una base de conocimientos así pautada sería una maravilla de fluidez y transparencia, pero sólo se manifestaría en su peculiar contextura de mediar una serie de casualidades, como el acomodamiento de los datos en un escalograma ordenado o la e-nunciación de las cláusulas regulares en una secuencia conveniente, de modo tal que la interacción entre el antropólogo y el sistema se pliegue, por así decirlo, a la progresión de los hechos. La forma es el mensaje. Al igual que las pautas clandestinas que sólo se mostraban ordenando los datos de cierto modo, la situación insinúa una potencialidad de significados oculta en el conocimiento antro-pológico a la espera de una estructuración sagaz; en este sentido, la cuestión va más allá de una es-

Page 190: Antropologia y Programacion Logica

190

tructura específica y de una tendencia antropológica peculiar beneficiada por ella, para hablarnos de algo que es como una promesa de todos los métodos a toda la antropología.

3. Estructuras computacionales de representación

El análisis de las estructuras de datos constituye una de las especialidades más amplias y mejor

desarrolladas de la computación como disciplina científica. En los últimos años, con el advenimiento de la inteligencia artificial, las estructuras de datos se han convertido poco a poco en estruc-turaciones de conocimientos. La diferencia entre uno y otro concepto no es trivial: el "dato" remite a la máquina, a los dispositivos de almacenamiento, a las estrategias mecánicas de recuperación, al paradigma procedimental, en suma; el "conocimiento" concierne al significado del problema pro-puesto, a la lógica de la disciplina usuaria, al modelo declarativo.

El aparato siempre está allí, por más que se busque disimularlo. Algunas implementaciones del Prolog, y en particular una de las más prestigiosas, el Arity Prolog, encarnación comercial del canon de Edinburgo, posee como resabio de las instrucciones orientadas a la máquina referencias a direcciones de almacenamiento de símbolos. Es verdad que en general ellas tienen que ver con ope-raciones y entidades que sólo se manifiestan durante el debugging, cuando es común que nos enfren-temos con pantallas como ésta (cf. Schnupp y Bernhard 1987:75):

CALL opening(_G63), closing(_G68), concat_atoms(_G63,_G68,_G75), write(_G75).

Si bien unos cuantos hackers se sentirán a sus anchas ante semejante revelación de las intimi-dades de la máquina, pensamos que ese aspecto de la implementación traiciona, en un momento crítico, la instancia declarativa en que el Prolog funda su razón de ser y su transparencia como herra-mienta para una ciencia empírica. Pero las filtraciones y lapsus mecánicos son sólo una cara de la cuestión: todo cuanto haya y suceda en y por los artificios mecánicos posee también valor instrumen-tal en una teoría de modelos; hay que investigar de qué se trata esto y cómo se relaciona con lo que llevamos visto.

De más está decir que en esta sección del capítulo nuestras semblanzas serán más incompletas y provisionales que nunca, y no porque sea el campo que conocemos peor. El dinero que (por otras razones y para otros objetivos) fluye hacia la tecnología hace que nuevas posibilidades surjan de año a año, transformando lo que podamos decir ahora en un discurso que se torna obsoleto apenas se lo escribe. Cuando comenzamos a estudiar antropología, por ejemplo, el Prolog no era más que un proyecto de hilbertianos visionarios; cuando terminamos de hacerlo existía una plétora de nuevos lenguajes (y por lo tanto, de nuevas estructuras) que hubiera socavado cualquier intento de síntesis planificado con algunos meses de margen, aún cuando implicara sólo a la computación convencional.

Sea como fuere, ahora toca el turno de hablar de datos. Como las máquinas aún no han evo-lucionado más allá del modelo de Von Neumann, la mayoría de las estructuras de datos todavía se refiere a ellas, aunque el lenguaje tienda a pensarlas como conocimiento en general. Algunas de las que analizaremos seguidamente reflejan esa doble inflexión.

Page 191: Antropologia y Programacion Logica

191

a) Listas

En este apartado no abundaremos en detalles computacionales que pueden recabarse mejor en

algunos de los manuales disponibles, y en cambio nos concentraremos en la lista en tanto estructura de representación conceptual que permite desplegar numerosas operaciones sintéticas o analíticas sobre conjuntos de datos de variada naturaleza.

El Prolog es uno de los pocos lenguajes de programación que permiten definir tipos de datos recursivos. Un tipo es recursivo si admite que sus estructuras contengan otras estructuras semejantes a ellas; en otros términos, los componentes de una lista Äpor ejemploÄ pueden ser a su vez listas, hasta una profundidad de inclusión indefinida o infinita. Computacionalmente, una recursión es una estructura de programa en la cual un procedimiento se invoca a sí mismo. La idea es que, para resol-ver un problema, se ejecutarán primero ciertas operaciones, tras lo cual se resolverá un problema más restringido y del mismo tipo (es decir, lo que resta del problema inicial) utilizando los mismos procedimientos. El proceso termina cuando el problema que queda por resolver deviene tan simple que el procedimiento puede resolverlo en un solo paso sin llamarse a sí mismo nuevamente.

Una lista se denota en Prolog encerrándola entre corchetes, y ya sea enumerando uno a uno sus componentes y separándolos por comas, o refiriéndose a la cabeza y la cola (el primer elemento y el resto del conjunto) separados por la línea vertical |. Esta línea equivale a la distinción entre CAR y CDR en LISP, pero a diferencia de ésta puede disponerse de tal forma que la cabeza de una lista posea más de un elemento atómico. Hay una cierta paradoja subyacente a la estructura de listas en Prolog: si bien una lista puede albergar numerosos elementos o "miembros", como por ejemplo [a,b,c,d,e,f], toda lista es en esencia una estructura binaria, compuesta sólo por una cabeza y una cola. De este modo la cabeza de nuestro ejemplo unificaría con el miembro a, en tanto la cola deno-taría (en la primera operación realizada sobre la lista completa) los miembros b,c,d,e y f.

Es sumamente sencillo diseñar rutinas recursivas en Prolog para efectuar diversos procedi-mientos sobre listas; las diferentes implementaciones del lenguaje (con la excepción del dialecto ori-ginal francés) en general coinciden en la especificación sintáctica de las operaciones. La sencillez de que hablábamos se debe al hecho de que construir y descomponer listas es un trabajo que en este lenguaje se realiza mediante unificación, y no a través de procedimientos específicos en los que se le dice a la máquina paso a paso todo lo que debe hacer. La lista aniquila y torna inútil la especificación repetitiva. Esto significa que el corazón del procesamiento de listas coincide a menudo con la nota-ción que describe la estructura de los argumentos.

Nuestros programas incluyen numerosas rutinas de este tipo. La profundización de los estudios sobre el Prolog ha ocasionado que las rutinas-tipo o las heurísticas sobre listas se fueran acumu-lando, constituyendo una poderosa reserva de ideas de dominio público. Las siguientes son algunas de las que se usan con más frecuencia, en dialecto Turbo Prolog.

1) Para escribir en pantalla los componentes de una lista, presuponiendo ligada la variable corres-

pondiente: esclista([]). 3.7 esclista([H|T]) :- write(H),nl, esclista(T).

Page 192: Antropologia y Programacion Logica

192

2) Para determinar si un elemento es miembro de una lista: miembro(X,[Cabeza|Cola]) :- Cabeza=X. 3.8 miembro(X,[_|Cola]) :- miembro(X,Cola). 3) Para permutar los elementos de una lista: permutacion(Xs,[Z|Zs]) :- 3.9 selec(Z,Xs,Ys), permutacion(Ys,Zs). permutacion([],[]). selec(X,[X|Xs],Xs). selec(X,[Y|Ys],[Y|Zs]) :- selec(X,Ys,Zs). 4) Para ordenar los miembros de una lista: sort([X|Xs],Ys) :- sort(Xs,Zs), insert(X,Zs,Ys). 3.10 sort([],[]). insert(X,[],[X]). insert(X,[Y|Ys],[Y|Zs]) :- X>Y, insert(X,Ys,Zs). insert(X,[Y|Ys],[X,Y|Ys]) :- X<=Y. 5) Para concatenar dos listas ordenadas: merge([X|Xs],[Y|Ys],[X|Zs]) :- 3.11 X<Y, merge(Xs,[Y|Ys],Zs). merge([X|Xs],[Y|Ys],[X,X|Zs]) :- X=Y, merge(Xs,Ys,Zs). merge([X|Xs],[Y|Ys],[X|Zs]) :- X>Y, merge([X|Xs],Ys,Zs). merge([],[X|Xs],[X|Xs]). merge(Xs,[],Xs). 6) Para eliminar elementos duplicados en una lista: elimdup([],[]) :- !. 3.12 elimdup([H|T],T1) :- miembro(H,T), !, elimdup(T,T1). elimdup([H|T],[H|T1]) :- elimdup(T,T1). 7) Para verificar que un elemento no forme parte de una lista: nomiembro(X,[Y|Ys]) :- 3.13 X <> Y, nomiembro(X,YS). nomiembro(X,[]). 8) Para verificar que una lista sea un subconjunto de otra: subconjunto([X|Xs],Ys) :- selec(X,Ys,Ys1), 3.14 subconjunto(Xs,Ys1).

Page 193: Antropologia y Programacion Logica

193

subconjunto([],Ys). 9) Para convertir una lista en predicados simples: conversion :- 3.15 caso(A,B,C,D), selec(X,D,Z), assert(predic(A,B,C,X)), fail. 10) Para ingresar datos en forma de lista, encabezados en este ejemplo por tres términos variables: ingreso:- 3.16 clearwindow, write("Indicar provincia : "),readln(A),nl, write("Indicar sitio : "),readln(B),nl, write("Indicar variable : "),readln(C),nl, hacerlista(Lista), assertz(caso(A,B,C,Lista)). hacerlista([Cabeza|Cola]) :- readln(Cabeza), Cabeza <> "", !, hacerlista(Cola). hacerlista([]). 11) Para contar el número de elementos de una lista. longlista([],0). 3.17 longlista([Cabeza|Cola],K) :- longlista(Cola,J), K=J+1.

No obstante la potencia tremenda de estas rutinas recursivas y de otras semejantes, el lenguaje por excelencia para el tratamiento de listas no es el Prolog, sino el LISP, desarrollado por uno de los abanderados tempranos de la inteligencia artificial, John McCarthy, sobre ideas lógicas entrevistas mucho tiempo antes por Alonzo Church. Estas ideas, de las que ya hemos hablado en su momento, se apiñaban en torno a la lógica funcional y al cálculo Lambda. LISP y Prolog son ambos lenguajes lógicos, entonces, pero sólo éste es descriptivo.

McCarthy advirtió que el procesamiento de listas, la programación recursiva y la extensibilidad eran conceptos y estrategias que se interimplicaban. A partir de este principio diseñó un lenguaje que basa su carácter único entre todos los lenguajes de computación en seis características formalmente anudadas:

1) Su capacidad para computar expresiones simbólicas en lugar de números, tomando ven-taja del hecho de que se pueden definir como símbolos secuencias cualesquiera de dígitos binarios.

2) Su prestación de procesamiento de listas, por medio de la cual las listas encadenadas a nivel de la máquina significan múltiples niveles de listas.

3) Su extensibilidad, es decir, la posibilidad de componer funciones complejas a partir de funciones simples y de redefinir dinámicamente cualquier función.

Page 194: Antropologia y Programacion Logica

194

4) Su uso de la recursión como procedimiento de flujo normal.

5) La representación del propio código de LISP a nivel de máquina en forma de lista, lo cual crea una formato idéntico para ese código y para los datos. Un programa LISP, en otras palabras, es una lista de listas; los programas mismos se pueden considerar como los datos de otros programas de mayor inclusividad.

6) La función EVAL, que sirve como núcleo del intérprete y que es uno de los rasgos dis-tintivos de este lenguaje y de sus dialectos derivados.

Las habilidades miméticas del Prolog para emular la lógica funcional han sido exploradas por Maier y Warren (1988:265 y ss). Uno de los dialectos de Prolog, Micro-Prolog, ha sido concebido sobre el modelo del LISP, y de hecho es uno de los que mejor se prestan para el desarrollo de la programación funcional y de su lógica concomitante (cf. Tello 1988). Las versiones recientes del Arity Prolog incluyen sofisticadas herramientas recursivas, como ser listas de diferencia.

Las listas de diferencia constituyen en realidad una estructura de datos especialmente apta para tratar secuencias incompletas de elementos, partiendo de la base del concepto computacional de acu-muladores. En este sentido conforman una técnica de programación lógica bien establecida que permite la realización de programas concisos y eficientes, aplicados a dominios tales como escalo-gramas y secuencias evolutivas. Desde un punto de vista funcional, las listas de diferencia en Prolog son la contrapartida de la cláusula rplacd del LISP, aunque su modo de operación es divergente: mientras que las primeras carecen de efectos colaterales y se pueden discutir en términos del modelo semántico de la máquina abstracta, la operación rplacd es destructiva y sólo está fundamentada como un uso computacional de orden práctico.

Por razones a fin de cuenta accidentales, no hemos implementado listas de diferencia en ninguno de los programas incluidos; sería forzado idear sobre la marcha problemas que quizá puedan ser me-jor resueltos mediante un formalismo que requiera menos paráfrasis. Remitimos por ende a la tradición bibliográfica del Prolog para demostrar sus capacidades (cf. Clark y Tårnlund 1977; Ster-ling y Shapiro 1986: 239-247).

b) Arboles

Los árboles, como se sabe, han sido recursos gráficos que hicieron irrupción más o menos a-

compañados de una teoría o una prescriptiva rigurosa, y desde entonces han estado disponibles en áreas tan disímiles como la gramática generativa, la teoría matemática de grafos y el análisis com-ponencial. Si un antropólogo piensa en representar computacionalmente un conjunto de datos que se acomodan siguiendo un patrón arboriforme (un árbol genealógico, una taxonomía, una red social, una gramática generativa, un proceso de derivación) la forma "natural" de hacerlo es echando mano de una estructura del lenguaje llamada, precisamente, árbol. Al igual que las listas, los árboles son estructuras de datos recursivas que ocupan un lugar de importancia privilegiada en numerosos algo-ritmos computacionales. El origen de esta estructura se remonta a Knuth (1968).

En Prolog los árboles podrían representarse mediante un functor ternario de estructura ár-bol(Elemento, Izquierda, Derecha), donde "Elemento" es el elemento que ocupa el nodo, e "Izquierda" y "Derecha" son, naturalmente, las ramas respectivas; en esta estructura, el sub-árbol vacío se denota mediante el átomo vacío u otro equivalente. Por ejemplo el árbol siguiente:

Page 195: Antropologia y Programacion Logica

195

a

b c

se podría representar así:

arbol(a,arbol(b,vacio,vacio), arbol(c,vacio,vacio)). 3.18

En el dialecto Turbo Prolog habría que definir un dominio de tipo árbol con una estructura similar a la de este ejemplo, en el que se asume que los componentes de un árbol son strings o ristras de caracteres:

domains 3.19 dato = string tipo_arbol = arbol(dato, tipo_arbol, tipo_arbol) ; vacio

Esta declaración especifica primero un tipo de datos (dato) consistente en una hilera de ca-racteres y luego otro tipo con el functor arbol, cuyos argumentos son o bien una hilera de caracteres (el rótulo de la bifurcación) y dos árboles más, o bien un functor vacío. A partir de esta declaración es posible generar datos para llenar casos de esta estructura y algoritmos para atravesarla ulterior-mente.

Los programas lógicos que manipulan árboles binarios son similares a los que procesan listas. La diferencia radica en que los árboles son doblemente recursivos, por cuanto en una regla que se les refiere existen dos objetivos con el mismo predicado que el de la cabeza de la regla. Esto implica que si las reglas recursivas simples se estipulaban mediante dos reglas con la misma cabeza, las doble-mente recursivas requerirán necesariamente tres reglas. Para determinar, por ejemplo, si un elemento es miembro de un árbol binario, será preciso establecer primero la estructura recursiva del árbol y luego la naturaleza doblemente recursiva del procedimiento que define la pertenencia:

arbol_binario(vacio). 3.20 arbol_binario(arbol(Elemento,Izq,Der)) :- arbol_binario(Izq), arbol_binario(Der). miembro_arbol(X,arbol(X,Izq,Der)). miembro_arbol(X,arbol(Y,Izq,Der)) :- miembro_arbol(X,Izq). miembro_arbol(X,arbol(Y,Izq,Der)) :- miembro_arbol(X,Der).

Uno de los conceptos inmediatamente ligados a las estructuras arboladas es el de isomorfismo; este término se utiliza para denotar que dos árboles no ordenados son básicamente "el mismo árbol" dispuesto de otra manera. Se dice entonces que dos árboles T1 y T2 son isomorfos si se puede obtener T2 reordenando las ramas de los subárboles de T1. La figura siguiente muestra tres árboles binarios, de los cuales los dos primeros son isomorfos:

Page 196: Antropologia y Programacion Logica

196

*

a *

b c

*

* a

b c

*b *

a c

El isomorfismo es una operación de equivalencia que ha de definirse también en forma recursiva. Dos árboles vacíos son isomorfos. De no ser vacíos, dos árboles son isomorfos si poseen elementos idénticos en un nodo y si (a) los subárboles izquierdo y derecho son isomorfos o (b) el subárbol izquierdo de uno de los árboles es isomorfo con el derecho del otro y los subárboles restantes son isomorfos. En Prolog:

isomorfo(vacio,vacio). 3.21 isomorfo(arbol(X,Izq1,Der1), arbol(X,Izq2,Der2)) :- isomorfo(Izq1,Izq2), isomorfo(Der1,Der2). isomorfo(arbol(X,Izq1,Der1), arbol(X,Izq2,Der2)) :- isomorfo(Izq1,Der2), isomorfo(Der1,Izq2).

En términos más restrictos, un árbol de búsqueda binario es una estructura que permite pre-

decir, al buscar una celda cualquiera, en cuál de los subárboles de un item determinado se encontrará dicha celda. El árbol binario conforma, por lo expuesto y según se lo mire, tanto una estructura pasi-va de acomodamiento de datos como una heurística para recorrer velozmente un espacio de búsque-da.

En computación se acostumbra disponer datos originariamente "planos" de manera tal que se distribuyan según una estructura subyacente de árbol binario, a efectos de agilizar las operaciones de búsqueda. Se ha determinado que el tiempo insumido en encontrar un item en un árbol binario es, en promedio, proporcional al logaritmo binario del número total de elementos. El árbol binario (explorado con asiduidad por los especialistas en Prolog) constituye sin duda la estructura computa-cional que mejor refleja las organizaciones del conocimiento que la antropología cognitiva definiera como claves (Preston 1966; Tyler 1969; Fowler 1979). La literatura computacional pertinente in-cluye a Knuth (1968) y a Sterling y Shapiro (1986).

Aquí cabe hacer una observación que sólo en algunos aspectos es colateral. A menudo se ha afirmado que ciertas analíticas que se fundan en diferenciaciones binarias no pueden dar cuenta de una realidad que se caracteriza por gradaciones polivalentes. A despecho de lo que suele decirse sin demasiada reflexión formal, cualquier estructura, por "polivalente" que parezca, es susceptible de representarse en forma de árbol binario sin pérdida de riqueza semántica, aunque esta técnica no siempre sea la más económica ni la más acorde con la intuición. En principio, cualquier secuencia de eventos binarios recursivos que pueda pensarse en antropología (como lo serían, por ejemplo, las analíticas estructuralistas levistraussianas si fueran rigurosas) serían a la larga expresables en el for-malismo expuesto.

Decimos "a la larga" intencionalmente. Esa reductibilidad no implica contradecir lo que a menudo hemos alegado: el análisis estructural tal como Lévi-Strauss lo concibe se equivoca al juzgar que es posible establecer distinciones binarias semánticas e intuitivas sobre campos estructurados de acuerdo con principios de gradación o de secuencialidad no oposicional: los colores, los meses del año, las fases de un ciclo cualquiera. Al mismo tiempo afirmamos que cualquier entidad es represen-table a través de árboles binarios. No nos contradecimos, pues la reductibilidad de todo dominio a

Page 197: Antropologia y Programacion Logica

197

una estructura en última instancia binaria no es (como Lévi-Strauss supone) fruto de una operación intuitiva en un solo paso, capaz de conservar en todo su decurso los valores iniciales de significación; por el contrario, binarizar un dominio impone encadenar una serie más o menos larga de distinciones arbitrarias sobre atributos empíricos que casi siempre son del orden de la cantidad. Los valores ini-ciales son recuperables, pero sólo como salida reversible de un proceso de descodificación que los restituye así como los había perdido la codificación de la que él es la imagen invertida. Las oposicio-nes (o más bien diferencias) binarias se aplican sobre articulaciones formales o subyacentes, y no sobre las apariencias semánticas de superficie. La codificación binaria de un dominio cualquiera (el campo cromático, por ejemplo, tal como resulta cuando se lo digitaliza en señales o pulsos) no tiene por qué conservar ninguna correspondencia semántica oposicional con los denotata originales.

En antropología "binario" remite todavía al estructuralismo francés, así como "cognitivo" invoca al desdichado modelo de Goodenough; pasará mucho tiempo antes que estos residuos se disuelvan y los conceptos recuperen sus valores instrumentales. A propósito del mismo Lévi-Strauss y de sus propuestas metodológicas, digamos de nuevo, para cerrar este punto, que en su estado actual, ates-tadas de indefiniciones, contradicciones y ambigüedades insuperables, ellas no parecen ser suficientes para generar un modelo que funcione, aunque fuere desmañado, estrecho, impráctico o an-tropológicamente trivial.

c) Matrices, colas, planillas, stacks y arrays

El array es el más simple de los datos compuestos: se trata de un agrupamiento de ítems al-

macenados en posiciones sucesivas de la memoria de la máquina, y que en general pertenecen al mismo tipo: números enteros, números reales, caracteres, ristras y (en Prolog) símbolos. Si se utili-zan los arrays solamente para agregar o quitar datos en el extremo final se obtiene una pila o stack, que en ciertas condiciones se puede considerar también como otra estructura de datos cuyo conte-nido son direcciones de memoria. Si sólo se quitan datos del comienzo de un array y sólo se insertan ítems al final se obtiene una estructura adicional que se conoce como cola [queue]. En un stack el último dato en ingresar es el primero en salir (last in, first out o LIFO); en una cola, el primero en entrar es el primero en salir (first in, first out o FIFO).

Salvo en condiciones computacionales o epistemológicas muy específicas (modelización en términos de autómatas, por ejemplo) todo esto es hasta cierto punto indiferente para el antropólogo, pese a que algunas estructuras son esenciales para que la máquina administre los llamados a los pro-cedimientos, el control de flujo y la recursión. Ni duda cabe que lo que decimos es ideal: el científico que domine aspectos recónditos de la computadora se hallará, ceteris paribus, en mejores condicio-nes de hacer lo que quiere con el modelo y de comprender más acabadamente la conducta de los sis-temas que implemente.

El trabajo con arrays, stacks y colas ha sido fundamental en una orientación computacional que se ha popularizado en los últimos años, aunque aún allí sigue siendo un asunto interno de la máquina invisible al usuario: nos referimos a los spreadsheets o planillas electrónicas, de las que el exponente clásico es el 123 de Lotus. Estas planillas son demasiado conocidas en computación elemental como para que se necesite que las caractericemos en esta tesis.

Una planilla de tipo Lotus es una forma muy conveniente de comunicar a la máquina una es-tructura de datos que admitan matrizarse en coordenadas, y todos los datos no jerárquicos lo admi-ten. Algunas de nuestras implementaciones se han servido de spreadsheets como mecanismos de

Page 198: Antropologia y Programacion Logica

198

ingreso de la base de conocimientos; de allí que el mutuo entendimiento de esas estructuras basadas en arrays y un lenguaje como el Prolog sea en ocasiones muy conveniente.

A este respecto, existen dos formas de introducir datos de planillas de cálculo en un programa en lenguaje Prolog. La primera consiste en utilizar un formato intermedio (por lo común, ASCII puro) para luego asertar los registros a la base de datos del Prolog mediante la cláusula consult. Pri-mero se exportan los registros a ASCII, después se los importa de ASCII a Prolog. La forma más elaborada, sin embargo, consiste en especificar al sistema mediante programación de bajo nivel el formato en que están dispuestos los datos en la propia spreadsheet y luego leer la planilla directa-mente. Esta es la alternativa escogida por los diseñadores de los complementos utilitarios del Turbo Prolog. Dado que estas facilidades son comercialmente asequibles, no necesitamos probar aquí que la convergencia de las planillas de cálculo con un lenguaje de programación lógica es técnicamente viable.

d) Bases de datos relacionales

Los programas lógicos pueden considerarse como una extensión sumamente poderosa del

modelo de las bases de datos relacionales; la potencia extra estaría dada por la posibilidad de com-plementar los datos básicos (denotados en un programa como "hechos") mediante reglas que enri-quecen sus relaciones mutuas. La especificación del formalismo correspondiente esclarece un frag-mento esencial de lo que en nuestra epistemología hemos caracterizado como la incorporación de una operación formal en un modelo. A través del modelo relacional, puede decirse que la programa-ción lógica, además de sus capacidades expresivas e inferenciales, subsume la fuerza combinada del álgebra y la teoría de conjuntos.

Dado que el modelo de las bases de datos relacionales es también un formalismo lógico muy bien desarrollado, representar este modelo en Prolog es fácil y directo. Existen desarrollos de len-guajes de consulta de bases de datos en Prolog que simulan las prestaciones de operaciones de len-guajes de query muy populares, incluyendo QBE y SQL (Gallaire y Minker 1978; Gallaire y otros 1984; Li 1984); también es popular la programación de interfaces procedimentales para que un mo-delo en Prolog acceda a datos albergados en una base relacional estándar.

El álgebra relacional que fundamenta la tecnología de DBMS (un producto clásico de la computación convencional) desarrolla cinco operaciones elementales que permiten vincular la estipu-lación de hechos con la teoría de conjuntos y la lógica de clases. Esas cinco operaciones, que agotan el espectro de las relaciones posibles, son, como bien se sabe, la unión, la diferencia de conjuntos, el producto cartesiano, la proyección y la selección. No es fundamental que el antropólogo que realiza una transacción referida a datos tenga plena conciencia de estar desencadenando una operación alge-braica axiomáticamente definida. En algunas modalidades de ciencia formal, sin embargo, esta trans-parencia puede resultar ventajosa o relevante: la precisión reflexiva nunca es superflua.

Parece oportuno ejemplificar las operaciones indescomponibles a través de una base de datos imaginaria, semejante a la de la Human Relations Area Files, cuyos registros atañen a los atributos de un conjunto de etnías. Veamos como podrían desarrollarse en Prolog las operaciones conjuntistas básicas, cuya interpretación etnográfica cae de suyo.

1) La operación de unión crea una relación de aridez n a partir de dos relaciones preexistentes, r y s, ambas de la misma aridez que la resultante. Esto se logra mediante dos reglas:

Page 199: Antropologia y Programacion Logica

199

r_union_s(A,B) :- r(A,B). 3.22 r_union_s(A,B) :- s(A,B).

Si la relación r originaria enunciaba, por ejemplo, las tribus que vivían en el continente B y la relación s las que poseían una organización social de tipo B (siendo el valor de las variables de vali-dez local en cada una de las reglas), dispondremos finalmente de una nueva relación que incluye a las etnías que satisfacen algunas de las dos características.

2) La diferencia de conjuntos involucra siempre una negación, denotada con el predicado not. Realizamos operaciones diferenciales toda vez que buscamos determinar los elementos de un conjunto que no pertenecen a otro. La forma de expresar dicha operación requiere también dos re-glas:

r_dif_s(A,B) :- r(A,B), not(s(A,B)). 3.23 r_dif_s(A,B) :- s(A,B), not(r(A,B)).

3) El producto cartesiano se puede expresar con una sola regla. Si r es una relación de aridez m y s una relación de aridez n, luego r_prod_s es una relación de aridez m+n definida de este modo:

r_prod_s(A,B,C,D) :- r(A,B), s(C,D). 3.24

Técnicamente, el producto cartesiano de dos conjuntos X e Y es otro conjunto cuyos elementos son todos los pares ordenados cuya primera componente pertenece a X y cuya segunda pertenece a Y.

4) La proyección involucra la formación de un nuevo constructo relacional que comprende sólo algunos de los atributos de la relación preexistente. También se la pruede expresar con una sola regla:

r_pro(A,C) :- r(A,B,C). 3.25

5) La selección, finalmente, la más heterogénea de las operaciones, se define coordinando una condición explícita que constriñe el número de las relaciones a tratar en un procedimiento. Esta con-dición puede remitir a una regla adicional o expresarse en el interior de la misma regla. Por ejemplo:

r_sel(A,B,C) :- r(A,B,C), cond(A,B). 3.26

Donde cond(A,B) podría ser, por ejemplo, que A sea mayor que B, que A o B sean obtenidas mediante alguna instanciación intermedia o alguna otra condición semejante.

Los diversos dialectos de Prolog incluyen predicados específicos para tratar bases de datos de distinta naturaleza, localizadas ya sea en la memoria de la máquina o en algún soporte de almace-namiento. En Turbo Prolog pueden optarse entre numerosas estructuras de especificación y búsque-da. En Arity Prolog es donde se ha implementando el predicado conceptualmente más bello: las diferentes bases de datos se llaman "mundos". Esta última versión del lenguaje posee, como exten-sión optativa, un poderosísimo (y sumamente caro) entorno de gestión SQL.

Hemos comprobado la adecuación del Prolog para el diseño de bases antropológicas en una implementación real, fragmentariamente incluida en el apéndice como uno de nuestros programas aplicativos, SITIOS.PRO. Remitimos a los comentarios sobre dicho modelo en la quinta sección de la tesis para suplementar las demostraciones que aquí pudieran haber quedado pendientes.

Page 200: Antropologia y Programacion Logica

200

e) Representación orientada al objeto

Este formalismo (inventado por Kristen Nygaard y Ole-Johan Dahl) puede considerarse como

un refinamiento del frame; es lógicamente mucho más preciso, tiene la misma flexibilidad y se está imponiendo entre los practicantes de programación de avanzada que necesitan algoritmos de representación capaces de expresar relaciones sutiles de inclusión de clases, interacciones y procesos complejos. Mientras que el método de representación mediante frames no establecía distinciones en-tre una relación clase/subclase y una relación clase/instancia, estas dos relaciones son ortogonales (es decir, opuestas) en el formalismo orientado al objeto u OOPS. Esta diferenciación sirve para evitar efectos de sentido no deseados que perturban ocasionalmente los procesos de inferencia lógica, como los que se ilustran en esta transacción en Prolog:

hecho: es_un(malinowski,etnografo). hecho: es_un(etnografo,antropologo). hecho: es_un(antropologo,profesion). regla: es_un(X,Z) :- es_un(X,Y), es_un(Y,Z). pregunta: es_un(malinowski,profesion). respuesta: Yes. pregunta: es_un(malinowski,X). respuesta: X = etnografo respuesta: X = antropologo respuesta: X = profesion

La mayoría de los lenguajes de programación caracterizan a las variables según su tipo. El tipo

de una variable especifica el dominio de valores que esa variable puede asumir, así como el conjunto de operaciones que se pueden efectuar sobre ella. Un lenguaje (y el dialecto Turbo Prolog no es una excepción) proporciona un conjunto de tipos de datos primitivos tales como números enteros, caracteres, ristras, etc. No es posible, por ejemplo, operar aritméticamente sobre nombres, ejecutar concatenaciones sobre cifras o tokenizar fragmentos de un número. El concepto de clase en el for-malismo orientado al objeto puede comprenderse como un tipo abstracto de datos: un objeto es una instancia (o sea, el valor de una variable) de un tipo de datos complejo.

En un lenguaje o sistema de programación orientado al objeto, como el Smalltalk-80, el Turbo C++, el LOOPS o el SCOOPS, un objeto es la entidad computacional fundamental. La única manera de ejecutar un procedimiento es enviando un mensaje al objeto. Los objetos están, como dijimos, or-ganizados en clases, y la definición de una clase determina la estructura de sus objetos, e incluye los procedimientos o métodos que le están asociados. "Enviar un mensaje" no es sólo una rara especie de metáfora postal; es una caracterización imaginativa de un sistema que se concibe constituido por objetos, en parte autónomos y aislados (de allí como haya que comunicarse con ellos), y en parte co-ordinados e interactuantes (de allí que la comunicación sea congruente y posible).

En una clasificación zoológica, etic o emic, podemos hacer de cuenta que la clase "pájaros" es un tipo de datos abstracto; el método de contestar una pregunta acerca del modo en que se des-plazan los miembros de la clase "pájaros" es uno de sus operadores legítimos. Este operador se puede utilizar para realizar una consulta acerca de cualquiera de los tipos abstractos que se encuen-tren por debajo de "pájaros" en el orden taxonómico; esto no es ni más ni menos que la regla de infe-rencia débil que ya hemos caracterizado como herencia (inheritance) de características.

Page 201: Antropologia y Programacion Logica

201

En la programación convencional se escribe un procedimiento para cada acción, y es este procedimiento el que tiene que decidir cómo tratar las entidades de diferente tipo. En la programa-ción orientada al objeto, se definen simplemente los tipos, incluyendo en su definición los procedi-mientos para tratarlos. Esto puede ilustrarse mediante una analogía. Supongamos que se tiene que simular el proceso de cocción de una vasija. Podemos cumplir el objetivo ya sea estipulando un pro-cedimiento de cocción en general y luego detallando la cocción de vasijas en particular, o bien des-cribiendo primero las vasijas y especificando, entre otros procesos que se le asocian, la forma de co-cerla. La primera variante describe el método de la programación convencional; esta última estrate-gia equivale a la programación orientada al objeto. Los procedimientos en este caso son locales al objeto, intrínsecos a él, y sólo se disparan cuando se envía un mensaje al objeto, es decir, cuando ese objeto es tomado como tal por los mecanismos de ejecución del programa. Esto permite un grado superlativo de modularidad y abstracción: la programación se convierte en el arte de diseñar protocolos para el paso de mensajes entre objetos.

En algunos círculos de programadores, el entusiasmo hacia la programación orientada al objeto se ha convertido en un gesto lindante con el fanatismo. La aparición del C++, un lenguaje con el prestigio computacional del C especialmente adaptado para el tratamiento de objetos (iniciativa de otro nórdico, Bjarne Stroustrup) ha vuelto a exaltar los ánimos en la última media década; el híbrido ha comenzado a desplazar al C convencional incluso en campos en los que éste parecía firmemente establecido.

Sin duda con el tiempo se verá que los objetos no son una panacea, y que el modo en que obligan a repensar la programación no siempre rinde frutos apreciables. Pero las técnicas orientadas al objeto son quizá las más adecuadas que hasta hoy existen en situaciones en las que muchos com-ponentes interactúan y ejercen cambiantes influencias entre sí. No por nada los primeros productos orientados al objeto eran sistemas y lenguajes de simulación. Predecimos, aunque sin esforzarnos en probarlo por ahora, que la idea de sistemas encontrará en la OOPS su herramienta natural.

En Prolog podemos expresar objetos mediante "hechos" de estructuras similares a la siguiente:

objeto(nombre,lista_de_metodos). 3.27

En su versión expandida, con la lista expresada entre corchetes, el hecho podría tener apro-ximadamente esta configuración:

objeto(ceramica_X, 3.28 [antiplastico_de_caracoles, coccion_atmosfera_reducida, pintura_post_coccion]).

Cada uno de los elementos de la lista corresponde además a un procedimiento que a su vez puede tener varios renglones específicos, y el objeto en sí se activaría al ser mencionado en una cláu-sula de orden superior, que "le envía el mensaje" de ejecutarse.

Sería fatigoso explorar cada uno de los horizontes que parecen abrirse al ritmo del crecimiento tecnológico. Aunque la OOPS tal vez valga la pena, no desarrollaremos ni en este apartado ni en esta tesis una justificación minuciosa del paradigma, ni una demostración exhaustiva de su comple-

Page 202: Antropologia y Programacion Logica

202

mentariedad con el proyecto de la programación lógica; nos contentaremos con documentar algunos indicios en lo que resta de página.

Existen tres formas de implementar objetos en Prolog: interactuando con un lenguaje o entorno de computación cabalmente de tipo OOPS, interpretando un programa Prolog común en términos de objetos, o construyendo programas prototipo que actúen formalmente de acuerdo con la filosofía objetal. La primera estrategia es la escogida por los diseñadores del Smalltalk V, uno de los entornos de OOPS más populares, quienes han incrustado nada menos que una versión compacta de Prolog entre las clases de objetos genéricos predefinidas. Entre el Prolog V y el núcleo de Smalltalk propiamente dicho todas las transacciones son posibles, y el comportamiento del programa lo mismo se puede "leer" con criterio de lógica constructiva o con sentido de objeto. La segunda es la táctica seguida por Covington, Nute y Vellino en unos ejemplos lúdicos pero pertinentes (1988), caracteri-zados por un texto de programa bastante más compacto de lo que pudiera ser típico de la computa-ción convencional. La tercera, en fin, es la tesitura desarrollada por Rodger Knaus (1990), antiguo colaborador del antropólogo Benjamin Colby, en una serie de artículos que, infortunadamente, jamás mencionan la antropología como un universo de aplicación (cf. Knaus, "Message Passing in Prolog", AI Expert, mayo de 1990, pp. 21-27).

La bibliografía pertinente para el uso del concepto de objetos en Prolog comprende el estudio de Stabler (1986), el de Stefik y Bobrow (1986) y el de Zaniolo (1984) entre los textos más recomen-dables. A medida que la programación orientada al objeto se va popularizando como una de las actividades menos contraintuitivas de la computación científica, se van multiplicando también los estudios que exploran la capacidad del Prolog para instrumentarla.

f) Redes Neuronales

En el mundo ordenado de los desarrollos computacionales en inteligencia artificial, en general

hay acuerdo respecto de que la programación lógica ilustra un género paradigmático, mientras que las redes neuronales ejemplifican otro, en el que se apunta incluso a un tipo de máquinas y a una epistemología diferentes. Mientras en programación lógica el énfasis está puesto en la representación del conocimiento, en la computación mediante redes neuronales está implicada la intención de repro-ducir el funcionamiento y la estructura del cerebro. Los científicos comprometidos con una o con o-tra definen la lógica de modos contrapuestos, allá como una analítica de los modos correctos de ra-zonar y aquí como la legislación misma del pensamiento. Aunque sus objetivos son diversos, es tra-dicional asimismo que los partidarios de la inteligencia artificial que operan sobre máquinas de Von Neumann sean enemigos irreconciliables de los que implementan redes neuronales sobre tecnología de procesamiento en paralelo.

Aquí no vamos a caracterizar en detalle los contenidos sustantivos del paradigma de las redes neuronales; hacerlo nos desviaría muchísimo de nuestros objetivos, pues incluso una semblanza simplista ocuparía docenas de páginas que no tendrían, de momento, ningún correlato en la metodo-logía disciplinar. Miraremos el campo a vuelo de pájaro, pero advirtiendo que volaremos demasiado alto como para que los detalles lleguen a ser perceptibles. Tampoco nos consideramos aún especia-listas en programación de redes neuronales, de modo que avanzar en ese sentido nos dejaría sin el sustento de una práctica que, por el contrario, abona casi todas las demás incursiones de nuestra tesis.

Aunque no hemos practicado una compulsa sistemática, tenemos razones para creer que los escasos antropólogos que han estado expuestos a los rumores acerca de las redes neuronales poseen

Page 203: Antropologia y Programacion Logica

203

una imagen engañosa acerca de su naturaleza; circula la especie, por ejemplo, de que las memorias de las computadoras neuronales están construidas sobre material de base orgánica, de que se ha lo-grado (o intentado) hacer que las computadoras o sus partes se autorreproduzcan, o de que las redes neuronales exigen invariablemente computadoras especiales ultrarápidas capaces de procesamiento concurrente.

La red neuronal, por desgracia, no es más que un concepto abstracto, una forma de concebir las cosas al igual que la teoría de autómatas es no un discurso sobre robots humanoides sino una siste-matización sobre modalidades de procesamiento informacional. Existen numerosísimas redes neuro-nales de carne y hueso (o mejor aún, de metal y silicio), casi tantas como modelos y problemas han ido surgiendo; pero la idea de una red neuronal es sólo eso, una idea, y, con las limitaciones del caso, puede ser modelada en tanto tal por cualquier máquina universal (como una computadora Von Neu-mann) y mediante cualquier lenguaje de computación suficientemente poderoso (como el Prolog).

El origen de las redes neuronales se remonta a un artículo de Warren S. McCulloch y Walter H. Pitts publicado en 1943; en él, los autores emplean la lógica simbólica para describir lo que una red neuronal como, por ejemplo, el cerebro humano, puede hacer, y llegan a probar que los procesos mentales más complejos pueden ser descritos mediante un número finito de expresiones simbólicas: aritmética simple, clasificación, almacenamiento y recuperación de conjuntos finitos de datos, aplica-ción recursiva de reglas lógicas. Este desarrollo desembocó en la caracterización de las llamadas "neuronas formales", equivalentes lógicos de las máquinas universales de Turing. Si se puede des-cribir en palabras y sin ambigüedad en qué consiste un proceso, existe al menos una red formal de McCulloch-Pitts que puede realizar ese proceso (Mackay 1954:2).

A partir de este hito se ramificaron los debates y los experimentos en torno de la especialización regional de la corteza, de la necesidad de redundancia para otorgar confiabilidad a los procesos, o de la organización jerárquica de las redes. Donald Hebb aportó una idea inspirada en Ramón y Cajal, la cual postulaba que la repetida activación de una neurona por otra conectada a ella mediante una sinapsis incrementaba su conductancia, de modo tal que grupos de células, si se activaban con cierta frecuencia, tienden a organizarse en agregados fuertemente conexos. De aquí en más las redes neuronales comienzan a adquirir la fisonomía que tienen hoy: los agregados constituyen conjuntos de neurodos, vale decir, neuronas más sinapsis, que vienen a ser pequeños elementos de procesamiento. Cada una de las interconexiones que forman la red posee asociado un valor, conocido como peso si-náptico. Para activarse, los pesos sinápticos de los insumos recibidos por una unidad deben satisfacer ciertos umbrales.

En la misma década del 50, Albert Uttley demostró que redes neuronales con conexiones modificables de tipo Hebb podían "aprender" trabajos clasificatorios sencillos. En los 60, Frank Ro-senblatt construyó sobre este concepto sus discutidos "perceptrones", entidades lógicas o mecánicas susceptibles de ser entrenadas, y casi al mismo tiempo Bernard Widrow y M.E. Hoff diagramaron su adaline (neurona lineal adaptativa). De pronto todo pareció venirse abajo: Seymour Papert (el crea-dor del LOGO) y Marvin Minsky (el inventor de los frames) demostraron que perceptrones, adali-nes y organizaciones neuronales de un solo nivel, con o sin conexiones modificables, no podían en realidad funcionar como máquinas universales, y que incluso tareas muy sencillas, pero de cierta estructura específica, jamás podrían ser llevadas a cabo por estructuras neuronales de ese tipo.

Los problemas del viejo conexionismo (como se dió en llamar la etapa que va de McCulloch-Pitts a Rosenblatt y sus seguidores) recién fueron resueltos por el neoconexionismo de los años 80 (Cowan y Sharp 1988:97). Retrospectivamente, se percibe que los 60 y 70 fueron décadas de relati-va parálisis, fruto de un escepticismo al borde de lo irracional que el progreso tecnológico y la pro-

Page 204: Antropologia y Programacion Logica

204

fundización teorética finalmente atemperaron (cf. Levine 1989). Este momento científico fue prece-dido por numerosos hallazgos que de inmediato se hicieron convergentes:

Las redes de Hopfield, que modelizaron el almacenamiento de información a través de con-figuraciones físicas "dinámicamente estables", popularizando mecanismos no-lineales y analógicos, exponiendo el paradigma en un lenguaje inteligible, demostrando "habilidades computacionales co-lectivas emergentes" y recuperando la noción de ultrastabilidad de los viejos cibernéticos (Ross Ashby 1950; Hopfield 1982). Después de Hopfield (y obsérvese con sumo cuidado la fecha de su e-rupción), ni las redes neuronales ni la inteligencia artificial volverían a ser las mismas.

Las máquinas de Boltzmann, capaces de superar mediante recursos adaptativos y entidades ocultas ciertos efectos de cristalización propias de las redes de Hopfield, desenvolviendo un proceso de aprendizaje auto-asociativo y no supervisado.

Las redes con propagación de errores hacia atrás de Rumelhart y McClelland y las redes "amo-esclavo" de Lapedes y Farber, que combinan con agudeza buena parte de los mecanismos an-teriores. Estas redes aprenden ajustando los pesos de los neurodos en función de una regla de aprendizaje que es una variante de los algoritmos utilizados por los adalines de Widrow y Hoff.

Las redes auto-organizantes de Teuvo Kohonen, que poseen un solo nivel y que responden a una "regla de aprendizaje" ingeniosísima, de un solo paso, que contrasta con los diseños retroalimen-tantes tradicionales y que parece funcionar mejor en redes complejas que en dispositivos simples (cf. Kohonen 1987; Caudill 1988).

Sería imposible aún enumerar la avalancha de artículos, desarrollos experimentales y hallazgos que jalonaron la segunda mitad de la década del 80 y lo que va de la actual, cuando la "epistemología experimental" de las redes neuronales se fundió con la tecnología de procesadores en paralelo, con formidables avances en neurobiología y con la idea de los algoritmos genéticos. Nos hallamos ante una Ciencia Cognitiva mucho más instrumental que la que se tenía antes (pues la exigencia de control experimental se acata construyendo materialmente modelos que hace unos años sólo eran posibles en el papel) y con una inteligencia artificial que ve cumplirse algunos de los sueños de los que se creyó, tras el inflado escándalo de los perceptrones, que tenía que despojarse.

Sintetizándolo mucho, diríamos que las redes neuronales de hoy en día son mecanismos que funcionan. Estos mecanismos pueden ser físicos o lógicos, pues cuando la teoría es fuerte la distin-ción sólo afecta en principio a los aspectos teatrales del asunto y no a su posibilidad lógica. En gene-ral las redes neuronales se disponen en tres niveles, con una unidad o nivel de entrada, otro de salida y un último, intermedio, al que se conoce como unidad oculta, que se corresponden rudamente con las unidades sensoriales, de respuesta y asociativa de las redes de Rosenblatt. De más está decir que casi siempre los niveles intermedios son más de uno y las figuraciones y grafos que les hacen justicia son multidimensionales.

Lo esencial del paradigma de redes neuronales consiste en el objetivo de que mecanismos sim-ples y poco confiables resuelvan confiablemente problemas más complejos que los componentes indi-viduales que los integran o que las reglas individuales de funcionamiento dispuestas de antemano. Para lograrlo, es preciso recurrir a propiedades emergentes, que no forman parte de la conducta del sistema, sino que son una consecuencia de la conducta del mismo. Dentro de estos sistemas, la re-presentación del conocimiento se aloja en modos muy distintos de los que estamos acostumbrados a describir. En lugar de enunciar la información explícitamente en forma de reglas, se la estipula implí-citamente como una distribución de pesos en una matriz de conexiones.

Page 205: Antropologia y Programacion Logica

205

De más está decir que el concepto de propiedades lógicas emergentes refuta de un plumazo el deseo de algunos epistemólogos irracionalistas como los que últimamente atestan las ciencias socia-les, en el sentido de que ningun sistema puede resolver problemas más complejos que él mismo (cf. Ibáñez 1985). Buena parte de la significación del paradigma tiene que ver con la dramática resolu-ción de dilemas que hasta hace poco se creían insolubles y con la clarificación de límites de cuya e-xistencia apenas se sospechaba.

La producción intelectual alrededor de las redes neuronales es demasiado monstruosa para plegarse a un resumen; los problemas suscitados son desmesuradamente complejos y sutiles para intentar glosarlos, siendo que no somos especialistas en el tema y apenas hemos programado un par de toy-systems. Las discusiones son por ahora un tanto duras como para sacarles algún jugo, y costa-rá tiempo hacer que haya más luz y menos calor: para dar un caso, ha vuelto a revivirse la vieja que-rella en torno de si las máquinas son o no verdaderas "mentes", por más que buena parte del éxito empírico de las redes neuronales obedece a que ellas mismas, en tanto mecanismos de (auto)apren-dizaje, son, más allá de la corteza cerebral, de la inteligencia o del pensamiento humano, el verdadero objeto de modelización (cf. Dreyfus y Dreyfus 1988; Searle 1990; Churchland y Churchland 1990). Vistas las circunstancias, la relevancia del paradigma de las redes neuronales para la antropología (como para cualquier otra ciencia aplicada) sólo puede ser materia de conjetura futurológica, y no de razonamiento bien fundado.

Destacaremos, no obstante, dos hechos ya comentados fugazmente. A pesar del abismo pa-radigmático y de las contingencias del desarrollo tecnológico, a despecho de que las formas de re-presentación del conocimiento en un programa lógico y en una red neuronal se encuentran en las antípodas de lo intuitivamente comprensible y de lo contraintuitivo, es perfectamente posible emplear recursos de programación lógica para simular estructuras de redes neuronales, introduciendo las pre-misas de los métodos que le son propios entre el conocimiento representado y las máquinas de infe-rencia, como un componente más integrado al modelo. Berkshire Software ha comercializado con cierta resonancia NEURALOG, un sistema de redes neuronales íntegramente programado en Turbo Prolog, de modo que nuestra afirmación a este respecto no necesita demostrarse.

El segundo hecho a comentar es quizá más relevante: siendo que los programas de redes neu-ronales deben desencadenar, mantener bajo control y aprovechar los resultados de procesos diver-gentes y convergentes, a la larga será esencial un lenguaje que permita desarrollar procesamiento paralelo; y el Prolog es, de todos los lenguajes, uno de los que más se han destacado en ese campo, al punto de constituir el prototipo de los que se aplican a tecnologías paralelas masivas de sexta generación (cf. Rumelhart y McClelland 1986; Eadline 1989). Aún cuando la expresión del primer problema antropológico en términos de matrices de conexión neuronal sea todavía un proyecto en brumas, los programadores lógicos de hoy quizá tengan buenos motivos para creer que, metodológi-camente, el porvenir ya ha comenzado y Prolog conduce hacia él.

4. La dimensión transdisciplinar de la representación

En antropología podemos hablar del "significado" en dos estilos contrapuestos: el primero (que

es el que escogió la corriente partidaria del análisis componencial) es problematizándolo de alguna manera concreta, lidiando efectivamente con él, tratando de desentrañar su anatomía interna y su disposición en campos de sentido, imponiendo un nombre y asignando un atributo a sus variables; el segundo (que es el que adoptó la antropología simbólica) consiste en renunciar a un abordaje formal y remitirlo todo a un orden de inefabilidades, libertades e incertidumbres, a una dimensión que sólo puede captarse en actitud estética, cuando no sentimental. La primera estrategia es la más riesgosa,

Page 206: Antropologia y Programacion Logica

206

porque pone todas las operaciones metodológicas al desnudo; afronta la realidad con categorías definidas, y en seguida se perciben sus reducciones, sus arbitrariedades y sus esquematismos. La se-gunda táctica es la más segura, porque reenvía aquello que pudiera resultar embarazoso a un registro que no es objeto de ninguna interrogación, aunque a menudo se crea lo contrario y aunque las apela-ciones rituales al significado (todopoderoso, determinante, incierto) llene la boca de los humanistas.

Cuando peinamos el terreno en pos de ejemplos teoréticos pertinentes, comprobamos que las tendencias que más insisten en la primacía del significado son las que menos lo indagan atravesándo-lo con preguntas imaginativas, las que más se retraen ante la sola idea de cartografiar su estructura. A menudo se habla del fracaso del análisis componencial: fracaso taxativo, innegable, acaso vergon-zante. El estado de salud de la antropología simbólica, en cambio, es menos fehaciente. Basta renun-ciar al método para obtener el beneficio de la duda, para que nadie perciba que el rechazo histérico y compulsivo de la formalización es, en cierto modo, la marca que señala el final de la búsqueda: algo así como un la forja de un yelmo que en el mejor de los casos no se pone a prueba para evitar que se rompa y, en el peor, ni siquiera admite procedimientos para ser probado.

Los partidarios de la ciencia interpretativa se han rendido ante una complejidad a la que no se han atrevido a oponer las necesarias simplificaciones iluminadoras. Simplificaciones que, como las aquí propuestas, de ningún modo consisten en renunciar a aspectos de la realidad o en tornar más escuálidos los métodos que la abordan, sino en estructurar tanto a éstos como a aquélla, a fuerza de sacar a la luz, enumerar, definir, sistematizar, delimitar, confesar (si se quiere) las entidades y princi-pios que rigen a todo modelo. Pues un modelo pone a prueba (y por ende, es susceptible de poner también en crisis) tanto a la realidad como a la teoría a partir de la cual se la construye; y antes que nada, por definición, se pone a prueba y en crisis a sí mismo.

Si hiciéramos un balance de los últimos diez o quince años de la producción disciplinar, hallaría-mos que es la antropología simbólica y sus derivaciones interpretativas la que menos respuestas ha obtenido, porque ha renunciado a plantear preguntas que (metodológicamente hablando) pudieran poner al descubierto flancos vulnerables. Ni un sola de las formas de representación indagadas pro-viene del simbolismo, por la sencilla razón de que él no ha propuesto ninguna, resignado al empiris-mo clandestino que supone describir "los significados tal cual son" o "las concepciones del mundo del sujeto" sin atreverse a estructurarlos ni a postularles un orden desde fuera. El simbolismo ha dis-frazado de escepticismo y desapego metodológico lo que en realidad no pasa de ser miseria teoréti-ca, ocultamiento de una crisis intelectual mil veces peor (por su esterilidad) que la que sufre la cien-cia formal.

Como los hechos no hablan a menos que los interrogue una teoría, como los significados no proliferan a menos que actúe un método interpretante (expresable, comunicable y replicable en tanto método), no ha habido ninguna diferencia pragmática entre carecer de método y abstenerse de pre-guntar. El simbolismo -barruntamos- no se dió cuenta que cuando proclamaba la primacía del sig-nificado y el triunfo de la sensibilidad estaba formulando un programa al que algún día se le exigirían resultados. Por más que se haya buscado disimularlo, fue el resonante vacío de significados aporta-dos a la antropología por el esteticismo (el fracaso metodológico de la thick description) lo que pro-dujo, hacia mediados de los años 80, la situación que algunos han llamado "el colapso de la represen-tación". Ninguna otra tendencia estuvo en esos años lo suficientemente activa como para tener ahora que cargar con el muerto.

La falta de herramientas para abordar con algún provecho la dimensión de los significados acabó precipitando a las facciones más recalcitrantes del simbolismo en el rechazo filosófico de la represen-tación y en la defensa de una "evocación" no representacional y por lo tanto inexpresable (cf. Tyler

Page 207: Antropologia y Programacion Logica

207

1978, 1984, 1987). Aquel rechazo filosófico es (como hubiera dicho Geertz) un gesto muy duro para una ciencia tan blanda; en beneficio de esta evocación (objetivo imprecisable por excelencia) la pro-gramación lógica muy poco puede hacer. "Sobre lo que nada puede decirse -decía el primer Witt-genstein- lo mejor es callar". Y la lógica puede ser muy imaginativa, muy abstracta y muy genérica, pero sólo es capaz de morder sobre lo expresable.

Reivindicamos por consiguiente las formas convencionales y "suicidas" de la representación, teoréticamente marcadas por un paradigma que interroga a la realidad en forma oblicua, resig-nándose a la parcialidad. Asumimos, en definitiva, que la representación sigue vigente, hasta tanto la demostración de lo contrario alcance cierto rigor y verosimilitud o hasta que alguien invente una ciencia mejor, que no se agote en el vaciamiento metodológico o en la resurrección de un humanis-mo que ya ha malgastado más oportunidades que las que mereciera.

Como hemos dicho tantas veces, el punto de partida de un modelo o programa lógico, cual-quiera sea su referente, es una descripción del conocimiento que el antropólogo tiene respecto de un dominio determinado. Este dominio es, de hecho, la representación que el programador tiene de él; pero nada impide que sea, a su vez, la representación de la representación que edifica un informante respecto del mismo dominio o de cualquier otro, en el espiral sin fin de los conjuntos o sistemas de signos que nunca alcanzan a tocar la esencia de las cosas. De aquí las analogías frecuentes entre el proyecto de la programación lógica y el de la antropología del conocimiento.

De aquí también otro curioso efecto emergente de la modelización: aunque la representación modelada por el antropólogo sea la suya propia, aunque la mirada se dirija clandestinamente hacia uno mismo, toda ella queda "emicizada", extrañada, por el solo hecho de haber tenido que ser ex-puesta. En una representación modelada se cruzan así las dimensiones objetivas que se cristalizan en una expresión formal y las dimensiones subjetivas que emanan de la introspección. Una vez plasmada en un conjunto sintáctico, se puede analizar la representación desde fuera, se la puede mirar como si fuese de otro, se puede (en un sentido hermenéutico profundo) reflexionar sobre ella. Ninguna feno-menología autista ha sido, hasta hoy, capaz de ser tan cruel como lo ha sido la lógica acerca de los perfiles y capacidades de sus propias estructuras.

No pretendemos iniciar aquí un examen escrupuloso de los problemas y de las implicancias filosóficas del significado y la representación. Lo que importa es demostrar que se dispone de las herramientas necesarias para construir una representación y para operar con ella en el seno de un modelo formal. La programación lógica incorpora un punto de partida representacional que estaba vacante en las elaboraciones convencionales de la lógica y que al efecto de una utilización sustantiva de los formalismos es tanto o más relevante que los procesos de cálculo que habrán de recorrerla.

No nos aquieta haber intentado su inventario. Sería preciso comparar la convertibilidad recí-proca de los diversos métodos representacionales, su diferente rendimiento inferencial, la experiencia consolidada alrededor de cada uno y su mayor o menor consonancia con un tratamiento computa-cional. Este proyecto sería acaso tan amplio y dificultoso que aquí no tenemos otra alternativa que posponerlo, contentándonos por ahora con agendarlo como uno de los tópicos a esclarecer en el futuro inmediato. Esto no quita que intentemos graficar a continuación, a título provisional, el campo de las correspondencias transdisciplinares, la forma en que unas estructuras elaboradas en dis-ciplinas estancas invocan más o menos naturalmente recursos construidos con otras inquietudes en mente.

Pese a la independencia de sus procesos históricos de gestación, todas las estructuras de re-presentación antropológicas y lingüísticas entrevistas (y con cierta probabilidad, todas las imagina-bles) poseen un correlato computacional nominado que es el que mejor las expresa o que es óptimo

Page 208: Antropologia y Programacion Logica

208

para expresarlas. Es importante que esa correlación sea convergente: unas pocas estructuras compu-tacionales bastan, en consecuencia, para construir todas las estructuras conceptuales de representa-ción, antiestructuras incluidas. Al contrario de todas las epistemologías antropológicas que la han precedido, la nuestra no impone a su objeto la absurda restricción de ser componencialmente anali-zable o mapeable en una arquitectura de oposiciones.

Estructuras antropológicas Estructuras computacionales

Listas Listas Escalas, escalogramas Listas de diferencia Arboles, taxonomías, claves, partonomías Arboles Paradigmas, esquemas, prototipos, tipificaciones Grillas de repertorio, frames Conglomerados, congeries Hechos, estructuras Secuencias, redes Frames (scripts), objetos

Diagrama 3.7 - Correspondencias

Dicho de otra forma, es imposible urdir una articulación conceptual expresable, emic o etic, secuencial o ramificante, aristotélica o difusa, imaginaria o verbalizada, ordenada o caótica, cientifi-cista o escéptica, que no encuentre la manera de estipularse en algún formalismo computacional bien conocido o en otro que se pueda elaborar a su propósito. Cuando el lenguaje de computadora es Prolog, el formalismo es lógico al mismo tiempo que informático, y el programa es simultáneamente lo que llamamos un modelo. Un formalismo agrega a la carne semántica de lo representado una es-tructura que permite someterlo a cálculo, compararlo con otros casos, observarlo en su docilidad o en su resistencia a nuestro análisis, vapulearlo hasta que suelta todo el jugo conceptual que sus impli-cancias retienen. Igualdad de estructura significará muy pronto generalidad de aplicación, tal como veremos en la paráfrasis de nuestros programas. Porque demostraremos que, al revés de lo que a veces se piensa, para generalizar y extrapolar no debemos tomar mayores distancias de nuestro obje-to, sino conocerlo acaso más íntimamente.

Este hallazgo refuta el reiterado estereotipo de la computación como una actividad sólo ade-cuada para dar cuenta de alternativas conceptuales binarias y de procesos mecánicos de tipo switch. La computación por medio de la lógica dista de ser un mecanicismo esterilizante, ligado a un proyec-to inconfesable, a una confabulación de científicos que se creen dioses y que tienen el designio de deshumanizar el mundo. La representación, como se ha visto, es capaz de plegarse a requerimientos muy sutiles, a matices sumamente delicados de significancia, porque nuevas claridades sintácticas y de inferencia han venido a agregarse a riquezas interpretativas que no por estar ideológicamente lejos de Geertz nos están vedadas o se encuentran más allá de nuestro interés.

No exploraremos otras "estructuras semánticas" desplegadas por los cognitivistas antropo-lógicos tardíos y que involucran conceptos espaciales (A está próximo a B), atributivos (A es B), evaluativos (A posee la cualidad B), funcionales (A se usa para B), comparativos (A es como B), ejemplificativos (A es un ejemplo de B), gradativos (A es casi B) o sinonímicos (A significa B) por entender que todas ellas, si es que en realidad son estructuras y si es que son semánticas, no oponen ninguna resistencia a un lenguaje basado, precisamente, en la idea de predicación. Con el trazado de este cuadro, más sugerente que sistemático, quedan por el momento expuestos (aunque no agota-dos) los principales lineamientos de la representación del conocimiento en Prolog. Se hallarán con-clusiones más ricas al respecto en el desarrollo de los programas computacionales adjuntos y en los estudios de casos, donde también vincularemos, en un acto analítico de más amplio aliento, forma-lismos de representación, clases de problemas y tipos de modelos.

Page 209: Antropologia y Programacion Logica

209

IV

LOGICA CONVENCIONAL Y LOGICAS ALTERNATIVAS

1. La discusión básica

Con los programas aplicativos que hemos incluido y con todo su aparato de elaboración se está

ratificando, sin duda, la capacidad modelizadora de la Programación Lógica con respecto a una amplia variedad de problemas que pueden llegar a presentarse en la investigación disciplinar; la ejem-plificación de esa capacidad abarca desde el planteamiento de una sola proposición incidental (el dile-ma de Spiro) hasta la construcción de motores de inferencia o shells de sistemas expertos aptos para organizar un conjunto todavía indefinido de dominios, pasando por bases de datos, modelos cogniti-vos, gramáticas sintéticas y analíticas y sistemas de simulación de procesos.

Según creemos, la nuestra constituye la primera demostración formal en el sentido de que es po-sible una genuina modelización en el interior de la disciplina, con todo lo que esto implica; hemos cumplimentado esa demostración utilizando un instrumento lógicamente insospechable, que se basa en un mecanismo axiomático de suficiente transparencia y que permite dar cuenta desde los primitivos del proceso deductivo hasta la plena representación del conocimiento y las consecuencias que de él caben extraerse. En contraste con lo que teníamos antes en materia de teorías y prácticas modélicas, en este proceso se ha modificado la escala de la aserción y se han esclarecido correspondientemente la estructura, la función y las propiedades de los modelos en general, más allá de la variante computa-cional escogida.

Pero lo que se ha elaborado sólo llegaría a conformar a una fracción de los estudiosos: a los que han decidido de antemano que la lógica en un sentido genérico, no importa cuál sea la contingencia de su formación histórica, es garantía suficiente en el ejercicio de una formalización. No hemos visto aún qué cursos y matices de inferencia pueden plantearse en un cálculo en tanto proceso dinámico de encadenamiento de ideas regido por ciertos supuestos acerca de la lógica misma. A decir verdad, hemos examinado solamente el costado del problema que concierne a la representación de los hechos, minimizando la atención que merecen los procesos deductivos que sobre ellos se aplican. Si dejára-mos las cosas como están, sólo satisfaríamos a aquellos que prefieren a todo trance un álgebra medio-cre a una espléndida intuición.

Cuando comenzamos a examinar los usos de la lógica, dijimos que ella puede considerarse (a) como técnica directa para la representación del conocimiento, (b) como herramienta para el análisis semántico de esta representación y la validación del razonamiento, y (c) como formalismo de referen-cia contra el cual pueden compararse y definirse otros formalismos. De los usos potenciales de la lógi-ca propuestos por el equipo de Thayse hemos revisado tan sólo el primero y la mitad del segundo. Hasta este punto tenemos un modelo continuo pero truncado, pues para completarlo resta aún discu-tir la anatomía íntima y el sesgo filosófico de la lógica que lo rige.

Si bien la capacidad de un formalismo para la representación era un capítulo inexistente en la epistemología de hace apenas diez años, y si bien las estructuras representacionales revisadas han

Page 210: Antropologia y Programacion Logica

210

demostrado ser adaptables a las cambiantes modalidades descriptivas de la antropología, está por verse si el cálculo deductivo que se puede modelizar es igualmente versátil, y si se compadece con los grandes espacios en blanco, las incertidumbres y las dudas que pueblan desde siempre a nuestros métodos.

Estimamos que la prueba de funcionamiento de lo aquí propuesto es una condición ineludible, pues la mayor parte de los modelos que se han ofrecido en los últimos decenios de vida disciplinar tenían la extraña peculiaridad de funcionar sólo en las manos o en la imaginación de sus diseñadores primarios. En el mejor de los casos, siempre que se trató de aplicar un método existente o de suscribir una teoría previa, la replicabilidad de los modelos antropológicos se limitaba a ser una práctica de imi-tación estilística, de identificación ideológica o de adopción mimética de un vocabulario.

No pretendemos repetir esta historia. El valor de la implementación de una genuina teoría de mo-delos y de su correspondiente praxis radicaría en superar nuestro atolladero endémico, no en precipi-tarnos otra vez en él siguiendo caminos novedosos. Nuestra propuesta no pretende ponernos al alcan-ce de formular algún día una teoría de modelos verdaderamente instrumental, pues está probado que cuando ésa es la táctica el día que se espera nunca llega; el objetivo es fundamentar y construir esos modelos aquí y ahora, aunque para ello tengamos que reconsiderar toda la epistemología, lógica in-cluida. "Ante todo -decía Wittgenstein- nada de estrechar el nudo antes de estar seguros de haber pi-llado el final exacto" (1982:83). Hay un costado filosófico en todo ésto que sigue pendiente y que tie-ne que abordarse sin demora. El modelo se debe completar, entonces, precisando cuáles son las lógi-cas susceptibles de orientarlo, de qué manera se las implementa y en qué forma ellas interactúan con problemas sustantivos y posturas teóricas de la antropología.

Aparte de la necesidad de escapar a que se nos identifique con una sola modalidad lógica (lo que nos haría caer con ella cuando ella caiga), la profundización en las posibilidades modelizadoras atípi-cas de la programación lógica que se explora en esta tesis tiene motivaciones menos pusilánimes. El estudio de los tipos de enunciados a los cuales se adaptan unos u otros modelos de lógica se añadirá a nuestra teoría de modelos como una especie de heurística adicional a las que la inteligencia artificial viene aportando tradicionalmente a los métodos de resolución de problemas. Heurística inexcusable, aunque más no fuere porque el clamor en torno de las lógicas desviadas está creciendo y hace necesario expedirse, y porque al menos una de ellas -la lógica difusa- ha experimentado un éxito práctico formidable, al lado de los algoritmos genéticos y de las redes neuronales.

Pero no se trata de mimetizarnos y de seguir las modas. Hay ciertas instancias de la problemática disciplinar que parecen invocar en efecto lógicas diferentes: un hecho cultural parece más "probable" que "verdadero"; un nuevo dato contradice las conclusiones a las que venía arrastrando nuestra base de conocimientos; la filiación de determinado tiesto se revela más "incierta" que propiamente "falsa"; nuestras ideas sobre los tasaday o los querandíes se modifican con el tiempo; los samoanos "pertene-cen más" a la clase típica de los polinesios que (por ejemplo) los nativos de la Isla de Pascua, y así hasta el infinito. La lógica convencional no es capaz de expresar esas declaraciones con el matiz se-mántico adecuado, ni dispone de operadores para incluir semejantes sutilezas en el cálculo. Si esta cir-cunstancia es tan frecuente, resulta enigmático que las lógicas que rigen el tratamiento de esos hechos sigan siendo marginales, y hasta cierto punto malditas, sobre todo tratándose de un área de estudios que (como la inteligencia artificial) ha hecho de la emulación de lo humano y del realismo represen-tacional su vocación definitoria. Desmarginalizar las lógicas divergentes, quitarles su aura de escán-dalo, agregar sus hallazgos y su fuerza constructiva o deletérea al instrumental de que dispone el cien-tífico promete ser un objetivo interesante, aunque no será el único que persigamos en este capítulo.

Page 211: Antropologia y Programacion Logica

211

El campo de las lógicas -como el de las epistemologías- no deja de estar ideologizado, y con toda seguridad en nada se parece a un espacio de oposiciones formales puras. En la preponderancia de un tipo de lógica en lugar de otro se esconde, a veces de manera manifiesta, un interés que va más allá de lo formal, un apasionado juego de poderes y prestigios. Como antropólogos, dispuestos a no conside-rar cualquier hecho consumado en la historia como una necesidad de la naturaleza, a veces también pensamos que la lógica que nos rige bien podría haber sido otra. Que las lógicas modales, polivalen-tes, difusas, probabilísticas, temporales, deónticas, ilativas, epistémicas, de la preferencia, imperativas, erotéricas, minimales, cuánticas, intuicionistas o libres sean vistas como "alternativas" o "divergentes" respecto de la lógica académica convencional se debe, a no dudarlo, al mismo tipo de contingencia histórica que hace que algunas lenguas sean "idiomas" y otras sólo "dialectos". La lógica académica ha sido la más poderosa, en el sentido de que ha sido la modalidad abrazada (con justicia o sin ella) por el establishment de los lógicos: "El mal nunca triunfa -decía Perich- porque cuando triunfa se lo llama bien".

La cosa no es tan simple, porque es muy posible que la lógica académica sea un cuerpo compuesto, en estado de cambio permanente, sobre el que existe un acuerdo muy difuso. La lógica académica, además, no sólo se define por decisión de los partidarios suyos que han logrado hacerse un lugar dentro de la academia. Sabemos que en cierto modo es una construcción que también se de-be a las operaciones simplificadoras de sus oponentes, de la misma manera en que la "antropología convencional" es un constructo heterogéneo cuya iniciativa se debe a los partidarios de las "etno-grafías experimentales" de la posmodernidad. Cuestionar la conveniencia de considerar unitaria a la lógica de raigambre clásica, poner en tela de juicio la unicidad y aún la existencia de algo así como la lógica estándar, podría llegar a ser un proyecto tan interesante como el de revisar las retóricas subya-centes a la construcción de un modelo epistemológico en el que entran juntos Malinowski, Boas y Marvin Harris: un villano de paja que llega a existir al solo efecto de que quienes se erigen en rivales suyos puedan demolerlo con mayor facilidad. Pero se trata de uno de los muchos temas apasionantes cuyo abordaje debemos sacrificar.

Aún reconociendo el riesgo de la distorsión y el esquematismo, algunos teóricos han intentado caracterizar los atributos necesarios de la lógica convencional. Se ha dicho que al proceder a construir los sistemas lógicos "normales",

se da por descontado que los enunciados que la lógica maneja -los enunciados que la lógica estudia en cuanto integrados en una estructura argumentativa, es decir, en cuanto constitutivos de las premisas o de la conclusión de un razonamiento- son enunciados apofánticos, enunciados provistos de un valor de verdad. Asi-mismo se actúa sobre la base de que los valores de verdad son solamente dos: el valor verdad y el valor falsedad. Los enunciados son o verdaderos o falsos. Por otra parte, no se admiten matizaciones, por así decir, en los valores de verdad. Los enunciados son o verdaderos a secas o bien falsos sin más. Un cuarto rasgo de la lógica clásica es que en ella sólo hallan cabida aquellas conexiones entre enunciados que son definibles como funciones de verdad. Es decir: aquellas conexiones entre enunciados que dan lugar a un enunciado compuesto cuyo valor de verdad está enteramente en función de los valores de verdad de los enunciados conectados (Deaño 1988:299-300).

Deaño resume los atributos de la lógica estándar diciendo que ella es apofántica bivalente asertórica extensional. En esta caracterización la extensionalidad es quizá el concepto más oscuro: se dice que la lógica convencional sería extensional porque si admitimos que toda expresión -un nombre, un predicado, un enunciado- tiene una extensión (que serían, respectivamente, un individuo, un conjunto y un valor de verdad) y una intensión (siendo la intensión de un nombre el "concepto indivi-dual" que designa, la intensión de un predicado la propiedad significada y la intensión de un enun-ciado la proposición que expresa), la lógica clásica opera exclusivamente en términos de la primera.

Page 212: Antropologia y Programacion Logica

212

Esquematizando el razonamiento de Deaño (quien indudablemente reposa en Frege), la estructura componencial de las expresiones lógicas respondería aproximadamente a este esquema:

Expresión Extensión Intensión Nombre Individuo Concepto individual Predicado Conjunto Propiedad significada Enunciado Valor de verdad Proposición

Diagrama 4.1 - Estructura de la lógica clásica

Tomando como punto de referencia este cuadro, los intereses y las posibilidades de la lógica convencional dejarían de lado dimensiones que podríamos llamar lingüísticas, semánticas o predicativas, concentrándose exclusivamente en un plano algebraico y formal. Pero la caracterización, aún cuando provenga de un texto sensible a las cuestiones pedagógicas, es sin duda oscura. Su opaci-dad proviene de la insistencia de algunos profesores de lógica en distinguir lo extensional y lo inten-sional como aspectos semánticos fundantes, y en querer hacer coincidir dicha distinción con la que media entre denotación y connotación.

Sostenemos que esa coincidencia violenta los hechos, pues extensión/intensión y denotación/con-notación son dos pares de conceptos basados en criterios distintos de discriminación categórica: res-pectivamente, la enumeración de los ejemplares de una clase versus la estipulación de los atributos que la definen, y la identificación u ostensión rigurosa de los referentes (la "definición estricta") versus el sentido subjetivamente agregado. La conmensurabilidad que los lógicos encuentran es tan forzada, este uso es tan opuesto al que ellos recusan reputándolo como el "sentido intuitivo" de las palabras, que todo esto ha conducido a que dos lógicos habitualmente lúcidos como lo son Morris Cohen y Ernest Nagel hayan acabado por definir estos dos términos con sus atributos intercambiados, precipitando casi toda su Introducción a la Lógica y al Método Científico en una insanable con-fusión.

Es necesario desarrollar este punto por lo que tiene de representativo, por la elocuencia con que señala un contraste con los criterios que en esta tesis acatamos y por la imagen de la autoconciencia lógica que este detalle refleja. Dicen Cohen y Nagel:

Es posible considerar a un término de dos maneras: como una clase de objetos (clase que puede tener un solo miembro) o como un conjunto de atributos o características que determinan los objetos. La primera fase o aspecto recibe el nombre de denotación o extensión del término, mientras que la segunda es su connotación o intensión. [...] La intensión de un término puede significar el conjunto de sus atributos esenciales. Por 'esen-cial' entendemos la condición necesaria y suficiente para que un objeto sea considerado como un elemento del término. Generalmente esta condición deriva de alguna convención, motivo por el cual la intensión, así entendida, se denomina intensión o connotación convencional. La intensión convencional de un término constituye [...] su definición (1983:45-46).

El nudo del embrollo se aprieta todavía más cuando la distinción se ejemplifica: La proposición Todas las cerezas son sabrosas significa, en primera instancia, que el atributo 'ser sabro-

sas' forma parte del conjunto de atributos que definen la naturaleza de las cerezas y, en segunda instancia, que los objetos así llamados están incluidos en la denotación del término 'sabroso'. Debe observarse, sin embargo, que en el análisis tradicional [...] se da énfasis a la interpretación extensional" (1983:48).

Page 213: Antropologia y Programacion Logica

213

En estas definiciones, bajo pretexto de situarse en una inflexión más elevada del metalenguaje, la denotación y la connotación adoptan un significado distinto del que adoptaran, por ejemplo, en la an-tropología cognitiva norteamericana y en innumerables corrientes de la lingüística estructural, donde la denotación era algo así como el significado estricto, relativamente invariable, y la connotación cu-bría los añadidos contingentes, subjetivos o efímeros (cf. Lyons 1980:167-169, 196-204; Reynoso 1986).

Como sea, no creemos de ninguna manera que los usos extensionales sean prevalentes en la ló-gica convencional. En todo caso, se trata de una propensión cuya magnitud cuantitativa o cualitativa sólo podría establecerse a posteriori de una prospección entre pragmática y libresca, pero en última instancia específica, atenta a los contenidos concretos de una complicada intertextualidad. La idea de ese predominio, quizá más bien, es uno de los muchos mitos en que reposan los lógicos para hacer ver a lo suyo como más formal, acotado y consabido de lo que en realidad es, deslizando la ilusión de que se dispone de algo así como una semántica de lo tangible que abre un vaso comunicante entre las for-mas de la lógica y el significado del mundo. Esa semántica, si es que existe, no parece estar a la altura de las sutilezas del cálculo veritativo o del rigor de la axiomatización. Nótese, en la cita de marras, la forma en que una característica relativamente secundaria del referente pasa, por artificio discursivo, a integrar nada menos que su definición. Asegurar que la cualidad de "sabroso" es condición necesaria y tal vez suficiente para calificar como cereza, aunque el mundo empírico importe muy poco, constituye a todas luces un ejemplo inoportuno: una sola cereza agria o desabrida pondría en tela de juicio la definición de la clase.

Preferimos, valga la paradoja, una definición más indefinida. La lógica en que escogimos fundar-nos no es, después de todo, la lógica académica tal como se describe entre Frege y Deaño, y que tiene su paradigma en los libros escolares anteriores al primer Wittgenstein y a los Principia Mathematica. Si hablamos de fundar la modelización disciplinar en la lógica, ésta ha de entenderse conforme a la descripción de los aspectos sintácticos, semánticos y pragmáticos del cálculo lógico tal como los he-mos estipulado, evitando la contaminación de la lógica por apreciaciones sobre la índole extensional de sus referencias y su colapso en una especie de teoría de conjuntos, tanto más intuitiva y desorgani-zadora cuanto menos autoconsciente. Tal como lo expone Quine, las contaminaciones de esa índole se originan en una sobrestimación del parentesco entre la noción de miembro-de (relación de perte-nencia a una clase) y la predicación (cf. Quine 1977:118).

Al contrario de lo que pensarían autores como Deaño, Nagel y Cohen, la implementación compu-tacional del cálculo de predicados (en la medida en que éste pudiera ser representativo de una forma de lógica más bien convencional) no se juega ni a favor de la extensión ni de la intensión, y puede expresar ambos aspectos con la misma soltura. En general, la extensión se expresa como un conjunto de hechos y la intensión como una combinación de hechos y reglas, de este modo:

1) Extensión: taxon("instrumento de soplo", awirare). 4.1 taxon("instrumento de soplo", urua). taxon("instrumento de soplo", uruaatyt). taxon("instrumento de batir", ñumiatoto). taxon("instrumento de batir", warañumia). taxon("instrumento de sacudir", yakuiakanamity). taxon("instrumento de sacudir", payeakamity).

2) Intensión:

Page 214: Antropologia y Programacion Logica

214

instrumento(X) :- marakatap(X); poyarutap(X); 4.2 porahaytap(X). marakatap(X) :- moyepetete(X); mokoytetea(X); moapytetea(X); muyoirutetea(X); yenepomomateteta(X); ayaretea(X).

Fragmento de taxonomía organológica kamayurá según Menezes Bastos, A Musicológica Kamayurá, Brasilia, FUNAI, 1980.

La expresión de la problemática en un formalismo computacional despeja el campo de toda su

hojarasca retórica; la presencia de variables y reglas de condicionalidad a lo largo de la trama de la representación de modalidad intensional, en otras palabras, el hecho que sólo allí donde hay expresio-nes intensionales se desencadenen y resuelvan procesos de cálculo de la inferencia (fuera de la instan-ciación), torna harto dudosa la contextura prevalentemente extensional que los autores mencionados atribuyen a la lógica clásica. Cualesquiera sean las idas y vueltas de las operaciones intermedias, to-do cálculo lógico remite, en última instancia, a la aserción de hechos que lo mismo pueden denotar clases, individuos, relaciones o atributos.

El valor general y la inteligibilidad de caracterizaciones como las de Deaño, Cohen y Nagel, preocupadas por distinciones ostensiblemente escolásticas y de importancia lógica virtualmente nula, no constituyen sin embargo un punto crítico, pues no nos importa (ni afecta a nuestros razonamien-tos) que la lógica académica sea definible de una u otra manera, que sea una o múltiple, que se la pueda identificar con claridad o que constituya un conjunto borroso. Dado que nuestro compromiso primario es con una ciencia empírica, lo relevante es más bien que alguien haya concebido lógicas que divergen de ella, y que su contraste se origine en y se alimente de la forma en que una y otras tratan a las cosas del mundo.

En concreto, es dudoso que sea legítimo hablar de una lógica convencional, cuando entre las diversas modalidades que obedecen a la misma fundamentación existen discrepancias radicales: por ejemplo, entre los defensores del cálculo de proposiciones y los practicantes del cálculo de predicados (o, más modernamente, entre los artesanos de la lógica cerebral y los tecnólogos de la lógica compu-tada) existe una tensión y una rivalidad tan palpables como entre los partidarios de las tendencias más opuestas de la lógica. Carnap protesta contra los lógicos convencionales conteniendo la tentación del insulto, y Quine hace lo propio, quizá con más fastidio, en sus admoniciones contra los "lobos con piel de oveja" que contrabandean teoría de conjuntos hacia la lógica, queriéndola hacer pasar, con mala fe, como sucedáneo de la predicación (Carnap 1986:139-140; Quine 1984:118). La especulación abstracta y formal está por lo visto muy lejos de guardar las maneras. Y todo esto sucede, a no dudar-lo, en el marco interno de una lógica que, desde un punto de mira más distante, no podemos sino llamar convencional.

Todo ponderado, definimos en consecuencia la lógica convencional aceptable como el esquema asertórico bivalente que opera en los fundamentos del cálculo de predicados del primer orden a me-nos que, a través de procedimientos metalógicos que varían en cada caso, se especifique otro conjun-to de premisas. Hay otras posibilidades, algunas en márgenes sospechosos y aún subestimadas por los respetables, otras en vanguardias admiradas; algunas han devenido clásicas, otras se obstinan en ser experimentales. Los parágrafos que siguen exploran esas alternativas y sugieren una mirada antro-pológica sobre su diversidad.

Page 215: Antropologia y Programacion Logica

215

2. La Antropología y las Lógicas Alternativas

Nuestra epistemología añade a la preocupación antropológica por la dependencia teórica de los

enunciados una dimensión adicional. El punto es que si las herramientas que forjamos aspiran a una cierta aplicabilidad sustanciándose en modelos mínimamente realistas, deberán adaptarse a los reque-rimientos no sólo de las teorías antropológicas que están por encima del cálculo de la inferencia y que tienen que ver mayormente con las formas y contenidos de la representación1, sino de las lógicas que están por debajo y que tienen que ver con las premisas del cálculo. Nuestra intención es probar que los lenguajes y dialectos utilizados (y a un nivel más abstracto, los principios rectores de la programa-ción lógica) se adaptan a las premisas lógicas más diversas, así como ya demostramos que se adaptan a las manifestaciones representacionales más heterogéneas.

Debe quedar en claro que la nuestra no pretende ser una contribución frontal a la teoría de las ló-gicas (proyecto para el que no estamos profesionalmente dotados), sino a los métodos y técnicas de la antropología. Las razones que nos llevan a nuestros desarrollos -que quedarán claras a su debido mo-mento- son un emergente de las polémicas internas de la antropología, y no de las disputas domésticas de los lógicos o los epistemólogos, aunque para más de una epistemología la ordalía de la aplicación pueda resultar de un enorme interés.

Para consumar esa prueba prescindiremos del examen de la coherencia global de los respectivos esquemas a los que responden esas premisas: en otras palabras, y para no dispersar la investigación, daremos por sentada o por no problemática la corrección y la completitud de las diversas lógicas, ya sea en términos de su propia arquitectura interna, como juzgadas desde la perspectiva de otro con-junto diferente de premisas, salvo en la medida en que ello implique algún impedimento grave de cara a una implementación antropológica productiva.

No se trata de negar la problematicidad del asunto. Según el consenso general, los contenidos de los sucesivos cuestionamientos a la lógica académica siguen siendo más convincentes que los esque-mas que se han propuesto para suplantarla. Discutir lo que quiérase o no es la lógica es una empresa delicada, cuyos prerrequisitos no siempre parecen haber sido sujeto de consideración. Una discusión de esa índole nos pone, como diría Victor Turner, betwixt and between, en una especie de limbo momentáneamente anárquico.

La oposición entre las lógicas es una especie de dialéctica que no se sabe a qué lógica específica responde. Del mismo modo, para hablar sin sombras de sesgo militante sobre las diferencias entre dos lógicas cualesquiera hay que situarse en un pliegue neutral, en un tertium quid, cuya naturaleza rara vez ha sido objeto de reflexión. El juego dialéctico de las lógicas tensiona el campo aunque no se tome partido por ninguna de ellas, y sobre todo en este caso. Si la lógica estándar es insuficiente: ¿So-bre qué fundamentos concretos podemos encontrarnos para discutir? ¿Sobre qué base lógica (o sobre la base de qué lógica) podemos cuestionar la lógica convencional? ¿Hay un límite, formalmente mar-cado, para las proliferación de las lógicas? La lógica desde la cual se formule la crítica ¿Deberá ser neutral, para no incurrir en relativismo, circularidad o petición de principio, o deberá ser la misma que habrá de suplantarla, para garantizar la coherencia interna del esquema resultante? Serán los lógicos, empero, y no nosotros, quienes respondan algún día a esas preguntas.

1 Pues la teoría define, en principio, cuáles son los hechos pertinentes y cómo están estructurados.

Page 216: Antropologia y Programacion Logica

216

Por si nos hemos expresado mal, diremos en concreto que la consistencia interna global de los modelos lógicos que se han opuesto al razonamiento académico nos tiene sin cuidado, en tanto pueda desarrollarse en base a ellos (o más concretamente, en base a los supuestos de los que parten) una modalidad de antropología que alguien haya propuesto o estado cerca de proponer alguna vez, ya sea como parte de la iniciativa epistemológica de la especialidad o en el contexto de alguna aventura interdisciplinaria. Si esas lógicas son más o menos adecuadas, si se adaptan con mayor o con menor fidelidad a nuestra concepción del método disciplinar, lo dirán los resultados que se obtengan a la larga. Por el momento éstos interesan menos que la capacidad del Prolog para simular esas lógicas o, lo que es lo mismo, su versatilidad para operar en función de fundamentos cambiantes.

A menudo se argumenta que la antropología o las ciencias de la cognición no deberían quedar prisioneras de la lógica convencional desarrollada en occidente y que sirve de basamento a la episte-mología constituida, por cuanto dicha lógica es un producto histórico, de validez local, puramente abstracto, que colapsa ya sea ante la configuración discursiva requerida por las ciencias sociales, como ante la modelización y comprensión de sistemas conceptuales emic. Los responsables de este tipo de afirmaciones son eventualmente profesionales reconocidos: Richard Shweder, Stephen Tyler, Philip Johnson-Laird, Peter Wason, Amos Tversky, Daniel Kahneman.

Se trata, entonces, de liberar a la antropología sociocultural de una lógica universalista para alcanzar la universalidad, más genuina y profunda, del relativismo lógico, y eventualmente el nirvana del alogicismo. Aunque su fundamentación sería en principio atendible, con frecuencia es éste un alegato vacío, carente de las demostraciones exhaustivas y formales que el asunto requiere. Proponer un cambio de fundamentos lógicos no es un asunto que pueda tomarse con ligereza, por mejor justifi-cados que puedan estar los juicios que llevan a plantearlo. En base a ese alegato, por el afán de cues-tionar la concepción académica de los sistemas lógicos más que de proponer una que la reemplace, se correría el riesgo de favorecer el surgimiento de una ciencia que se siente libre de operar sin recaudos lógicos en absoluto, tanto en la descripción de su objeto cuanto en la justificación de sus interpreta-ciones. Existen dos maneras históricamente dadas de cuestionar la lógica académica: (a) proponiendo el abandono de toda lógica, y (b) reivindicando otras reglas del juego, desviadas, no-estándares o al-ternativas. La primera modalidad no nos interesa, y este es el momento de explicar por qué.

Pensamos que la antropología que ha apostasiado de toda fundamentación lógica no constituye lo que se dice una presencia dialéctica constructiva en el interior de la disciplina, ni califica como un de-safío seductor, como una heterodoxia iconoclasta con la que se pueda establecer un mínimo acuerdo. Su positividad ha demostrado ser nula, su creatividad paupérrima; su experimentalismo aparente nada puede hacer contra una concepción reaccionaria del trabajo científico, pues entre las líneas de su todo vale en que trasunta su escepticismo político y epistemológico, resulta obvio que lo que realmente se pretende es que todo siga igual.2

Algo es seguro: pese a que la antropología más reciente se ha convertido en tierra de promisión de anti-lógicas militantes que proclaman la crisis de la razón, la moda parece estar acercándose a su a-gotamiento. La estrechez de su temática (una diatriba recurrente contra la "antropología de la moder-nidad" o contra el "realismo etnográfico") ha comenzado a saturar incluso a quienes alguna vez la tomaron en serio; los textos en donde se la expone han fatigado una y otra vez las mismas ex-

2 La idea, como bien se sabe, es de John Krige, Science, Revolution and Discontinuity, Brighton, Harvester, 1980, p. 42.

Page 217: Antropologia y Programacion Logica

217

presiones, y lo que en algún momento pareció novedoso se ha transformado en el más previsible lugar común.

Pero lo más importante es que todo este revuelo y todo este tedio se originan en un conjunto de ideas intrínsecamente insatisfactorias. Al mismo tiempo se trata de un movimiento que ha ido de-masiado lejos, quebrando las bases para todo intercambio de ideas, y que no ha hecho sino moverse en círculos, recusando a la Razón mediante argumentaciones encuadrables en una lógica convencional -y hasta diríamos conservadora- que sus mismos seguidores, por más que pretendan comportarse contradictoriamente, no pueden menos que encontrar razonable (cf. Tyler 1984, 1986).

¿Cuáles son y cuánto valen, después de todo, los argumentos razonables en contra de la razón? Ningún razonamiento más convencional y más débil, lógicamente hablando, que los que recusan la lógica y la razón. Los juegos malabares de Derrida3, por ejemplo, designados para impugnar a la ra-zón sin razonar, jamás nos han resultado convincentes. En uno de los pocos intentos reflexivos para renunciar a la razón examinando la propia forma de "razonar" (no existe otro término), Derrida reco-noce que afronta a un Maestro terrible, siempre seguro de ganar un juego cuyas reglas ha fijado él mismo. La estratagema de Derrida consiste jugar un lance doble, fingiendo obedecer las reglas del juego, pero tendiendo trampas que el rival no pueda resolver. Como en Gödel, pero con un rigor más flaco, la paradoja es el método. La estrategia de la desconstrucción, capaz de hacer fracasar los dile-mas propuestos por la razón, permite hablar en un momento en que ya no hay más nada que decir, permite razonar en un momento en que la razón está abolida. Quien discute la razón debe servirse de una especie de reserva mental, que se pliega doblemente: se finge fingir. Si solamente se fingiera no se tendría eficacia estratégica alguna: quien finge matar no asesina realmente; pero quien finge fingir mata de verdad. Allí radica el secreto para razonar en contra de la razón, y para aniquilar a ésta al ha-cerlo (cf. Derrida 1967; Descombes 1982). Si la razón es un mito, es difícil concluir que aquí no nos hallamos ante otro.

Todo este juego es, a lo menos, especioso y excesivamente formal. Creyendo que avanza arrolla-doramente, Derrida en realidad retrocede más allá de su punto de partida, y otorga a la razón dema-siadas cosas que antes no tenía y que luego conspiran en su contra: que la doble negación nos retro-trae a la afirmación originaria, que existen algo así como "niveles de tipificación lógica" inconfesada-mente russellianos desde los cuales es posible eludir la paradoja; en fin, que "si P entonces Q". Más que aniquilar a la razón, lo único que se logra con estas dudosas fintas intelectuales es enredarse en ella, tranquilizando a la propia razón suicida con la ilusión de su aniquilamiento.

La cosa no es muy distinta con otras manifestaciones de la llamada "rebelión romántica contra el Iluminismo", del "descreimiento posmoderno hacia los metarrelatos legitimantes" o de la "crisis de la razón" (Ginzburg 1983; Johnson-Laird y Wason 1970; Shweder 1984). Todo este territorio está atravesado por un malentendido básico, un error de razonamiento particular que implica la confusión entre la naturaleza del referente y la de la referencia y que en su equívoco ante la rebeldía de su objeto frente a la racionalidad pone en duda al razonamiento mismo en general. No se ha comprendido que por más que el comportamiento del fenómeno descrito (así sea la totalidad de la cultura o de la mente

3 Quien ha ejercido un enorme ascendiente sobre los antropólogos posmodernos nortamericanos (véase p.ej. James Clifford, "Partial Truths", en J. Clifford y G. Marcus (eds.), Writing Culture, Berkeley, University of California Press, 1986, p.10; "On ethnographic allegory", Op.cit. pp.118-119; Stephen Tyler "Post-Modern Ethnography: From Document of the Occult to Occult Document", Op.cit., pp.128 y 131; Michael Fischer, "Ethnicity and the Post-Modern Arts of Memory", Op.cit., pp.194, 195 y 229, etc).

Page 218: Antropologia y Programacion Logica

218

humana) no responda a las pautas racionales de la lógica clásica, este hecho no involucra nada con respecto a la lógica como motor y fundamento del modelo que describe o explica ese fenómeno. Es el modelo el que debe ser "racional" (i.e. no contradictorio), y no las cosas que en él se representan.

Pero una cosa es admitir que los modelos deben ser no contradictorios y otra muy diferente decir que la lógica académica apofántica bivalente asertórica extensional es el instrumento adecuado de toda modelización. Es posible (y aquí, como hemos dicho, no cuestionaremos esta posibilidad) que e-xistan marcos lógicos más adecuados en ciertas circunstancias; habrá que indagar cuáles son éstas, ti-pificar la correspondencia entre las circunstancias y las tendencias lógicas más adecuadas para afron-tarlas y determinar cuál es el valor de nuestro instrumento para construir sus modelos en base a sus respectivas premisas.

Más interesantes que el alogicismo, con certeza, resultan aquellas propuestas que aspiran a reem-plazar la lógica clásica por alguna otra, en vez de dejarnos del todo sin fundamentación o de extra-viarnos como Johnson-Laird en una alternancia incierta entre modelos indiscernibles, experimentos maliciosos y estructuras sin nombre, como Derrida en un juego de ingenio, o como Shweder en una nueva dimensión que a fin de cuentas no es más que un previsible término medio, sin la fuerza conceptual propia de los extremos. Aquí discutiremos solamente las lógicas alternativas o desviadas, pues entendemos que polemizar con quienes se sienten libres de todo control veritativo no puede conducir a esclarecimiento alguno.

Por fortuna, no toda la antropología que sospecha con cierta justicia de la lógica convencional ha incurrido en alogicismo. Algunas veces (muy pocas, por cierto) se ha postulado que ésta o aquélla ló-gica divergente específica (la teoría de los conjuntos difusos, el probabilismo o la lógica cuántica) se-rían candidatos mejor calificados que la lógica estándar, atrapada ésta en una rígida bivalencia y sig-nada por una milenaria inoperancia frente a la vaguedad. Un puñado de modelos antropológicos se basa en esta premisa, pero ninguno de ellos ha expuesto ese programa siguiendo el hilo de todas sus consecuencias y proporcionando una verificación axiomática de lo que afirma. La mayor parte de estos trabajos son artículos circunstanciales desesperantemente breves, o ensayos programáticos muy pobremente fundados, llenos de sobreentendidos para especialistas, como si todo el mundo dominara los aspectos más recónditos de la discusión (cf. Cooper 1975; Salmon 1978; Klein 1983; Evens 1983; Murray 1983).

Los trabajos antropológicos que hablan de la necesidad de adopción de una lógica alternativa, ya sea para proceder a una explicación o para dar cuenta formalmente de un hecho, son además pocos y esporádicos. Su tesitura acostumbra ser extrañamente irreflexiva: la mayoría de los autores que refieren el carácter no racional o irracional de este o aquel fenómeno lo hacen mediante ponencias que recurren a los pasos demostrativos más comunes de la lógica convencional, y los mismos recursos convencionales de siempre se emplean para justificar otras alternativas revolucionarias. El metalen-guaje lógico que se emplea para proponer -digamos- la lógica difusa no es difusa, el que se usa para defender modelos polivalentes y no veritativo-funcionales es veritativo-funcional y bivalente, y algo similar (y no analizado) sucede en todos los demás casos. El caso más chrriante es el de Evens (1983), quien construye un artículo en forma de un impecable silogismo, inconsciente en tanto tal, para demostrar que la lógica clásica es inservible.

No abundaremos en las complicaciones de todo orden que surgen de un intento de comparar las diferentes lógicas. Pero ello no obsta para que el campo de las posibilidades alternativas de fundamen-tación sea cuidadosamente explorado, y para que se demuestre que algunas propuestas pueden adoptarse con ganancia en el marco metodológico que estamos definiendo. Las propuestas más inte-

Page 219: Antropologia y Programacion Logica

219

resantes serán revisadas en los capítulos subsiguientes, en los que se investigará la adaptabilidad de la programación lógica a distintas estructuras de fundamentación y de método.

Nuestra consideración detenida de cada una de las lógicas no convencionales que ha llegado a nuestro conocimiento se anticipa a una crítica que sería legítima si los límites del Prolog fueran los de la academia filosófica. Una crítica capaz de ponernos en aprietos si nos espetara, por ejemplo:

¿Cómo puede ser posible modelizar conocimientos emic, informales o de sentido común cuya historia nada tiene que ver con un canon lógico que establece todos los criterios de verdad y que define al mismo instrumento de esa modelización?

¿Qué hay de las afirmaciones, tantas veces repetidas, en el sentido que la lógica académica no tiene mucho que ver con la vida real, y que por lo tanto es impotente para actuar en casos en que la vaguedad se impone? ¿Hay que seguir a los positivistas lógicos cuando ellos renuncian a abordar en términos de lógica enunciados y fenómenos intrínsecamente ambiguos? ¿Hay que creer a Ryle cuando alega que la lógica es neutral frente a su tópico, a Carnap cuando afirma que ella nada puede decirnos acerca del mundo o a Russell cuando declara que sólo se aplica a una existencia celestial imaginaria? (Ryle 1960:117; Carnap 1974:9; Russell según Haack 1974:116).

¿Se puede ser ecléctico en lógica y seguir siendo riguroso? ¿Cuáles son las posibilidades de ar-ticular en una misma modelización estructuras y procedimientos derivados de marcos lógicos distin-tos? ¿Cuáles son las garantías axiomáticas de esa combinación, y cuáles las fundamentaciones que en esta amalgama se pierden?

¿En qué dialecto epistemológico de la lógica académica nos estamos basando? ¿Es este dialecto central y connatural a esa lógica o (como afirma Haack del cálculo de predicados, sin demasiado asidero) es una elaboración periférica?

¿Cómo podemos hacer que los motores de inferencia que se modelicen sean dinámicos, crezcan, maduren o aprendan de la experiencia acumulada, y se comporten, en fin, como ningún siste-ma lógico ha demostrado poder hacerlo? ¿Cómo es posible incrementar y actualizar la masa de hechos que se toma como punto de arranque para la inferencia sin que los modelos se vuelvan contradictorios o circulares?

¿Es posible hacer intervenir las presuposiciones no contenidas literalmente en las premisas de una proposición como elementos de juicio que incidan en las conclusiones a que se llega?

¿Pueden representarse procesos de un mundo móvil en un formalismo inmutable? ¿Es posible tratar lógicamente el tiempo y la irreversibilidad? ¿Se pueden expresar modalidades temporales ajenas al círculo histórico de nuestras reflexiones filosóficas sobre la temporalidad? (p.ej. Fabian 1983).

Ante la percepción, la mirada o la "actitud natural" las cosas se presentan como polivalentes y graduales ¿Es posible entonces construir modelos que, en último análisis, reposan en mecanismos de decisión binarios y taxativos?

La lógica simbólica no parece haber retribuido a los científicos formalistas el esfuerzo que su-puso asimilarla ¿Es viable un sistema lógico estricto que coincida con la intuición de quienes carecen de paciencia para seguir el laberinto de los sistemas formales simbólicos? ¿Nos volverá a presentar la lógica computacional la misma resistencia a la asimilación que los tortuosos libros de la lógica simbó-lica?

Page 220: Antropologia y Programacion Logica

220

El llamado "pensamiento prelógico", que parece ser descriptivamente recurrente en la experien-cia etnográfica ¿tiene alguna estructura que permita modelizarlo en un lenguaje que, por definición, no permite contradecirse? ¿O ese pensamiento prelógico impone más bien un límite infranqueable a la declamada versatilidad representacional de nuestros lenguajes?

Aunque algunos de estos dilemas nos ponen frente a dificultades más grandes que las fuerzas de un investigador solitario, ninguna de esas preguntas posibles, perfectamente legítimas, antropológica-mente más que relevantes, ha de quedar sin respuesta. 3. Inventario de las alternativas lógicas.

Hemos procurado exponer el campo de las lógicas desviadas, divergentes o alternativas en su to-

talidad, con sus apiñamientos y vacíos peculiares, a fin de que se pueda apreciar luego el mapeado que los antropólogos socioculturales han realizado sobre ellas al proponer esquemas lógicos excéntri-cos.

El mapa es desolador, y no habla muy bien de nuestra iniciativa. La multiplicidad de las variantes lógicas existentes se contrapone al desequilibrio de las concentraciones históricamente dadas; exten-sas zonas se encuentran desiertas, necesitadas de contrastación, como si en su búsqueda febril de nue-vas fundamentaciones los antropólogos no hubieran buscado lo suficientemente lejos. Aún incluyendo las insinuaciones más ocasionales, las referencias explícitas de la antropología a marcos lógicos diferentes a los de la lógica académica se cuentan con los dedos de una mano. Nos tienta consumar una inferencia clínica que nos descubre una patología del saber ¿No parece ésto efecto de un relati-vismo superficial, intelectualmente pobre, perezoso, tal vez poco sincero? Por otro lado, los viajes de prospección antropológica en el mundo de los fundamentos han sido deficitarios en recursos y esca-sos en frecuencia, lo cual reduce la dimensión y la relevancia de nuestro objeto. Para otorgar densidad a la exploración, habrá que ocuparse también de lo que no se ha dicho, pero que está latente, y habrá que tomar distancias y avanzar hacia la antropología desde lógicas que los antropólogos aún no han soñado y que a nosotros nos cuesta asimilar.

En el campo filosófico, los episodios de la polémica de las lógicas son profusos, y no estamos se-guros de que nuestras barridas bibliográficas no hayan dejado alguna postura importante sin abordar. De lo que estamos un poco más seguros (por la naturaleza de los nomencladores bibliográficos y por nuestra mayor familiaridad con el terreno) es que se ha revisado la mayor parte de las referencias an-tropológicas a las lógicas divergentes que han sido propuestas; nos hemos permitido, eso sí, condicio-nar esa revisión a la seriedad de dichas referencias.

Esta frase perversa connota lo mismo que denota: es decir, no nos hemos molestado en revisar con espíritu crítico aquellos programas ostensiblemente carentes de sustentación, que son (por una especie de ley que habrá que estudiar algún día) las que más proliferan. Ya que su extenso número de-saconseja todo proyecto de inventario, será de interés que procedamos a una tipificación en regla de las referencias descartadas, a fin de dejar en claro cuáles son las propuestas antropológicas que nos negamos a explorar y por qué.

En primer lugar dejaremos al margen, por insuficientemente fundadas y por erróneas de hecho, las lecturas superficiales que identifican la incertidumbre peculiar de los fenómenos cuánticos y la complementariedad en el aborde de ciertos acontecimientos de la física subatómica con una incerti-

Page 221: Antropologia y Programacion Logica

221

dumbre inherente a los fenómenos humanos y la necesidad académica de "complementar" disciplinas. Nos oponemos, en suma, a las razones de Georges Devereux y a otras semejantes que en algún momento disfrutaron de cierta plausibilidad, y que giran en torno de la complementariedad y la incertidumbre tal como se cree que han sido elaboradas en física teórica.

Devereux aseguraba que, según Poincaré, si un fenómeno admite una explicación, admitirá tam-bién cierto número de otras explicaciones, todas tan capaces como la primera de elucidar la naturaleza del fenómeno en cuestión. En el estudio del hombre, expresaba,

[...] no es sólo posible, sino obligatorio explicar un comportamiento, explicado ya de una manera, también de otra manera. [...] El hecho es que si se explica un fenómeno humano nada más que de una manera, en realidad no se lo explica en manera alguna, aún si su primera explicación lo vuelve perfectamente com-prensible, controlable y previsible dentro del marco de referencia que le es propio, y sobre todo en este caso. Además, la posibilidad de explicar "completamente" un fenómeno humano por lo menos de dos maneras (complementarias) demuestra precisamente, por una parte, que el fenómeno en cuestión es a la vez real y explicable y, por la otra, que cada una de sus dos explicaciones es "completa" (y por lo tanto válida) en su propio marco de referencia (Devereux 1975:11).

Solamente un estado de indigencia científica como el que carcome a las ciencias sociales puede explicar que un párrafo tan colmado de arbitrariedades pudiera haber sido alguna vez escrito. Ni una sola aserción está justificada, sea por la lógica o por los hechos: ni la repentina obligatoriedad de explicar un comportamiento de varias maneras, ni el hecho de que una sola explicación no explique nada, ni la igualación de completud y validez, ni de que la acumulación de demostraciones diferentes demuestre tal cosa como la "realidad" de un fenómeno.

La epistemología de Devereux es pre-popperiana, para decir lo menos, y su lógica parecería ser pre-aristotélica: diga lo que diga Poincaré, sea cual fuere el despliegue de autoridades cultas, deducir la validez de una perspectiva a partir de la validez de otra es simplemente un non sequitur, una pam-plina. Devereux no se plantea ni por un momento que las diversas explicaciones bien podrían ser recí-procamente conflictivas e invalidantes, como cuando desde una teoría ambientalista se resta plausi-bilidad a una explicación basada en la biología. Los argumentos de Marvin Harris sobre las conven-ciones alimenticias de las sociedades humanas, por ejemplo, no "complementan" inocentemente a las ideas de Mary Douglas o de Marshall Sahlins sobre la razón cultural, sino que las recusan. Una expli-cación mejor resta credibilidad a aquéllas contra las cuales está llamada a compararse.

Lo más grave sobreviene cuando Devereux asocia su noción de complementariedad al principio del indeterminismo enunciado por Heisenberg (1975:18). Este principio afirma la imposibilidad de determinar (medir) simultáneamente la posición y el momento de un electrón; no es necesario tener u-na formación rigurosa en materia de física para reconocer que éste es, en verdad, un problema básico de la física de los cuantos. Pero la exégesis practicada por Devereux sobre el principio de indetermi-nación se asienta sobre una analogía poco feliz. La indeterminación cuántica no es formalmente com-parable a otros tipos de indeterminaciones. Tal como lo expuso Heisenberg, aquel principio rige ex-presamente para las partículas subatómicas (en su formulación clásica, para los electrones) cuyo com-portamiento no tiene homólogos ni siquiera aproximados en el mundo macroscópico.

Lado a lado con la teoría de la relatividad, la física cuántica establece inequívocamente que los niveles y los criterios de observación, predicción y problematicidad no son extrapolables, que existen dimensiones escalares idiosincráticas y que, en consecuencia, es puro desatino proyectar una limi-tación cuantitativa interpuesta a la observación de los electrones a, por ejemplo, el examen cualitativo de las piruetas de un bailarín o a la descripción de una norma de conducta. Si Newton nada tiene que

Page 222: Antropologia y Programacion Logica

222

decir frente a los electrones imperceptibles de Heisenberg y a los cosmos inabarcables de Einstein, estos últimos nada pueden arrogarse frente al registro de cosas del cual el hombre es la medida.

Sistemas opuestos a la lógica clásica Sistemas complementarios a la lógica clásica Lógica Intuicionista Lógicas Modales Lógica Minimal Lógica Epistémica Lógicas Polivalentes de Lukasiewicz y Bochvar Lógica Deóntica Lenguajes Presuposicionales de van Fraasen Lógica Temporal Lógicas Cuánticas de Von Neumann, Reichenbach, Destouches-Février y Birkhoff

Lógica Erotérica

Lógica no Proposicional Lógica Imperativa Lógica de Preferencias Lógica Difusa Lógicas no Monótonas Lógica Probabilística Lógica Omitiva de Reiter Lógica Autoepistémica de Moore

Diagrama 4.2 - Lógicas Divergentes. Nos hemos inspirado lejanamente en Haack 1980:17, agregando las categorías resultantes de las indagaciones computacionales que Haack no afecta conocer.

Extrapolar más allá de lo debido no es señal de inquietud ni de originalidad, sino de simple des-

mesura. El mundo social no es una estructura cuántica, y mirarlo a través de la lente de los cuantos lo distorsiona más de lo que lo esclarece. La hipótesis cuántica sólo invalida a la física y a la causalidad clásicas en los casos en que masas suficientemente pequeñas se mueven a velocidades lo bastante ba-jas y con niveles de aceleración lo bastante elevados. La importancia de la física, la lógica o las ma-temáticas de los cuantos radica en la especificidad del comportamiento de los diferentes niveles obser-vacionales, y de ninguna manera en la posibilidad de proyección de lo microscópico a lo macroscópi-co primero y a lo social después (Einstein 1985: 30-31). Tras lo expuesto, y en vista de la escala de rigor a que nuestra tesis aspira, quedará claro por qué excluimos de toda consideración antecedentes intelectuales tan oblicuamente fundados.

En segundo lugar repudiamos el falso axiomatismo que, pretextando aplicar (y por consiguiente comprender) los hallazgos definitorios de la prueba de Gödel, imaginan que las ciencias en general afrontan un límite que les otorga un espacio bastante más restringido de lo que es realmente el caso. Gödel demostró que en un sistema matemático consistente que incluya funciones numéricas recursi-vas primitivas es posible construir sentencias tales que ni ellas ni sus negaciones se puedan probar deductivamente, aún cuando se sepa que son verdaderas o falsas; en uno de esos sistemas, además, es imposible probar formalmente la consistencia del mismo en base a los medios propios de ese sistema (Gödel 1981:45-89).

Pese a que los científicos sociales, a diferencia de los matemáticos, no están condenados a cons-truir sistemas completos, ni incluyen habitualmente funciones numéricas recursivas primitivas como parte del andamiaje formal, ni se enfrentan a universos infinitos comparables al conjunto de los números naturales, ni tienen por qué obedecer la cláusula de demostrar la consistencia del sistema en términos de su propia axiomática, la prueba de Gödel, lejos de refinar la metodología, ha justificado todo género de extravagancias.

Page 223: Antropologia y Programacion Logica

223

Numerosos antropólogos y científicos sociales de habla hispana (Héctor Vázquez, Jesús Ibáñez) han extendido las consecuencias de una prueba axiomática y aritmética a sistemas de inteligibilidad que, como sus propias disciplinas, no son ni una cosa ni la otra. Cuando esta prueba se deposita sobre el almacén metodológico de sentido común de las ciencias sociales, en seguida surgen convicciones del tipo de "la verdad es cosa de poder", "la prueba teórica es imposible", o "un programa no puede probar una hipótesis cuya expresión sea cuantitativamente más compleja que el programa mismo" (Ibáñez 1985:71, 188, 277, 288), etc, todo lo cual no sólo es incorrecto, sino que es producto de un éxtasis de inferencias libres que nada tiene que ver con los rigores de Gödel.

Esto es llamativo: seguramente los científicos de marras negarían la legitimidad de analizar la so-ciedad echando mano de ecuaciones de matemática pura; nada les impide, sin embargo, hacer extensi-vo a las metodologías de las ciencias sociales un problema de articulación de las axiomáticas peculia-res y específicas de las matemáticas (y de cierta porción especial de ellas), cual es la insuficiencia de los sistemas matemáticos para probar su propia consistencia lógica. Si las pruebas gödelianas no han impedido (por ejemplo) la revolución tecnológica y el surgimiento de la inteligencia artificial, cuesta pensar cuáles podrían ser sus efectos deletéreos sobre el romanticismo metodológico de la antropolo-gía.

Aventemos los fantasmas de una vez y para siempre: aún a nivel de los sistemas axiomáticos, el algoritmo de resolución y los teoremas de Henkin, Löwenheim y Skolem han pasado por el costado de las limitaciones fijadas por Gödel, cualesquiera sean las interpretaciones que se les atribuya. Los teóricos y prácticos de las redes neuronales, como se ha visto, diseñan como cosa de rutina sistemas cuyos comportamientos emergentes son varios órdenes de veces más complejos que la expresión fuente de los propios programas, de modo que a este respecto no hay más que hablar.

Excluidas estas variantes infundadas, el cuadro 4.2 presenta la lista completa de las alternativas a la lógica académica que hemos podido hallar en la bibliografía. Sobre esa enumeración hay que se-ñalar dos peculiaridades, que afectarán al orden en que habremos de abordar ese universo de posibi-lidades. La primera concierne al hecho de que las categorías del cuadro no parecen surgir de un pro-cedimiento formal de clasificación, y es por ello que los criterios no son uniformes y las categorías resultantes se solapan, se imbrican o se incluyen de diversas maneras. Las lógicas no monótonas, por ejemplo, son necesariamente modales, lo mismo que las deónticas; y las lógicas omitivas, en general, son también no monótonas.

La segunda tiene que ver con el hecho de que, en tanto tales, las diversas alternativas surgen de señalar diferentes y muy precisas limitaciones de la lógica académica, históricamente dadas, y que en consecuencia una clasificación monotética y formalmente correcta de ellas mismas es, desde todo punto de vista, imposible. Hace un tiempo Rodney Needham (1975) estuvo a punto de renunciar a la Razón porque los datos etnográficos eran indóciles a taxonomías y nomenclaturas monotéticas, es decir, fundadas en un solo criterio o en criterios uniformes a través de la serie. A poco se echó mano de Wittgenstein, del segundo Wittgenstein, naturalmente, invitándonos a retroceder y a ceder espacio a la irracionalidad. Ya nos hemos asomado al asunto, constatando que los lógicos (y la Razón misma) nada tienen que temer de la politesis, a menos que proclamen la simetría del universo. Subrayemos por ahora una paradoja más, capaz, según se mire, de situar los temores de Needham en su cabal es-cala o de prestarles otro argumento: la lógica estándar no puede dar acomodo prolijo a sus propias rebeliones. Si el mundo de las lógicas fueran un árbol linneano, los mismos animales lógicos aparece-rían en una y otra rama. Aún en la clasificación de las clasificaciones el acontecimiento prima sobre la estructura, en un microejemplo culminante que nos habla, con un espléndido sentido de la oportuni-

Page 224: Antropologia y Programacion Logica

224

dad, de la necesidad de subordinar las palabras a las cosas. Ningún conjunto de criterios podrá jamás producir un cuadro consistente sobre dos dimensiones en el que figuren, ordenadas de algún modo productivo, las distintas manifestaciones de las lógicas divergentes. Lo cual señala, de acuerdo con al-gunos, una primera y muy importante limitación de las posibilidades de la lógica que ellas recusan. a) Lógica No Proposicional: La Epistemología en cuestión

La nueva lógica permanece aún ignorada por un amplio

sector de los filósofos y consecuentemente no han podido obtener, para sus propios trabajos, ventajas apreciables. Realmente sor-prenden la cautela y la torpe timidez con que se le acercan, si bien más generalmente la evitan. Seguramente, su aparato formal, de apariencia matemática, los ahuyenta, aunque en el fondo se oculta tras de ello un sentimiento instintivo de oposición. Y cuando me-nos por una vez acertaron: en esta nueva lógica se encuentra -y esto no lo han advertido aún muchos de sus mismos seguidores- el punto de palanca capaz de desplazar a la vieja filosofía.

Rudolf Carnap

En este apartado definiremos la modalidad de cálculo lógico en que se basa fundamentalmente el Prolog: el cálculo de predicados del primer orden; consecuentemente, aquí se esclarecerán los térmi-nos técnicos propios de esta variante lógica que se puedan haber deslizado con anterioridad y cuya denotación siga siendo oscura, y se fijarán los parámetros de referencia para la formulación de las lógicas alternativas subsiguientes.

La epistemología constituida se presenta a veces a las ciencias sociales como una instancia capaz de juzgar las empresas de estas últimas con la garantía de la lógica que aquélla afirma dominar. Al mismo tiempo, la filosofía de la ciencia pretende que, por poco que las ciencias sociales absorban su propio dominio de la lógica y escuchen sus consejos normativos en torno del trabajo científico, sus métodos se tornarán más rigurosos. Epistemólogos, filósofos analíticos y filósofos de la ciencia, en una palabra, han llegado para enseñarnos los procedimientos que ignoramos, procedimientos que ellos conocen en general, en su totalidad y con referencia a todas las ciencias, a pesar del hecho ostensible de no haber instrumentado jamás ninguno en particular, siquiera parcialmente y en ciencia alguna. Pa-rafraseando a Rorty, podríamos decir que la filosofía analítica pretendía tragarse a las demás disci-plinas, además de servirles de base, esgrimiendo el filo de la lógica para desmontarlas y revelar su debilidad y su dependencia (Rorty 1983:127-134).

Nuestra pintura de la epistemología, por supuesto, es la parodia de una generalización en regla: es necesario reconocer que en ese terreno se congregan muchas posturas divergentes, que van desde la línea dura positivista de Hempel o de Quentin Gibson, hasta el desenfadado irracionalismo de Feye-rabend, pasando, naturalmente, por los alegatos personalizados y hasta intimistas de estrellas de pri-mera magnitud que forman especie por sí mismas, como Popper, Kuhn y Lakatos. Algunas de estas figuras ni siquiera se preocupan por la adopción del ideal de las Naturwissenschaften por parte de las ciencias sociales, y otras apenas se interesan por los tecnicismos lógicos.

Page 225: Antropologia y Programacion Logica

225

Pero en todas esas propuestas, allí donde la lógica aparece esgrimida como baremo de legitimi-dad y autoridad en materia de métodos, creemos percibir dos constantes. La primera se refiere al nivel de flexión en que se desarrollan sus cálculos de inferencia, nivel que, como se demostrará en un mo-mento, tornaría imposible implementar cualquier formalización. Esta imposibilidad implica asimismo que no es viable, por esos medios, la construcción de ningún modelo con capacidad operativa míni-mamente autónoma.

La segunda constante concierne al hecho de que en el mundo dibujado por los epistemólogos la metodología científica y el rigor experimental se confunden y se entremezclan permanentemente con los aspectos formales de la lógica, tejiéndose una red nebulosa de correspondencias e isomorfismos entre lo formal, lo metodológico y lo empírico, tan monolítica como las proposiciones mismas. As-pectos por demás contingentes, episódicos, discontinuos, operacionales, de sentido común o pragmá-ticos se hacen pasar por algo así como "la lógica de la investigación" (milagrosamente idéntica, según se cree, a la práctica de las Ciencias Naturales), como si el trabajo científico y el diseño experimental (y si uno se descuida, hasta el trabajo de campo) respondieran a los pasos categóricos de una axiomá-tica encubierta que la mirada distante del filósofo tiene a bien revelarnos. Por detrás de una densa fa-chada de terminología y de un aluvión de ejemplos, la estirpe positivista y el simplismo de la idea son ostensibles: la confluencia del trabajo "corporal" del científico con la perfección inmarcesible de las lógicas que han llegado a axiomatizarse se materializa con tanta más pureza cuanto más se cuanti-fique, cuanto más se reemplacen las palabras por símbolos y cuanto más se prodiguen definiciones.

Nuestra elaboración no presta apoyo a ninguna de esas dos posturas; por lo que sabemos, las formas lógicas adoptadas por los epistemólogos han demostrado ser inapropiadas por poco que el rigor se extreme, en tanto que las fases del método implican un referente tan diversificado y en un estado de tan agitada movilidad que todo lo que se diga unitariamente de ellas carece de sentido. Que no es preciso emular los procedimientos de cuantificación y la experimentación controlada conforme al ceteris paribus para realizar una investigación rigurosa, es algo que se infiere de todo nuestro mo-delo y que no es preciso, por ende, volver a demostrar por separado. La idea de que a la lógica sólo se accede a través de un modelo expresado en un formalismo adecuado parece demasiado evidente y es demasiado sólida como para renunciar a ella. Que la lógica en que se basa la generalidad de la filo-sofía de la ciencia es inapropiada, y que no es posible basar en ella un cálculo tan riguroso como para ser automatizado, es en cambio una afirmación fuerte que cabe discutir en este capítulo.

Una de las razones para discutir esta cuestión finca en el hecho de que el cálculo lógico que puede desarrollarse con las herramientas cuya adopción proponemos es radicalmente distinto al que se promueve en los libros de texto. Casi todos los historiadores y comentaristas de la lógica admiten que el cálculo centrado en el silogismo y en el cálculo de proposiciones es insuficiente e imperfecto, pero no han sacado de ello ninguna lección metodológica y siguen presentándolo como si fuera el núcleo de hierro del razonamiento y el modelo al que todos los demás tipos de cálculo responden. Profesiones de fe como ésta se han vuelto absolutamente típicas:

Tampoco compartimos la actitud en cierto modo hostil hacia la lógica aristotélica que manifiestan algunos de los más celosos impulsores de los nuevos campos de estudio. No nos abstuvimos de indicar las limi-taciones de la presentación tradicional de nuestra disciplina, pero creemos que los logros más recientes de la lógica exacta han servido para ampliar tanto como para corregir la lógica aristotélica (Cohen y Nagel 1983:9).

Lo notable del caso es que las "limitaciones" no han sido identificadas, y que tampoco se ha examinado la posibilidad de que las bases de lo que se desarrolla hayan sido socavadas por los "logros más recientes" que han venido supuestamente a ampliarlas. Como veremos ahora, este es el caso.

Page 226: Antropologia y Programacion Logica

226

En la terminología convencional de la lógica proposicional o lógica de juntores, se utilizan símbo-los tales como A, B o C para representar proposiciones atómicas (que, como hemos visto, no pueden ser descompuestas en sus componentes), cuya característica más notoria es su capacidad para denotar un valor de verdad que puede ser verdadero o falso. El hecho de que A, B o C posean lo que se lla-ma un "significado informal", tal como "los trobriandeses viven en Oceanía" no es relevante para el cálculo (cf. Malpas 1987:18). Pero este tipo de significado es fundamental cuando se pretende aplicar una modalidad de lógica a un campo dado del conocimiento. Aparte de las entidades atómicas, la ló-gica proposicional admite la construcción de fórmulas más complejas combinando aquéllas mediante conectores:

Símbolo Significado No & y v o Implica Si y sólo si

Diagrama 4.3 - Conectores lógicos

Una fórmula compleja que incluya juntores o conectores lógicos es lo que se llama una frase bien formada (fbf). En el vocabulario de la lógica proposicional, los símbolos p, q y r son llamados va-riables proposicionales, y éstas se utilizan para representar frases bien formadas del tipo "no p", "p y q", "si p entonces q", etcétera.

El cálculo proposicional tiene sólo un valor limitado; la razón para ello es que la mayoría de sus unidades elementales, las variables proposicionales, son ya enunciados complejos; no hay manera de introducirse "dentro" de una proposición elemental para ver por qué es verdadera o falsa, o para ave-riguar si guarda alguna relación con otras proposiciones de algún otro modo además del de sus valo-res de verdad. Un hecho tal como "el mecanismo de herencia entre los trobriandeses es patrilineal" se puede representar mediante variables proposicionales, pero no hay forma de representar en dicho cálculo a "los trobriandeses" con independencia del resto de la proposición. Aún en el caso de que se pudiera mecanizar por completo un conjunto de proposiciones, hay ciertos tejidos entre ellas que nunca podrían establecerse aunque el sentido común, el conocimiento disciplinar o la "intuición lógi-ca" detectaran sus relaciones.

En otras palabras, el cálculo proposicional en el que reposa la abrumadora mayoría de los textos filosóficos que pretenden enseñarnos métodos rigurosos de razonamiento es incompleto y no llega ni de lejos a caracterizar todas las inferencias deductivamente válidas. Ni siquiera alcanza, en rigor, a demostrar las inferencias elementales más rudimentarias. Es posible representar un razonamiento antropológico deductivamente válido, sin que sea posible resolverlo o siquiera expresarlo mediante el cálculo de proposiciones. Sería correcto expresar, por ejemplo:

"Los trobriandeses son melanesios"

Y sacar de ese aserto la conclusión: "Todas las prácticas culturales de los trobriandeses son prácticas culturales de los melanesios".

Page 227: Antropologia y Programacion Logica

227

Pero aunque parezca insólito, como ni la premisa ni la conclusión de esta inferencia resultan de una combinación funcionalmente verdadera de otras frases, la forma de este argumento en el cálculo de proposiciones sería "A, entonces B", lo cual no es de hecho válido. Para ponerlo en palabras más clásicas, "Sócrates es mortal" no puede deducirse de "Todos los hombres son mortales" y de "Sócra-tes es un hombre", porque "hombre" y "mortal" no son unidades del cálculo y porque entre las tres aserciones se filtran conocimientos enciclopédicos tales como la correspondencia entre singulares y colectivos (es/son, hombre/hombres, mortal/mortales) que no forman parte de la enunciación y que en algunos idiomas no serían en absoluto transparentes.

El servicio que puede prestar a la ciencia social empírica una lógica que experimenta dificultades ante demostraciones tan simples de ninguna manera puede ser significativo. Si se trata de instrumen-tarla (y ése es el punto), la lógica debe ser necesariamente relacional y prestarse tanto a operaciones de integración como de descomposición. La lógica relacional y funcional por excelencia es el cálcu-lo de predicados o de cuantores. Es un hecho asombroso que hasta la aparición de esta lógica de las relaciones no era posible probar la validez de razonamientos tan sencillos como "Un cuadrado es una figura; por lo tanto, el que dibuja un triángulo dibuja una figura" (Simpson 1975: 17), que tiene, inci-dentalmente, la misma forma lógica que nuestro anterior ejemplo sobre los trobriandeses. Casi todos los textos conocidos de filosofía de la ciencia, así como los estudios en psicología evolutiva (Piaget), psicología cognitiva y antropología del conocimiento (Shweder 1984), se fundan en la confusión del cálculo lógico en general -o en abstracto- con el cálculo de proposiciones.

La historia del cálculo de predicados se remonta a Gottlob Frege. Al contrario de Boole, quien había analizado la expresión en términos de proposiciones interrelacionadas, Frege incrementó explo-sivamente la riqueza del análisis lógico proponiendo técnicas de análisis y representaciones formales que quebraban la proposición en estructuras predicativas con la ayuda de ciertas herramientas origi-nadas en las matemáticas (el concepto de función, por ejemplo). Frege construyó toda una serie de lenguajes formales basados en esa idea; con el correr de los años, los aportes de Russell, Church, Kleene, Rosser y Quine derivaron en lo que se conoce como el cálculo de predicados y los lenguajes del Primer Orden, que constituyen el precedente directo de los lenguajes de programación lógica. La notación de cálculo de predicados que aceptan hoy las computadoras no es la misma que utilizaran Russell o Frege; gracias a Skolem han desaparecido los cuantores, por las limitaciones de los teclados de máquina se han esfumado los signos extraños y por iniciativa de Kowalski se ha impuesto la forma clausal de Horn.

Por desdicha, nadie comercia con la lógica sin mediaciones. Con poquísimas excepciones (cf. Douglas 1975a:39), y por razones que habrá que elucidar algún día, los antropólogos no frecuentan la lógica en sus propias fuentes. El camino de los problemas antropológicos a las soluciones de la lógica atraviesa el reducto de los epistemólogos, quienes se han erigido en intermediarios oficiosos entre las esferas del saber. Pero, como si existiera algún rechazo corporativo, algún acuerdo silencioso, ningún epistemólogo de primera línea conduce hacia el cálculo de predicados ni, mucho menos, a las expe-riencias computacionales en materia de lógica. Los pocos que, como Suppes, no desdeñan la compu-tación, se fundan en la máquina procedimental de Von Neumann, no en la programación declarativa.

Entendemos que después del desarrollo de la lógica relacional y funcional por parte de Frege y Russell, seguir presentando los modos de la lógica en términos del caduco cálculo proposicional no constituye una enseñanza oportuna. Ante la frescura con que se siguen exponiendo, en un gesto di-dáctico casi magnánimo, los rudimentos del cálculo proposicional, nos resulta difícil creer que los filó-sofos hayan reflexionado suficientemente sobre el particular. Sea como fuere, lo que importa es que la

Page 228: Antropologia y Programacion Logica

228

presentación que ellos hacen de la lógica para uso de los científicos sociales no deja entrever en ge-neral los límites a que aludíamos, ni se atreve a afrontar la explicación de las modalidades lógicas más elaboradas (y más bellas) que se han ideado en lo que va del siglo.

El problema con la literatura lógica de divulgación que los filósofos adecuan a la pensée sauvage del lector humanista, es que las herramientas fundamentales, los formalismos útiles, ocupan en ella un lugar marginal, cuando es que ocupan alguno. Cohen y Nagel, en concreto, ni siquiera mencionan el cálculo de predicados del primer orden (1983). Tampoco lo hacen Popper, Hempel, Rudner o Steg-müller, o acaso lo hacen al pasar. Los pocos textos que lo citan hablan de él como si se tratara de una especie de práctica periférica, propia de lógicos excéntricos o de cenáculos de vanguardia. Se ignora sistemáticamente el hecho de que este cálculo ha soportado la prueba de la máquina, mientras que otros métodos de inferencia más venerables han hecho un papel indecoroso cuando se los quiso for-mular de manera inequívoca o aplicar a materias de cierta delicadeza.

Estas distorsiones son las que llevarían a un Dreyfus, por dar un nombre, a afirmar que la con-cepción de la mente como mecanismo procesador de información lógicamente regido, reduce las operaciones mentales a "funciones booleanas" y a estados o conmutadores de tipo 0/1, pretendiendo demostrar con ello la incapacidad de la lógica computada para dar cuenta de matices y polivalencias propios de lo real (1972). En la misma tesitura, Héctor Vázquez ha escrito que en la antropología cognitiva "la inteligencia humana es considerada y comprendida según la lógica de la llamada 'in-teligencia artificial' que se articula mediante una lógica combinatoria de oposiciones binarias incapaz de reproducir la organización lógica de la actividad cognitiva cuyas construcciones no son binarias si-no polivalentes" (1988:17). Razonamientos de este tipo son tan reiterados como falaces: ni la antro-pología cognitiva tiene estrictamente que ver con la inteligencia artificial, ni las codificaciones binarias son incapaces de subsumir matices "polivalentes", ni la lógica computacional es combinatoria, ni e-xiste una codificación natural (polivalente o lo que sea) inherente a los fenómenos cognitivos fuera del marco de analiticidad a través del cual se lo mira (que puede ser binario si a alguien le da la gana).

Pero lo que cabe poner al abrigo de todas sospecha no es aquí tanto la computación como la ló-gica que ella instrumenta. Jean Pierre-Desclés ha aclarado hace poco que afirmaciones como las de Dreyfus o Vázquez se deben a un equívoco que resulta de soslayar no sólo la existencia de las lógicas difusas, temporales, modales, intensionales o polivalentes, sino de subestimar muy gravemente el po-der de la lógica: los lenguajes lógicos modernos son capaces de expresar nociones extremadamente sutiles (el análisis russelliano de las paradojas, la construcción de operadores complejos, los formalis-mos para definir semánticas intrínsecas, la lógica ilativa); lo concreto es que ni siquiera el diseño de circuitos eléctricos simples se basa verdaderamente en el álgebra del "si y el no" (Desclés 1989:123-124).

Lo mismo que los lingüistas generativos que consideran a la lingüística computacional como una monstruosidad tecnocrática, los viejos dinosaurios de la lógica y la epistemología -con la llamativa excepción de Suppes- apenas hacen mención de los intentos de mecanizar los procesos de inferencia; ello, convenientemente, bajo el manto de un humanismo que se escandaliza de lo mecánico como si se tratara de algo fundamentalmente inhumano, les permite ya no minimizar, sino hasta ignorar por com-pleto las consecuencias revolucionarias de las experiencias de aquella empresa: la remisión del cálculo conceptual al almacén de las operaciones de rutina, la exteriorización implacable de los supuestos ocultos, el desvelamiento de complejidades impensadas. Con la salvedad de los nuestros, en ningún texto de teoría antropológica anterior al presente se ha hablado jamás siquiera del cálculo de predi-cados, por más que abunden las especulaciones en torno a las "lógicas culturales"; puesto que la idea

Page 229: Antropologia y Programacion Logica

229

del cálculo de predicados se remonta a Frege (lo que es decir, a los últimos años del siglo pasado), esta situación es sintomática del atraso de la transferencia pedagógica de la epistemología para con nuestras disciplinas, o, peor aún, de severas lagunas conceptuales e históricas en el interior de la propia filosofía de la ciencia.

Hasta aquí la protesta. El cálculo de predicados permite quebrar la estructura monolítica de la proposición y generar posibilidades de cálculo ya no a partir de frases interimplicadas y a su vez in-descomponibles (de interrelación siempre dudosa, más allá de los humos de los filósofos), sino a partir de la aserción del primer predicado. Una aserción simple, como "los trobriandeses son melane-sios" puede ser analizada en términos de sujetos y predicados lógicos de distintas maneras: se puede tomar "los trobriandeses" como sujeto lógico y "son melanesios" como predicado; o bien "melane-sios" como sujeto y "los trobriandeses" como predicado, o bien "trobriandeses" y "melanesios" como sujetos y "son" como predicados, o idear cláusulas de esta forma:

trobriandeses(son,seres_humanos). 4.3 seres_humanos(son,trobriandeses). son(trobriandeses,seres_humanos).

Por razones técnicas, algunas de estas formas son más adecuadas que otras y las que utilizan

términos que denotan "ser" no lo son demasiado; pero en general todas pueden servir para fundar el cálculo. Desde el punto de vista antropológico esta posibilidad de descomposición es fundamental, por cuanto nos permite construir tejidos de conectividad que vinculan sin anfibología atributos y fun-ciones de distintos sujetos. A esto se agrega el hecho de que el cálculo de predicados permite definir variables internas a la secuencia de objetos, variables que en su formulación computacional participan en la definición de reglas. Podemos descomponer una aserción en sus términos y aún descomponer los términos mismos, preservando todas las conexiones que la intuición percibe.

Es hora de abordar la tercera inflexión del esquema de Thayse. Al contrario de que suelen creer ciertos lógicos sin demasiada práctica aparente en programación, todas las más finas extensiones del cálculo de predicados son expresables y susceptibles de ser instrumentadas en Prolog. De hecho, se podría hacer lo mismo en casi cualquier lenguaje, incluso en los procedimentales. Por añadidura, el cálculo de predicados puede transformarse en metalenguaje de cualquier otro tipo de cálculo, el pro-posicional incluido. Veamos un caso de interés que servirá para que puedan imaginarse otros.

El "cálculo lambda" es un formalismo creado por el legendario lógico norteamericano Alonzo Church con el objeto de tomar cualquier expresión evaluable y convertirla en una función, especifi-cando qué partes de la expresión se deben reemplazar mediante argumentos (Church 1941). Todo el lenguaje LISP se basa en esta idea churchiana, que constituye a su vez el núcleo de la llamada lógica funcional. El cálculo lambda se obtiene agregando a los ya conocidos otro operador más (operador lambda o ), que cumple el cometido de ligar variables. Existe un método familiar de denotar conjun-tos mediante una notación como ésta:

{x | x es una cultura de la Patagonia} 4.4

{x | -1 < x < 1, x número real}

La única exigencia para esta forma de definir conjuntos es que se especifique una frase que

contenga una variable en un lenguaje inambiguo y que se fije una convención para indicar cuál va-

Page 230: Antropologia y Programacion Logica

230

riable (x) constituye la clave para definir el conjunto. En el cálculo de predicados esto se logra agre-gando el operador . Si F es una fórmula lógica, entonces xF denotará un conjunto; intuitivamente, puede decirse que la expresión caracteriza al conjunto especificado por F con respecto a la variable x.

Considérese, por ejemplo, la frase "Alguien envió presentes al cacique", y su traducción a lógica de predicados:

envia(X, cacique, Y). 4.5

La expresión siguiente lambda_Y(envia(juan, cacique, Y)). 4.6

denotará el conjunto de objetos que Juan envía al cacique, mientras que esta otra lambda_X(envia(X, cacique, mantas)). 4.7

denotará el conjunto de individuos que envían mantas. Las expresiones lambda 4.6 y 4.7 son predicados unarios que incluyen respectivamente a X y a Y como argumentos. Los operadores lamb-da, al igual que los cuantificadores existenciales y universales, sirven para ligar ocurrencias de una va-riable. Lo que ya llevamos dicho sobre la forma de operar del Prolog torna evidente su adecuación a esta variedad de la lógica, por lo que no abundaremos en ejemplificaciones adicionales; el lector habrá advertido que en nuestro lenguaje no es necesario definir operadores diferenciales para especificar cuáles son las partes de la expresión que han de ser reemplazadas por argumentos. En la bibliografía de dominio público hay numerosos ejemplos de lógica funcional expresada en Prolog (cf. Thayse 1988: 119-120; Covington et al 1988:200-205; Maier y Warren 1988:347-380).

Debido a que la signatura del cálculo de proposiciones no es sino un subconjunto de la del cálcu-lo de predicados, es posible restringir a éste para que emule a aquél. Dos estudiosos del Prolog, Da-vid Maier y David Warren, han desarrollado un lenguaje, denominado Proplog, capaz de emular (con fines didácticos) las prestaciones del cálculo proposicional (cf. Maier y Warren 1988:3-117). Su texto demuestra taxativamente, sobre la base de una práctica intensa y consolidada, que el cálculo de predi-cados sirve para construir lenguajes y sistemas tanto más simples como más complejos que él mismo.

Weiskamp y Hengl (1988:90-98) presentan un pequeño programa elemental en Turbo Prolog, llamado TRANSLATE, que primero secciona proposiciones en fragmentos o tokens, y luego aplica transformaciones clásicas del cálculo proposicional (los teoremas de De Morgan, la reducción de las negaciones dobles, etc), oficiando como el núcleo de un posible probador automático de teoremas.

Emular las prestaciones de un cálculo restringido mediante los resortes de otro más elaborado es un juego que puede hacerse con una amplia reserva de potencia, pero no es un ejercicio demasiado popular. Bajo ciertas condiciones, en especial cuando el cálculo de predicados roza los peligrosos límites de la decibilidad, esta capacidad mimética podría llegar a aportar una vía de escape a algunas aporías del razonamiento. Uno de los teoremas incluidos en el apéndice en que se marca la traza que lleva desde los fundamentos de la lógica hasta la posibilidad de modelizar mediante ella, desarrolla precisamente esa mímesis. b) Lógicas Polivalentes: Hipótesis del Mundo Abierto

De acuerdo con nuestra experiencia hasta el momento, el cálculo de predicados implementado en

el Prolog es susceptible de desarrollarse de modo tal que cualquier principio de cualquier lógica cono-

Page 231: Antropologia y Programacion Logica

231

cida, formal o informal, puede expresarse a través de él sin traición semántica, residuo sintáctico ni dificultad pragmática. Esto sucede porque dicho cálculo opera a un nivel de analiticidad más elemen-tal que el sustrato de representación de cualquier lógica, pudiéndose incluso definir los valores de ver-dad en términos de lo que en informática clásica se denomina "programación procedimental" o de lo que en programación lógica se caracteriza como "metaprogramación" (cf. Malpas 1987; Sterling y Shapiro 1987).

El conjunto de posibilidades que se inaugura a partir de la escala en que se despliega la máquina de inferencia ya ha sido abordado en el capítulo anterior, en el que el cálculo de predicados se opuso a la modalidad más popular entre los filósofos: el cálculo de proposiciones derivado de Aristóteles, la versión moderna del silogismo. Ahora toca el turno de abordar una capacidad del lenguaje no menos significativa, que sirve entre otras cosas para variar la valencia veritativa del esquema lógico global. El siguiente es un ejemplo de la profundidad a que se puede (para servirnos de la espantosa jerga in-formática) "customizar" el intérprete, esto es, modificar la conducta procesual de la máquina de infe-rencia nativa para adaptarla a las premisas que sean necesarias. En este ejercicio, la lógica binaria sub-yacente al cálculo declarativo del Prolog se transforma en una lógica trivalente.

Partiendo de estos hechos definidos: sistema(trobriand,matrilineal). 4.8 sistema(circasiano,patrilineal). sistema(tonga,patrilineal). falso(sistema(kutubu,matrilineal)).

Si se formula la siguiente pregunta: sistema(sivai,matrilineal).

la respuesta entregada por el sistema sería "false" (o "no", según el dialecto), cuando debería ser "true" o "yes" de acuerdo con los hechos etnográficos, e "indefinido" o "desconocido" de acuerdo con la información de que el sistema dispone. Ningún lenguaje de programación lógica resuelve la ca-rencia de información (o el carácter incierto de ésta) a partir de sus predicados nativos o de sus reglas intrínsecas de cálculo. Pero si se agrega este sencillo procedimiento: probar(P) :- P, write("Verdadero"),nl,!. 4.9 probar(P) :- falso(P), write("Falso"),nl,!. probar(P) :- not(P), not(falso(P)), write("Indefinido"),nl.

y se formula la pregunta de esta manera: probar(sistema(sivai,matrilineal)). 4.10

la respuesta será lógica y empíricamente correcta. En otras palabras, si se dejara el cálculo veritativo librado a los algoritmos de resolución del intérprete, los resultados estarían determinados

Page 232: Antropologia y Programacion Logica

232

por una alternativa binaria y taxativa, que parte del principio de que lo que no es "verdadero" es "falso"; el uso de técnicas de metaprogramación como la utilizada (tan transparente que casi no nece-sita explicarse) resolvería el problema, al menos en principio, haciendo que el sistema proceda según esta máxima antropológicamente sagaz: no asumir que lo que se desconoce es falso, hasta tanto su falsedad no sea estipulada en forma explícita.

Al nivel del lenguaje, cuando el investigador formula una pregunta al intérprete, está planteando implícitamente esta cuestión: "¿Es verdadera la relación descripta por esta pregunta?". A nivel de me-talenguaje, por el contrario, la pregunta implícita es esta otra: "¿Es probable (es decir, ¿puede ser pro-bada?) la relación descripta en esta pregunta por medio de la estrategia de resolución del intérprete y de acuerdo con las cláusulas definidas hasta ahora?"

Si se utiliza el dialecto Turbo Prolog en lugar del canon de Edinburgo, la necesidad de tipificar los dominios haría al programa un tanto más extenso, pero igualmente efectivo. El siguiente es un ejemplo plenamente operativo de un tipo de programa que numerosos especialistas (cf. Covington et al 1988:vii,458-481) afirman que no se puede hacer en ese dialecto. Obsérvese que mediante una es-tratagema muy sencilla hemos logrado definir como tipo de dominio un predicado complejo: domains 4.11 pred = sistema(tribu,tipo) tribu, tipo = symbol predicates probar(pred) falso(pred) sistema(tribu,tipo) clauses probar(sistema(A,B)) :- sistema(A,B),write("Verdad."),nl. probar(sistema(A,B)) :- falso(sistema(A,B)), write("Falso."),nl. probar(sistema(A,B)) :- not(sistema(A,B)), not(falso(sistema(A,B))), write("Indefinido."),nl.

La versión canónica permite, por añadidura, que el metapredicado posea un alcance total, sin que sea preciso más que agregar la misma cláusula a cualquier programa para conmutar entre una y otra lógica cada vez que se lo desee. En Turbo Prolog se puede lograr lo mismo estipulando definiciones adicionales de pred, separadas por punto y coma. En todos los dialectos, modulando otras cláusulas semejantes, podemos introducir con suma facilidad otras alternativas de valencia; quede firme en-tonces este testimonio: quebrar el mito del binarismo ciego de la lógica es tan sencillo como éso.

En rigor, tanto la lógica que utiliza el Prolog por default como la que puede implementarse me-diante la técnica de metaprogramación descripta son coherentes; sólo que la primera responde al su-puesto del "mundo cerrado", en el que el conjunto de cláusulas afirmadas se considera como una des-cripción exhaustiva de todos los hechos relevantes, mientras que la segunda obedece al supuesto del "mundo abierto", del cual se desprenden tres posibles valores de verdad: verdadero, falso o descono-cido (o indeterminado, o indeterminable). La presunción del mundo cerrado, en otras palabras, impli-

Page 233: Antropologia y Programacion Logica

233

ca que la única fuente de conocimientos son las propias cláusulas del programa; la presunción del mundo abierto involucra la posibilidad de recurrir a fuentes alternativas de conocimiento, las cuales bien podrían identificarse, en un programa dado, con el "aprendizaje de máquina", con la toma de in-formación a partir del entorno, con insumos provenientes de programas externos o con la interacción entre el modelo y el investigador.

En primera instancia parecería que el supuesto del "mundo abierto" cuadra mejor al ethos discur-sivo de nuestra ciencia; pero este juicio no debería ser absoluto, pues todo depende del valor que nuestra epistemología conceda a la abstracción, a la reducción, al recorte, o (como diría Bateson) al puntuado o troquelado del contexto. Sobre este particular no podemos expedirnos en esta tesis, pues, al ser una cuestión teorética, concierne por entero a una esfera de problematicidad que se encuentra fuera de la jurisdicción de una teoría de modelos. Sí podemos, a cambio, esbozar la tendencia global: salvo casos extremos de ingenuidad empirista, en los que, como en los textos de Bórmida, se nos ins-ta a representar "el hecho tal como es y en toda su complejidad" (1976:13), la mayoría de los científi-cos se resigna a no incluir la totalidad del universo como objeto cada vez que se teoriza sobre una fracción de él.

Ahora bien ¿cuál es, a todo esto, el espíritu que rige a la corriente principal de la programación lógica, si es que puede hablarse de semejante cosa? El espíritu de toda modelización exhaustiva es el de incorporar todas las variables relevantes y constituir así una especie de tipo ideal de mundo ce-rrado. La hipótesis del mundo abierto introduce en el modelo algunas propiedades oraculares indesea-bles y deja latente el riesgo de olvidar que no estamos tratando con el mundo en sí ni con la realidad que está allá afuera, sino con un modelo de lo que una formulación discursiva define como la realidad del mundo. Tal como veremos al ocuparnos de la lógica epónima, no hay ni puede haber prescripción axiomática alguna sobre la relevancia, ni siquiera en el modelo más perfecto: el juego consiste, casi siempre, en que lo que se escoge como relevante alcance para los fines descriptivos o explicativos que se pretenden.

La elección de un modelo de mundo abierto o de uno de mundo cerrado tiene implicancias más drásticas de lo que en primer análisis puede parecer. Cuestiones esenciales de la filosofía de la ciencia se conjugan en esa disyuntiva, por otro lado excluyente. Lo que pretendemos afirmar es que ninguno de estos supuestos es inherentemente mejor para la antropología; la adecuación de uno o de otro de-pende, en todo caso, de la naturaleza de la representación y de los objetivos del modelo. En todo ca-so, el hecho de que nuestro formalismo no se incline excluyentemente hacia uno u otro es una mues-tra adicional de su instrumentalidad. c) Lógicas Cuánticas

Es sabido que la mecánica cuántica difiere en sentidos fundamentales de la mecánica clásica. Se

dice que en cierta forma los sucesos registrados en la mecánica cuántica ponen en tela de juicio los principios más básicos de la lógica convencional y quizá hasta la misma Razón. El mundo cuántico posee una estructura de comportamiento alucinante que evoca de lleno la configuración narrativa de ciertos mitos:

En el mundo subatómico, lo observado es dependiente de la observación, al punto que no puede decirse que lo observado ocurra en absoluto si no se lo observa. Partículas puntuales, virtualmente sin tamaño ni estructura interna, exhiben no obstante la curiosa peculiaridad de poseer un momento

Page 234: Antropologia y Programacion Logica

234

cinético de rotación, es decir, de girar sobre su propio eje. Existe asimismo la posibilidad de que una sola partícula pase a la vez por dos orificios distintos e interfiera consigo misma (d'Espagnat 1980; Hughes 1981).

Algunos teóricos de la lógica han sugerido que la adopción de una lógica no estándar daría solu-ción a la mayor parte de los aparentes problemas presentados a la racionalidad por la experiencia de la física de los cuantos. Entre estos autores se encuentran Birkhoff y Von Neumann (1936), Destou-ches-Février (1937, 1951), Reichenbach (1944) y Lambert (1969). Los estudiosos mencionados desa-rrollan o ponen en cuestión sistemas sumamente refinados, pero a los propósitos de nuestra investiga-ción y en lo que atañe a las consecuencias antropológicas del asunto podemos pasarlos por alto.

La lógica cuántica es una lógica trivaluada, y en este sentido pertenece al conjunto más amplio de las llamadas polivalentes, a las que analizamos en el apartado anterior. De hecho, Reichenbach se fun-dó expresamente en los desarrollos de Lukasiewicz. El tratamiento por separado de la formulación cuántica obedece a que se trata quizá de la única modalidad divergente que ha sido instrumentada en antropología, en el decurso de una polémica entre los neotylorianos y sus adversarios cuyos ecos todavía perduran (cf. Cooper 1975; Salmon 1978).

David Cooper, de la Universidad de Surrey (sin ninguna relación con el conocido antipsiquiatra de los 60), imaginó que ciertas aparentes contradicciones del pensamiento primitivo podían superarse utilizando para su cálculo una lógica trivaluada explícitamente relacionada además con los principios de Indeterminación y Complementariedad según Heisenberg. Los argumentos que Cooper intenta re-racionalizar se derivan de algunas observaciones bien conocidas de Evans-Pritchard:

1. Los Azande creen que existe una prueba confiable, post-mortem, para determinar si una persona es o no es un brujo. A veces esta prueba arroja resultados positivos, otras no. Por otra parte, la brujería es una capacidad orgánica heredada por los varones de sus pa-dres y por las mujeres de sus madres. Todos los Azande están emparentados por vía masculina (Evans-Pritchard 1937). Si aplicamos a estas creencia la lógica convencional bi-valuada, obtenemos "Todos los varones Azande son brujos y no todos los varones Azande son brujos".

2. Los Nuer sostienen que los niños muy pequeños no tienen alma, pero que las almas de to-dos los gemelos "se va hacia arriba" cuando ellos mueren (Evans-Pritchard 1956, cap. I). La consecuencia lógica de esto es que algunos niños poseen y no poseen almas.

Cooper salva la racionalidad de las creencias Azande y Nuer definiendo que el valor de verdad de algunas de ellas no es ni verdadera ni falsa, sino indeterminada. Para ello intenta probar que esa asig-nación está implícita en el material etnográfico y que su problematicidad es análoga a ciertos aspectos de la mecánica cuántica.

Las elaboraciones de Cooper son demasiado detalladas como para reproducirlas, lo mismo que su cuidadosa refutación por parte de Merrilee Salmon, de la Universidad de Arizona en Tucson. El ar-gumento central de Salmon es que las lógicas de los Nuer y Azande no se ciñen al modelo cuántico trivaluado, pues la indeterminación operaría en aquéllas como "difícil de determinar como verdadero o falso" y no como "imposible de determinar verdadero o falso en principio". La demostración de Sal-mon procura encontrar otras formas de racionalidad en las creencias de ambas tribus, ciñéndose a in-dicios etnográficos no siempre exhaustivos y relativamente marginales. Aunque Salmon da con varias soluciones, más o menos plausibles, todas ellas reclaman alcance limitado y validez puntual. Cada

Page 235: Antropologia y Programacion Logica

235

aparente contradicción -dice- debe ser examinada en sus propios términos, ya que no hay ninguna solución general a priori a las contradicciones del pensamiento nativo (Salmon 1978:454).

No nos esforzaremos por parafrasear en Prolog ni las proposiciones de Cooper ni las soluciones ad hoc de Salmon, pues la adecuación del lenguaje para la trivaluación ya fue demostrada y no hay nada más que demostrar. Diremos solamente, para cerrar el punto, que ninguno de los dos estudiosos acusa recibo de la existencia de formas lógicas más sofisticadas que el cálculo proposicional y las ta-blas veritativas, y que ambos pretenden salvar a todo trance la consistencia de las creencias nativas, en lugar de construir un modelo consistente capaz de determinar, llegado el caso, si su carácter es o no contradictorio.

Igual consideración nos merecen algunas otras referencias rasantes y sumarias a las lógicas plu-rivalentes, que se expresan como si ellas fueran más sensibles a la estructura incierta de la realidad o a los desvíos humanos de la Justa Razón, y como si la adopción de una lógica de ese orden no implicara reacomodamientos complicadísimos en el ejercicio de un razonamiento antropológico que ya es en sí precario en términos de una axiomática harto más elemental (Ibáñez 1985). Dado que en general los que promueven marcos de ese jaez no han cumplimentado su análisis, nos consideramos en derecho de postergar el nuestro hasta que haya un postulado identificable que merezca respuesta. d) Lógica Intuicionista

Una conectiva (en una frase, un operador) es veritativo-funcional si el valor de verdad de un

compuesto del cual es la conectiva principal depende únicamente de los valores de verdad de sus componentes, en cuyo caso puede construirse una tabla de verdad para esa conectiva. Se dice que un sistema lógico es veritativo-funcional si todas sus constantes lo son. La lógica convencional es una lógica de este tipo.

La lógica intuicionista de Arend Heyting (1966) es una lógica divergente no veritativo-funcional, cuyo interés es sustancialmente filosófico y formal. Los intuicionistas afirman que en ciertos sentidos la lógica clásica es incorrecta; ya a principios de siglo el intuicionista L.E. Brouwer había presentado objeciones muy graves contra el principio del tercero excluido, alegando que carece de validez cuan-do se lo aplica a conjuntos no finitos. Desde entonces suele distinguirse en matemáticas y en lógica entre las pruebas clásicas y no constructivas (que se apoyan en el uso irrestricto del tercero excluido) y las pruebas constructivas o finitistas, que se atienen tan sólo a los principios más "seguros" de la ló-gica y de la matemática, como el principio de no contradicción y el de inducción matemática (cf. Ga-rrido 1983:308).

Los intuicionistas consideran además que la lógica está o debería estar subordinada a las mate-máticas, porque se trata de un conjunto de principios descubiertos a posteriori para gobernar el razo-namiento matemático, o de una especie de registro de las reglas admitidas como válidas por esta ciencia. Pero las matemáticas de los intuicionistas no es la que todos conocemos, sino que es una entidad muy especial. Para ellos se trata no de un producto sino de un proceso, y concretamente de una actividad mental; sus componentes (los números, por ejemplo) son entonces entidades mentales, psicológicamente constructibles. Desde este punto de vista, ciertas porciones de las matemáticas, y en especial las que tienen que ver con las totalidades completas y con el infinito, les resultan inacep-tables, dado que son contraintuitivas. Y de esta restricción psicologista de la matemática se sigue, por las razones que ya hemos dicho, una restricción concomitante de la lógica: los intuicionistas no acep-

Page 236: Antropologia y Programacion Logica

236

tan la validez universal de los principios lógicos, y en especial del tercero excluido, como hemos vis-to, para el cual según entienden existirían contraejemplos.

Al subordinar la verdad a la verificación, los intuicionistas ponen en tela de juicio la noción clási-ca de una verdad trascendente; a su criterio esta noción está respaldada por una imagen platónica de un reino de entidades matemáticas que existirían objetivamente y con independencia de nuestro pensa-miento. Brouwer no admite la hipótesis de la existencia de objetos matemáticos separados del pensa-miento humano, y Heyting ha precisado que la lógica intuicionista es una genuina logique du savoir, opuesta a la clásica logique de l'être.

Pese a que la verdad intuicionista es epistémica, en sentido estricto, la lógica intuicionista y lo que ha dado en llamarse lógica epistémica constituyen conjuntos de premisas, métodos y estilos que no conviene confundir. Los textos intuicionistas -en particular los de Heyting- forman especie por sí mismos; ellos evocan una especie de metálogo batesoniano en el que se insinúan, con un fuerte apa-rato formal, algunas de las consecuencias que tendría la aplicación de un "pliegue intuicionista" al pensamiento matemático. El desarrollo de las lógicas y matemáticas intuicionistas puso en foco el problema de la intuición lógica, sobre la que no se había reflexionado suficientemente. Algunas ob-servaciones de Heyting merecen recordarse:

Lo que en matemáticas es intuitivamente claro ha demostrado no ser claro intuitivamente. Incluso es posible construir una escala descendiente de grados de evidencia. El grado superior es el de afirmaciones tales como 2+2=4. Sin embargo, 1002+2=1004 pertenece a un grado inferior, ya que no se pone de manifiesto con-tando efectivamente, sino que es el razonamiento quien muestra que en general (n+2)+2=n+4. [...] Enunciados como éstos poseen ya el carácter de una implicación (1962:195).

El argumento, sin duda, es convincente, al tiempo que pone sobre el tapete un círculo de razo-namientos que tiene cierto aire de familia con la semántica de prototipos, por cuanto introduce grada-ciones en la apreciación subjetiva de la evidencia lógica. Ni los lógicos intuicionistas ni los científicos que han trabajado esta semántica en ciencia cognitiva, en psicología o en antropología del cono-cimiento han explorado, que sepamos, esta concomitancia, que aquí no haremos más que registrar.

El problema de la magnitud de la evidencia se liga con el de las lógicas modales y epistémicas en general, a cuyo tratamiento remitimos para apreciar la forma en que dichos sistemas son expresables mediante el Prolog. Desde el punto de vista formal, no habría mayores discrepancias entre un modelo intuicionista y uno convencional expresados ambos en un lenguaje declarativo. Lo que variaría más radicalmente, quizá, es la naturaleza de las metarreglas que encarrilan el cálculo conforme a premisas generales en ámbitos de predicación que la antropología, a decir verdad, difícilmente necesite abordar alguna vez.

Pero la magnitud de la evidencia es un efecto de la postura intuicionista, no su argumento princi-pal. Sus discusiones más típicas atañen a las relaciones entre la lógica y la matemática en un cariz que a nuestros propósitos casi no viene al caso. Pese a que el intercambio de ideas con el intuicionismo ha puesto en relieve ribetes filosóficos de indudable importancia (cf. Popper 1988:126-135), no hemos sido capaces de captar la pertinencia de esta propuesta en relación con los problemas concretos y los marcos teóricos de la antropología, fuera del episodio ya aducido de su posible vinculación periférica con una semántica prototípica y difusa.

Page 237: Antropologia y Programacion Logica

237

e) Sistemas Presuposicionales

Los esquemas y modelos lógicos centrados en el análisis de las presuposiciones o supuestos

implícitos constituyen una modalidad que está ganando terreno y que engrana directamente con intereses contemporáneos de la lingüística, la semiótica, la antropología y, por fortuna, la inteligencia artificial.

En nuestra disciplina Stephen Tyler ha hecho militancia alrededor de lo unsaid (lo no dicho) y lo unspeakable (aquéllo de lo que no puede hablarse), creyendo que al situar el nudo de la problemática más allá de las posibilidades del registro representacional del realismo etnográfico, garantizaba la irracionalidad de la conducta humana (1978, 1987). Con menos ínfulas, Mary Douglas ha sabido destacar el carácter implícito (esto es, presupuesto y no declarado) de los resortes esenciales de la religión primitiva (1975b).

Numerosos lógicos se han manifestado sensibles a las problemáticas que presentan los diversos fenómenos de la presuposición y algunos han propuesto reformas de variada profundidad en el aparato de su disciplina:

La presuposición es, por una parte, una relación peculiar entre enunciados, una relación entre enunciados irreductible a cualquier otra de las conocidas. Y es, por otra parte, una relación que es imposible no tener en cuenta si se quiere que la lógica formal conserve su -a nuestro juicio, indispensable- contacto con el lenguaje de la vida. En la explicación de esa esencial actividad humana consiste[nte] en hablar desempeña papel funda-mental el entendimiento del fenómeno llamado 'presuposición'. Salvo que se defienda una concepción de la lógica que haga de ésta un a la postre cómodo lenguaje de laboratorio, parece inexcusable admitir en ella, con todas las consecuencias, el hecho de la presuposición (Deaño 1988:309).

Quiérase o no, admitir este hecho lleva a una transformación de la lógica bastante más radical de

lo que cabría imaginar. En lo que a la lógica respecta, a pesar de que el término "presuposición" había sido utilizado en las elaboraciones lógicas derivadas de la filosofía de Brentano, quien primero le otorgó una definición clara y una fundamentación teórica consistente fue Gottlob Frege, al discutir la distinción entre sentido (Sinn) y referencia (Bedeutung). Esta distinción tenía por objeto resolver el dilema que presentaban los enunciados de identidad. El ejemplo clásico de Frege para la discusión de estos dos conceptos analiza esta frase:

(1) La estrella de la mañana es la estrella vespertina.

Frege señalaba que "estrella de la mañana" y "estrella vespertina" tienen la misma referencia, ya

que ambas expresiones se refieren al mismo planeta, Venus. Pero no puede decirse que tengan el mismo sentido, porque si así fuese la frase (1) sería tautológica o analítica, como lo es la frase (2):

(2) La estrella de la mañana es la estrella de la mañana.

En contra de lo que ocurre en este caso, la frase (1) es potencialmente informativa, posee cierto

valor cognoscitivo, pues puede enterar al oyente de algún hecho previamente ignorado que no puede derivarse por sí mismo de la comprensión del significado de la oración (2). Durante años, de hecho, se

Page 238: Antropologia y Programacion Logica

238

ignoró que ambas estrellas fueran la misma. El acto más audaz de Frege (y luego el más discutido) fue el de extender la distinción sentido/referencia de los términos simples a toda la expresión.

Compárese el cuadro 4.4, destilado por Susan Haack del texto clásico fregeano de 1892, con el esquema 4.1 que nosotros construimos inspirándonos en la semblanza de Deaño. En una primera im-presión, lo más sorprendente del primer esquema es la equivalencia que establece Frege entre la refe-rencia y el valor de verdad de una frase. Esta es una suposición que se desprende de su idea respecto de que el sentido y la referencia de una expresión compuesta dependen del sentido y la referencia de las partes que la componen.

Expresión Sentido Referencia Nombre propio o descripciones definidas Significado de la frase denotativa Objeto Predicado Significado de la expresión predicativa (?) Concepto Frase Proposición Valor de verdad

Diagrama 4.4 - Sentido y Referencia

El argumento de Frege es el siguiente: si un componente de una frase se reemplaza por otro con

diferente sentido pero con la misma referencia, entonces la proposición expresada por la frase (su sen-tido) se modifica, pero su valor de verdad permanece constante. Por ejemplo:

(3) Isabel II tiene cuatro niños.

(4) La Reina de Inglaterra tiene cuatro niños.

De este principio se sigue que si una frase incluye un término singular que carece de referencia,

entonces la frase misma debe carecer de ella, y por lo tanto no posee valor de verdad. Esto implica que en la teoría de Frege una frase que contenga un término no denotativo, a pesar de que tenga un sentido perfectamente claro, carece de valor de verdad. En otras palabras, ni una frase ni su negación poseen valor de verdad a menos que sus componentes denoten. Aquí es donde se introduce el tema de la presuposición. Estas dos frases:

(5) Kepler murió en la miseria.

(6) Kepler no murió en la miseria.

no son ni verdaderas ni falsas a menos que "Kepler" denote algo. Por otro lado, ambas frases

presuponen que Kepler denota algo, presuponen que Kepler existió. Lo notable es que, veritativa-mente considerada, una presuposición cualquiera cobija tanto un aserto como su negación, lo cual es una propiedad lógica por lo menos extraña que se añade a la condicionada indecidibilidad de su valor de verdad. Como lo dice el propio Frege, que el nombre "Kepler" designe algo es presuposición tanto de la afirmación "Kepler murió en la miseria" como de la afirmación opuesta (1985:71).

Lo significativo del caso es que para formalizar la presuposición hace falta o bien abandonar el sistema bivalente de asignación de valores de verdad, o bien proponer un sistema que no parta del hecho de que los valores de verdad de una frase se derivan de los de sus partes componentes. Recordemos que para Frege "no hay más que dos valores veritativos" (1985:62).

Page 239: Antropologia y Programacion Logica

239

En el ámbito de la lógica, se han propuesto por lo menos tres sistemas para formalizar la "presu-posición" de Frege, dos de ellos polivalentes (el de Smiley y el de Woodruff) y el tercero (el de Van Fraasen) no veritativo funcional4 (Cf. Van Fraasen 1969; Cooper 1974; Wunderlich 1977; Haack 1980:66-67, 93-94).

Como bien lo saben los antropólogos después de Bateson y de Geertz, el significado literal puede modificarse o revertirse mediante un guiño, un gesto, un tono irónico en la voz. Además de las in-tenciones del hablante, el oyente tiene que decodificar las presuposiciones e implicaciones de cada fra-se, así como las anáforas o referencias cruzadas con otras entidades del texto. Si la semántica deter-mina el significado literal, el significado global está determinado en gran parte por factores en cierto modo extralingüísticos que podríamos llamar pragmáticos o contextuales.

Por fortuna, no es preciso tantear territorios nuevos cuando se trata de incorporar la presuposi-ción a las experiencias en programación lógica. En ciencia cognitiva y en inteligencia artificial los pre-supuestos remiten a lo que se ha caracterizado como "conocimiento subyacente" [background know-ledge]. Para hacer posible la llamada "comprensión de máquina" (fase ineludible si se trata, por ejem-plo, de traducir mecánicamente con una mínima adecuación) es imprescindible quitar del primer plano el problema de la referencia y centrarse en lo que Frege hubiera llamado sentido, o quizá mejor aún presuposición.

Pero los técnicos contemporáneos están persuadidos de que, a diferencia de lo que Frege pensa-ba, el significado de una frase está sólo parcialmente determinado por el significado de cada una de sus palabras; una gran parte de su significado (si no su totalidad) provienen del contexto, las intencio-nes del hablante y las expectativas del oyente (cf. Sowa 1984:264-272; Terry Winograd 1988). Las referencias anafóricas han demostrado ser de enorme importancia en la determinación de los signi-ficados profundos de un texto.

El ejemplo clásico de equivocación interpretativa por causa de una anáfora es el de Creso, el rey de Lidia, y el Oráculo de Delfos. Se dice que el oráculo afirmaba que "Si Creso ataca a los persas, destruirá un gran imperio". Creso atacó a los persas presuponiendo que el gran imperio al que aludía el oráculo era el de aquéllos, cuando en realidad (o en el mito) se trataba del suyo propio.

Este tipo de relaciones es bien conocido en representación del conocimiento y hasta en algunos modelos sociolingüísticos. Algunos autores restringen el uso de anáfora para las referencias hacia atrás, utilizan catáfora para los reenvíos hacia adelante y exófora para las expresiones que remiten fuera del texto. Que el error de Creso fuera anafórico o exofórico, por ejemplo, depende de sus con-versaciones previas con los sacerdotes de Delfos (cf. Halliday y Hasan 1976).

La multiplicidad de los usos del habla, la creación de nuevos matices y dificultades interpretati-vas, la posibilidad de imaginar siempre nuevos "juegos del lenguaje" (Wittgenstein 1953) pueden crear la impresión de que aquí nos hallamos frente a una dificultad insuperable, un límite que la inteligencia artificial no podrá trascender jamás. Pero no es tan así. Por un lado, el hecho de que la máquina en principio nada presuponga ayuda a hacer explícitos todos los supuestos. Por el otro, existe una creciente experiencia en materia de heurísticas que no sólo hacen que las máquinas se comporten "naturalmente" frente a los juegos lingüísticos que van surgiendo, sino que iluminan

4 Sobre la definición de veritativo-funcional, ver capítulo sobre la lógica intuicionista.

Page 240: Antropologia y Programacion Logica

240

facetas antes mal comprendidas de la presuposición natural. Citaremos algunas de esas heurísticas: la de Kaplan (1978, 1982), la de Carbonell (1981, 1982) y la de Lehnert (1982).

En la conversación normal, los participantes tienen por objetivo hacerse entender por los demás hablantes; esta comprensión debería conducir a la expresión de un conjunto suficiente de frases con todos los cualificadores expresados por completo. Pero al mismo tiempo, se deben seguir ciertos principios de economía para no abrumar a los interlocutores e incurrir en inacabables redundancias; de este modo, los hablantes (como los practicantes bernsteinianos de los códigos restringidos, como los actores culturales de la etnometodología) omiten expresar lo que ellos creen que es conocimiento co-mún.

El lingüista Grice (1975) formuló lo que se conoce como principio cooperativo que los interlocutores deben respetar: adaptar cada participación verbal al propósito común, a la dirección general de la conversación. El principio de Grice consiste en cuatro máximas que subyacen a una conversación normal y que permiten a la gente derivar inferencias, llamadas implicaturas conversacio-nales, tanto de lo que se dice como de lo que se omite:

Máxima de cantidad: No decir ni demasiado ni demasiado poco.

Máxima de cualidad: Procurar que la contribución sea verdadera.

Máxima de relación: Ser relevante.

Máxima de manera: Ser expresivo.

Pero el principio cooperativo no siempre está en vigencia. La gente puede ser deliberadamente evasiva, irónica o mentirosa. En confrontaciones legales, por ejemplo, pueden atacar las máximas opuestas de lo que Grice llama encastillamiento [stonewalling]:

Cantidad: Nunca contribuir en nada voluntariamente.

Cualidad: Evitar juicios por perjurio y falso testimonio.

Relación: Hacer que el diálogo se descarrile.

Manera: Ser oscuro.

Kaplan (1978) observó que las computadoras tienden por naturaleza más al encastillamiento que a la cooperación, y desarrolló en consecuencia un sistema llamado CO-OP, destinado a compensar esta tendencia mediante una heurística de cooperación. Para ser cooperativo, un sistema debe reconocer y responder a los presupuestos subyacentes. El sistema de Kaplan consiste en una estra-tegia dialógica mediante la cual se van confirmando o modificando en forma dinámica los supuestos que el programa admite para encarrilar la conversación o el cálculo lógico en ese sentido.

Una versión más elaborada del principio cooperativo de Grice es el Mixed-Initiative Conversatio-nal System (MICS) de Jaime Carbonell. Este sistema traduce completamente los insumos lingüísticos a grafos conceptuales, combina los grafos con conocimiento contextual de trasfondo codificado en forma de esquemas, construye un modelo interno del interlocutor, almacena ese modelo para futuras referencias y establece objetivos y sub-objetivos que orientan el flujo de la conversación (Carbonell 1981, 1982).

Todo lo que hemos revisado en el capítulo sobre los frames, las redes semánticas, los scripts y los esquemas es relevante para comprender el tipo de modelo presuposicional desarrollado por

Page 241: Antropologia y Programacion Logica

241

Lehnert (1982), quien ha construido sus sistemas en base a unidades narrativas [plot units]. Se trata de una coincidencia notable, que entrecruza las preocupaciones de los ingenieros del conocimiento y científicos cognitivos por la representación con las búsquedas de los lógicos que tratan de domeñar y comprender los universos presuposicionales.

Todavía no hay en pragmática lingüística una teoría redonda y acabada, y los "principios" o "máximas" que rigen la conversación tienden a multiplicarse más allá de todo control: estudiosos recientes han añadido algunos casi extravagantes, al menos de nombre, como la Máxima de Serializa-ción Natural o el Principio de Pollyana (cf. Leech 1983). El programa de los positivistas lógicos pro-ponía "purificar" el lenguaje, haciendo que todos sus matices y aspectos se hicieran explícitos. Las heurísticas que hemos visto, en cambio, exploran una perspectiva mucho más inteligente y centrada, lo mismo que los formalismos de representación impulsados por el humanismo filosófico que ya han tomado carta de ciudadanía en la programación en general. La bibliografía abunda tanto en descrip-ciones de esos nuevos modelos que nos excusamos, una vez más, de demostrar que existen (cf. Sowa 1984:264-276; Winograd y Flores 1988). f) Lógica Probabilística: Modelo estadístico e Inducción

El modelo probabilista de la inteligencia artificial comprende numerosos aspectos que tienen que

ver tanto con el esquema bayesiano como con el tratamiento de las creencias (lo que se ha llamado "probabilidad subjetiva"), y que rozan o se intersectan con los desarrollos en lógica difusa o lógica epistémica. Daremos aquí relevancia al hecho histórico de la prioridad de la teoría de la probabilidad como formulación matemática cuantitativa, y utilizaremos otros nombres (incertidumbre, nebulosi-dad) para referirnos en otra parte a un enfoque cualitativo de lo que en el fondo es siempre indeter-minación. Es por ello que en este apartado sólo nos ocupamos de la probabilidad en sentido más bien estricto, abordando los temas más tangenciales en otros contextos.

Muchas veces los antropólogos buscan eludir la acusación de deterministas afirmando que sus hipótesis son "probabilistas" por antonomasia. Las razones de esta flexibilidad no son difíciles de identificar. En el imaginario axiológico de los científicos sociales, la probabilidad tiene un valor agre-gado del que el determinismo no disfruta, como si la lógica o la epistemología subyacentes al cálculo de la probabilidad estuvieran mejor fundadas, fueran más razonables o respondieran con mayor so-fisticación a la tendencia antipositivista de los tiempos. En el ejercicio público de su profesión, mu-chos deterministas inconfesos (Marvin Harris, Roy Rappaport, y en el otro extremo David Schneider o Marshall Sahlins) se reconocen más bien "probabilistas", como si con esa calificación su determi-nismo inocultable adquiriera Dios sabe qué matices de sutileza.

Estamos lejos de discrepar con la necesidad de implementar modelos probabilistas, o de desco-nocer la importancia e incluso la belleza de las soluciones probabilistas en un universo de determina-ciones inciertas. El problema con el probabilismo de los antropólogos es que es bastante difícil de creer en tanto se mantenga en términos declarativos tan generales y metodológicamente vacíos. Así como no creeremos que los neofuncionalistas sean "sistémicos" hasta tanto no especifiquen las ecuaciones diferenciales que describen sus sistemas, tampoco creeremos el cuento de la probabilidad mientras se sigan escamoteando las matemáticas que la expresan.

Hasta la fecha, la única variedad disciplinar genuinamente probabilista y estadística es la llamada cross-cultural anthropology, ligada en sus inicios al nombre de Murdock, a la revista Ethnology y a

Page 242: Antropologia y Programacion Logica

242

los archivos de la Human Relations Area de la Universidad de Yale (cf. Naroll y Cohen 1970; Köbben 1970; Tatje 1970; Reynoso 1990). No investigaremos en este capítulo la adecuación del Prolog a la expresión de un estudio realizado conforme a los cánones de esa escuela, ya que la misma está implícita en el hecho de que el lenguaje dispone del aparato matemático suficiente. Nos ocuparemos más bien de los aspectos lógicos de la probabilidad y de la forma en que los problemas emergentes pueden ser enfrentados y resueltos mediante un lenguaje declarativo.

Ante todo, hay que clarificar el sentido de las palabras. La teoría de la probabilidad no es una creación poética que se conforma con aproximaciones indefinidas o con cómputos sistemáticamente postergados, sino ante todo un constructo matemático cuantitativo. En esto radica tanto su fuerza co-mo sus dificultades. Decir que se es probabilista en lugar de determinista no debería ser gratuito, a menos que el aserto nada signifique. No hay probabilismo genuino sin cuantificación de la probabili-dad; el probabilismo cualitativo es una contradicción en los términos, una entidad rotundamente ce-rrada a la verificación, y no corresponde esperar de la programación lógica la justificación de semejante tropelía. Lo que deseamos enfatizar es que un argumento que se dice probabilista introduce una dimensión cuantitativa que una afirmación determinista puramente relacional no necesariamente implica; a la prueba lógica o retórica de su plausibilidad se agrega entonces la necesidad de probar matemáticamente aquellas determinaciones o correlaciones que se enuncian.

En el mundo y en la cultura todo es en cierta medida "probable", y algunas cosas son poco o mucho más "probables" que otras; pero en tanto sólo se identifiquen los factores o las estructuras "probablemente más probables" desde un punto de vista signado por dictámenes ideológicos a priori, esto seguirá siendo una perogrullada y los resultados emergentes seguirán siendo probables, pero no significativos ni probados. Lo que importa, si es que se quiere enunciar un conocimiento verdadera-mente informativo, es determinar la magnitud de la probabilidad, otorgarle continuidad y consistencia desde las premisas hasta las conclusiones y fundamentar la naturaleza no arbitraria de esa estimación.

Tenemos que considerar entonces las dificultades y las promesas de los postulados probabilistas en una modelización, y para ello debemos despejar numerosos interrogantes. ¿Qué significa ese "pro-babilismo" que se expone como una propiedad de las conclusiones científicas en antropología en rela-ción con el quantum de certidumbre de los datos y la indeterminación de los procesos de inferencia? ¿No es acaso la "probabilidad" una cualidad matemática que impone formas muy precisas de cuantifi-cación? ¿Cómo se formula, llegado el caso, un modelo deductivo probabilista en programación lógi-ca? ¿Existe una lógica que sea intrínsecamente probabilista y que se ofrezca como alternativa al deter-minismo aparente de la lógica académica? ¿Qué relación existe entre la conjeturabilidad subjetiva, el indeterminismo cuántico, la teoría bayesiana de la probabilidad y el probabilismo lógico? ¿Es lógica-mente igual desconocer el valor de verdad de un hecho que la probabilidad de su ocurrencia? ¿Cómo afecta a una teoría global los aspectos parciales de la realidad que se desconocen, y cómo se hace para computar un modelo muchos de cuyos valores y variables son inciertos? ¿Existe, en fin, una an-tropología que sea genuinamente probabilista (en oposición a determinista), y que no se defina como tal al solo efecto de hacer gala de apertura, de modernismo epistemológico o de amplitud de criterios?

Está claro que cuando un antropólogo defiende la adecuación de sus hipótesis aduciendo que son de naturaleza probabilista, no siempre desarrolla una justificación acabada ni un análisis en profundi-dad de la forma en que esa probabilidad se manifiesta y se transmite en un sistema complejo de razo-namientos. Tanto la teoría matemática de la probabilidad como la analítica psicológica y filosófica de la probabilidad subjetiva son relativamente elaboradas, pero jamás hemos visto que se utilicen consis-tentemente en un modelo antropológico. Los modelos probabilistas están allí, y tenemos a nuestra dis-

Page 243: Antropologia y Programacion Logica

243

posición una herramienta formidable para describirlos, ponerlos en acción y someterlos a prueba, con la ventaja de una instrumentalidad general antes inédita. Los modelos probabilistas y estadísticos son de importancia crucial. Proponemos este apartado para comenzar a explorar sus ventajas y para es-tablecer con la mayor claridad posible sus limitaciones.

Aunque el punto no viene estrictamente al caso, hay que aclarar que determinismo y probabilismo tienen, en Prolog, una significación distinta a la que es común imprimir a esos términos en el desarro-llo del método científico. Esa significación es casi puramente técnica, y se refiere al número de reso-luciones posibles de cada cláusula. La falta de concordancia entre el determinismo computacional y el determinismo lógico o empírico quedará clara mediante un sencillo ejemplo: consulta :- write("Indicar sociedad : "), 4.12 readln(Sociedad), especificar(Sociedad,Rasgo), write(Rasgo),nl,!,consulta. especificar(kwakiutl,dionisiaco). especificar(dobu,dionisiaco). especificar(zuni,apolineo). especificar(_,desconocido).

En este escueto programa de consulta que esquematiza más aún que el original las tipificaciones de Ruth Benedict, el procedimiento que remite a la cláusula "especificar" es indeterminista, por cuanto existen múltiples respuestas posibles, dependiendo de cuál sea la etnia que se ingrese en la o-peración de lectura del goal. El antropólogo bien puede saber la respuesta, pero la máquina no; tendrá que tantear hecho por hecho; y el despliegue de marcas y señales internas que se dispara cada vez que un proceso es indeterminista es la única magnitud que introduce crecimientos exponenciales en los árboles de búsqueda y en los tiempos de procesamiento. El carácter indeterminista del procedimiento nada tiene que ver con el determinismo del proceso de especificación una vez instanciada la variable Sociedad. Obsérvese, entre paréntesis, que en caso de introducir una tribu que no esté presente en el inventario, la resolución será igualmente (y no más) indeterminista.

En el ámbito de la inteligencia artificial se sabe desde siempre que es riesgoso construir sistemas de representación del conocimiento que consideren todas las afirmaciones en términos de hechos como completamente ciertas. En el mundo real, la gente se maneja bastante bien aún en el caso de que la evidencia disponible no sea plenamente segura. Para que un sistema computacional resulte igualmente eficaz, debe ser capaz de distinguir entre lo que es seguro y lo que lo es menos y llegar a conclusiones probables en base a información incierta.

Pero "probabilidad" e "incertidumbre" no son siempre nociones fáciles de expresar en forma rigu-rosa. Paradójicamente, necesitan ser precisadas si es que se quiere llegar a modelizar un problema an-tropológico con cierto realismo y si, más allá de esta moderada exigencia, se pretende alcanzar una precisión comparativa mayor en la especificación de las alternativas de la que tendríamos en caso de utilizar métodos convencionales, aproximaciones subjetivas o cálculos al azar. También paradójica-mente, como veremos, se ha encontrado que la forma más precisa y eficaz de acotar los efectos de la incertidumbre, consiste nada menos que en modelizar la subjetividad, sacar al aire los supuestos, en-contrar un punto de equilibrio dialéctico entre la inexorabilidad estrecha de la máquina y la deriva de la intencionalidad humana.

Page 244: Antropologia y Programacion Logica

244

Probabilidad e incertidumbre no son nociones nuevas, aunque su incorporación al tratamiento computacional es más bien reciente. Existe una teoría matemática de la probabilidad extraordinaria-mente bien desarrollada. Hay, además, varios campos que se entrecruzan y numerosas nociones que se solapan, sin coincidir del todo. Desde principios de siglo, por ejemplo, los lógicos han considerado las lógicas multivaluadas (o polivalentes) como extensiones de la lógica bi-valuada, y han desarrollado elaborados sistemas para explorar sus articulaciones y consecuencias. Si se lo piensa un instante, el probabilismo de los matemáticos y antropólogos y la polivalencia de ciertas lógicas conducen a las mismas ideas, aunque en un caso exista cierta expresión cuantitativa de la indeterminación y en el otro no. Los métodos elaborados por los lógicos son más algebraicos que numéricos, y se desarrollaron más por razones teoréticas sumamente complejas que para su aplicación en tomas de decisión.

En teoría, podríamos extender la máquina de inferencia del Prolog, construyendo otra que pueda razonar acerca de las probabilidades, utilizando esa teoría matemática como heurística procedimental. Pero aunque esta propuesta pueda sonar atractiva, hay por lo menos dos buenas razones para no im-plementarla sin reservas. La primera razón involucra a los presupuestos que subyacen a la teoría ma-temática de la probabilidad; la segunda se basa en la observación de la conducta de los expertos hu-manos.

Todo sería más sencillo si las probabilidades de situaciones complejas pudieran determinarse a partir de las probabilidades separadas de las situaciones menores que las componen. Supongamos que, en el espíritu de los trabajos comparativos de Murdock o de Whiting, estamos modelando una sociedad total con sus respectivas instituciones, tales como prácticas higiénicas, enculturación, creen-cias religiosas, etc. Podríamos plantear la hipótesis de que en una sociedad determinada tal variable tendrá cierto valor, con tendencia a crecer y tal otra variable tal otro, esta vez con tendencia a dismi-nuir. La probabilidad de que la variable A ascienda mientras la B disminuye será una función de la probabilidad de que aquélla efectivamente suba y ésta efectivamente descienda. ¿Cuál es, en concreto, esa función? La teoría de la probabilidad nos proporciona una respuesta, pero condicionada al hecho de que ambas variables sean independientes. Sin embargo, más allá del carácter conexo que exhiben los subsistemas y componentes de todas las sociedades, hay razones para desconfiar de la independen-cia de esas variables concretas entre sí. Más aún, la virtud de una buena hipótesis antropológica radica en la demostración de la interdependencia de determinadas variables, más que en la demostración de su independencia.

Diagrama 4.5 - Tres métodos de combinación de probabilidades.

El meollo de los problemas en el cálculo de la probabilidad se encuentra menos en la estimación

de cada variable que en el arrastre de la probabilidad cuando las variables son más de una. En este caso nos enfrentamos a una serie de alternativas, digna de matrizarse. Neil Rowe ha sistematizado y puesto un nombre a las diversas estrategias disyuntivas y conjuntivas, liberales y conservadoras, que surgen de aceptar los diferentes criterios de combinación de probabilidades (cf. Rowe 1988:167-176).

Page 245: Antropologia y Programacion Logica

245

Los sistemas probabilistas más sencillos son los que presumen que las diferentes probabilidades son independientes, es decir, que la ocurrencia de un tipo de eventos no hace que otros sucesos sean más o menos probables. Esta situación aparece a menudo en la investigación antropológica cuando las diferentes evidencias proceden de diversos métodos de razonamiento y no pueden "interactuar" como sería deseable. Cuando se aplica el principio de la independencia estadística, se asume que la probabi-lidad de que ocurran dos sucesos equivale al producto numérico de las probabilidades individuales. Esta fórmula es lo que se conoce como combinación "y" o combinación conjuntiva.

Pero la independencia constituye un presupuesto demasiado fuerte y liberal. No se sostiene y deja de ser válido cuando uno de los sucesos considerados es la causa del otro, o cuando ambos derivan de un tercero. La combinación conservadora o disyuntiva se ha demostrado particularmente útil para manejar probabilidades estimadas a priori. Estas son las que se toman como punto de partida, esti-mando la probabilidad de un suceso sobre bases genéricas. Casi siempre se trata de guarismos cerca-nos a cero, que pueden ser expresados en un programa en Prolog escribiéndolos como hechos, en vez de reglas.

Un enfoque liberal, pero no independiente, computa siempre la máxima probabilidad posible en función de la evidencia. Este quizá no es tan útil como el que brindan las alternativas conservadoras, pero se aplica a las conjunciones cuando una pieza de evidencia implica a todas las otras y a las dis-yunciones cuando las piezas de evidencia prueban la misma conclusión en formas que no pueden sos-tenerse simultáneamente.

Aunque no todas las fórmulas tienen sentido cuando se las utiliza en un mismo proceso, se las puede combinar a condición de que se respeten algunos criterios: (a) fluencia, es decir, que las fórmu-las no efectúen saltos bruscos cuando las probabilidades de los insumos varían suavemente; (b) con-sistencia, esto es que ningún valor se encuentre fuera de los rangos que van desde el enfoque más liberal al más conservador; (c) conmutatividad, o sea que el orden de las combinaciones binarias sea indiferente; y (d) asociatividad, o igualdad de resultados independientemente de la forma en que se agrupen los cálculos (cf. Rowe 1988:167-176).

Existen innumerables algoritmos capaces de expresar en Prolog implementaciones probabilistas. Si tenemos una regla determinista, del tipo f :- a, b, c. 4.13

la podemos transformar en una regla probabilista agregando probabilidades a cada término y remitiendo a un procedimiento de cálculo que responda a algunos de los criterios admitidos. Si se tratara de una conjunción independiente, el programa consistiría en las siguientes cláusulas: f(P) :- a(P1), b(P2), c(P3), indep_conjunt([P1,P2,P3],P). 4.14 indep_conjunt([P],P). indep_conjunt([P|PL], Ptotal) :- indep_conjunt(Pl,P2, Ptotal = P2 * P.

Habida cuenta de que ya se han explicado las notaciones de listas, la interpretación de la rutina no ofrece dificultades. Hechos adicionales, tales como a(0.75), expresarían magnitudes de probabili-dad que se pueden elastizar tanto como se desee. Nada impide, por ejemplo, estipular umbrales y lí-mites de probabilidad utilizando predicados de la aridez correspondiente, o servirse de términos lin-

Page 246: Antropologia y Programacion Logica

246

güísticos que expresen simbólicamente esas ideas. Otras modalidades de combinación requerirían, por supuesto, procedimientos de cálculo distintos pero análogos en lo formal. Un punto a notar es la peli-grosidad del uso de la negación en contextos de cálculo probabilístico, fenómeno bien conocido por los programadores lógicos.

En otro orden de cosas, la observación demuestra que los expertos humanos normalmente no ajustan sus estimaciones conforme a los dictámenes de la teoría de la probabilidad. La práctica real sugiere una estrategia diferente, una estrategia que aún no ha sido plenamente analizada en inteligen-cia artificial. Es por ello que la mayor parte de las implementaciones de sistemas de conocimiento des-pliegan no tanto una teoría matemática de la probabilidad, sino más bien un método de cálculo o es-timación en base a los llamados factores de confianza o factores de certidumbre. El factor de confian-za de una hipótesis será algo así como la medida de nuestra inclinación a aceptarla o rechazarla. Nuestra confianza en determinadas hipótesis no parece determinar nuestra confianza en otras, aunque por cierto aún no se ha alcanzado ningún acuerdo sobre el método correcto de computar esa estima-ción.

Uno de los métodos más utilizados para representar los factores de confiabilidad es representar-los mediante números. Algunos programadores se sirven de una escala de 0 a 1, o de 0 a 100, o de -100 a 100. Ninguna convención es mejor que otra, pero la segunda tiene la virtud de expresar la cer-tidumbre como porcentaje. La introducción de guarismos no debe llamar a engaño ni debe hacer creer que estamos en presencia de una precisión espuria: lo que importa de estas cifras es la impresión que causan, las interpretaciones que sugieren, más que la certidumbre que miden. En rigor las cifras constituyen un recurso intermedio orientado a la máquina, para hacerle saber al intérprete del lenguaje que "muy improbable" es menos probable que "improbable", y que "es posible" trasunta algo más de certidumbre que "yo no sé".

Las cifras se usan, en otros términos, para convertir ciertos hedges de la estimación lingüística en entidades situadas en un espacio en que se puedan apreciar sus relaciones, y para facilitar el cálculo del arrastre y la interdependencia de las incertidumbres acumuladas. Que no exista acuerdo sobre los matices de significación de los hedges y sobre su posición relativa en el continuum que va desde la improbabilidad absoluta a la certidumbre cartesiana no es una dificultad fatal: los recursos instrumen-tales que podríamos introducir para realzar el naturalismo de los procedimientos son poco menos que infinitos, y existe una amplia sedimentación de experiencias; no sería demasiado complicado modeli-zar soluciones alternativas, difusas, estocásticas o aleatorizadas, a fin de contentar incluso a los más proclives al escepticismo en materia de formalización (cf. Gale 1986).

Si bien estas temáticas reaparecerán cuando hablemos de lógica difusa, es necesario retener que si bien los formalismos a veces son idénticos, el matiz de su interpretación es lo que difiere. En lógica difusa se evalúa el grado de pertenencia de un elemento a un conjunto; en cálculo de probabilidades, la probabilidad de que un elemento califique como miembro de una clase o de que un determinado e-vento tenga lugar. Los aspectos más inesperados de la cuantificación aproximativa de los factores de confianza son los que conciernen al encadenamiento de la incertidumbre en un sistema de múltiples variables y procesos. Es posible otorgar factores de confianza tanto a una regla como a sus premisas o condiciones. Podemos estar seguros que los crow vivieron en Montana, pero podemos dudar si Jim Carpenter fue realmente un crow o si fue un nez percé, y asimismo podemos tener todavía más dudas acerca de la inclusión de las montañas de Absaroka en el territorio crow. Cuáles sean los términos de la operación lógica no importa por ahora.

Page 247: Antropologia y Programacion Logica

247

Para determinar el factor de confianza de una conclusión, debemos combinar los factores de confianza independientes de la regla con el de la condición. Esto se hace multiplicando ambos guaris-mos y dividiéndolos por 100. Esto nos enseña, incidentalmente, que la acumulación secuencial de la incertidumbre puede no seguir una traza intuitiva. Si tenemos 80% de seguridad respecto a uno de los factores, y 75% de seguridad con respecto al otro, la resultante tendrá una certidumbre de apenas (80*75)/100, es decir, 60%. Ninguno de los factores es por sí solo tan incierto.

Esta degradación de la probabilidad de una consecuencia que depende de cierto número de ante-cedentes o condiciones que no son taxativas, sólo se manifiesta en todo su esplendor en un entorno computacional de modelización. Lo más interesante de este tipo de implementaciones radica en todo lo que revela acerca de la transmisión de la incertidumbre allí donde se dan conjunciones, negaciones y disyunciones de hipótesis de distinto factor. Los especialistas en Prolog no han permanecido ocio-sos, y han preparado una serie de rutinas y algoritmos capaces de dar cabida a una amplia variedad de matices de indeterminación.

Los programas mediante los cuales los diferentes autores ilustran este punto desarrollan, en ge-neral, el cálculo del factor de confianza para la negación (100-F, siendo F el factor afirmado); el trata-miento de varias reglas para la demostración de una misma hipótesis, cada una con un factor de con-fianza diferente; la distinción entre la condición de una regla de confianza y una entidad a la que lla-mamos prerrequisito, y que es una hipótesis subordinada a confirmarse antes de la aplicación de la re-gla; el cálculo del umbral de confianza necesario para contar una hipótesis como confirmada; la espe-cificación de las condiciones que no se dan en la descripción de una entidad, y así sucesivamente (cf. Covington et al 1988:301-330).

Hasta este punto las soluciones comentadas son simples y un tanto impresionistas, pero podero-sas. Como lo demuestran los desarrollos adjuntos, los esquemas probabilísticos son programables con fluidez, siempre que se cuente con un dialecto del lenguaje apto para la metaprogramación. Con toda seguridad, ninguna modelización de diagnósticos o de procesos de cambio social en antropología será viable en tanto esos aspectos no se investiguen y modelicen con cierta asiduidad, es decir, en tanto nosotros mismos no acumulemos experiencia. Pero no todo lo que se refiere a la posibilidad de repre-sentación de factores de confianza es auspicioso. A pesar de que muchísimos sistemas expertos utili-zan esa técnica con cierto éxito, existen unas cuantas razones para ponerla bajo luz de sospecha. En primer lugar: ¿de dónde provienen los factores de confianza? Se podría exigir que provengan de un profundo estudio estadístico del fenómeno que fuese, y no de un juicio más o menos arbitrario. El he-cho es, sin embargo, que ningún diseñador de sistemas de conocimiento, por lo que se sabe, ha rea-lizado jamás compulsa estadística alguna para establecer sus factores de confianza.

Pero aún si esos guarismos se originaran en una estadística formal, cabría dudar de que las condi-ciones en que se demostró la exactitud de algunos de ellos sean siempre constantes. La verdad des-nuda es que los factores se originan "en la cabeza" del experto; y no en su trabajo cotidiano, sino más bien sólo cuando algún ingeniero del conocimiento le solicita que aprecie numéricamente la proba-bilidad de alguna variable. Muchos expertos han manifestado que esta práctica no es del todo natural, y muchos también han rechazado la idea de que ellos desarrollen, consciente o inconscientemente, una estimación de esa naturaleza.

Por añadidura, la experiencia demuestra que los sistemas construidos en base a cálculos encade-nados de factores de confianza exigen ser ajustados y recorridos por procesos de debugging con mu-cha frecuencia, y que lo más común es que las estimaciones iniciales sufran numerosos cambios antes de que el sistema se comporte de una manera que los expertos humanos consideren adecuada. Esto

Page 248: Antropologia y Programacion Logica

248

implica que los sistemas basados en factores de confianza son difíciles de mantener y de expandir, dos prácticas que en la actividad computacional son inevitables. También es evidente que la interacción entre reglas en un sistema de gran magnitud es casi imposible de predecir. La dificultad de trabajar con factores de confianza es que estos casi siempre se refieren a sistemas de inferencia basados en re-glas, y por lo tanto sufren sus mismas limitaciones, agravadas por la naturaleza eventualmente contra-intuitiva del arrastre numérico. Si se agregan unas pocas reglas a un sistema cuyos factores acaban de afinarse, lo más probable es que la interacción de las nuevas reglas con las antiguas haga necesaria o-tra ronda de afinación. Si el sistema es muy grande, si los procesos de cálculo son extensos, si la re-presentación original es heterogénea, esta tarea puede llegar a ser muy ardua; en estos casos, lo más probable es que se proceda por muestreo y que se deje de lado una experimentación exhaustiva que podría poner al descubierto la existencia de resoluciones groseras. La respuesta pragmática a estas observaciones es la de utilizar factores de confianza allí donde su uso revele su aceptabilidad, o como complemento para afinar una inferencia desarrollada en función de alguna otra alternativa más eficaz y más realista.

De más está decir que no es obligatorio restringirse al Prolog para introducir formalismos de cálculo estadístico más poderosos, pues los sistemas computacionales declarativo y procedimental, aunque disímiles, no son de ningún modo excluyentes. Las soluciones más sagaces parecen ser bifron-tes y oportunistas: por un lado, interfaces entre programas lógicos y rutinas o productos convencio-nales (Mathcad, Statgraphics); por el otro, incorporación de recursos y heurísticas inteligentes en sis-temas estadísticos.

No ejemplificaremos aquí las diversas alternativas sistemas estadísticos y probabilistas en pro-gramación lógica, pues la bibliografía más convencional abunda en su tratamiento hasta el punto que insistir en ese aspecto sería impropio de un trabajo de tesis. De todas maneras, nuestro sistema exper-to AGENI3.PRO puede desplegar, de ser necesario, cálculos probabilistas y estimativos durante el proceso de diagnosis. Las posibilidades de implementar cálculos probabilistas e inductivos en Prolog son amplísimas, y constantemente se descubren y desarrollan nuevos formalismos que lo vinculan con otros territorios de la lógica, como ser los modelos presuposicionales, difusos, epistémicos e intuicio-nistas (cf. Rowe 1988:164-190; Gale 1986; Phelps y Musgrove 1986; Spillman 1990). Las conclusio-nes emergentes de estas heurísticas en plena ebullición se escribirán de aquí a unos años. g) Lógica Difusa y razonamiento inexacto

Fundamentos y características del modelo lógico

El razonamiento inexacto es común en todas las ciencias. Como Buchanan y Shortliffe han seña-

lado, se lo caracteriza por frases tales como "el arte de la buena adivinación", los "aspectos mas blandos de la física" (o de la ciencia que sea) y "el buen criterio científico" (1985:233). Por definición, ese razonamiento desafía el análisis en términos de reglas taxativas. Pero, como se sabe ahora, no de-safía todo análisis. Es más, después de Helmer y Rescher (1960) existe conciencia de que los concep-tos tradicionales alrededor de las ciencias "exactas" y las "inexactas", con las ciencias sociales masiva-mente apiñadas en la segunda clase, ha descansado en una falsa distinción que habitualmente refleja la presencia o ausencia de notación matemática. Sólo una fracción pequeñísima de las ciencias naturales puede reputarse exacta en sentido estricto: las matemáticas puras, por cierto, y tal vez algún sector de la física en el que la exactitud ha superado la ordalía de la axiomatización. En la mayor parte de las

Page 249: Antropologia y Programacion Logica

249

ciencias naturales aplicadas, las decisiones, las explicaciones y las predicciones suelen hacerse sólo después que los pocos procedimientos exactos se han entremezclado con una enorme masa de expe-riencia informal.

Más que la indeterminación o el desconocimiento, la incertidumbre, la inexactitud y la ignorancia parcial probablemente constituyan los aspectos más difícilmente modelizables del saber antropológico. La incertidumbre de la que aquí hablamos no es la misma cosa que aquella certeza fragmentaria estudiada por la teoría matemática de la probabilidad; en este ámbito el problema no es la falta de confianza en el cumplimiento de un diagnóstico o la cantidad de alternativas equiprobables que se presentan en un proceso, sino la vaguedad de los términos implicados, su dudosa contextura inten-sional.

En la lógica difusa (fuzzy logic), al igual que en la lógica probabilística, las variables pueden tomar cualquier valor entre 0 y 1 inclusive; pero en lugar de representar probabilidades respecto de que una sentencia sea verdadera, representan el grado en el cual una variable se encuentra en un con-junto difuminado (Zadeh 1965, 1975). Un gorrión o un jilguero, por ejemplo, son "más" pájaros que un avestruz, un pingüino o un emú. Los conjuntos tradicionales, aristotélicos, no difusos, se llaman "conjuntos nítidos" cuando se integran a este cálculo lógico como un caso especial en que la fuzzy-ness es igual a cero (o mejor dicho, la certidumbre es igual a uno). Un conjunto difuso no es más que un conjunto de fronteras imprecisas, una porción de un continuum a lo largo del cual las partes que componen el conjunto no tienen líneas divisorias nítidas.

Piénsese por ejemplo en los continuos que van de "alto" a "bajo", de "pequeño" a "grande", de "frío" a "caliente". Cualquier palabra denotativa de un color, por ejemplo, es necesariamente difu-minada, como lo han demostrado los antropólogos de Berkeley Brent Berlin y Paul Kay primero y la psicóloga Eleanor Rosch después (cf. Berlin y Kay 1969; Rosch y Mervis 1975). La idea de conjuntos difusos se relaciona directamente con lo que en la lingüística más reciente se conoce como semántica de prototipos, con lo que los filósofos de la línea del último Wittgenstein definen como "aire de familia" y con ciertos fundamentos matemáticos de la taxonomía numérica y las clasificaciones poli-téticas. Ya hemos hablado de las formas de representación concomitantes a estas cuestiones, y se trata ahora de asomarnos a la lógica que les corresponde.

En un sistema lógico convencional, el proceso deductivo determina el valor de verdad de una hipótesis en términos de una alternativa bivalente o polivalente que en cierta forma impide una evaluación más fina y matizada de la evidencia. En lógica difusa esta limitación se supera aumentando las reglas de producción por medio de un mecanismo de asignación, llamado así por cuanto combina los grados de evidencia de los antecedentes para obtener el grado de evidencia de un consecuente o hipótesis. En la mayor parte de las formulaciones, esta asignación es una heurística convencional y empírica, casi podríamos decir figurada, que conduce a esquemas de razonamiento plausible o po-sible. En los últimos años, sin embargo, se han encaminado esfuerzos para que los mecanismos de asignación estén matemáticamente mejor fundados.

Aunque a algunos lógicos académicos la idea misma de una lógica difusa les parezca todavía repulsiva, lo cierto es que el modelo de Zadeh no es irracionalista, ni tiende a ello, aunque su replan-teamiento es bastante radical. Este autor ha establecido que el "pensamiento difuso", después de todo, no puede ser deplorable si posibilita la solución de problemas que son excesivamente complejos para un análisis preciso. Ya antes hubo lógicos renuentes a la exactitud, y hasta Popper ha sugerido que la precisión bien pudiera ser un "falso "ideal" (1962). Cuando se asignan valores a los grados de una a-serción difusa, lo importante no es la adecuación cuantitativa de todos los grados con referencia a una

Page 250: Antropologia y Programacion Logica

250

escala absoluta, sino que, dentro de cada dimensión que se considera, el ordenamiento de los valores de las variables (su ranking) coincida con la apreciación intuitiva. Aunque, como en toda práctica novedosa, han ocurrido ciertos excesos, en la lógica difusa mejor concebida no hay, como algunos creen, un impulso para cuantificarlo todo, sino más bien un interés para tratar cualitativa y relacional-mente las entidades que participan en un razonamiento complejo, utilizando recursos aritmomorfos como símbolos de pasada en un cálculo de valor estrictamente local. La aparente arbitrariedad de la a-signación de valores y grados de pertenencia está en todo momento bajo el control de una axiomática continuamente perfeccionada en múltiples discusiones científicas, de modo que no sería sensato rechazar a priori las prestaciones del método, aduciendo el gastado expediente de su cientificismo.

Supongamos que se dispone de una evaluación del aprecio que determinadas personas sienten hacia cierta figura de la política o de la vida pública y deseamos indagar qué sucede cuando se con-sideran juntas dos evaluaciones semejantes; en otras palabras, se necesita investigar quiénes gustan de ambos políticos, y en qué medida. Tenemos aquí una operación conjuntiva de intersección. En la teo-ría de los conjuntos difusos, las intersecciones se ejecutan realizando una comparación miembro a miembro de cada componente y aplicando la función min a esa comparación, según surge de la tabla siguiente. Del mismo modo, la disyunción se obtiene aplicando la función max a la comparación miembro a miembro. No hay nada de esotérico en estas funciones matemáticas. Ambas consisten, simplemente, en obtener los valores mínimos y máximos de cada serie.

Informante 1 Informante 2 Informante 3 Le gusta A 0.0 0.8 0.6 Le gusta B 0.9 0.8 0.4 Gusta de ambos 0.0 0.8 0.4 Gusta de uno 0.9 0.8 0.6 Implica aB 1.0 0.8 0.4

La tercera operación básica sobre conjuntos difusos es la implicación: dado A, ¿es verdad B?; en lógica binaria esto se expresa de la siguiente forma:

1 0 = 0 1 1 = 1 0 0 = 1 0 1 = 1

La razón de que 0 1 sea verdad es que si A no es verdad, no se implica nada a propósito de B,

y cualquier valor de esta variable puede aceptarse. La implicación se puede computar de varias mane-ras. La forma más simple es calculando la intersección de no-A con B. No-A se calcula restando A del máximo valor posible, en este caso 1. Una vez que esto se ha hecho, computar la intersección es tan simple como en el ejemplo anterior.

Los conjuntos difusos admiten ser atravesados por muchísimas operaciones, y todos los años aparecen más en los agitados congresos de la especialidad y en las revistas dedicadas al tema (cf. Cau-dill 1990; Negoita 1985). La bibliografía sobre lógica difusa ya es inconmensurable; el texto de Kan-del (1982) incluye tres mil entradas, entre libros y artículos, sin pretender un inventario completo. Eu-ropeos y asiáticos figuran entre los practicantes más entusiastas de esta modalidad de lógica, de la que

Page 251: Antropologia y Programacion Logica

251

se derivan una matemática difusa y una tecnología de Sistemas Expertos regidos por técnicas de razo-namiento aproximado. Algunas propuestas difusas rozan la problemática de la creencia, como el mé-todo de Demspter y Shafer, de modo que han sido analizadas en otra parte. El Método de Yager

En 1981 Ronald Yager publicó un procedimiento de decisión que utiliza conjuntos difusos para

decidir entre diversas posibilidades en las que se deben satisfacer varios criterios. Este procedimiento, conocido entre los especialistas como el método de Yagger, ha demostrado ser simple, elegante y e-fectivo. La mejor forma de explicarlo es a través de un ejemplo.

Supongamos que se está tratando de decidir qué ciudad de un país determinado es el mejor lugar para vivir. Esta decisión no es de ningún modo sencilla, ya que hay en juego muchos criterios. En aras de la simplicidad escojamos siete aspectos a tener en cuenta en la elección entre cinco ciudades candi-datas. Para cada criterio se ha definido un valor arbitrario que lo sitúa en una escala que también po-dría estipularse cualitativamente: terrible (0), malo (1), regular (2), mediano (3), bueno (4), muy bue-no (5), óptimo(6).

Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 Ciudad 5 C1: Clima 3 2 5 1 6 C2: Vivienda 1 5 4 0 1 C3: Alimentación 3 4 3 1 5 C4: Actividad 5 3 6 2 6 C5: Empleo 4 3 3 4 3 C6: Criminalidad 2 4 0 1 3 C7: Cultura 6 3 3 6 5

El paso siguiente consiste en ordenar la importancia relativa de cada criterio, C1 a C7, utilizando la misma escala numérica que su usó en la ponderación de las cualidades y calculando lo que se podría llamar "complemento de importancia", resultante de restar cada guarismo del valor más alto posible, en este caso 6. Convencionalmente, en el modelo bayesiano, para determinar cuál de los candidatos es el ideal habría que evaluar cada ciudad sobre cada criterio, pesando esta cifra contra la importancia relativa de éstos. Utilizando los principios de la teoría de conjuntos difusos y la operación de implicación que ya hemos visto, el procedimiento matemático se simplifica y se acomoda a la percep-ción intuitiva del asunto.

Importancia en Escala 0-6

Complemento de Importancia 6-1

C1: Clima 6 0 C2: Vivienda 3 3 C3: Alimentación 2 4 C4: Actividad 4 2 C5: Empleo 4 2 C6: Criminalidad 5 1

Page 252: Antropologia y Programacion Logica

252

C7: Cultura 4 2

Si hacemos de cuenta que el rango de importancia para determinado criterio es A y que el punta-je de cada ciudad para ese criterio es B, necesitamos computar A B, o en Prolog B :- A. Esto e-quivale a determinar si, dada la importancia de una categoría en particular, la ciudad en cuestión cali-fica aceptablemente para ella. Este procedimiento parece transparente: la mejor ciudad será la que ca-lifique más alto en los criterios más importantes. Si se parte de la base de que el clima es más im-portante, se deberá buscar un procedimiento que privilegie a las ciudades que mejor califiquen en ese aspecto. Computaremos así la unión del puntaje de cada ciudad en una categoría con el complemento de la importancia de esa categoría.

El paso final es igualmente simple y consiste en tomar la intersección de todos los puntajes de una ciudad en particular. Recuérdese que una intersección difusa se realiza aplicando la función min a todos los miembros relevantes; el cómputo combinado más bajo del paso anterior determina el ran-king general de cada ciudad. Las matemáticas desplegadas en estos cálculos son, por lo visto, bastan-te sencillas, los resultados en general coinciden con la apreciación cualitativa global y el procedi-miento sigue siendo útil allí donde la información está sesgada por opiniones subjetivas, vaguedades e imprecisiones.

No-I Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 Ciudad 5 Tab X Ptos Unión

Ptos Unión

Ptos Unión

Ptos Unión

Ptos Unión

C1 0 3 3 2 2 5 5 1 1 6 6 C2 3 1 3 5 5 4 4 0 3 1 3 C3 4 3 4 4 4 3 4 1 4 5 5 C4 2 5 5 3 3 6 6 2 2 6 6 C5 2 4 4 3 3 3 3 4 4 3 3 C6 1 2 2 3 3 0 1 1 1 3 3 C7 2 6 6 3 3 3 3 6 6 5 5

Intersección 2 2 1 1 3

Nótese que al tomar el complemento de las evaluaciones por categoría resulta en un valor mínimo, o "piso", que se asigna a cada entidad para la categoría que se evalúa. Si la cifra para esa ca-tegoría es baja (por ejemplo, 2), el complemento es 6-2=4; de este modo, todas las ciudades reciben al menos un 4 para cada categoría. Recuérdese que la segunda mitad del cómputo de la implicación toma el máximo del complemento para el ranking de la categoría y el valor real de cada entidad para la misma.

Si el valor para una categoría es alto (digamos, 5), el complemento 6-5=1 hace que todas las ciudades reciban por lo menos 1 para esa categoría. Una categoría de rango bajo no distingue dema-siado entre las ciudades; sólo aquéllas cuya puntaje sea muy alto obtendrán un puntaje mayor que la barrera y variarán muy poco a partir de ese piso. Una categoría de rango alto, por otra parte, sitúa un piso muy bajo, haciendo posible un amplio rango de valores que permite apreciaciones muy finas. Cuanto más importante es una categoría, más efecto tendrá el puntaje de una ciudad sobre el cómputo final (cf. Yager 1981).

Page 253: Antropologia y Programacion Logica

253

Aunque la lógica difusa sin duda merece investigarse a fondo, y aunque el Prolog podría aportar una inestimable instancia de cálculo para hacerlo con ciertas garantías, lo concreto es que hasta el pre-sente ni siquiera se ha podido convencer a los profesionales que esta lógica es algo más que una imposición artificial de precisiones espurias. Ni aún la eficacia de los sistemas construidos parecería ser en este terreno un argumento persuasivo. Lógica difusa y Antropología

Algunos antropólogos argumentan, de tarde en tarde, respecto de los beneficios que aportaría a

la disciplina la adopción de la lógica difusa de Lofti Zadeh en reemplazo de la lógica de clases aristo-télica; en general, han sido los lingüistas o los psicólogos cognitivos quienes han instilado esta idea en nuestro repertorio, como si los antropólogos no hubiéramos podido llegar independientemente a ella (cf. Coleman y Kay 1981; Murray 1983; Kay y McDaniel 1978). La más temprana mención a la lógica difusa por parte de un antropólogo que conozcamos pertenece a Paul Kay, de Berkeley (1975).

Tenemos algunas referencias a la aplicación de la teoría de conjuntos difusos por parte de Vladimir Dimitrov (1976), de la Academia Búlgara de Ciencias, quien ha aplicado recursos de la lógica simbólica para demostrar que el gobierno óptimo de los sistemas sociales debe basarse en nor-mas difusas. Según esta idea, es la imprecisión misma de las instrucciones estipuladas en lenguaje na-tural y en otras reglas culturales lo que permite el control efectivo de los sistemas sociales. La virtud de las reglas difusas es que cada una está sujeta a múltiples interpretaciones, admitiendo en conse-cuencia una libertad suficiente como para que el control se adapte a las cambiantes coacciones de las condiciones empíricas. Sería deseable que la antropología -expresa Stanley West comentando a Dimitrov- sea igualmente difusa para reflejar con mayor adecuación su objeto de estudio (1978: 759).

Un segundo grupo de antropólogos hubiera debido utilizar teorías difusas en lugar de esquemas prototípicos todavía basados en lo que Fillmore llamaba catálogo de rasgos [checklist]; nos referimos en concreto a Rodney Needham (1975) y a Peter Paul Chaney (1978), adheridos a una concepción conjuntista estrechamente aristotélica aunque sospechen participar de la idea contraria (cf. Fillmore 1975). Los sistemas politéticos de Needham y las expansiones politemáticas de Chaney (siguiendo a Wittgenstein) carecen de atributos que recorran la totalidad de los conjuntos; pero (al igual que en el análisis componencial) la articulación interna de los elementos que los conforman sigue concibiéndose como un apilamiento de atributos, cada cual con su respectivo valor taxativamente asignado. Una antigualla.

Un tercer grupo de antropólogos ha cuestionado a la lógica difusa sin especificar muy bien por qué (Sahlins 1976), aunque se percibe que lo que se impugna de ella es antes que nada su posible capacidad de esclarecimiento. Los impugnadores compulsivos difícilmente hayan profundizado lo suficiente en la reflexión matemática como para tener clara conciencia de lo que están diciendo. Como sea, no es necesario demostrar que ningún antropólogo, hasta la fecha, la ha utilizado de una manera formalmente aceptable; el uso de esta lógica se limita a un par de justificaciones en notas a pie de pá-gina y en estimaciones de vaguedad realizadas a ojo de buen cubero, con fines casi siempre di-dácticos. Aunque no estamos pretendiendo implementarla aquí y ahora, la presente descripción no es-capa a esas ambigüedades, que podríamos juzgar metadifusas.

La conveniencia de la lógica difusa para la representación del conocimiento antropológico aún espera estudiarse como corresponde, antes que sea justo expedirse sobre aplicaciones sustantivas que

Page 254: Antropologia y Programacion Logica

254

no consiguen salir del círculo de hierro de las tentativas experimentales condenadas a no fructificar. Pese a que los antropólogos prefieren leerla de otra manera (p.ej. Dimitrov 1976; West 1978), la teo-ría de los conjuntos difusos que subyace a la lógica del mismo nombre es una construcción matemá-tica, muchas veces cuantificada. El problema más delicado que debe enfrentarse es de carácter opera-cional: cómo definir (mediante qué procedimientos metodológicos) el valor o el rango de valores de una (in)certidumbre determinada. Los formalismos descriptos son algunas de las opciones de las que se dispone en este terreno. h) Lógicas Modales y Mundos Posibles

Esta variante de la lógica presenta un extraordinario interés para la antropología, por cuanto su

mera existencia neutraliza los rumores acerca de la estrechez de aquélla para todo cuanto no sea ex-presión de operaciones primarias. Aunque la idea de la lógica modal se remonta a Aristóteles, el codi-ficador de la concepción moderna de las lógicas modales (pues en realidad se trata de un conjunto de varias alternativas diferentes) ha sido Georg Henrik Von Wright (1951). En los últimos diez años ha habido un estallido sin precedentes de nuevas propuestas modales, originadas en las experiencias de programación lógica. Mientras antropólogos e intelectuales humanistas repiten sus ensalmos sobre la crisis de la racionalidad, simposios y congresos de especialistas en lógica computacional se dedican a discutir fragmentos de problematicidad hasta hace poco inexistentes, como la construcción de un marco adecuado para clasificar la creciente variedad de las lógicas no-monótonas o la modelización autoepistémica.

El nuevo mundo conceptual que las lógicas modales nos presentan afecta en especial a la noción de "operador lógico", y a la posibilidad de incorporar nuevos operadores para denotar diferentes ma-tices de valor veritativo. Insistimos en subrayar la flexibilidad que esa idea nos aporta y dedicamos el capítulo siguiente a una caracterización lo suficientemente explícita como para poder instrumentarse. La justificación de este nivel de detalle quedará a la vista. Aunque la asimilación de las lógicas moda-les sea más dificultosa que urdir un nuevo aporte a la mitología del irracionalismo antropológico, creemos que lo primero vale más la pena. Conjeturamos que, de haberse conocido oportunamente la potencialidad de las lógicas modales, la robustez de sus fundamentaciones y la amplitud de horizontes que la modalidad imprime a la tan vapuleada "representación", muchos de los manifiestos irracio-nalistas de la antropología no habrían tenido motivos para llegar a la imprenta.

La lógica modal tiene que ver con argumentos que involucran los conceptos de "necesidad" y "posibilidad". Una verdad necesaria es una que no podría ser de otra manera; una verdad contingente podría eventualmente no haber llegado a constituirse en verdad. A diferencia de su contrapartida clá-sica, la lógica modal es capaz de dar cuenta del carácter necesario, contingente o posible de sus enun-ciados, y es por ello naturalmente aplicable a la formalización del razonamiento en función de "creen-cias" por un lado y de "conocimientos" por el otro, términos que adoptarán aquí, a su debido momento, un contenido técnico.

Los sistemas modales combinan esquemas axiomáticos y reglas de inferencia para formalizar las propiedades de los operadores modales en cuestión, acompañándolos de una semántica bien definida. Gracias a un curioso efecto veritativo, la lógica modal no se opone a la lógica convencional del pri-mer orden sino que la complementa, la extiende, incluso cuando se incrementa la valencia veritativa: todos los axiomas, reglas de inferencia y teoremas de ésta siguen siendo de aplicación.

Page 255: Antropologia y Programacion Logica

255

El problema principal en la representación modal del conocimiento yace en la traducción de afirmaciones o descripciones informales sobre un dominio del discurso a su versión del cálculo modal de predicados. Incidentalmente, digamos que la transcripción de aserciones sobre posibilidad y creen-cia en cláusulas de Prolog no ofrece mayores dificultades, y se restringe a la introducción de predi-cados de este tipo: es_posible(predicado(termino_1, ..., termino_n)). 4.15

se_cree_que(predicado(termino_x, ..., termino_z)).

Nótese que simplemente contando el número de los paréntesis conclusivos podemos obtener

indicios bien fundados sobre el nivel de tipificación metalinguística del functor principal de la expre-sión. Pero estas prestaciones sólo anuncian la punta del ovillo en la capacidad simulativa del lenguaje. Como luego veremos, lo esencial no pasa por la expresividad semántica de los predicados para de-notar diversas modalidades de la verdad, sino por la posibilidad sintáctica de introducir cálculos modales genuinos mediante operadores.

La lógica modal extiende al cálculo clásico incorporando un operador que denota "necesidad" (habitualmente un cuadrado) y un dual suyo que denota "posibilidad" (por lo común un rombo). Existe un amplísimo repertorio de lógicas modales; las más circunscriptas han definido operadores como "se sabe" o "se cree" (lógica epistémica), "a veces" y "siempre" y sus opuestos "nunca" y "no siempre" (lógica temporal), "obligatorio", "permitido" y "prohibido" (lógica deóntica), "verificado", "no decidido" y "falsado" (lógicas epistémicas falsacionistas), "universal", existente" y "vacío" (lógica existencial), etcétera. No existe ningún límite para la incorporación de operadores, fuera de los que fija la imaginación. Por cierto, no basta definir operadores contrapuestos para fundar una lógica; ade-más de ello hay que estipular (si cabe) su naturaleza veritativo-funcional y las reglas de formación de sus fórmulas bien formadas, establecer una semántica y un dominio de aplicación, estipular métodos de prueba y verificar su coherencia.

Correlativamente, las versiones del lenguaje Prolog más cercanas al estándar de Edinburgo disponen, por añadidura, de la posibilidad de definir operadores arbitrarios aparte de los predicados que expresen literalmente esa operación. Es preciso detallar aquí esta poderosa capacidad expresiva que habíamos postergado en espera del contexto oportuno.

Ante todo, hay que decir que la generación de operadores nuevos es un artificio ya existente en la lógica cerebral común, que posee de suyo garantías axiomáticas, aunque en general es más frecuente que los operadores y conectores se reduzcan, y no que se multipliquen (cf. Deaño 1981:93-100). Los operadores definidos en Prolog se obtienen a partir de functores; como ya se ha visto, la mayoría de los functores del lenguaje se escriben en posición prefijada: functor(arg1,arg2). Estos functores se transforman en operadores cuando es posible escribirlos en otra posición. Por ejemplo, la estructura +(2,3) se puede escribir 2+3 porque el operador de suma es infijo. El intérprete del lenguaje exige que para especificar un nuevo operador haya que definir su posición, su precedencia y su asociatividad.

Según su posición, un operador puede ser infijo, prefijo y posfijo (o sufijo). Los operadores infijos son desde ya binarios, los otros sólo pueden ser unarios. La precedencia, que determina el orden de interpretación de una expresión cuando no hay un juego de paréntesis que la agrupe, se de-nota mediante una escala de números permisibles que dependen de la implementación: entre 1 y 255 en el Prolog de Edinburgo, y entre 1 y 1200 en Arity Prolog. La documentación técnica que se inclu-ye con cada lenguaje comercialmente asequible, en general, consigna las tablas de precedencia.

Page 256: Antropologia y Programacion Logica

256

En Prolog se ha convenido que la posición relativa y la asociatividad se especifiquen por medio de los símbolos fx, fy, xf, yf, xfx, xfy y yfx. El componente f simboliza la posición del operador; x ocupa el lugar de un argumento que no admite asociatividad, e y representa por último un argumento asociativo. yfx, por ejemplo, designa un operador infijo que es asociativo a la izquierda, pero no a la derecha. La elección de esas letras es intencional, y pretende insinuar las características asociativas pertinentes: una y denota que el argumento puede contener operadores de clase cuya precedencia sea igual o menor a la del operador; por el otro lado, una x significa que cualquier operador del argumento debe tener una clase de precedencia estrictamente menor que la del operador.

Los medios para definir un operador lógico son metalingüísticos (o extralógicos). En Prolog estándar el predicado built-in que define un operador se escribe según esta norma:

op(Precedencia, Posicion, Operador)

Debe señalarse que este predicado estipula nada más que la sintaxis del operador; las operaciones

procedimentales que le corresponden y la forma en que éste se interpreta dependen del programador (Clocksin y Mellish 1987:106-108; Malpas 1987:164-168; Covington et al 1988: 169-174).

Retornando a la lógica modal, digamos que el lenguaje ordinario abunda en afirmaciones sobre posibilidades, sucesos hipotéticos, objetivos esperados, expresiones de deseos y planes para el futuro. La mayor parte de las frases de las lenguas naturales pueden ser verdaderas en un momento dado y falsas a medida que se modifican las circunstancias. En estas lenguas, los "modos" de "posibilidad", "necesidad" y "permisión" se expresan con verbos auxiliares como "deber", "poder" o con las formas futuras o los modos subjuntivos o potenciales de la conjugación.

La posibilidad y la necesidad se denominan modalidades aléticas o modos de verdad. Se ha demostrado que es posible construir un lenguaje formal con el par "posible/necesario" tratado como si fuera un operador de frase, comparable a los cuantificadores de la lógica ordinaria de predicados. A un sistema que posea operadores para "es posible que" (en el sentido de posibilidad lógica) o "es necesario que", se ha convenido en llamarlo una lógica alética.

En lo que concierne a la sintaxis de la lógica modal de predicados, si M1, M2, ..., Mm son operadores modales, las reglas de formación de las fórmulas modales puede describirse como sigue:

1) Todas las reglas de formación de la lógica ordinaria de predicados son también reglas de formación de la lógica modal de predicados.

2) Si F es una fórmula y Mj un operador modal, entonces MjF es una fórmula. Del mismo modo, la semántica del cálculo modal de predicados se puede definir en la misma

forma que la semántica del cálculo ordinario. Desde el punto de vista semántico, el antecedente de las lógicas modales que se han desarrollado recientemente se encuentra en las tablas veritativas de las ló-gicas modales multivaluadas de Lukasiewicz, que tienen una inspiración a veces explícitamente mo-dal. Decía Lukasiewicz:

Puedo presuponer sin contradicción que mi presencia en Varsovia en un cierto momento del próximo año, por ejemplo, al mediodía del 21 de diciembre, no está determinada en el momento actual ni positiva, ni negativamente. De aquí que es posible, pero no necesario, que yo esté en Varsovia al mediodía del 21 de di-ciembre del próximo año (Lukasiewicz 1967).

Page 257: Antropologia y Programacion Logica

257

En la tabla siguiente, que se incluye sólo a los fines ilustrativos (pues con la máquina de infe-rencia de un lenguaje lógico de computación las tabulaciones veritativas no hacen ninguna falta), el valor 0 corresponde a falso, 1 a indeterminado, 2 a verdadero:

F&G FoG FG FG F F F\G 0 1 2 0 1 2 0 1 2 0 1 2 0 2 0 0 0 0 0 1 2 2 2 2 2 1 0 1 1 1 0 1 1 1 1 2 1 2 2 1 2 1 2 0 2 0 1 2 2 2 2 0 1 2 0 1 2

Diagrama 4.6 - Tablas veritativas ternarias

(Conectivas de Lukasiewicz)

A partir de este esquema, e interpretando el valor "indeterminado" en el sentido de "futuro con-tingente", Lukasiewicz introdujo los conocidos operadores modales de posibilidad y necesidad en su lógica trivaluada. En el cuadro siguiente, pos F es verdad si F es ya sea verdadero o indeterminado y es falso de otro modo, mientras que nec F es verdadero si F lo es, y es falso de otro modo. Entién-dase que en el caso de la indeterminación por contingencia, no se trata formalmente de que carezca-mos de datos para decidir el valor de verdad de una aserción; el hecho es más bien que dicha aserción no posee valor de verdad.

F pos F Nec F 0 0 0 1 2 0 2 2 2

Diagrama 4.7 - Tabla de verdad para operadores modales

Convengamos en definir un lenguaje de lógica modal agregando dos operadores, denotados por

L y M, a los operadores básicos del cálculo de proposiciones. En el contexto de las lógicas de la creencia y el conocimiento, esos operadores se leen como "se cree" y "se sabe", respectivamente. Un sistema axiomático de cálculo modal que utilice una regla de inferencia tal como el Modus Ponens, reglas de necesidad del tipo "si P, entonces se sabe que P", el esquema axiomático de distribución5 y los llamados esquemas axiomáticos de la lógica proposicional se llama sistema modal normal y se denota mediante la letra K.

Un sistema modal normal posee una serie de interesantes propiedades: si p q es un teorema, también lo es Lp Lq. Si se interpreta el operador modal L como "creencia", la fórmula anterior asevera que toda vez que q se halla implicada por p, un agente que crea p también creerá q. De este modo, y según se esperaba, un sistema modal normal afirma clausura de consecuencias cuando el operador modal se interpreta como creencia. Del mismo modo, el esquema axiomático de distribución se puede interpretar de esta forma: si un agente cree que q está implicado por p, entonces si cree en p también creerá en q.

5 También llamado esquema de axioma K y que establece: L(p -> q) -> (Lp -> Lq).

Page 258: Antropologia y Programacion Logica

258

Hay que adimitir que, a despecho del aparato formal, todo este desarrollo es hasta aquí un tanto burdo y muy poco expresivo. Con el fin de obtener sistemas modales más elaborados y de caracterizar con más elegancia a los operadores epistémicos, se ha propuesto agregar al sistema modal normal K una serie de esquemas axiomáticos adicionales. De este agregado resulta un conjunto sistemático de esquemas alternativos. Los más conocidos de ellos son los siguientes:

Esquema axiomático de conocimiento (también llamado esquema axiomático T o KT). Este esquema se agrega cuando lo que se encuentra bajo consideración es conocimiento, y ya no mera creencia. Por definición, en este contexto controladamente idealizado el "conocimien-to" es siempre información verdadera. El esquema axiomático T asegura que "lo que se sa-be debe ser verdad". Este esquema se añade al sistema modal normal K si se pretende que el operador L signifique "es sabido". El esquema axiomático KT, correlativamente, no apa-rece en un sistema de axiomas que pretenda formalizar creencias, pues éstas bien pueden ser falsas. La fórmula sintética del esquema es: Lp p.

Esquema axiomático de introspección positiva (también llamado esquema axiomático 4, S4, S4 débil o KT4). En términos de creencias, la introspección positiva establece que si un agente cree una proposición, entonces él cree que la cree. En términos de conocimiento, en cambio, la introspección positiva estipula que si un agente sabe p, entonces sabe que sabe p. Los sistemas que incluyen este esquema se denominan según la nomenclatura que sigue: el sistema K con esquema axiomático 4 se llama S4 débil; el sistema S4 débil aumentado con el esquema axiomático T se llama S4. La fórmula sintética es: Lp LLp.

Esquema axiomático de introspección negativa (también llamado esquema axiomático 5, S5, S5 débil, KT45 y K45). Para este esquema axiomático, es indiscutible que el esquema Mp LMp es equivalente a la expresión Lp L Lp. Mejor traduzcamos esta crip-tografía a categorías intuitivas: En términos de creencia, el principio de la introspección negativa asegura que si un agente no cree una proposición, él cree que no la cree. El S4 débil y el S4 aumentado con este esquema se llaman S5 débil y S5, respectivamente. Si deseamos modelar las creencias de una persona racional que posee una perfecta capacidad de introspección lógica sobre lo que él mismo sabe o ignora, corresponde utilizar el esquema S5. Si se pretende modelar en cambio las creencias de un agente que posiblemen-te posea falsas creencias, pero que al mismo tiempo disfrute de una perfecta capacidad ló-gica de introspección, se escogerá el esquema S5 débil (Chellas 1980). La fórmula sintética de un esquema 5 es: Mp LMp.

Es esencial que se comprenda que los esquemas que acabamos de referir constituyen formas lógicas mínimas para posibilitar el cálculo, y no descripciones matizadas de la estructura real de las creencias o conocimientos. Lo que se ha querido hacer con ellas es brindar la arquitectura semántica necesaria como para que juicios concernientes a conocimientos o creencias se puedan someter a un cálculo lógico equiparable al de la lógica abstracta o, lo que para algunos es lo mismo, al cálculo propio de la "lógica de lo real". La misma realidad podría observarse desde el ángulo opuesto, afir-mándose que esta formalización tiene por objeto que los juicios convencionales de la lógica se expon-gan como las creencias o conocimientos que en realidad son.

A fin de no ramificar en demasía la presentación de los esquemas axiomáticos modales hemos presentado solamente su núcleo. Alrededor de estas lógicas se han suscitado diversas polémicas que en general no afectan a lo que llevamos dicho: Jaakko Hintikka, por ejemplo, afirma que el conoci-

Page 259: Antropologia y Programacion Logica

259

miento y las creencias de agentes inteligentes satisfacen el esquema de introspección positiva, pero no el negativo, y algunos lógicos han introducido modificaciones en las estructuras modales para dar cuenta de análogas convicciones (Hintikka 1962; Moore 1980; Levesque 1981).

En lógica se acostumbra dividir el conjunto de las aserciones verdaderas en las que son contin-gentemente verdaderas (como los hechos históricos) y necesariamente verdaderas (como idealmente lo son las verdades lógicas y matemáticas). Lo mismo vale para las aserciones falsas. Una verdad necesaria (en el mundo actual o concreto) se puede interpretar como una afirmación que es verdadera en todos los mundos posibles; por el principio de dualidad, una verdad posible o contingente (en el mundo actual) se interpreta como una afirmación que es verdadera en al menos uno de los mundos posibles. Esta situación podría esquematizarse como sigue.

A las interpretaciones "necesariamente verdad", "contingentemente verdad", "contingentemente falso" y "necesariamente falso" se les ha asignado, arbitrariamente, los valores de verdad 3, 2, 1 y 0; de esta forma se incorpora una lógica modal particular bajo la forma de una lógica tetravaluada (cf. Rescher 1969; Davio et al 1978). Suponiendo que existan dos alternativas posibles (el mundo actual y concreto X y el mundo posible Y) la asignación de los valores veritativos sería la siguiente:

Falso en X y en Y (es decir, necesariamente falso). Falso en X pero no en Y (concretamente falso, pero no falso necesariamente). Verdadero en X pero no en Y (actualmente verdad, pero no verdad necesariamente). Verdadero en X y en Y (necesariamente verdad).

Esta interpretación de los valores de verdad origina las tablas para la negación, la conjunción y los operadores modales que a continuación se detallan, y que constituyen una semántica significativa típica de una lógica tetravaluada.

F & G F F F\G 0 1 2 3 nec F pos F 0 3 0 0 0 0 0 0 0 1 2 1 0 1 0 1 0 3 2 1 2 0 0 2 2 0 3 3 0 3 0 1 2 3 3 3

Diagrama 4.8 - Tablas de verdad de operadores modales

En oposición a esta semántica veritativo-funcional, Kripke (1971) introdujo la técnica de los mundos posibles; esta formulación constituye una semántica uniforme para los diversos sistemas mo-dales, desde las lógicas temporales a las epistémicas. La idea básica establece que una fórmula modal (proposicional) ha de ser evaluada dentro de un conjunto de mundos posibles, que poseen entre sí una cierta relación de accesibilidad. Para dar un ejemplo, Mp será verdad en un mundo determinado, si y sólo si p es verdad en todos los mundos accesibles posibles. En términos formales, los mundos posi-bles son una colección de objetos con referencia a los cuales las proposiciones pueden ser verdaderas o falsas. En la lógica temporal, verbigracia, los diversos mundos posibles representarán el estado del mundo en diversos instantes; en el modelo de los mundos posibles de las creencias, las creencias sustentadas por un agente se modelan como un conjunto de mundos posibles, aquellos mundos que resultan compatibles con sus creencias.

Page 260: Antropologia y Programacion Logica

260

Aunque Kripke se refería con toda probabilidad más a ámbitos específicos de predicación que a coloridos microcosmos, es fácil pensar en correlatos antropológicos del concepto lógico de mundos posibles y de la noción de accesibilidad. Piénsese tan sólo en aquellos mundos que poseen caracterís-ticas en común que los diferencian de otros, y de los cuales se dice sin mayor pretensión formal que se rigen por una lógica que les es propia: lo que Bastide llamaba los mundos semejantes de "el sueño, el trance, la locura", las diversas "provincias de significado" de los schutzianos, los mundos conexos y graduales por los que se transita en estados alterados de conciencia, los correlatos estrictos que noso-tros mismos hemos identificado entre -por ejemplo- la religión tántrica, la doctrina de Wilhelm Reich y la antropología psicodélica del finado Alan Coult (Reynoso 1977). Mundos, a fin de cuentas, que se rigen por una estructura veritativa peculiar, pero descriptible y comparable.

Quizá sea un bello proyecto atravesar culturas que difieren en otros aspectos por los caminos accesibles abiertos por esos mundos análogos, perfeccionando nuestras concepciones de la compa-rabilidad transcultural, de la hermenéutica y de la equivalencia funcional en ese trayecto. Escribía Alfred Schutz:

Todos estos mundos -el mundo de los sueños, de las imágenes y la fantasía (sobre todo el mundo del arte), el mundo de la experiencia religiosa, el mundo de la contemplación científica, el mundo del juego del niño y el mundo de la locura- son ámbitos de significado. Esto quiere decir que: a) todos ellos tienen un estilo cognoscitivo peculiar (aunque no sea el del mundo del ejecutar dentro de la actitud natural); b) todas las experiencias, dentro de cada uno de esos mundos, son, en lo que respecta a este estilo cognoscitivo, coherentes en sí mismas y compatibles unas con otras (aunque no compatibles con el significado de la vida cotidiana); c) cada uno de esos ámbitos finitos de sentido puede recibir un acento de realidad específico (aunque no el acento de realidad del mundo del ejecutar). La coherencia y la compatibilidad de experiencias con respecto a su estilo cognoscitivo peculiar subsiste solamente dentro de los límites del ámbito peculiar de sentido al cual pertenecen esas experiencias (1974:217).

Es fácil captar el paralelismo entre el mundo de la actitud natural y del ejecutar cotidiano por un lado y el mundo de la lógica asertórica bivalente académica por el otro como los implicados paradig-máticos, los mundos de referencia, con respecto a los cuales los diversos "otros mundos" de la fenomenología y de la lógica modal, aunque en principio cerrados y autoconsistentes, definen su es-pecificidad.

La relación de accesibilidad intenta capturar el sentido de lo que intuitivamente entendemos cuando pensamos que, desde la mira subjetiva de un mundo dado, ciertos mundos son accesibles mientras que otros no lo son. En lógica temporal, por ejemplo, esta accesibilidad tendrá que ver con el orden de secuencia. Llamemos universo W a un conjunto no vacío de mundos posibles conectados por una relación R de accesibilidad. Si a y b son dos mundos pertenecientes a W, si el mundo b es accesible desde el mundo a, escribiremos aRb. Llamemos ahora estructura al par (W,R); las pro-piedades formales de R determinan cuáles fórmulas habrán de ser válidas. Un modelo es una tupla ter-naria (W,R,V) que indica para cada mundo de W el conjunto de constantes proposicionales de un lenguaje L a las cuales la evaluación V le asigna valor de verdad positivo.

De los desarrollos de Kripke (que no vamos a reproducir aquí en detalle) se concluyen diversas características de la semántica de los mundos posibles:

En ella son válidas, en primer lugar, las instancias de lo que se denomina convencionalmente un esquema de distribución K. Este esquema axiomático de distribución es semejante al que se utiliza en matemáticas elementales. Dado el operador modal L ("se cree que"), di-cho esquema operaría de la siguiente forma: L(p q) (Lp Lq).

Page 261: Antropologia y Programacion Logica

261

Las instancias de un esquema axiomático de conocimiento de tipo T son válidas para todas las estructuras para las cuales la relación de accesibilidad sea reflexiva. Recordemos que un esquema de este tipo se refiere a conocimiento tenido por verdadero, a información fide-digna.

Las instancias del axioma positivo de introspección 4, en cambio, son válidas en todas las estructuras para las cuales la relación de accesibilidad R sea transitiva. Este esquema in-trospectivo, como hemos visto, se refiere a la creencia de un agente en las creencias que tiene.

Y, por último, las instancias del esquema axiomáticos de introspección 5 son válidas en todas las estructuras para las cuales la relación R de accesibilidad sea reflexiva y euclidea-na6. Este esquema constituye la versión negada del esquema anterior.

Sin duda hay una línea fantasma, una correspondencia intuitivamente perceptible, que comunica estas caracterizaciones rígidas con una de las empresas obligadas de toda la antropología: poner al descubierto las premisas y las reglas del juego lógico que nos hacen ver como "razonables" (en princi-pio "descriptibles" y de ser posible "explicables") conductas que difieren de las nuestras. Se podrá de-cir mucho en desmedro de esta definición restringida, reminiscente de las etapas más mecánicas y po-sitivistas de la antropología social inglesa; pero lo cierto es que ningún "desciframiento simbólico de textos culturales", ningún énfasis literario en los significados, ninguna "comunión" hermenéutica (o sentimental) con "el punto de vista nativo", ninguna "evocación" posmoderna, en suma, ninguna ten-dencia de la antropología contemporánea ha sido capaz de formular estrategias que verdaderamente se diferencien en los objetivos básicos.

Por desdicha, la sapiencia de los lógicos al respecto no puede exportarse a nuestra disciplina así como así. Hemos visto que Kripke desarrolló su teoría semántica de los mundos posibles pensando en la lógica de proposiciones, y no en el cálculo de predicados. Esta peculiaridad no puede ser sino un indicio del acendrado conservadurismo de los lógicos, que siguen aferrados a un cálculo incompleto e imposible de formalizar cabalmente. Para adaptar la maquinaria del Prolog a la semántica modal de los mundos posibles se pueden hacer dos cosas: la primera, conservar el modelo de Kripke en su formulación original y modificar el tratamiento de variables en Prolog para emular (como se ha visto que puede hacerse) el cálculo de proposiciones; la segunda, modificar el esquema de los mundos posibles para adaptarlo al cálculo de predicados del primer orden. Esta alternativa es delicada y con-cierne a los lógicos llevarla a cabo; la opción anterior es viable, y como ya la hemos ejemplificado la damos por demostrada.

Cerremos este apartado retornando a lo que, tomando distancia, puede llegar a constituir su argumentación central. Una vez más la lógica y las ciencias humanas han discurrido por vías paralelas. No sólo en ambas prácticas se habla de estructuras que son como mundos separados, sino que hay también concomitancias en las formas y procesos que se proponen para andar entre ellos o para tornarlos propios. Hay una fuerte analogía entre la "incorporación a nuestros horizontes" que descri-bía Gadamer (1977) -y que constituiría la piedra basal del método hermenéutico- y las operaciones involucradas en la accesibilidad entre mundos mutuamente extraños antes de su esclarecimiento inter-pretativo. La filosofía gadameriana se pensaba a sí misma como un discurso enclavado en el pensa-

6 Una relación R es euclideana cuando aRb y aRc implican bRc.

Page 262: Antropologia y Programacion Logica

262

miento sobre las precondiciones de todo saber científico. Es posible que la lógica nos remita a una idea aún más fundante que la de la hermenéutica, en el sentido de que el concepto de accesibilidad tendría que ver con las precondiciones formales de la incorporación de horizontes ajenos a los nues-tros. En tal caso, hay toda una lógica que inspeccionar o asimilar antes de asumir sin más trámite que algo tan pesado, compuesto, variopinto e ideológicamente espeso como la hermenéutica constituye el paso previo a toda reflexión científica.

Ni falta hace decir que todo esto es expresable y calculable en Prolog, o que la acumulación de experiencias sobre mundos alternativos en programación lógica es ya de respetar. En Arity Prolog, las diversas bases de datos (que pueden o no converger sobre un mismo motor de inferencia) se llaman directamente "mundos". Todo modelo convencional concluso presupone la hipótesis del "mundo ce-rrado", como si a despecho de sus ínfulas formales se resignara a la constatación de su propia estre-chez. La computación, en fin, está plagada de simulaciones, protocolos, conversiones, interfaces, má-quinas virtuales y metacódigos que posibilitan el encuentro y el entendimiento entre sistemas que par-ticipan de diferentes conjuntos de premisas. El tema de los mundos posibles invoca ideas particularis-tas afines a las del relativismo epistemológico y cultural, a las del paradigma geertziano del conoci-miento local, a las del recientemente bautizado "pensamiento débil" y a las de la fenomenología en ge-neral, con su insistencia en las modalidades idiográficas del conocimiento. El concepto de accesibi-lidad, axiomatizado en lógica, es un valor agregado a nuestros razonamientos antropológicos que ca-be enriquecer de aquí en más, y que seguramente involucra temas de distancia cultural, de mediación explicativa y de traducibilidad (cf. Stephen Turner 1984); es asimismo probable que estas cuestiones engranen con los desarrollos de las lógicas presuposicionales, a cuyo tratamiento remitimos para re-dondear la presentación. i) Lógicas no Monótonas

La filosofía del no [...] no persigue la negación indiscrimina-

damente. No surge de un espíritu de contradicción que refuta sin pruebas y suscita disputas vagas. No se aparta sistemáticamente de las reglas. Por el contrario, es fiel a las reglas dentro de un siste-ma de reglas. No acepta contradicciones internas. No niega cual-quier cosa, en todo momento, de cualquier manera. Su movimien-to característicamente inductivo surge en junturas bien definidas y determina una reorganización del conocimiento sobre bases más amplias.

Gaston Bachelard

Cuando decimos que el razonamiento de cierto científico, de una máquina de inferencia o de un

individuo particular es monótono, en tanto hablemos en términos técnicos no estamos implicando juicio estético alguno. Esto sólo significa que el conjunto de conclusiones emergente de ese razona-miento crece solamente a medida que se acumula más información, sin variar de carácter. Una vez que se alcanza una conclusión, ninguna información adicional hace que esas conclusiones se alteren. La lógica estándar posee una unidireccionalidad inherente e inexorable: de los axiomas a los teoremas. Una vez que un hecho demuestra ser verdadero permanece como tal para siempre, como en la geometría euclidiana, y puede a su vez servir de base para demostrar nuevos hechos.

Page 263: Antropologia y Programacion Logica

263

Los razonamientos no-monótonos presentan la característica inversa: la información nueva modifica las conclusiones alcanzadas con anterioridad. Dado que un sistema no-monótono es por definición revisable, en este esquema lógico existe además la posibilidad de que el número de teore-mas derivable del sistema lógico decrezca a medida que el número de axiomas se incrementa. Lo que es y no es verdad puede cambiar en forma radical, dependiendo del estado del mundo en un momento dado y de nuestro conocimiento acerca de él.

Algunos cognitivistas sostienen que el conocimiento humano es inherentemente de esta última categoría, especialmente cuando hay objetivos de por medio. Hacemos planes basados en expectati-vas, pero a medida que los sucesos se desenvuelven, revisamos tanto las premisas originarias como los proyectos. Gran parte de lo que conocemos sobre el mundo es además "casi siempre" verdad; un fragmento considerable del razonamiento de sentido común apenas llega a ser plausible, pues sus conclusiones e incluso los hechos en que se basa son sólo aproximadamente verdaderos, incompletos o sensibles al cambio en función del tiempo. La inferencia, entonces, es dinámica, como lo son los esquemas mentales en que se fundan.

En su forma nativa, la máquina de inferencia conforme a la cual opera el Prolog es no-monótona. Nuevos hechos alteran las conclusiones permisibles, y hasta existen predicados preconstruidos (notoriamente assert y retract, de los que ya hemos hablado) que agregan o eliminan hechos de la base de conocimiento, lo que altera mediante una especie de feedback que habrá que esclarecer, la sustancia y la forma de las inferencias. Con más información, el Prolog rechaza conclusiones que antes habría aceptado, o confirma hipótesis que antes desencadenaban la cláusula vacía.

El predicado assert realiza aserciones, es decir, agrega "hechos", premisas o elementos de juicio; el predicado retract los elimina de la base de conocimientos; ambos predicados sirven a innumerables usos técnicos, uno de los cuales podría ser equivalente a la alternancia de suposiciones. Bajo esta in-terpretación del procedimiento, es posible manipular el modelo, ajustándolo a diferentes premisas: una pregunta formulada después de un assert corresponde a la idea "¿qué pasaría si...?"; y una pregunta posterior a un retract equivaldría a su contraria, "¿qué pasaría si no ...?".

Esta característica es convenientemente realista, aunque algunos defensores del purismo lógico la consideren peligrosa. Se han escrito múltiples estudios acerca del carácter espurio y de los efectos contraproducentes de ese tipo de predicados, y no han faltado teóricos que propugnaran su elimina-ción por entender que esos procedimientos alteran la pureza lógica del lenguaje. Ya hemos visto que Sterling y Shapiro consideran el empleo de esos predicados poco menos que como síntoma de oligo-frenia.

Lo que aquí nos interesa no es tanto que el razonamiento no monótono constituya un presupues-to de la vida intelectual cotidiana, conforme al sentido común, una tipificación (como diría Schutz), sino que esta especie inferencial sea una figura recurrente en las prácticas discursivas de la disciplina, especialmente en aquellas en las cuales (de una manera que corresponde a los "objetivos" y "metas" personales de la cotidianeidad) se trata de formular una predicción.

Generalizaciones antropológicas como "la duración del período en que el niño duerme con la madre está correlacionada con la existencia de ritos iniciáticos para varones" o "la severidad del trato que los padres dispensan a los niños es correlativa a la creencia en un mundo de los espíritus rudo y

Page 264: Antropologia y Programacion Logica

264

agresivo"7 se aplican a casos que se consideran usuales, típicos o normales. Los casos inusuales, a-típicos o anormales -nuestras clásicas "anomalías"- se interpretan entonces como excepciones a la re-gla. En adelante diremos que esas generalizaciones son "revocadas" cuando existe información que nos induce a creer que estamos en presencia de una excepción a la regla. Puesto que ellas pueden a-brogarse, diremos que esas generalizaciones constituyen reglas revocables [defeasible rules].

Es importante deslindar el razonamiento no-monótono y la existencia legítima de las reglas revo-cables del lugar común que presume la posibilidad de algo así como "excepciones que confirman las reglas". En un sentido estricto, a menos que las reglas sean expresamente probabilísticas o transito-rias, ninguna excepción la "confirma" sino que, por el contrario, la invalida. Ninguna "ley de la natu-raleza" (en las condiciones y en el ámbito de predicación que estipule la teoría dentro de la cual se formula) admite excepciones. Ningún científico honesto acepta con alborozo las anomalías con las que tropieza, confiando en que representen las excepciones que vienen a confirmar sus hipótesis. El falso estereotipo de excepciones capaces de "confirmar" reglas se deriva, quizá del estrecho espacio semántico que va desde "toda regla admite excepciones" hasta "toda regla requiere excepciones", o de un equívoco en la traducción del principio falsacionista que dice que "the exceptions prove the rules". En este contexto, prove no significa "probar" ni connota "probabilidad", sino más bien "tes-tear", "poner a prueba".

Aunque el Prolog puede ejecutar algunos procesos de tipo no-monótono, las reglas de ese len-guaje no se pueden revocar. Si estipulamos las excepciones como tales, la regla no es revocable por-que no resulta afectada por ninguna situación que no esté contemplada en el conjunto de las reglas mismas. Una regla sería revocable si no pudiera aplicarse a ciertas instancias aún en el caso de que éstas satisfacieran sus condiciones, y si algún otro hecho de la base de conocimientos bloqueara la re-gla. Se ha comprobado sobradamente (Covington et al 1988: 333) que en su forma nativa, depen-diendo de su propia máquina de inferencia pre-programada, el Prolog no puede expresar cierto tipo de reglas no monótonas.

Pero esto no quiere decir que no pueda expresarlas de ninguna manera: lo mismo que sucede en el caso de la refutación russelliana de las famosas aporías de Zenón, lo que no puede lograr el lengua-je lo logra el metalenguaje. Y como el Prolog puede ser su propio metalenguaje, será posible imple-mentar el razonamiento que fuere utilizando una vez más meta-reglas, es decir, metaprogramando, situándose en un nivel tal que la máquina built-in resulte trascendida. Lo que se requiere es una nueva forma de representación de las reglas no monótonas y un mecanismo de inferencia (un procedimiento) que sepa como utilizarlas. Se necesita también un operador de negación que funcione en forma dife-rente a la negación por falla, y que se active cuando estemos en presencia de una regla de este tipo. En su excelente libro sobre el lenguaje Prolog, Covington, Nute y Vellino nos proporcionan un aca-bado ejemplo de razonador revocable, basado en la definición de cuatro operadores. La máquina de inferencia se inicializa mediante este procedimiento: init :- op(1100,fx,@), 4.16 op(900,fx, neg), op(1100, xfx, :=), op(1100, xfx, :^).

7 John Whiting, Clyde Kluckhohn y A. Anthony, "The function of male initiation ceremonies at puberty", en E. Macoby, T.M. Newcomb y E.L. Hartley (eds.), Readings in Social Psychology, Nueva York, Holt, 1958, pp.359-370.

Page 265: Antropologia y Programacion Logica

265

Para invocar la máquina de inferencia revocable, basta con poner el operador @ inmediatamente antes de introducir el objetivo a probar. Los parágrafos en los que se establece la semántica del pro-grama operan de tal modo que la forma de actuar del intérprete se sobrimprime sobre el diseño básico de sus procedimientos de secuenciación, adaptándose a las premisas de una lógica no-monótona (cf. Covington et al 1988:336-349).

El diseño de sistemas de razonamiento no-monótono mediante metaprogramación constituye un ejercicio de Prolog relativamente habitual (o por lo menos nada extraordinario) que se utiliza como forma de definir métodos alternativos a los que rigen by default la máquina de inferencia, para poder razonar en base a información incompleta o incierta (cf. Nute y Lewis 1986; McCarthy 1980; McDermott y Doyle 1980; Reiter 1980).

Algunos autores afirman que esta metodología es preferible y estéticamente más satisfactoria que la operación en base a factores de confianza, los cuales introducen (como veremos luego) ciertas di-ficultades prácticas y teoréticas. En rigor, los factores de confianza se pueden combinar a la perfección con los motores de inferencia no monótonos, y hasta son rotundamente preferibles en los casos ideales en los que la base de conocimientos se deriva de estudios estadísticos, más que de un conjunto de condiciones estipuladas.

Se ha propuesto una gran variedad de lógicas no monótonas, y sería imposible y verdaderamente monótono que las revisemos todas. Algunas de las lógicas que figuran en el cuadro 4.2 son en realidad variantes pertenecientes a este rubro. En los capítulos sucesivos rozaremos, sin pretender que hemos logrado analizarlas, sus tres variedades principales, todas ellas interrelacionadas, que son:

1) La lógica omitiva [default logic] de Raymond Reiter.

2) La lógica no monótona de Drew McDermott, la lógica epistémica derivada de Hintikka y la autoepistémica de R.C. Moore.

3) La lógica deóntica de Von Wright, construida sobre los fundamentos de una lógica del cambio y una lógica de la acción.

En en el terreno de las lógicas epistémicas, que intentan modelar el elusivo mundo de la deduc-ción natural, donde se ha propuesto una estrategia de inferencia que según algunos iguala o supera la eficacia del método de resolución. Basándose en Gentzen, y tras algunas experiencias de Jaakko Hintikka y Evert Beth, Raymond Smullyan desarrolló un cálculo de prueba negativo al que llamó tableaux, y cuya descripción evoca los mecanismos que ya hemos descripto en la segunda parte de la tesis: el método comienza negando la fórmula que se pretende probar y construye un árbol aplicán-dole trece reglas simples de descomposición que son las inversas de las reglas de deducción de Gent-zen. La descomposición prosigue hasta que se alcanzan los átomos y (a) o bien se ha encontrado que cada rama es inconsistente, (b) o bien se encuentra que una rama es consistente y permite la cons-trucción de un modelo. En el primer caso, la fórmula negada es insatisfacible y por lo tanto la fórmula original es válida; en el segundo, se ha encontrado un contraejemplo de la fórmula original. El pro-blema del método es que con una raíz satisfacible, no hay garantías de que la descomposición finalice. Pero una vez construido el árbol, las reglas de descomposición garantizan que todos los casos posi-bles habrán de examinarse sistemáticamente (cf. Eisinger y Ohlbach 1989).

No nos preocupa ni nos alegra aquí que los tableaux desplacen a la resolución; es difícil que así suceda, porque el método involucra demasiados no-determinismos como para ser exitoso en la prác-tica, y porque ahora están comenzando a aceptarse métodos más acomodados al funcionamiento de

Page 266: Antropologia y Programacion Logica

266

una máquina que reminiscentes del pensamiento humano. Lo que sí nos afecta es que un modelo de las formas humanas (y por lo tanto, culturales) de deducción, no importa cuan implícito a ese res-pecto, haya llegado a semejante nivel de especificación y capacidad instrumental. j) Lógica Omitiva

La lógica omitiva [default logic] ha sido formulada por Raymond Reiter (1980) como una téc-

nica de formalización del razonamiento en función de mundos especificados de manera incompleta. Este tipo de razonamientos se presenta allí donde es preciso derivar conclusiones plausibles a despe-cho de la ausencia de un conocimiento exhaustivo de esos mundos. El caso más típico es el de las le-yes absolutamente generales que se presentan como verdaderas a pesar de la existencia reconocida o potencial de unas pocas excepciones (cf. Thayse 1988:172-183). La lógica omitiva forma expresa-mente parte del conjunto más amplio de las lógicas no monótonas, en el que se inserta de una manera que luego habremos de revisar.

La importancia de una lógica omitiva para nuestra disciplina es demasiado patente, y el hecho de que hasta ahora se la haya desconocido parece particularmente difícil de justificar. El conocimiento antropológico a menudo introduce generalizaciones que no están complementadas ni por una evalua-ción estadística precisa del dominio del que se trate, ni por un inventario completo de excepciones. Que se disponga de un formalismo riguroso para dar cuenta de este estado de cosas y para someter a un cierto control los razonamientos afectados por estas circunstancias nos parece de un interés crucial.

Es en base a estos formalismos que puede determinarse la capacidad que tiene un conjunto incompleto de aserciones para sustentar inferencias construidas a partir de las mismas, así como el quantum de información y trascendencia a que esas conclusiones pueden aspirar. Dado que, como hemos dicho, la relevancia de este tipo de lógica para nuestra disciplina parece obvia, no nos detendremos a justificar su adopción sino, más bien, a examinar sus posibilidades y fundamentaciones.

Las diversas formas del razonamiento omitivo que han surgido en inteligencia artificial corres-ponden al proceso de derivar conclusiones en base a patrones de inferencia de la forma: "en ausencia de toda información en sentido contrario, presuponer X". La no-monotonía del proceso de inferencia se expresa mediante reglas de inferencia dependientes del dominio que se llaman defaults. Los defaults expresan afirmaciones de la forma "la mayoría de los pájaros pueden volar" por medio de reglas que establecen que "si es consistente inferir que un pájaro particular puede volar, luego uno puede inferir que puede volar". Estas reglas revisables permiten expresar reglas que poseen excep-ciones sin exigir que las excepciones a cada regla se listen expresamente.

En otras palabras, un sistema o teoría para la lógica omitiva deberá incluir por un lado un con-junto de defaults que representen las diversas reglas con sus excepciones y por el otro un conjunto cerrado de fórmulas de lógica de predicados que hagan el papel de axiomas básicos de conocimiento. Como a otros sistemas no-monótonos y modales, el peligro que acecha por lo común a este tipo de formalismos es el de la circularidad; se han elaborado numerosos recursos lógicos para detectar y conjurar este riesgo. Tengamos en cuenta, sin embargo, que la circularidad ya ha dejado de ser lo que era. Los viejos textos de lógica nos advertían en contra de las definiciones circulares (cf. Copy 1978: 94, 157); este tipo de precauciones triviales e intuitivas contra la circularidad hubiera impedido, de ser formalmente atendible y universalmente extendido, el desarrollo de las matemáticas recursivas. Un

Page 267: Antropologia y Programacion Logica

267

sistema de naturaleza omitiva produciría uno, varios o ningún conjunto consistente de creencias; estos conjuntos representan las diversas perspectivas del mundo que pueden concebirse a partir de la teoría omitiva.

Por ejemplo, sabemos que en la mayoría de las sociedades la situación de la mujer es de sub-ordinación, con unas pocas excepciones que incluso varían de un autor o de un criterio de definición a otro. Dada una cultura en particular -por ejemplo la cultura balinesa- podemos llegar a la conclusión de que en ella la situación de la mujer es subordinada a menos que sea una instancia de las excep-ciones previstas (aunque no estipuladas una a una como tales). El formalismo omitivo que expresa esa estructura ideacional quedaría especificado como sigue:

"Si X es una cultura, y si es consistente creer que en X la situación de la mujer es de subordinación (es decir, creer que X no es una instancia de las excepciones a la regla), entonces es posible creer que en X las mujeres están subordinadas".

La estipulación dista de ser tan trivial como parece, pues permite fundar procedimientos de prueba que garantizan la consistencia o tipicidad de determinadas conclusiones. Reiter presentaría este formalismo de una manera más esquemática, constituyendo lo que se llama una regla omitiva [default rule]: cultura(X) : M mujer_subordinada(X) mujer_subordinada(X)

En esta regla, M debe leerse "es consistente creer que"; y esta regla omitiva pretende representar la regla general con excepciones, afirmando implícitamente que en las sociedades típicas la situación de las mujeres es de subordinación. Existen diversas elaboraciones lineales y jerárquicas de este tipo de formalismos; algunas de ellas han encontrado la forma de eludir la enunciación precisa de las ex-cepciones (cf. Froidevaux 1986; Touretzky 1986; Etherington 1987; Froidevaux y Kayser 1988).

La forma original y canónica del default antedicho en la teoría de Reiter (y con referencia a un lenguaje de primer orden) es la siguiente: (X) : Mß1(X), ... , Mßm(X) (X)

Donde:

(X), ß1(X), ..., ßm(X) y (X) son fórmulas del lenguaje con variables libres Xi pertenecientes al dominio X=(X1, ..., Xn).

(X) se denomina el prerrequisito del default. ß1(X), ..., ßm(X) son las justificaciones del default.

(X) es el consecuente del default.

M es un símbolo del metalenguaje.

Se dice que un default es cerrado si ninguna de sus variables es libre, es decir, cuando todos los casos están estipulados. La regla omitiva sobre la cultura que vimos antes, por ejemplo, no es cerrada, porque contiene la variable libre "X". Como podría esperarse, lo contrario de un default cerrado es lo que se llama un default abierto; este último constructo representa un esquema de inferencia general.

Page 268: Antropologia y Programacion Logica

268

Una teoría omitiva induce cero, uno o más conjuntos de creencias que se pueden sostener acerca del mundo incompletamente especificado que se describe en ella. Esos conjuntos de creencias se conocen como las extensiones de la teoría omitiva. Consideremos el siguiente ejemplo de una teoría compuesta por un par de reglas omitivas, escritas sucesivamente en español y en un simbolismo lógi-co que representaría la expresión que proponemos dar en Prolog a las reglas de Reiter. Notemos que en la grafía que hemos desarrollado los primeros dos predicados del cuerpo corresponden al prerre-quisito, la cláusula metalingüística equivale a la justificación (y en el procedimiento de resolución deberá ser probada aparte, estipulando el hecho o la regla correspondiente) y que el consecuente ha pasado del denominador en donde la situaba Reiter a la cabeza de la regla:

Cláusula en español: "La ciudad en que vive una mujer es generalmente la misma en que vive su esposo"

En Prolog: ciudad(X,Z) :- esposo(X,Y), ciudad(Y,Z), 4.17 consistente(ciudad(X,Z)).

Cláusula en español: "La ciudad en que vive una persona es generalmente la misma en que se encuentra su empleador".

En Prolog: ciudad(X,Z) :- empleador(X,Y), ubicacion(X,Z), 4.18 consistente(ciudad(X,Z)).

La notación en Prolog esclarece el carácter no circular de la prueba de la cláusula, ya que la presencia de un mismo predicado con idénticas variables en las condiciones y en la conclusión se inserta en un nivel de tipificación distinto. Si suponemos que el esposo de la mujer vive en la ciudad de La Plata mientras que su empleador está situado en Buenos Aires, estamos imposibilitados o blo-queados de inferir ambas conclusiones al mismo tiempo. Podemos inferir una o la otra, pero no las dos: lo que es lo mismo, podemos decir que estas derivaciones inducen dos extensiones posibles para la teoría omitiva correspondiente.

Es importante retener la importancia que tiene este concepto de "extensiones de la teoría", de cara a un caso interpretado en términos de cruzamientos disciplinares. La existencia de más de una extensión equivale rigurosamente a lo que Devereux caracterizaba como complementarismo (cf. Devereux 1975:11-12). Hay que notar, sin embargo, una diferencia: en el complementarismo se expli-caba el mismo fenómeno de dos maneras excluyentes, lo que resultaba bastante arbitrario e insufi-cientemente demostrado, pues definir dos problemas conceptualmente distintos como "el mismo pro-blema" es una canallada epistemológica; en el caso de las extensiones de la teoría omitiva, las con-clusiones a las que se llega no necesariamente son las mismas.

En general, y por diversas razones técnicas que no nos detendremos a examinar, se ha analizado formalmente la significación de las extensiones sólo para el caso de las teorías omitivas cerradas, aunque se han propuesto procedimientos para forzar el cierre de teorías originariamente abiertas: en principio, es suficiente reemplazar cada default abierto por el conjunto de sus instancias relativas al dominio de Herbrand de la teoría. Nótese, sin embargo, que las teorías que contienen constantes funcionales de aridez mayor que cero poseen un dominio de Herbrand infinito.

Page 269: Antropologia y Programacion Logica

269

Intuitivamente, una extensión puede entenderse como un conjunto que contiene la información básica relativa al sistema y cualquier cosa que pueda inferirse por medios de reglas lógicas convencio-nales o mediante reglas omitivas. Que una teoría omitiva posea o no extensiones determina algunas peculiaridades formales notables. Aunque existan teorías omitivas sin extensión, una amplia variedad de teorías omitivas posee extensiones; estas teorías se llaman teorías omitivas normales, y se carac-terizan por una propiedad que podría caracterizarse como semi-monotonía. Si el conjunto de defaults de una teoría normal se incrementa, la nueva teoría normal que resulta posee una extensión que con-tiene, tal cual, la extensión de la teoría originaria (Reiter 1980: Thayse 1988:178-179). Una conse-cuencia práctica importante de esta propiedad es que las teorías omitivas cerradas normales admiten un procedimiento de prueba que es local con respecto a las reglas omitivas, de modo que se pueden construir pruebas que ignoren algunas de las reglas omitivas, como si el dominio global estuviera compuesto por compartimientos estancos.

Otra característica atractiva de las teorías normales radica en que sus consecuencias coinciden con su justificación. Este tipo de regla omitiva es por otro lado incapaz de generar inconsistencias: ciertamente, no puede tampoco refutar la justificación de otras reglas omitivas que se hayan in-troducido antes ni refutar su propia justificación. Pese a que en el caso de estas teorías los procedi-mientos de prueba son relativamente sencillos, la interacción entre las diversas reglas pueden generar extensiones que contengan conclusiones no deseables (cf. Reiter y Criscuolo 1981). A veces es necesario impedir la transitividad de determinadas reglas omitivas.

Comencemos ahora a entretejer referencias comparativas con otros esquemas lógicos y rela-ciones de complementariedad con los diversos formalismos de representación que hemos visto. Vale la pena enumerar las diferencias básicas entre la lógica omitiva de Reiter y la lógica no monótona de McDermott:

1) La lógica omitiva no propone el uso de una regla no-monótona universal, sino que hace uso de reglas particulares [defaults] que dependen del dominio considerado.

2) El operador M no es un operador modal perteneciente al lenguaje objeto, sino un opera-dor que actúa a nivel del metalenguaje. Las expresiones sobre las que ese operador puede actuar pertenecerán a una clase más restringida que la clase de expresiones modales de la lógica de McDermott.

3) Los teoremas de una teoría omitiva no se definen como la resultante de la intersección de sus conjunto de creencias consistentes posibles. Su propósito más bien es el de caracteri-zar una visión particular del mundo que un agente o persona pueda derivar en forma consistente.

Los sistemas de representación del conocimiento mediante redes semánticas y los formalismos orientados al objeto a menudo proponen reglas de herencia que presentan distintas modalidades de excepción. La semántica de estos sistemas no ha sido analizada aún exhaustivamente, aunque se han hecho algunos ensayos de cierto interés (cf. Touretzky 1986, Etherington 1987).

Uno de esos ensayos es el de Bowen y Kowalski (1984:167-170), donde además se brindan ele-mentos de juicio para expresar los cálculos en forma clausal. Estos autores han elaborado un proce-dimiento de amalgama de lenguaje objeto y metalenguaje que constituye una alternativa a la lógica no monótona de McDermott y Doyle y a la lógica omitiva de Reiter. Desplegando recursos de meta-programación sería posible evitar las contradicciones emergentes de nuevas aserciones que violan la vigencia general de las reglas.

Page 270: Antropologia y Programacion Logica

270

Cabría cerrar este apartado mencionando que entre el concepto de omitividad y el de presu-posición lógica existen contrastes y analogías significativas. Se nos ocurre que, según su formulación, ambos conceptos integran o segregan, encubren o enfatizan la problemática de los conjuntos compar-tidos de creencias en un contexto de interacción comunicativa.

Omitividad Presuposición Proceso lógico ExplícitoImplícito ImplícitoExplícito Carácter Supuesto compartido Supuesto a analizar Especificación Incompleta A completar Ambito La misma cultura La cultura extraña

La omitividad atañe a lo que puede ser callado (pues está ya prestablecido en el conjunto de su-puestos) en tanto que la presuposición, al contrario, implica contenidos y estructuras que se dan por sentados pero que conviene explicitar. El estudio de ambos campos está aún en dinámica, y es posible que pronto se promuevan mecanismos de integración. Por el momento no hemos hecho gran cosa al-rededor de la omitividad, pues no se nos ha presentado la urgencia de modelar conocimientos acto-rales. Sabemos que en principio es modelable en Prolog mediante operadores o términos de predica-do. El uso de estos y otros formalismos en la representación del conocimiento antropológico espera analizarse críticamente para comprobar su rendimiento y su capacidad de expresión. k) Lógica Epistémica y Creencia Subjetiva

Por su vigorosa conexión con el problema antropológico de la subjetividad, la introspección y la

concepción fenomenológica del conocimiento, la variante de las lógicas epistémicas que nos interesan en este contexto son las llamadas autoepistémicas (cf. Thayse 1988:193-203). Este tipo de esquemas pertenece, como el anterior, al conjunto más amplio de las lógicas no-monótonas. Por la naturaleza de sus representaciones y la interpretación de sus operadores, las lógicas epistémicas también forman parte del conjunto de las lógicas modales.

Para la presentación de las lógicas epistémicas y de los formalismos modales que están relacio-nados con ellas es imperativo hacer referencia una vez más, a grandes rasgos, al campo de lo que he-mos llamado sistemas modales "elementales" o "básicos", de los que todos los demás se desprenden: T, S4, S5 o sus nomenclaturas equivalentes.

La lógica autoepistémica se ha definido como la que rige el modelado de las creencias de un agente idealmente racional que reflexiona sobre sus propias creencias (Moore 1984, 1985, 1988). Es-ta lógica posee una semántica muy simple, nada ofensiva a la intuición y que permite probar cierto número de resultados muy interesantes.

Una teoría autoepistémica se define como un subconjunto de fórmulas proposicionales propias de un lenguaje dado, consistente en cláusulas que pueden interpretarse como el conjunto completo y consistente de creencias de una persona. Ese lenguaje se puede formular en términos del operador modal L, del que ya hemos hablado; una fórmula de forma Lp puede interpretarse como "se cree que p es verdad". El agente que se supone portador del conjunto de creencias referido por las cláusulas no se define a priori como racional.

Page 271: Antropologia y Programacion Logica

271

En principio, y a pesar de la referencia realista a un "agente" psicológicamente caracterizado, todo el formalismo obedece a una cierta idealización: por ejemplo, sólo pueden inferirse las con-secuencias lógicas esperables del conjunto inicial de creencias, y todas las consecuencias lógicas ha-brán de ser tenidas en cuenta. Esto implica que el agente modelado por la lógica autoepistémica, aun-que él mismo no sea lo que se dice "racional" en el sentido cotidiano de la palabra, posee una visión perfecta sobre las consecuencias lógicas de aquello en lo que cree o no cree.

El carácter revisable de un razonamiento puede deberse a dos circunstancias. La primera no tiene que ver con factores subjetivos, sino con la naturaleza incierta y conjetural de los hechos y relaciones conocidos. La segunda determina que el conocimiento sea revisable porque la índole del mismo es introspectiva, y las operaciones de introspección son inciertas y cambiantes. La validez de estos razo-namientos depende de lo que se puede admitir "en el presente estado de nuestro conocimiento".

El rasgo definitorio de las lógicas no monotónicas de McDermott radica en el uso de una técnica de punto fijo que permite caracterizar conjuntos estables de conclusiones, y en el despliegue de pro-cedimientos propios de la lógica modal en la formalización del razonamiento revisable (McDermott y Doyle 1980; McDermott 1982). El objetivo principal de este autor ha sido el de definir una técnica que evite la circularidad en la definición de reglas de inferencia no-monótonas. McDermott deja pendiente la elección del modelo concreto de lógica modal que fundamentaría su esquema, oscilando entre los llamados S4 y S5.

Las dificultades que las lógicas epistémicas comparten con el resto de los sistemas no monótonos son aspectos sobre los que se sigue trabajando. Uno de los problemas es que, conforme a los esque-mas fenomenológicos y gestálticos de introspección, no existen reglas generales para evaluar creen-cias complejas en términos de creencias y descreencias elementales. En estos mundos, el todo no es igual a la suma de las partes. Esto se agrava en el caso de que los agentes cuyo conocimiento se mo-dela sean no-racionales (cf. Shweder 1984); en esta circunstancia no existiría tampoco, por definición, ninguna relación a priori entre sus creencias.

No obstante, se han realizado intentos de formalizar las creencias de agentes parcial o totalmente racionales en función de una semántica de los mundos posibles (Moore 1984, 1988). Esta semántica permite poner a prueba la existencia de teorías autoepistémicas que sean completas y fundadas con respecto a un conjunto dado de premisas. Los modelos de Moore no son lo que un antropólogo lla-maría realistas, y a duras penas sus inflexiones engranan con nuestras categorías disciplinares; se los puede entender, no obstante, como una especie de modelo idealizado sobre el cual convergen los sistemas de pensamiento efectivos (Grégoire 1988). En la lógica hay estilos y tendencias, y los modos de exposición son recurrentes: los detalles de estos modelos coinciden en líneas generales con los de otras variantes de la lógica modal y no-monótona, por lo que no insistiremos en reproducirlos ahora.

Cabe agregar que las lógicas epistémicas guardan ocasionales relaciones con los sistemas de "deducción natural", asociados a las propuestas de Gerhard Gentzen; de hecho, casi todos los mode-los epistémicos entrevistos aquí utilizan la peculiar notación gentzeniana. El método de Gentzen toma como punto de partida tautologías elementales que progresivamente derivan fórmulas más complejas en base a trece reglas de inferencia y ningún axioma; este proceso se puede transformar en un test re-virtiendo las reglas de Gentzen y dividiendo la fórmula a probar en subfórmulas hasta que su estatus lógico sea evidente. La exigencia de considerar alternativas hace que este proceso se estructure de acuerdo con un diseño arboriforme. De este método se ha derivado otra entidad que promete cumplir un rol fundamental en los próximos años y que apunta hoy como un rival del método de resolución: los tableaux analíticos de Raymond Smullyan (1968). Smullyan y Fitting (Fitting 1983) han aplicado

Page 272: Antropologia y Programacion Logica

272

el método de tableaux a diversas lógicas modales e intuicionistas, y nuestros colegas Coniglio, Rodríguez y González han programado tableaux para lógica deóntica en Arity Prolog, lo que prueba (por si hiciera falta) que este lenguaje ni siquiera está atado fatalmente a la estrategia de resolución.

No existe aún, que sepamos, ninguna exploración antropológica en el tejido de estos sistemas formales, lo cual no deja de ser llamativo toda vez que se trata de una familia de esquemas vinculada muy de cerca con dificultades concretas de nuestra disciplina. Tampoco nosotros hemos establecido nada perdurable, aparte de acumular referencias que deberían, de hoy en más, comenzar a servirnos de mapa para una búsqueda mejor. l) Lógicas Deónticas, Imperativas, Erotéricas y de la Preferencia

No es fácil distinguir un análisis lógico de la inferencia ética, de los mandatos, las preguntas o las

elecciones, de un análisis más o menos formal o sistemático (respectivamente) del comportamiento, las órdenes, la interrogación o la toma de decisiones en un contexto dado o en general. Las "teorías de modelos" conocidas no ahondan en esa distinción. Nosotros mismos no lo hemos puesto en claro hasta el momento, en espera de la oportunidad más aleccionadora.

¿Qué significa, a fin de cuentas, un análisis lógico o un análisis de la lógica de determinada cosa? El término es, como diría Ryle, sistemáticamente engañoso, porque insinúa que el mundo (o el trabajo científico) está sometido a una legislación, a una geometría subyacente. Creemos no obstante que se puede iluminar el punto, asignando como contenido de esa expresión ambigua lo que todavía es más un proyecto que una consumación. De lo que se trata en realidad es de ver en qué forma y en qué me-dida los diversos fenómenos poseen una estructura que pone en tensión a las posibilidades descripti-vas o inferenciales de un modelo lógico y obligan a concebir ideas alternativas respecto de la trans-misión de los valores de verdad, la transitividad, la tautología, el encadenamiento o la contingencia.

Redefinimos, consecuentemente, el estudio lógico de algo (la "lógica" de lo que fuere) como un estudio de la lógica en sí, resultante del hecho de atravesar su semántica con un referente ocasional (indeterminado, irracional, cambiante o peculiar) que le impone dialécticamente revisarse a sí misma para poder luego dar cuenta de él. Este estudio lógico, este feedback, esta concesión mínima del for-malismo a la estructura correlacional del mundo o a la imagen conceptual que éste proyecta, parecería ser el prerrequisito de la utilización de un lenguaje lógico para describir o explicar el fenómeno en cuestión. Se trata de una auténtica inspección reflexiva en su más elevado y cruento nivel de rigor.

Distinguir un análisis de "la lógica de" un fenómeno de un estudio sistemático o estructural de ese fenómeno no es cosa sencilla, y no se limita sólo a la contraposición entre lo general y lo particu-lar, entre lo formal y lo sustantivo, entre lo ideal y lo empírico. Los propios epistemólogos acostum-bran confundir el nivel descriptivo con el prescriptivo cuando hablan, por ejemplo, de una "lógica de la investigación" (Nagel 1981; Gibson 1982; Popper 1985), "lógica" que concierne a muchas cosas, pero hasta el día de hoy no, en líneas generales, a la lógica en general o a una lógica concreta. Von Wright deplora de esta forma la coalescencia del análisis lógico con otros tipos de indagación, la inconstancia de los profesionales de la lógica para permanecer aferrados a su objeto:

Nunca, que yo sepa, este estudio independiente [de las preferencias con respecto a las cuestiones de utilidad y probabilidad] ha sido emprendido sistemáticamente desde un punto de vista lógico formal. Los autores que tratan estos temas por lo general dan por supuestos ciertos rasgos lógicos de las preferencias -tales como la asimetría y la transitividad-, y luego pasan sin más al tratamiento de la utilidad (o la probabilidad).

Page 273: Antropologia y Programacion Logica

273

Sucede como si tendieran a pasar, lo más pronto posible, de una consideración "cualitativa" de tipo "lógico", a consideraciones "cuantitativas" de índole "matemática" (1967:21).

No es improbable que las cotas de explicitación a las que nos acerca la programación lógica acaben por esclarecer el anudamiento indudablemente oscuro de las herramientas con su objeto. Aquí plantearemos el problema, sin sugerir que hemos llegado a una formulación concluyente.

Lo que los mundos o acontecimientos que ahora insinuaremos implican para la lógica es, ante todo, el apercibimiento de la existencia o la necesidad de otros modos veritativos, aparte de "verdade-ro" y "falso". Existen o pueden postularse innumerables modalidades más (condicionales, indefinidas, cambiantes) de las que ya hemos visto. Tal vez sería interesante investigar si existe un límite formal para el número de los modos posibles, una zona crítica más allá de la cual pensar en modos adicio-nales ya no proporcione ninguna ganancia a la comprensión. Tal vez, por el contrario, botanizar modalidades diferentes pensando en agotar su variedad sea un ingenuo coleccionismo que no conduce a ningún perfeccionamiento profundo del aparato lógico.

La modalidad que se refiere a valores tales como "obligatorio", "permitido" o "prohibido" se conoce como lógica deóntica. Ésta se ocuparía de las relaciones de inferencia entre normas, vale de-cir, entre proposiciones prescriptivas. Los orígenes de la lógica atinente a normas y valores se remon-tan al ensayo Deontic Logic de Georg Henrik Von Wright (1951); su elaboración más satisfactoria ha sido expuesta en la primera de las dos series de lecciones que dicho autor impartió entre 1959 y 1960 en la Universidad de St.Andrew, y particularmente en Norma y Acción, un texto universalmente traducido y reeditado que refleja la impronta de Jaakko Hintikka. El nombre de esta variante de la lógica fue sugerido a Von Wright por C. D. Broad, y desde entonces se impuso como el rótulo de una especialización interesante, pero sumamente marginada. La lógica deóntica constituye una extensión de la lógica estándar:

Podríamos decir que la lógica formal, tal como hoy la entendemos, es esencialmente la lógica de un mundo estático. Sus objetos básicos son los estados de cosas posibles y su análisis por medio de categorías, tales como cosa, propiedad y relación. No hay lugar para el cambio en este mundo. Las proposiciones son tra-tadas como definitivamente verdaderas o falsas, no como a veces verdaderas, a veces falsas. Las cosas se ven como poseyendo o no poseyendo determinadas propiedades y no como cambiando de, por ejemplo, rojo a no-rojo. Los actos, sin embargo, están esencialmente conectados con los cambios. Un estado que no existe puede llegar a existir como resultado de la interferencia humana en el mundo; o un estado que existe puede hacerse desaparecer. La acción puede también hacer continuar estados de cosas que de otro modo desaparecerían, o hacer desaparecer estados que de otro modo llegarían a existir. Un requisito necesario de la Lógica de la Ac-ción es, por tanto, una Lógica del Cambio (Von Wright 1979:17).

El primer paso de Von Wright en la construcción de su lógica deóntica fue el de examinar el aparato lógico tradicional con vistas a construir a partir de sus ingredientes un nuevo formalismo apto para tratar, al menos en grandes líneas, las peculiaridades lógicas de un mundo en cambio. En su esquema, la lógica del cambio y la lógica de la acción son las precondiciones sucesivas de la lógica deóntica propiamente dicha. El interés de Von Wright en las normas y los conceptos normativos no se deriva de un interés antropológico, sino de una observación de índole formal: las nociones de "debe", "puede" y "tiene que no" presentan una sorprendente analogía con las nociones modales necesidad, posibilidad e imposibilidad, por un lado, y con los conceptos básicos de la llamada teoría de la cuantificación: todo, alguno y ninguno. Aunque por lo común las prescripciones no tienen valor de verdad, es posible establecer algunas relaciones lógicas entre ellas: por ejemplo, del hecho que algo sea obligatorio puede inferirse que alguna otra cosa esté prohibida (cf. Von Wright 1979; Sanchez Mazas 1970).

Page 274: Antropologia y Programacion Logica

274

A priori, por su ligazón con la problemática del comportamiento, éste parecería ser un campo lógico de entrañable afinidad con las ciencias sociales; pero su desarrollo axiomático está, hoy poy hoy, bastante por debajo del que han alcanzado otras lógicas modales. Ni los lógicos se han acercado masivamente al análisis de las estructuras veritativas de los sistemas de prescripciones, ni los cien-tíficos sociales han advertido en apariencia que dichos sistemas exigen una descripción que en ciertos respectos violenta las posibilidades expresivas de la lógica común.

La lógica de los mandatos o imperativa, por su parte, ha sido caracterizada y formalizada por Nicholas Rescher (1966). La lógica erotérica o de los enunciados interrogativos se ocupa de la rela-ción entre preguntas y respuestas, o entre las preguntas y sus presuposiciones. La bibliografía básica aplicada a estos problemas ha sido establecida en D. Harrah, Communication: A logical model (1963).

La lógica de la preferencia o de la elección tendría a su cargo el estudio de las relaciones de inferencia entre enunciados llamados estimativos. Quien planteó inicialmente la posibilidad del análisis lógico de la preferencia parece haber sido Sören Halldén en su libro On the Logic of "Better" (1957), citado por Von Wright en La Lógica de la Preferencia (1967:21). La lógica de la preferencia de Von Wright se ramifica en tres secciones interrelacionadas, dispuestas en torno a otros tantos operadores, P, I e Y, que definen la lógica básica de la preferencia (o "prohairética"), la lógica de la indiferencia y la lógica de la igualdad valorativa.

No seguiremos aquí el trámite de esas lógicas; habría que establecer primero su status actual en el consenso filosófico y luego requerir de los lógicos elaboraciones bastante más rigurosas de las que hemos citado en este capítulo, antes de saber si están en condiciones de constituir un aporte constructivo a nuestra teoría de modelos. Dos de los puntos marcados por Von Wright son pertinen-tes, sin embargo, y hablan a las claras de la necesidad de tender un puente entre las formas de la lógica y la sustancia de la investigación empírica. Cuando Von Wright discute el campo de significa-ción de la palabra "norma", distinguiendo primero entre reglas, prescripciones y directrices, y luego entre costumbres, principios morales y reglas ideales, toca de inmediato una zona cultural y socio-lógica que, con entera seguridad, los científicos sociales han tipificado mucho mejor que cualquier lógico de profesión. Cualquiera sea la corrección formal de la tipificación de Von Wright, es incues-tionable que se trata de una esquematización abstracta cuya casuística cabal, por lo menos, debería provenir de un acervo de conocimientos empíricos un poco más tangibles o, en su defecto, de un pla-no de generalización que le otorgue alguna garantía de universalidad y permanencia. En ambos casos, sería necesario asentar los cuadros taxonómicos sobre una prolija mirada a lo ancho de las culturas y a lo largo del tiempo. Así como está, este importante renglón de la lógica aplicada suena incuestio-nablemente superficial y vacío.

El segundo punto ilustra la misma clase de negligencia empírica. Von Wright observa que la sig-nificación ontológica de la noción de norma consistente (no contradictoria) dista de estar clara, y se pregunta después si es lógicamente imposible mandar o permitir a un agente hacer y abstenerse de la misma cosa en la misma ocasión. La respuesta del lógico a esta pregunta no nos suena satisfactoria, pues él hace depender la solución de una instancia que se inscribe dentro del problema ontológico de las normas, espacio al que a su vez (como buen pensador abstracto) no examina con la necesaria es-pecificación contextual. Pensamos que las especulaciones de Von Wright se habrían beneficiado si hu-biera tomado conocimiento de las caracterizaciones de Festinger sobre la llamada disonancia cogni-tiva o, más aún, de los análisis de Bateson acerca el doble vínculo (cf. Festinger 1957; Bateson 1985). Ambos estudiosos sociales no sólo ejemplificaron los contenidos sustantivos de una casuística de las

Page 275: Antropologia y Programacion Logica

275

normativas contradictorias o insatisfacibles, y de las racionalizaciones o los estallidos de irracionalidad que les suceden, sino que, aún sin una estrategia de subrayado, arrojaron abundante luz sobre sus aspectos formales.

La productividad de por lo menos uno de los dos modelos es incuestionable, aunque se pueda di-sentir con su articulación: toda la teoría batesoniana de la esquizofrenia como patología de la comuni-cación familiar (y a la larga, toda esa corriente psiquiátrica conocida como Terapia Familiar Sistémi-ca) se fundan en esa idea, en la que también se basa gran parte del prestigio de Bateson como guru de Occidente. Un doble vínculo (o doble coacción) es un mandato contradictorio, adosado a un mandato complementario que prohíbe al mandado escapar del campo: "debes comportarte como tu padre" y al mismo tiempo "no puede hacer -por las leyes del incesto- lo que tu padre hace". Quizá podríamos ir más lejos en nuestras analogías y sugerir que la conducta esquizofrénica resultante de las dobles coac-ciones y la parálisis lógica concomitante a la contradicción en todos los modelos, inherente a la ge-neración de la cláusula vacía, son expresiones o metáforas de ideas convergentes, ya que no idénticas.

La adecuación del lenguaje Prolog para el tratamiento de las lógicas deónticas ha sido corrobora-da por nuestros colegas programadores de la cátedra de inteligencia artificial de la Facultad de Ciencias Exactas y miembros del GIDIA, lics. Osvaldo González, Marcelo Coniglio y Ricardo Rodrí-guez. Ellos han desarrollado un poderoso motor de inferencia o "demostrador de teoremas" de lógica deóntica en Arity Prolog, que permite alternar entre cálculo de proposiciones y cálculo de predicados del primer orden, escogiendo como reglas de inferencia ya sea tableaux o una combinación de ta-bleaux y resolución; la base de conocimientos correlativa a este shell habrá de ser, una vez implemen-tado el sistema, el Código Civil. Esta experiencia, junto con las ricas discusiones de ella emergentes, alcanza como demostración de la versatilidad del lenguaje. m) Lógica Temporal

Podemos esperar no que un cálculo del tiempo venga a sustituir un día a la metafísica del tiempo, sino, más humildemente, que el uso propedéutico de la formalización, obligando al filósofo a distinguir todas las afirmaciones mezcladas y a percibir a cambio todas las implicaciones enmascaradas bajo el manto de la metáfora, le inspire al menos a la reflexión filosófica sobre la naturaleza del tiempo la exigencia ascética de despojarse de sus oropeles y alejarse de sus coartadas.

Jean-Louis Gardies

Los antropólogos se muestran a veces ofuscados ante los modelos y teorías que no pueden dar

cuenta adecuadamente de la temporalidad, y en especial de esa dimensión histórica y manifiesta de la temporalidad que se reconoce bajo la forma del cambio. Marcos teóricos enteros, concebidos para dar cuenta de invariantes estructurales o centrados en una descripción congelada en el tiempo, se han descartado críticamente con el argumento de que no sirven para abordar la dimensión diacrónica. Numerosos etnólogos, encuadrados en variantes del marxismo o en el simbolismo, han cuestionado las bases lógicas de "nuestra" concepción del tiempo, la que nos ha dejado inermes para comprender ideas alternativas (cf. Fabian 1983; Friedman 1985). También se ha discutido la impotencia de los modelos lógicos frente a las secuencias causales circulares y a los fenómenos de retroalimentación.

Page 276: Antropologia y Programacion Logica

276

Gregory Bateson ejemplificaba de esta manera la inadecuación de "la lógica" para el tratamiento de casos que involucraran secuencias temporales o relaciones de causa y efecto:

Decimos: "Si se aceptan los postulados de Euclides, entonces dos triángulos que tengan sus tres lados iguales son iguales entre sí". Y también decimos "Si la temperatura desciende por debajo de 0º C, entonces el agua se solidifica". Pero los "si... entonces..." de la lógica del silogismo son muy distintos de los "si... entonces..." de la causa y el efecto. En una computadora, que opera por causa y efecto, en la que un transistor pone en movimiento al otro, las secuencias de causa y efecto se emplean para simular la lógica. Hace treinta años solíamos preguntar: ¿Puede una computadora simular todos los procesos de la lógica? La respuesta era afirmativa, pero la pregunta era sin duda equivocada. Debería haber sido esta otra: ¿Puede la lógica simular todas las secuencias de causa y efecto? Y la respuesta habría sido negativa.

Cuando las secuencias de causa y efecto se vuelven circulares (o adquieren formas más complejas aún que la circular) la descripción o trazado de esas secuencias en la lógica atemporal se torna autocontradictoria. Se generan paradojas que la lógica pura no puede tolerar. El circuito de un timbre ordinario nos servirá de ejemplo [...]. El circuito del timbre está armado de modo tal que la corriente circula cuando la armadura hace contacto con el electrodo en A; pero el pasaje de corriente activa el electroimán que aparta la armadura, haciendo cesar el contacto en A. La corriente deja entonces de circular por el circuito, el electroimán se desactiva, la armadura vuelve a hacer contacto en A, y el ciclo de repite. Si expresamos este ciclo en una se-cuencia causal, tenemos lo siguiente:

Si hace contacto en A, entonces se activa el electroimán. Si se activa el electroimán, entonces cesa el contacto en A. Si cesa el contacto en A, entonces se desactiva el electroimán. Si se desactiva el electroimán, entonces se hace contacto.

A

Diagrama 4.9 - Modelo de timbre según Bateson

Esta secuencia es perfectamente satisfactoria siempre y cuando quede bien en claro que las combinaciones "si... entonces..." son causales. Pero si se quiere hacer una mala broma y pasar los "si" y los "entonces" al mundo de la lógica, el resultado será escandaloso:

Si se hace contacto, entonces cesa el contacto. Si P entonces no P.

Los "si.. entonces..." de la causalidad contienen tiempo, mientras que los "si... entonces..." de la lógica son atemporales. De esto se desprende que la lógica es un modelo incompleto de la causalidad (1980:53-54).

El ejemplo de Bateson podrá parecer pertinente, severo e ingenioso, pero a nuestro juicio dista de tener esas virtudes y es más bien emblemático del desprecio profesional de los antropólogos hacia la formalización, de una actitud que decreta el fracaso de los modelos axiomáticos antes de siquiera pasar el dedo por el índice de los libros que los desarrollan. Los argumentos batesonianos son sustan-cial y formalmente incorrectos, y toda la lógica de la simulación ha sido distorsionada hasta un punto

Page 277: Antropologia y Programacion Logica

277

en el que el ejemplo deja de ser útil. Existe toda una teoría de la simulación, casi diríamos una disci-plina, un mundo intelectual, que Bateson ignora (cf. Zeigler 1976; Widman, Loparo y Nielsen 1988). En los modelos de simulación hay toda una delicada jerarquía de tipos lógicos (por utilizar un término frecuente en la jerga batesoniana) que el autor ha confundido sin remedio; y algunas de sus obser-vaciones, en fin, lisa y llanamente no responden a la verdad. Aunque la figura de Bateson en general nos simpatiza y no nos satisface cuestionar tan radicalmente a un científico laborioso, debemos se-ñalar al menos algunos errores manifiestos, errores que por otro lado son típicos de ideas que con res-pecto a la lógica acarician innumerables colegas:

1) La forma en que Bateson enuncia la secuencia de acontecimientos cuando la tiene que expresar en cláusulas lógicas omite pasos que había estipulado en la descripción discursiva del proce-so; daría la impresión que la diferencia introducida primero entre los respectivos "entonces" es olvida-da después, cuando expone los resultados "escandalosos" de pretender expresar en lógica un proceso temporal. Cuando Bateson transfiere la secuencia causal a expresión lógica, "olvida", por ejemplo, es-tipular los consecuentes ("si hace contacto entonces se activa el electroimán", etcétera). La traduc-ción que realiza de lengua natural a forma lógica, además, está plagada de incorrecciones: "hacer contacto" y "cesar contacto" no se corresponden en absoluto a "P" y "no-P". Y es él mismo quien identifica, por último, mezclando todos los tipos lógicos, los "entonces" del formalismo con los de la descripción causal.

2) Como "todo escolar sabe", ninguna computadora puede simular todos los procesos de la ló-gica, sencillamente porque muchos de ellos (el cálculo de proposiciones, por ejemplo) no son forma-lizables en un sentido riguroso. Cuando un formalismo es incomputable (y esto lo demostró Turing), no siempre cabe achacar a la máquina la responsabilidad. De todas maneras, si una computadora es un dispositivo complejo "que opera por causa y efecto", no se entiende por qué es imposible simular con ella "todas las secuencia de causa y efecto" con las que el aparato debería en principio congeniar.

3) El fundamento inmediato de un lenguaje de programación no es una empiria de causas y efectos entre "transistores", sino una teoría lógica. Es la capacidad expresiva de este lenguaje (y no el funcionamiento básico de una computadora, situado en un nivel de tipificación mucho más lejano y en principio irrelevante) lo que se debe correlacionar con el fenómeno simulado.

4) Un modelo cualquiera no "contiene" tiempo, como tampoco posee distancias, fuerzas, ob-jetos, personas, estructuras sociales o sabores de sopa; basta con que todo eso se pueda representar. Y nada hay en el tiempo (que cuando llega a nuestra teorías es un concepto) que impida hacerlo.

5) Las computadoras no instrumentan directamente simulaciones de la realidad, sino que dina-mizan los modelos lógicos construidos a propósito de ella. En el interior de esos modelos, no existe inconveniente alguno en aprovechar, en el momento interpretativo, las propiedades de la implicancia lógica para simular tanto sea la causación (con la que a veces se la confunde) como procesos que morfológicamente no se le parecen; de hecho, ese mismo aprovechamiento se realiza cuando se lee procedimental o declarativamente un programa de simulación. No por ello, como ya hemos visto, quien lee así un programa comete el error de identificar el comportamiento del mundo con el de la ló-gica; lo que se correlaciona en un programa no es en un sentido amplio el mundo y la lógica, sino un fenómeno y un modelo; las fases del comportamiento del modelo no son las consecuencias lógicas de las fases anteriores, ni aún un producto de sus causas, sino la mera consecuencia procedimental de la descripción realizada, consecuencia que bien podría ser indeterminada o aleatoria sin que por ello la implicación lógica desaparezca o las causas se esfumen. De todas maneras, ni siquiera a un nivel

Page 278: Antropologia y Programacion Logica

278

interpretativo la identificación de causa e implicancia es necesaria: el educto del programa puede in-terpretarse como una secuencia o correlación objetiva de acontecimientos, sin involucrar relaciones de causalidad.

6) Bateson ha desconocido por completo la existencia de lógicas alternativas y de formalismos constructivos de representación, como si en la forma que él mismo escoge para una representación del fenómeno más bien aviesa y paródica se agotaran las posibilidades representacionales imaginables. Ignora además la diferencia entre los lenguajes de programación procedimentales y los declarativos, y se expresa (equivocadamente) como si los que se utilizaron desde siempre en computación hubieran sido de esta última categoría.

7) Carece de sentido afirmar que la lógica no puede expresar el tiempo porque los "entonces" de la implicancia deductiva no son inherentemente temporales. Aparte del hecho de que las posibili-dades representacionales de la lógica no se agotan en la implicancia, Bateson debería saber que, por el viejo principio de la arbitrariedad del signo, no tiene por qué haber ninguna inherencia de este tipo entre el lenguaje y los referentes, entre el significante y el significado. El lenguaje no es mera iconici-dad, y por ello el sentido y la referencia no se encuentran limitados por las posibilidades del isomorfis-mo o las indexicalidad, como los sabios cargados de bolsas de Laputa. Pese a que no existen con-ceptos inherentemente ardientes o húmedos, es no obstante posible (hasta donde sabemos) hablar del fuego y del agua.

8) Correlativamente a la afirmación de la naturaleza ilógica del fenómeno, Bateson insinúa la insuficiencia empírica de la lógica. Esta postura implica que (más allá de toda descripción particular) existirían secuencias o clases peculiares de hechos que, por sí solas, ponen en tela de juicio las capa-cidades estrictamente formales de la inferencia lógica y de la racionalidad humana. Ahora bien, excep-to para el joven Wittgenstein, para Brand Blanshard y para algunos empiristas extremos, la lógica no es un espejo objetivo del mundo, sino una disciplina formal que se ocupa de la relación de implicancia (también formal) entre razonamientos que pueden o no referirse a él. Si los filósofos se hubieran ate-nido a la premisa de que la lógica debe "reflejar el mundo", la lógica difícilmente habría podido consti-tuirse, pues no existe ni existirá jamás ningún modo formal de asegurarse que la lógica subsume todos los tipos posibles o pertinentes de fenómenos, ni parece demasiado viable construir un formalismo convergente que de alguna manera reproduzca la totalidad de la estructura del mundo. Aún cuando se acepte la plausibilidad de sostener que a distintas estructuras de fenómenos deben corresponder dis-tintas lógicas8, ello no implica que no se pueda formular una lógica capaz de analizar formalmente el fenómeno de que se trate.

Sea como fuere, el problema de causación circular planteado por Bateson es expresable y susceptible de resolverse en cualquier formalismo con pasmosa facilidad, sin poner en peligro las bases racionales de la civilización de Occidente. Lo que sigue es un modelo de simulación de timbre batesoniano en el dialecto Turbo del lenguaje Prolog. Implementado en una máquina, el modelo no sólo funciona y la lógica no sólo sobrevive, sino que no se genera ninguna paradoja autocontradic-toria y el timbre suena en impulsos de 440 ciclos cada 5 centésimos de segundo, porque así lo ha especificado el programador. La cláusula "contacto" al final del procedimiento "desactivado" reenvía al principio de la serie, garantiza la circularidad del constructo y simboliza, en cierto modo, la es-

8 Tal es lo que se cuestiona en la disputa entre "monistas" y "pluralistas", formalmente idéntica a la querella entre "formalistas" y "sustantivistas" en antropología económica. cf. Haack 1982:246-257.

Page 279: Antropologia y Programacion Logica

279

tructura cíclica de la causalidad. El investigador puede introducirse en el circuito ingresando el nombre simbólico de cualquiera de sus etapas. predicates 4.19 contacto sonido activacion cese desactivado clauses contacto :- write("Hace contacto"), nl, sonido. sonido :- write("Suena el timbre"), sound(5,440), nl, activacion. activacion :- write("Se activa electroimán"), nl, cese. cese :- write("Cesa el contacto"), nl, desactivado. desactivado :- write("Se desactiva el electroimán"), nl, contacto.

Cualquier proposición, descripción o teoría mal o bien planteada puede modelizarse. Probable-mente las formas optativas de programar una simulación como ésta sean infinitas, aún cuando limi-táramos el lenguaje a uno solo. Pese a que Bateson aseguraba que la lógica no podía modelizar una causalidad circular, nosotros lo hemos hecho: el timbre suena. Este recurso al realismo escénico se a-grega con el objeto de complementar la prueba formal con un golpe de efecto pragmático, y para de-mostrar que nuestra crítica a la crítica batesoniana de la lógica no sólo presume de desbaratarla. Podemos también echar un ojo a la escena para que el ridículo sea abrumador: en computación, todo el mundo sabe que un programa bien estructurado (o estructurado, a secas) debe poseer una con-figuración circular.

¿Cómo es posible que un profesional tan venerado se equivoque tanto? La crítica de Bateson so-bre los supuestos límites representacionales de la lógica fracasa, indudablemente, porque el problema no se aborda ni remotamente con la garantía de los conocimientos necesarios para resolverlo. Esta ac-titud merece tipificarse. Entre antropólogos, posar de experto en lógica o en lo que fuere puede llegar a ser absurdamente fácil; la propia Mary Catherine Bateson, sin embargo, ha destruido el mito de la erudición batesoniana, revelando que su padre leía apenas un par de libros al año (Bateson 1989:98-99). Eso se nota. Pero el problema es menos el ojo que le falta a Bateson que la ceguera crónica de la antropología y de las ciencias conexas, en las que aserciones como la que estamos tratando invaria-blemente quedan sin contestar. Todas las críticas análogas que conocemos adolecen de idéntica fri-volidad y de una tendencia irrefrenable a encontrar escollos en los pocos lugares donde no los hay, o a imaginar que a los verdaderos dilemas se los puede superar a puro discurso y sin consecuencias, co-mo cuando en sobremesa se discute cuál es la más sabrosa de las comidas.

¿Cuál es la realidad? Sea pertinente o no la crítica de Bateson a la lógica, es sin embargo bien sabido que las lógicas convencionales no se prestan convincentemente al tratamiento de la tempo-ralidad, y de hecho la excluyen de toda problemática. El problema de las fallas de la lógica no pasa empero por donde lo imaginaba Bateson (el realismo causal), sino por la varianza o dependencia

Page 280: Antropologia y Programacion Logica

280

temporal de los valores de verdad. La explicación de este olvido, paradójicamente, parece ser de orden contextual e histórico:

Los pioneros de la lógica formal moderna fueron motivados principalmente por el deseo de representar los argumentos matemáticos de forma rigurosa. En consecuencia, y debido a la irrelevancia de las consideraciones sobre el tiempo respecto a la (in)validez de los argumentos matemáticos, pudieron ignorar en gran parte el hecho de que en los argumentos informales sobre asuntos no matemáticos el tiempo es a veces crucial (Haack 1982: 180).

Los lógicos académicos con frecuencia descartan o minimizan este problema -junto con proble-mas afines acarreados por las expresiones indexicales- argumentando que en la representación de ar-gumentos informales en forma simbólica se debe cuidar que el tiempo permanezca constante a través de todo el argumento. Algunos autores de primera línea, sin embargo, han sido sensibles al problema que representa la temporalidad; consecuentemente, se han propuesto dos estrategias distintas: en su obra más conocida, Willard Van Orman Quine (1960) insiste en que el discurso temporal se repre-sente dentro del aparato de la lógica estándar, interpretando las variables del cálculo de predicados como fluctuando no sobre individuos que perduran espacio-temporalmente, sino sobre "épocas". Ar-thur N. Prior, por el contrario, enfatiza la necesidad de adecuar el formalismo lógico al discurso tem-poral mediante una extensión que introduzca nuevos operadores temporales específicos (Prior 1957, 1967, 1968).

Hay alguna injusticia en el estereotipo que sostienen los antropólogos y que endilga a los lógicos escasa sensibilidad temporal. Las lógicas del tiempo no se agotan con los sistemas de Prior y de Quine; podemos incluir entre ellas los razonamientos de Aristóteles en torno de los futuros contin-gentes, los de Diodoro Cronos sobre el papel del tiempo en la implicación, las proposiciones modales temporalizadas de la tradición islámica, la teoría escolástica de la ampliación temporal, las matrices de Kripke, el sistema minimal de E.J. Lemmon, la lógica de la datación de Jerzy Los, la lógica de la su-cesión de los estados del mundo de Meredith, Rescher y Urquhart, la lógica tomista del movimiento de Laurent Larouche y la lógica direccional hegeliana elaborada por Rogowski. Algunos sistemas ló-gicos informales, atinentes a la dialéctica y a la historicidad, forman también parte de este rico con-junto, demasiado amplio y preñado de consecuencias para intentar resumirlo (cf. Gardies 1979). Hay mucho que explorar y que aprender antes de concluir que "la lógica no puede hacerlo".

Más que condenar la clausura intelectual de Occidente, expediente metodológico sospechosa-mente fácil, podríamos objetar el hecho de que las reflexiones antropológicas sobre la representación del tiempo, en su mayor parte, se desarrollaron haciendo caso omiso de esta tradición (cf. Ohnuki-Tierney 1969; Bloch 1977; Bourdillon 1978; Fabian 1983; Friedman 1985; Geertz 1987). En algunos círculos de debate, sin duda, ha sido de buen tono disfrazar de estrechez del pensamiento ajeno lo que no es otra cosa que ignorancia propia. Es cierto que Friedman menciona al pasar a Quine y a Witt-genstein, pero en ninguna parte hay una analítica detallada de las correspondencias y los choques en-tre las concepciones en pugna, ni una constancia documentada de que el autor está en posesión de todos los hechos filosóficos pertinentes. En general los antropólogos favorecen perspectivas del tipo "en la tribu X se sostiene una idea del tiempo distinta de la nuestra", sin saber que pensamientos muy semejantes a los que intentan describirse también han sido filosóficamente nuestros alguna vez9 y hasta han alcanzado con frecuencia un poderoso estatuto formal.

9 Es decir, han tenido oportunidad de pensarse en la lógica o en la filosofía occidentales.

Page 281: Antropologia y Programacion Logica

281

Pero más lamentable, sin duda, es la escasa preocupación por asimilar todos estos antecedentes que trasuntan las elaboraciones computacionales del asunto, al punto que entre las tres líneas inves-tigativas (lógica, antropología, computación) no se encuentran casi conceptos ni herramientas en co-mún, pese a que resulta obvio que todos están hablando de la misma cosa. Las excepciones (los pen-samientos de un Balandier vuelto posmoderno sobre la imagen informática del "tiempo real", las eru-diciones sintéticas de Jonathan Friedman y alguna otra comidilla suelta) no logran desmentir la ten-dencia (cf. Balandier 1989:160).

En las implementaciones de sistemas basados en el conocimiento (KBS), una de las cuestiones más delicadas del razonamiento temporal tiene que ver con lo que se ha llamado proyección: la deri-vación de conclusiones sobre lo que en un momento dado puede ser verdad a partir de lo que es verdadero en otro momento, y el mantenimiento de una estructura de conocimientos que permita almacenar y encontrar esas soluciones. Se trataría de algo así como un remedo formal de la experien-cia. En general se admite que la inteligencia artificial no ha desarrollado aún respuestas óptimas a este planteamiento; algunas estrategias implementadas, sin embargo, merecen referirse.

Modelizar el tiempo es dificultoso, pero posible. Los dilemas proceden menos de la insuficiencia de la lógica que de las flaquezas de la imaginación. Una de las primeras estrategias que procuraron enfrentarse al problema de la temporalidad fue el análisis situacional. Este método permite definir situaciones que representan intervalos de tiempo sobre los cuales se puede presuponer que ninguno de los estados pertinentes del sistema ha de modificarse. Un estado es simplemente un rasgo o pro-piedad que se pueda atribuir a este intervalo intemporal. Lo que se puede describir concretamente en un cálculo situacional son tales situaciones, sus estados correspondientes y las transiciones entre ellas. El análisis situacional en simulación de procesos existe hoy en dos variantes, una de ellas discreta y la otra continua, que difieren en la naturaleza de los algoritmos utilizados; cada especie se divide a su vez en implementaciones de tipo simbólico o de orden cuantitativo (cf. Widman y Loparo 1989).

Fuera del análisis situacional prevalecen dos modalidades contrapuestas y unilaterales, tal vez inevitables, que difieren en la forma de introducir el tiempo como variable en un programa lógico o en un sistema orientado al conocimiento. La primera tiende a concentrarse en la base de datos como si fuera la clave del problema; la segunda asume la información de la base como algo dado y se restringe a las operaciones que posibilitan realizar inferencias proyectivas o retroyectivas. En la terminología de McDermott, las bases de datos dinámicas se conocen como gestores de mapas temporales [time-map manager] y las funciones para desarrollar razonamientos temporales se definen como analizadores del sistema temporal [time-system analyzer]. Un programa que integre estas dos orientaciones se con-sidera un sistema de proyección temporal [time-projection manager] (Tello 1987:487-494). Es posi-ble profetizar que todas las formalizaciones conocidas acabarán fusionándose tarde o temprano en una heurística unificada, probablemente parecida a un algoritmo genético.

La modelización temporal disfruta de una frecuentación cada día más intensa; existen variados in-ventarios de sus características y numerosas exploraciones computacionales que afrontan los pro-blemas que presenta o que matrizan sus aspectos: determinismo temporal, granularidad, puntos e in-tervalos, límites difusos, persistencia, mediación, correlatos adverbiales, coexistencia, representación espacial, deixis (Kwong 1988). También la lingüística del discurso y la enunciación, la más sensible al fenómeno de la dependencia contextual, ha incidido en estos estudios a través de sus extensiones computacionales.

Más allá de los antecedentes venerables de Quine y Prior, en lógica computacional los referentes formales han sido más bien Rescher y Urquhart (1971), quienes han construido su modelo del Sistema

Page 282: Antropologia y Programacion Logica

282

R en torno de una rigurosa imaginería topológica. En este modelo se ha definido un operador de rea-lización temporal, t, complementado por otro operador deíctico de uso frecuente, n, que denota "ahora". Como ya lo hemos explicado otras veces, dichos operadores se pueden introducir en Prolog mediante el comando op, o se pueden expresar mediante nombres o términos de predicados. Las interfaces del lenguaje con la máquina son asimismo capaces de establecer con suma precisión qué significa "ahora" numéricamente. Mientras que la lógica proposicional común utiliza tablas de verdad, la lógica temporal de Rescher y Urquhart se sirve de un cubo veritativo en el que el tercer eje representa un conjunto de tiempos sobre el que se pueden mapear puntos o intervalos. Con posterio-ridad se han propuesto otros esquemas muy refinados, como el de Drew McDermott (1982); éste prevé tomar en cuenta el cambio continuo y la indeterminación del futuro, así como la multifurcación de futuros posibles. El advenimiento de los procesadores en paralelo, con toda seguridad, permitirá profundizar aún más en estas representaciones.

Hemos experimentado algunas formas de simular el tiempo en Prolog, ya sea aprovechando la temporalidad inherente a los procesos de computación de las máquinas de Von Neumann, o introdu-ciendo algoritmos especiales y estructuras de datos que se van modificando conforme se suceden aserciones y retracciones de premisas. Nuestros modelos de simulación de procesos elaborados como parte de los intercambios metodológicos con las investigaciones del lic. Hugo Yacobaccio, han de-mostrado la suficiencia y el poder del lenguaje para este tipo de representaciones. Las demandas de la categorización antropológica, concentrada ésta más en el polo de las estructuras que en el de los pro-cesos, no arrojan sobre la programación lógica ninguna presión insoportable, sino que más bien se en-cuentran en déficit, superadas por la magnitud de la oferta. Programando estrategias más bien sim-ples, es posible implementar simulaciones en reversa, generar retrodicciones, estirar o comprimir el tiempo simulado, modular suaves pendientes de continuidad o avanzar por saltos interválicos abrup-tos, y mostrar todo eso ya sea en números, en palabras o en imágenes. Uno de esos modelos, el más breve, figura en la cuarta parte del apéndice de la presente tesis. n) Lógicas de la Relevancia, Libres y Superevaluativas

Al igual que en el caso de la lógica modal o de la lógica no monótona, existe un amplio rango de

lógicas de la relevancia. Las más renombradas se conocen como el sistema R o sistema de la implica-ción relevante, propuesto por Anderson y Belnap (1962, 1975) y el sistema E, que surge de una com-binación de R con el sistema modal S4 para producir una lógica del entrañamiento (Anderson y Belnap 1975). El sistema R no debe confundirse con el esquema homónimo desarrollado por Rescher y Urquhart, aplicado al tratamiento lógico del tiempo.

Los lógicos de la relevancia objetan el formalismo convencional que deriva conclusiones válidas a partir de premisas irrelevantes (o que considera irrelevante la relevancia para determinar la validez de un argumento) y exige la relevancia de las premisas antes de considerar válida una conclusión (Ander-son y Belnap 1975). Desde un punto de vista algo más formal, y partiendo de la base de que el entra-ñamiento es la inversa de la deducibilidad, los lógicos de la relevancia afirman que B es deducible de A solamente si se usa genuinamente la derivación de B y no se hace simplemente un rodeo pasando por A. Para que B sea deducible de A, A debe entrañar B. Fogelin resume esta exigencia como la "re-gla de los negocios sin trampas". El sistema E restringe aún más la deducibilidad, añadiendo a la relevancia el carácter necesario y otras restricciones características de la implicación estricta, tal como se la definió en el sistema modal S4.

Page 283: Antropologia y Programacion Logica

283

La lógica de la relevancia no solamente restringe la noción de deducibilidad, agregando operadores específicos para la implicación relevante, sino que en ella, debido a diversos efectos de implicación, las reglas de inferencia clásicas (y ante todo el modus ponens) virtualmente no funcionan. Haack le objeta el hecho de que las consideraciones de relevancia son apropiadas para relegarlas a una dimensión retórica de la valoración de argumentos, más que a una dimensión lógica, y asienta sus sospechas respecto de que la relevancia es desesperadamente recalcitrante al tratamiento formal (1982:36-37, 227).

El argumento defensivo de Haack, casi siempre demasiado entusiasta en favor de las opciones conservadoras, es sólo en parte atinado. La relevancia de los antecedentes para probar los consecuen-tes es un aspecto que la lógica convencional en general no ha problematizado por cuanto ha estado más pendiente de las falacias que se suceden en el encadenamiento de dos o a lo sumo tres premisas, que de la estructuración de verdaderos sistemas lógicos. Haack olvida que la sustancia de los sistemas lógicos se constituye en base a condicionalidades deliberadas y sujetas a un juego acumulativo, y no primariamente en base a implicaciones estrictas acomodadas miembro a miembro. Nada impide que en uno de tales sistemas se fije una condicionalidad contingente de este tipo:

vuela(X) :- vive(X,oceanía), reproducción(X,ovípara). 4.20

Aunque el ejemplo es inductivamente indefendible y por lo tanto falaz de antemano, bien pudiera

ser que en un sistema real se filtren otros que no lo sean de una manera tan ostensible. El recorrido sinuoso de los procesos de inferencia por la masa de condicionalidades que se encadenan en un sistema real y el hecho de que no se pueda prever cuáles habrán de ser las preguntas, conjunciones y disyunciones que se propongan a un sistema, incrementan las posibilidades de incurrir en errores de relevancia. Ninguna heurística de procedimientos, hoy en día, ni siquiera en la más computacional de las lógicas, nos pone al abrigo de semejante amenaza.

Una vez más, el sentido hiperestricto que los lógicos otorgan al término diverge de la vaguedad connotativa y de la ideologización que se han apoderado de la palabra "relevancia" en antropología. Pero el caso es que la relación entre la relevancia lógica y la relevancia sustantiva, definida ésta última desde los parámetros axiológicos de una disciplina como la nuestra, dista mucho de ser una pro-blemática que alguien haya abordado formalmente alguna vez. Por desdicha, la soberanía de la lógica tiene que ver con la consistencia de las conclusiones a las que se llega, y no con la importancia huma-na, ética o ideológica de los asuntos que se tratan; ninguna capacidad de modelización inmuniza con-tra la trivialidad.

La relevancia relativa de un asunto por encima de otro (la situación política durante el régimen de Marcos en Filipinas versus la fabricación de bebidas fermentadas entre los subanum según Frake; las matanzas iniciadas por los paramilitares de Sukarno versus la riña de gallos en Bali según Geertz; la secundariedad de las cosas del estómago según Sahlins versus la muerte por hambre en Somalía) seguirá siendo materia eternamente opinable, por cuanto aún en una ciencia axiomatizada esa tensión atañe a la esfera de la interpretación y no a la de las relaciones formales en el interior de un modelo. Es probable que, pese a la seductora promesa que se esconde en su nombre, las lógicas de la relevancia sigan siendo por unos años irrelevantes a los fines de la formalización de nuestra disciplina.

De las lógicas llamadas libres no hay mucho que decir, salvo que su denominación vuelve a ser impropia desde la mirada de nuestra disciplina, por cuanto son acaso más "puras" (y más restrictas) que la lógica convencional. En efecto, una lógica libre es, en rigor, una formulación despojada de

Page 284: Antropologia y Programacion Logica

284

compromisos ontológicos, que no asume ningún supuesto acerca de la existencia o inexistencia de los términos singulares que la componen, lo cual afecta, de rebote, tanto al uso como a la interpretación de los cuantificadores (cf. Bencivenga 1986). Históricamente, estas lógicas se inspiran en las lógicas inclusivas de Jaskowski (llamadas así por Quine), inventadas en la década del 30 como sistemas de deducción natural capaces de admitir dominios de cuantificación vacíos. También tienen que ver con las lógicas libres los sistemas superevaluativos de Van Fraasen (1969), diseñados para superar las discrepancias entre distintas filosofías del lenguaje subyacentes al trabajo lógico, y las teorías for-males de la descripción de Lambert, Grandy y Bencivenga (cf. Bencivenga 1986:415-421).

Todas estas lógicas tal vez sean adecuadas para expresar ideas que en la antropología sociocultu-ral son recurrentes, tales como los conceptos teóricos (emic o etic) y las entidades míticas, cuyo trata-miento interpretativo, en términos convencionales de denotación, podría llegar a ser enredado o quizá imposible. Se trata no obstante de un ámbito demasiado viscoso y complicado como para que un solo investigador, proveniente de una ciencia extraña, se aventure en él sin la garantía de un apoyo especializado. o) Lógicas Promiscuas

Con el correr del tiempo, el eclecticismo acabó por penetrar en las especulaciones antropológicas

sobre la fundamentación, que es quizá el único territorio en el que cabría con alguna sensatez proscri-bir su práctica; testimonio de ello son, por ejemplo, los comentarios de D. Zeitlyn (1984) en los cua-les, situándose a la zaga de Cooper, Salmon y Evens, se introducen alternativas que son menos hete-rodoxas que heterogéneas y menos fundamentadoras que programáticas.

El argumento de Evens, espléndidamente escrito, afirma que el problema de la "mentalidad primitiva" siempre ha acabado degenerando en la presunción de que las funciones de esa mentalidad son análogas a lo que nosotros llamamos lógica. Discusiones recientes en el espíritu del neotylorismo, como las de Wilson (1970) o las de Horton y Finnegan (1973), participan de esta tradición. Para Evens la lógica (incluso las lógicas alternativas o la lógica levistraussiana de lo concreto) son impo-tentes para racionalizar lo que no es racional, "los modos de pensar que, de acuerdo con los trabajos hoy en día más autorizados, son constitucionalmente ambiguos" (1983:114). Y prosigue:

No es sorprendente que los antropólogos, de Tylor a Lévi-Strauss, hayan sostenido y reclamado haber resuelto el problema de la mentalidad primitiva dando por sentado que la "lógica" de las prácticas religiosas de los primitivos y las nuestran son estrictamente análogas. Como clientes inconscientes de su propia tradición filosófica, esos antrópologos difícilmente pudieran hacer otra cosa. Nuestra lógica sólo puede discriminar por un lado la lógica en tanto lógica y por el otro la no-lógica, pero no puede reconocer nada entre medio (1983:115).

Evens intuye una salida relativista al autoritarismo de la lógica occidental en la adopción lisa y llana de la lógica primitiva como modelo de cobertura. El concepto de primitivo no sólo denota -dice- lo que es anterior en el tiempo, sino también lo que es fundamental.

Al no poder construir un esquema lógico para dar cuenta de las prohibiciones del incesto entre los Nuer, Evens ha propiciado abandonar el campo de las lógicas convencionales y trasladarse hacia una "lógica vivida", una "ley de la naturaleza" elíptica que, formalmente hablando, no se sabe muy bien en qué consiste (Evens 1983:122-123). Reaccionando ante este retroceso que nos privaría de toda sustentación, Zeitlyn propone una nueva modalidad de lógica, reputando fallidos tanto los intentos de Reichenbach en física cuántica como los de Cooper y Salmon en antropología.

Page 285: Antropologia y Programacion Logica

285

La propuesta de Zeitlyn no es otra cosa que la lógica intuicionista. En este modelo, la ley de la doble negación trabaja en el sentido de que se encuentra legítimo deducir la fórmula siguiente:

p :- not(not(p)) 4.21

pero no se considera válida esta otra opción:

not(not(p)) :- p. 4.22

Lo cual, incidentalmente, coincide con una prescripción notacional y semántica del Prolog que no

tiene nada que ver con la filosofía intuicionista. El modelo de Zeitlyn excluye la reducción al absurdo, por cuanto en esa lógica nada se sigue de la afirmación simultánea de un hecho y de su contrario. Dice Zeitlyn:

Deberíamos discutir la relevancia de la lógica intuicionista para el caso de los Nuer. Esta es una tarea que debo delegar a otros que estén más familiarizados que yo con la etnografía. [...] Simplemente sugiero que deberíamos preguntarnos cómo sería la operación de esa lógica y cómo podría descubrirse que alguien la está utilizando. Las posibilidades deberían por lo menos discutirse, y sólo después se las debería rechazar (loc.cit.).

Lamentablemente, afirmar al mismo tiempo una cosa y la contraria conduce, sea cual fuere

nuestra intuición al respecto, a la imposibilidad de demostrar lo que fuere, a menos que se redefina en algún sentido exótico lo que quiere significar cuando se habla de deducir. Hay algo de poco convincente en la postergación de Zeitlyn de lo que, según sus palabras, vale la pena considerar.

Por desdicha, las elaboraciones de Evens y los comentarios de Zeitlyn no logran trascender la confusión entre la lógica efectivamente utilizada por los nativos (y que nosotros no vemos por qué ha de ser "racional" y no contradictoria) y la lógica a la que ha de atenerse el modelo que la describa. La diferencia básica radica en que en este último, las aserciones pueden ser contradictorias sin conflicto para el cálculo de sus consecuencias, ya que tanto la afirmación implícita de p y la negación no-p no son operadores, sino valores literales que un mecanismo de cálculo (como lo hemos dicho al principio) ni siquiera interpreta. Hay una diferencia tremenda entre afirmar en una cláusula:

idea(tribu_X) :- p, not(p). 4.23

y testimoniar mediante la aserción de un hecho que alguien sostiene ideas que, interpretadas por

el científico, puedan ser contradictorias, como en este caso:

idea(tribu_X, [p, not_p]). 4.24

Al haber confundido el lenguaje con el metalenguaje, la lógica con la metalógica, la racionalidad

del método con la de su objeto, las ideas de Zeitlyn y Evens (y con ellos, las de Salmon, Cooper y el propio Lévi-Strauss) dejan de ser pertinentes para lo que aquí cabe discutir.

Después de esta polémica, creemos percibir un proceso de dispersión en las pocas propuestas que se han publicado o comunicado en favor de alternativas lógicas. Algunas de ellas se acercan peli-

Page 286: Antropologia y Programacion Logica

286

grosamente a enunciados de sentido común, como si la construcción de un sistema lógico fuera cues-tión de añadir operadores o columnas veritativas, o de formular criterios explícitamente elásticos. En los últimos años han abundado opiniones episódicas como "habría que dar lugar a sistemas polivalen-tes, que reconozcan infinitos valores de verdad" o "habría que implementar mecanismos flexibles de razonamiento difuso o incompleto", sin que nadie se tomara la molestia de especificar cómo es que semejantes replanteamientos formales han de llevarse adelante y cuál ha de ser su escala, su límite y sus criterios de fundamentación. La mayor parte de los científicos que suscriben esos puntos de vista desconoce los esfuerzos que otros pensadores vienen realizando desde hace años en ese campo, esfuerzos que en alguna medida hemos tratado de documentar en los capítulos precedentes.

No por nada es más frecuente que estas opiniones se escuchen decir y no que se vean escritas. Si en algo Tyler tiene razón, es en que un sistema lógico difícilmente pueda ser verbal (cf. Tyler 1987). La palabra hablada es menos vinculante que la letra de molde, y en nuestra disciplina todo el mundo ha aprendido a pronunciar castillos en el aire sin sentirse comprometido. Pero si se habla de reformular la lógica (que en definitiva está compuesta por conjuntos de desarrollos axiomáticos), habría que rigorizar mínimamente los nuevos programas y brindar modelos de recambio explícitos, que posean un grado de instrumentalidad por lo menos equivalente al que se disfrutaba antes.

No satisfechos con la multiplicidad de las lógicas formales, o tal vez no conociéndolas con la familiaridad debida, algunos antropólogos han inventado otras nuevas, dotadas de operadores y términos capaces (según alegan) de dar cuenta de los matices de razonamiento más recónditos del pensamiento humano en general y de la mentalidad primitiva en particular.

Una de esas lógicas desviadas, la de mayor aliento poético es la propuesta por Bateson (1989:39). En ella sería válido este razonamiento:

La hierba perece; Los hombres perecen; Los hombres son hierba.

Este mecanismo de inferencia, denominado el "silogismo de la hierba" es, a todas luces, el mismo

que rige las metáforas. Su carácter transgresor es ostensible, pero ni aún así elude la posibilidad de implementarse en Prolog mediante técnicas de metaprogramación similares a las que ya hemos visto.

Otra de las creaciones en el campo de las lógicas alternativas es la del especialista en inteligencia artificial y antropólogo de la Universidad de Wisconsin en Madison, Sheldon Klein (1983). Se trata de un sistema que no fue satisfactoriamente discutido en oportunidad de su publicación inicial y que vale la pena examinar en detalle por lo que tiene de representativo y por la forma en que permite desplegar en su refutación, como argumento culminante sobre la expresión de unas lógicas por otras, algunas herramientas inducidas por la práctica con el cálculo de predicados.

El punto de partida de Sheldon Klein es un conjunto de razonamientos en apariencia sensatos, pero (como ya lo hemos verificado en otros capítulos) insanablemente erróneos:

Si el cerebro humano es una especie de autómata de estado finito (es decir, una especie de computadora) en el hecho de que debe realizar cálculos en una cantidad finita de tiempo, utilizando un número finito de pa-sos para manipular una cantidad finita de información en un espacio finito, entonces explicar la forma en que los seres humanos generan e interpretan la conducta sin utilizar una cantidad desmesurada de tiempo de pro-cesamiento es un problema mayor. Si se afirma que las reglas de conducta están codificadas en una notación equivalente a las estructuras de la lógica proposicional, uno se encuentra ante el hecho desagradable de que el tiempo de procesamiento se incrementará combinatoriamente con la magnitud de la base de datos. Las compu-

Page 287: Antropologia y Programacion Logica

287

taciones con una base de datos del tamaño suficiente para dar cuenta de las reglas de la cultura tomarían demasiado tiempo para permitir que la interacción humana proceda a un ritmo normal. [...] Se sigue entonces que las reglas de conducta deben estar codificadas de otra manera (Klein 1983:151).

Ya hemos demostrado que ninguna teoría concibe el mecanismo humano de procesamiento de información como si fuera un autómata finito (Klein debería haber dicho más bien una máquina de Turing), que el tiempo de procesamiento sobre una base de datos se incrementa lineal (y no exponencialmente) conforme a su magnitud, y que el problema es tal vez un seudoproblema, a la luz de la existencia de heurísticas y esquemas mentales que hacen que no toda alternativa conductual deba ser calculada cada vez como si fuera la primera ocasión en que ocurre.

Digamos además que es impropio en este caso hablar de base de datos, pues el dilema gira más bien en la naturaleza de las reglas de cálculo, y no tanto en la estructura o en la magnitud de los hechos a que esas reglas (como procedimiento de inferencia) se aplican. También cabe asegurar que en ningún momento, en toda la analítica de Klein, la codificación de los hechos simbólicos se vincula a algo que se parezca a una normativa de las alternativas de conducta a la mano.

Pero aunque toda la propuesta de Klein se funde en bases endebles y utilice terminología equívo-ca, vale la pena examinar esa "otra manera" en que según él se encuentra codificada la información cultural. La semblanza de esa lógica cultural alternativa es un tanto confusa. Dice Klein que el princi-pal componente de las reglas para calcular la conducta humana residen fuera del individuo, en ese fe-nómeno colectivo que los antropólogos acostumbran llamar "cultura". Este modelo contiene reglas de conducta codificadas en forma de operadores analógicos que relacionan descripciones de estados situacionales. Estos operadores se llaman Operadores Aposicionales de Transformación o ATOs; los ATOs reenvían a las teorías sobre la partición hemisférica cerebral que oponen los modos de razona-miento proposicional y aposicional y que consideran que esa oposición o división del trabajo se en-cuentra culturalmente determinada (cf. TenHouten y Kaplan 1973; Paredes y Hepburn 1976).

Estos ATOs serían al mismo tiempo un mecanismo analítico que puede ser utilizado para calcular la conducta humana por analogía, de una manera que evade muchos de los problemas combinatorios asociados con una presunta computación en base a reglas proposicionales. Muchos de los ATOs de una sociedad dada se encontrarían codificados en los artefactos materiales y simbólicos de su cultura, la cual serviría entonces como repositorio de los mismos. Los sistemas ATOs, dispuestos en comple-jas jerarquías e identificados con la cultura, son algo así como medios inconscientes por medio de los cuales los hombres en sociedad calculan la conducta por analogía.

Un conjunto de items que se refieran a los pares "varón"/"mujer", "joven"/"adulto", "odiar" /"a-mar", "luz"/"oscuridad", por ejemplo, serviría para formular la analogía siguiente (Klein 1983:152): X = El niño ama la luz Z = La niña odia la oscuridad : Y = La mujer odia la luz ?

Las operaciones desenvueltas por Klein definen algunas abreviaturas que luego no utilizan, se aplican a casos didácticos para los cuales sería tortuoso encontrar correlatos culturales significativos, no problematizan la toma de turnos entre las modalidades "diestras" y "siniestras" de procesamiento cerebral y dan por sentado en el lector un fondo de virtuosismo matemático que el propio autor domina a duras penas. Sea como fuere, el cálculo de la analogía se encarrilaría de este modo:

Page 288: Antropologia y Programacion Logica

288

X = 10101010 Z = 01100101 : Y = 01010110 ? ? = *Z(*XY) = 10011001 = El hombre ama la oscuridad

Como queda evidenciado en el ejemplo, no hay nada que caracterice al operador analógico y que sea matemáticamente distinto de una vulgar operación "proposicional" entre términos dispuestos en pares binarios. En ninguna parte del modelo existe la menor indicación respecto de otras formas no binarias de codificación básica, masivamente testimoniadas por la indagación etnográfica, ni se des-criben las operaciones analógicas que serían propias de esas estructuras polivalentes o difusas, ni se compara el rendimiento de la inferencia analógica con otras heurísticas en las que abunda la inteligen-cia artificial reciente.

No describiremos aquí ni la naturaleza matemática de los operadores aposicionales ni la sesgada ejemplificación, que recorre las prácticas adivinatorias del I Ching, la pintura navajo en arena y los mandalas de Extremo Oriente, además de otras cuestiones algo más cotidianas. Los malabarismos de Klein con las sumas binarias no hacen olvidar que su dominio de la literatura relevante y de la terminología técnica de la teoría de autómatas es bastante menos que discreta.

Si lo hemos comprendido bien, los operadores aposicionales trabajan en términos de analogías entre dominios, fenómenos y niveles que efectúan una función de atajo en la compleja maraña de las oposiciones binarias que constituirían, según Klein lo entiende, el modo proposicional de cálculo, a la larga identificado con toda la lógica. Llamativamente, los ATOs discurren a través del mismo tipo de binarización, por lo cual quedan al margen de toda la investigación reciente sobre la analogía (Sternberg 1977; Anderson 1981) o sobre la semántica difusa: como lo señala Stevan Harnad en sus comentarios críticos, las operaciones analógicas definidas por Klein (de tipo "A es equivalente a B") son simples relaciones proposicionales; la combinatoria ciega, por otro lado, no es el estereotipo co-rrecto de lo que en muchos círculos inclinados al irracionalismo pasa por ser lo "proposicional".

Klein coteja los modos proposicionales y analógicos como si tanto los primeros como los segun-dos tuvieran que vérselas con una retícula arbolada de oposiciones de tipo A/no-A, un poco a la ma-nera de Lévi-Strauss. Antes de aceptar las heurísticas de la analogía, deberíamos estar persuadidos que ese binarismo es un reflejo fiel del modo proposicional del cálculo, lo cual hoy en día es algo bas-tante difícil de aceptar. Según creemos, las investigaciones de Berlin, Kay y Rosch en Berkeley han arrojado todas esas maniobras de la lógica aristotélica de clases y de la teoría de conjuntos con-vencional al desván de los malos recuerdos, por no decir nada de lo que resultaría un cotejo con otras formas elaboradas de modelización. Recórranse nuestros programas lógicos o nuestros capítulos sobre las modalidades de representación del conocimiento, y a duras penas se encontrarán estructuras de ese tipo, hechas a la medida para que los adversarios de la computación aplicada diseminen sus lugares comunes. Las ideas de Klein sobre el procesamiento humano de la información corresponden a un pensamiento binarizante que ya se ha demostrado estéril y que es epistemológicamente anterior, incluso, a las fallidas aventuras de la antropología cognitiva clásica derivada de Goodenough.

Expresar en un lenguaje de la potencia descriptiva del Prolog los procedimientos del cálculo analógico, restringido a estructuras del tipo "A/no-A" sería harto sencillo, como ya hemos tenido

Page 289: Antropologia y Programacion Logica

289

oportunidad de corroborarlo a propósito de (por ejemplo) los esquemas de representación en forma de árbol binario o de clave clasificatoria. La construcción de un sistema cultural atravesado por ope-radores aposicionales se haría en primera instancia definiendo las oposiciones "proposicionales" bási-cas en términos de hechos y luego sobreimponiendo reglas de generalización equivalentes a los opera-dores de la analogía. Según parece, el razonamiento analógico no posee ninguna peculiaridad formal que lo haga inmune a la analiticidad y que impida, por lo tanto, describirlo en un lenguaje orientado a la descripción.

Los ejemplos provistos por Klein, por desdicha, no suministran una descripción lo suficiente-mente completa o clara como para representarla con alguna ganancia. Todo es insinuación y fragmen-tariedad, como si los razonamientos analíticos hubieran sido ganados por la analógica que suponen caracterizar y como si la contextura binarizante de los dominios modelados no pudiera impugnarse en nombre de frames y esquemas bien conocidos por la ciencia cognitiva y corroborados por un consis-tente trabajo de campo. El discurso kleiniano está atiborrado de esquemas imaginales que no lo didac-tizan, y que se aplican al margen de toda la tradición cognitiva y computacional en torno de las redes semánticas y los grafos conceptuales.

Oscuro en lo formal, el modelo de Klein se encuentra afectado además por la imposibilidad de una verificación de carácter empírico, que demuestre o que insinúe con cierto margen de plausibilidad que la conducta en los medios sociales que aborda es efectivamente reglada por el desencadenamiento de las operaciones analógicas que él describe. Después de la experiencia recabada por la ciencia cog-nitiva, que demostró lo difícil que es elicitar sin inducir e informar sin diseminar racionalizaciones, en-tendemos que una demostración semejante es imposible en principio, lo cual remite todo el esquema a las esferas de la pura especulación, impugnable incluso como axiomática abstracta. No lo seguiremos hasta allí. 4. La Antropología y el universo de las lógicas

Los capítulos anteriores han demostrado que, independientemente de la potencia representacional

de los principios lógicos que rigen by default, la implementación computacional de la lógica de predicados del primer orden sirve con suprema eficiencia como formalismo para la construcción de modelos fundados en lógicas no del todo coincidentes o discrepantes con el esquema apofántico asertivo binario convencional. Con ello hemos coronado el plan fijado por el equipo de Thayse, des-cribiendo una trayectoria más consecuente, exhaustiva y ordenada de la que siguiera él mismo.

Al margen de esa demostración (que se opera en esta tesis por primera vez) hemos trazado sin casi advertirlo un cuadro de correlaciones de problemas sustantivos de las ciencias humanas por una parte y elaboraciones lógicas formales por la otra. La elaboración de estas correspondencias no han sido aún expuestas en su versión definitiva en el transcurso de la tesis. Provisionalmente, dichas corre-laciones admiten acomodarse en un conjunto sistemático de pares ordenados:

1) La concepción de Kripke sobre los mundos posibles brinda un formato riguroso a la idea de los universos finitos de sentido de la fenomenología schutziana y a los "mundos con su propia lógica" que pretenden dar cuenta de un abigarrado conjunto de fenómenos cultura-les, cuando no de las diferencias culturales mismas.

Page 290: Antropologia y Programacion Logica

290

2) Las normas contradictorias de la lógica deóntica que perturbaban a Von Wright tienen su contrapartida en la hipótesis batesoniana del doble vínculo y en las elaboraciones de Fes-tinger sobre las disonancias cognitivas.

3) Los lenguajes presuposicionales de Van Fraasen articulan una expresión sistemática de los implicit meanings de Mary Douglas, de los enigmáticos unsaid y unspeakable de Stephen Tyler y de los "presupuestos que se dan por descontados" que pululan en textos que testimonian el tardío redescubrimiento antropológico y etnometodológico de la convencionalidad.

4) Las "extensiones" de la lógica modal re-expresan una idea interesante (pero bastante mal formulada) en el complementarismo de Devereux.

5) La polémica entre el monismo y el pluralismo lógico reproduce los sentidos y las in-flexiones de la querella antropológica entre el formalismo y el sustantivismo económico.

6) La lógica temporal axiomatiza algunas de las reflexiones construidas al abrigo de las mo-dalidades dinamistas, procesuales y diacrónicas del pensamiento antropológico. El trata-miento de la diacronía y el cambio en términos lógicos pone al descubierto dificultades que no habían sido previstas en los abordes que se atienen al sentido común. No por nada los modelos computacionales en los que prevalece la temporalidad son "modelos de simu-lación de procesos". Esta es una especie formal que se construye a falta de otra solución mejor, cuando todavía los resortes esenciales de un mecanismo sistémico son des-conocidos.

7) Del mismo modo, la lógica inductiva ha producido reflexiones que esclarecen los dilemas estadísticos y categoriales de la antropología transcultural, relacionando (programación lógica mediante) las estructuras de la representación de datos y el álgebra relacional con los teoremas formales de la inducción.

8) Hemos tomado registro de la concomitancia entre los grados de evidencia de la lógica intuicionista de Heyting y la semántica de prototipos de los científicos cognitivos, quienes hablan por aquel lado de intuiciones más o menos rotundas y por éste de valores de verdad más o menos taxativos.

9) La lógica multivaluada, por último, ha servido para indagar disciplinadamente problemas antes remitidos a un difuso "pensamiento prelógico", cuya lógica, en rigor, tampoco ha si-do sistemáticamente examinada en términos formales.

El registro es impresionante más por lo que anuncia como programa de investigación que por lo que concluye como indagación consumada. Creemos que muchas de esas concomitancias pueden ser metodológicamente significativas, y estamos resueltos a profundizar en su desarrollo cuando la ocasión se presente.

Es probable que la elaboración de modelos lógicos para ciertos espacios temáticos de la disci-plina se encuentre, de aquí a unos años, cotejando la fuerza de lógicas alternadas, puliendo los conceptos disciplinares al mismo tiempo que los inserta en matrices controlada y axiomáticamente distintas para observar, con toda intención y escrúpulo, cómo es que actúan cuando el escenario difie-re.

Page 291: Antropologia y Programacion Logica

291

En un segundo nivel de sistematización (ya sea porque no se contrastan con formulaciones lógicas históricamente dadas o porque lo hacen de un modo que ya ha sido descubierto) se acomodan los pares ordenados análogos de algunos problemas tradicionales, vertidos en una nueva matriz: la semántica de prototipos y la lógica difusa, el análisis componencial y las grillas de repertorio, el para-digma indicial (o la "inferencia clínica") y las heurísticas expertas. Ninguna lógica, ninguna práctica de representación, a pesar de la enorme distancia que media y seguirá mediando entre los desarrollos formales y las teorías empíricas, se nos ha revelado inservible a priori.

La reformulación de todos esos problemas en términos lógicos traza una perspectiva que cree-mos harto más homogénea, ordenadora y precisa que las que se han prodigado en el profuso género literario de los "replanteamientos" discursivos que periódicamente sacuden a la disciplina (Leach 1961; Hymes 1972; Sperber 1974; Rosaldo 1989). Un solo modelo vinculante (el de la programación lógica) congrega y asume las funciones de una cantidad indefinida de propuestas de renovación estra-tégica. Ante esta promesa, el peligro mayor que avizoramos es el de la desmesura, de la que periódi-camente los revisores preliminares de esta tesis no han acusado con alguna justicia, aunque sin parar mientes en lo restringido de los propósitos, de contrastarlos con los de esas obras mesiánicas. Que la nuestra no sea, como tantas otras, una intentona de replantear la antropología en su conjunto; nos da-mos por satisfechos con repensar sus métodos y con aportar una pequeña salida positiva a la crisis en la que, a despecho de aquellos grandes proyectos, nos hemos precipitado.

La lógica, entonces, tiene algo que decir, aunque la programación lógica merezca descartarse a largo plazo. Lo anteriormente expuesto confluye con las observaciones asentadas a propósito de las relaciones entre los tipos de problemas y los tipos de formalismos que requieren, comenzando a trazar las líneas para una futura correlación sistemática (típica, paramétrica, en el peor de los casos orienta-dora) entre clases de problemas antropológicos y modos lógicos de resolución. Para evitar que, como suele suceder, esa realización se postergue ad calendas graecas, la hemos comenzado a sustanciar en nuestros programas de aplicación.

Queda pendiente, de todos modos, dirimir filosóficamente la polémica entre monismo y pluralis-mo lógico, que es la más violenta y dificultosa de todas (cf. Haack 1979, 1982). Al igual que en la querella entre formalismo y sustantivismo, la disputa entre ambas facciones se articula sobre las ideas conflictivas de (a) una lógica universal para subsumir todos los problemas, o (b) una floración infinita o innumerable de lógicas particulares, que al obedecer a los dictámenes de la especificidad de los fenómenos que aborda, deja de constituir un marco fijo de referencia. Olvidado ya el simplismo de las categorías aristotélicas o kantianas, desacreditado el racionalismo que sostiene que toda la estructura-ción del mundo sale de nuestras cabezas, el punto es que no se sabe con certeza cuántas lógicas nos obligará a postular la variabilidad objetiva del mundo, de las sociedades y de las culturas.

No hemos podido aún gestar sobre un algoritmo irreprochable la recomendación en favor de una lógica determinada, en detrimento de otras. Tampoco nos hemos ocupado frontalmente de decidir cuál de todas las lógicas es la mejor construida o la más instrumental, pues entendemos que no hay un piso común para apoyar esta comparación. Dando quizá su cuota de razón al pluralismo, sos-pechamos que ello depende del problema al que corresponda aplicarlas.

Page 292: Antropologia y Programacion Logica

V

PROGRAMAS Y ESTUDIOS DE CASOS

0. INTRODUCCION

No se hace justicia a un mecanismo cuya capacidad de respuesta es exponencial respecto al nú-

mero de variables que trata si se lo describe a través de la secuencialidad de un medio escrito inerte, estático, incapaz de reflejar el comportamiento dinámico del objeto que refiere. En la propia descrip-ción del modelo computacional se tornan reflexivamente palpables las limitaciones de toda escritura discursiva (y por ende, de la lengua natural) cuando se trata de referir una situación móvil, un proceso decisorio que se ramifica, una deducción cuyas premisas se transforman, una interacción que se enri-quece en el tiempo, a despecho de que uno de los interactores sea una máquina: si el lenguaje escrito convencional es inadecuado para describir el modelo, como parece serlo, no cabe ni siquiera pensar en confiarle que dé cuenta sistemáticamente de la realidad, en permitir que se arrogue él ese delicado privilegio que es el de dar cuerpo e impulso al modelo mismo. Pese a que un lenguaje formal puede no ser mejor que la lengua natural para describir una dinamicidad cualquiera, es seguro que servirá de todos modos al propósito de simularla o de convertirse en un análogo. Aunque por otros motivos (que nada tienen que ver con la objetividad, ni con las certidumbres trascendentales, ni con el anhelo de construir imposibles teorías axiomáticas) alguna razón tenían quienes afirmaban que el pensamien-to riguroso requiere de una signatura o un lenguaje específico, de una Ars Signorum como la de Dal-garno o una Begriffschrift como la de Frege. Delegar en el lenguaje vulgar la responsabilidad de la modelización equivaldría a instaurar una discursividad que al mismo tiempo se erige en modelo y me-tamodelo, práctica de la ciencia y epistemología, hermenéutica y representación. Una formulación dis-cursiva no tiene límite y casi cualquier aserción le está como adherida, veniendo al caso para su cues-tionamiento o su defensa. El lenguaje natural ya tuvo su chance durante más de un siglo, y estamos como estamos, aunque no sólo sea por eso. El lenguaje común puede servir a muchos fines, desde la evocación en el sentido de Tyler hasta la polémica teórica a la manera de Harris, pasando por la na-rrativa, la crónica, la ironía, la dialógica y la heteroglosia; qué duda queda que seguirá sirviendo a e-sos propósitos y a otros, sin importar que a través de él mismo se proclame su caducidad. Pero no es creíble que el lenguaje de la cotidianeidad, con su peso y sus resonancias, constituya el material óp-timo para la representación modélica de las cosas, aunque en última instancia siempre deba retornarse a él. Hacer un modelo es, ante todo, romper con el lenguaje, aunque sólo fuere a título provisional.

A esta altura del desarrollo de la tesis, resultará obvio que en nuestra elaboración epistemológica optamos por un lenguaje formal, aunque insistimos muy poco en las habituales prédicas escolásticas en torno de las frases-bien-formadas y otros personajes familiares del folklore axiomático, porque to-do sistema computado presupone ya el control del parsing; y esa tarea, en buena hora, ha dejado de figurar en la agenda humana. Ahora bien, cuando el lenguaje formal es un lenguaje de computadora, el modelo ya no es sólo una expresión lingüística que puede comunicar algo, sino un programa que debe funcionar de alguna manera, y el criterio para evaluarlo es menos la elegancia abstracta de la for-mulación o su verosimilitud que la eficacia concreta de la computación resultante. El espectáculo no está en los arabescos del lenguaje, sino en los comportamientos modélicos que desencadena: el len-guaje los hace factibles al sentar un cauce y un orden, y reglas de juego que pueden ser arbitrarias y pobres, pero que al menos son reglas. Los ejemplos que figuran en el apéndice no pueden demostrar

Page 293: Antropologia y Programacion Logica

293

la fuerza de la programación lógica a quienes no los hayan visto en su versión computacional, funcio-nando a pleno y proporcionando respuestas. A escala de lo que se acostumbra en el gabinete antropo-lógico, podría decirse que la productividad de estos modelos en materia de respuestas es más que ex-ponencial: es, al igual que los universos lógicos que se generan y los espacios de búsqueda que se a-bren, incontablemente infinita, porque las preguntas a las que ellos pueden responder no han sido de-finidas de antemano y cualquier combinación, cualquier operación conjuntiva o disyuntiva es posible. Un modelo así se enajena a quien lo construye aún más de lo que las escrituras llegan a ser extrañas para quien las escribe, porque puede responder a preguntas que están más allá del plan inicial. Y esto es así no por virtud de los modelos concretos que hemos programado, sino por la potencia de cálculo de los formalismos abstractos que los fundamentan.

Razones de extensión nos fuerzan a incluir unos pocos programas, los más breves que hayamos diseñado para cada género y ciertamente no los mejores; una selección más adecuada habría desbalan-ceado este ensayo, haciendo aparecer los razonamientos que preceden a los ejemplos como si fueran un pre-texto. Hay que advertir que ningún programa agota, con sus objetivos explícitos, las posibili-dades resolutorias del campo que su interpretación cubre. Aquí sólo se trata de demostrar que la pro-gramación lógica forma parte de un proyecto poderoso y sensato, y no de resolver todos los proble-mas sustantivos que pueden surgir alrededor de una investigación antropológica circunscripta, a la es-cala obsesivamente magnificada en la que el especialista los percibe en el estudio de un caso. Pero son estos programas, la experiencia que trasuntan y su contexto de producción en intercambio con otros investigadores los que evitan que este ensayo sea (valga la paradoja) un enunciado programático de un entusiasta que no ha medido las consecuencias de lo que asegura, y que promueve utopías meto-dológicas sin tomarse la molestia de averiguar si son viables. En nuestro trabajo en cooperación con especialistas de áreas, han sido éstos (y no nosotros) quienes han pronunciado la última palabra res-pecto del valor de las herramientas desarrolladas y de la naturalidad de las soluciones provistas. Sabe-mos incluso que algunos de nuestros programas, pensados más que nada con fines didácticos y expe-rimentales, han seguido la ruta pirata y están siendo utilizados como si fueran herramientas acabadas dentro y fuera de la antropología.

No todas las idas y venidas de la elaboración pueden transcribirse, y es una pena que así sea. Un programa de computadora sólo es legible en pequeñas dosis, en los episodios en que se abordan infle-xiones definitorias de una estrategia, heurísticas nuevas, pruebas de importancia crítica. A los efectos de la documentación los programas incluidos son modelos completos, acabadamente implementados, pero en el cuerpo de la tesis sólo se describe a grandes trazos su estructura global y sus procedimien-tos fundamentales. Un listado de un programa fuente requiere una lectura estructurante, y de allí la a-bundancia de comentarios, las ilustraciones, las notas sedimentadas y convergentes. Hemos renuncia-do a explicar paso por paso la forma en que cada programa resuelve cada uno de los dilemas (antro-pológicos o computacionales) que se le plantean, y nos contentamos con indicaciones genéricas que podrán ser luego precisadas ante quien lo solicite. Ninguno de los programas incluidos es lo que se di-ce una entidad definitiva, ya que periódicamente volvemos sobre ellos para mejorarlos, ponerlos a prueba con mayor dureza o añadirles prestaciones. Un programa lógico no es, a fin de cuentas, una fi-nalidad en sí mismo, e igual cosa debería poder decirse del modelo que él encarna.

Los programas incluidos, sin embargo, pese a su declarada provisionalidad, funcionan y se expo-nen en público a quienes deseen formular un camino igualmente replicable, pensando en su optimiza-ción o en su escarnio. Esto es más de lo que puede decirse de tantos métodos antropológicos que se han propuesto y que, en el momento justo en que toca exponer una preceptiva de implementación ca-

Page 294: Antropologia y Programacion Logica

294

paz de garantizar su replicabilidad, cuando se levanta la fachada de palabras para exhibir sus resortes, se muestran refractarios a una expresión sincera. Aparte de funcionar mal o bien, nuestros programas proporcionan un punto de arranque concreto (al cual admitimos ampliamente perfectible) e insinúan líneas de búsqueda tendientes a una instrumentación más fluida de la inteligencia artificial en las ciencias sociales, o por lo menos de la programación lógica en la antropología. Al contrario de lo que ha sido característico de otras estrategias, asimismo, lo que se expone en esta tesis es menos la cons-trucción del momento metodológico de una investigación real basado en determinado formalismo, que la demostración axiomática y general de su constructibilidad.

Aunque nuestra motivación rehuye a las pedagogías, el aprendiz de Prolog puede extraer ya mismo de estos ejemplos pautas generales de programación que los libros de texto rara vez consig-nan: tratamiento integral de representación en pantalla, selección de rutinas, control de procedimien-tos, heurísticas, conversión de programas declarativos a procedimentales, organizaciones alternativas de bases de datos, representación de la incertidumbre, arrastre de probabilidades, herencia de atribu-tos por la pendiente de las jerarquías taxonómicas, construcción de motores de inferencia orientados a la clasificación y a la diagnosis. Todas las claves para el desciframiento de los predicados built-in in-cluidos en estos programas figuran en el Apéndice VIIa; los elementos no incluidos en dicho anexo son procedimientos y cláusulas ad hoc, lógicas o procedimentales, cuya explicación se desprende de la estrategia de resolución específica del programa en que aparecen. Aunque cada una de las solucio-nes computacionales ensayadas ha sido discutida en extenso con especialistas en programación o en inteligencia artificial, no estaría de más que algún antropólogo se plegara al debate. No vendría mal que el lector afronte las ejemplificaciones que proporcionamos como una instancia capaz de desmen-tirnos; eso sería preferible a que se las salteara, reputando los formalismos como un ornamento inútil, como un señuelo para deslumbrar incautos o como un rigor espurio, à la Gardin, concebido para im-presionar. Entendemos que un lenguaje de computación debería ser una referencia formal de dominio público que posibilita la comunicación entre científicos, como una lingua franca, y no una criptogra-fía privada consagrada a preservar el secreto de los métodos que no funcionan.

Por este motivo, los desarrollos adjuntos han procurado no ser idiosincráticos; se rigen por linea-mientos de programación propios de diversas versiones de Prolog que el progreso tecnológico ha tor-nado asequibles y promueven la replicabilidad y el acatamiento de estándares como un valor adicional. Los programas han sido escritos tal como se requiere para su implementación inmediata en un equipo tipo Personal Computer IBM Compatible con 512 Kilobytes de memoria mínima, a condición de con-tar con el programa intérprete. A la fecha [enero de 1991], el costo total de una base de trabajo para una implementación de este tipo insumiría en nuestro país entre mil docientos y tres mil dólares, in-cluyendo la máquina, el sistema operativo y el software. Los dialectos del lenguaje Prolog utilizados han sido los siguientes:

Turbo Prolog de Borland, versión 2.0 (cf. Turbo Prolog Reference Manual y Turbo Pro-log User's Guide; Townsend 1986; Schildt 1986; Smith 1988; Rich y Robinson 1988). Constituye el dialecto más vendido del lenguaje. Está dotado de una eficaz interface con el usuario y posee un enorme repertorio de predicados para tratar con la máquina.

Arity Prolog Interpreter, versión 4.0, de 1986. Distribuido por la Arity Corporation de Concord, Massachusetts. Incluye un núcleo de Prolog puro casi cien por ciento conforme al estándar de Edinburgo o Prolog de Clocksin y Mellish.

Page 295: Antropologia y Programacion Logica

295

Arity Prolog Compiler & Interpreter, versión 5.0, de 1988 (cf. Clocksin y Mellish 1987). Subsume al núcleo puro de la versión anterior y proporciona una poderosa interface de programación.

El Prolog/V complementario del Smalltalk/V de Digitalk, en versión de 1989. Esta es una versión ligeramente atípica del lenguaje, inserta en un entorno gráfico de programación o-rientada al objeto.

Micro-Prolog, versión 3.1 (cf. Clark y McCabe 1984). Es un producto originariamente desarrollado por Logic Programming Associates de Londres para sistemas Z-80 bajo CP/M. Aunque se aparta muchísimo del estándar, admite una interface de simulación de Prolog DEC-10, apta para problemas de mediana complejidad que no requieran solucio-nes instantáneas. Utilizamos una copia mínima del producto, restringida al intérprete, sin compiladores ni interfaces elaboradas.

Turbo Prolog, uno de los dialectos utilizados, parece ser conflictivo. Aclaremos, sin embargo, que todos los programas han sido escritos y puestos a punto en todos y cada uno de los dialectos de que disponemos, modificando las estrategias de programación conforme a su varianza tipológica. La decisión de adoptar el Turbo Prolog y de otorgar prioridad a las ejemplificaciones en este dialecto responde a sus extraordinarias condiciones de portabilidad: pese a que la sintaxis de los programas e-laborados en Turbo Prolog no obedece al estándar de facto, los programas aquí incluidos posiblemen-te se hallen entre los desarrollos antropológicos en inteligencia artificial más portables y compatibles que existen. En efecto, los usuarios del dialecto escogido suman más de un cuarto de millón en todo el mundo y las máquinas en que dichos sistemas pueden implantarse no son menos de treinta millones. Las posibilidades de que un eventual lector transcriba los programas en su instalación y obtenga el mismo efecto son por consiguiente mucho más amplias si se escoge esta opción. Todo ponderado, di-gamos que la elección de un dialecto difícilmente pueda defenderse sobre una base axiomática, pues el dialecto mismo está destinado a modificarse a la brevedad (dos años, como máximo, con tendencia a disminuir) para posibilitar su supervivencia en un mercado competitivo, y algunas veces sólo para simbolizarla. Durante el período de escritura de esta tesis, el Turbo Prolog ha desaparecido del mer-cado, reapareciendo con marca de fábrica PDC Prolog bajo la responsabilidad de sus diseñadores ori-ginales del Prolog Development Center de Broendby, Dinamarca. Admitimos de buen grado que este dialecto del lenguaje no es el ideal; ninguno lo es, en rigor, pero éste en particular no disfruta de de-masiado prestigio entre los puristas lógicos, por cuanto no se atiene al canon sintáctico y está regido por un control de tipificación que, en apariencia, restringe su flexibilidad (cf. Malpas 1987:422-430; Covington et al 1988:458-481; Tello 1988:377-384). Se ha dicho, por ejemplo, que en Turbo Prolog es difícil o imposible metaprogramar, asertar reglas, estipular cláusulas genéricas de cálculo de predi-cados de segundo o tercer orden y definir nuevos operadores. En general estas objeciones carecen de sustento, como todas las que giran en torno de afirmaciones proyectivas sobre lo que un lenguaje no es capaz de hacer. Un verdadero lenguaje, así se rija por una gramática de cláusulas generales, es siempre un formalismo casi ilimitadamente productivo, y sus límites de articulación, recursividad y e-ducción son muy difíciles de calcular de antemano. Sean cuales fueren sus peculiaridades en cuestio-nes de sintaxis, control de tipos y eficacia computacional, todos los dialectos de Prolog utilizados res-ponden a la misma fundamentación formal y al mismo plan genérico. Se ha demostrado, además, que el Turbo Prolog es lo suficientemente flexible como para oficiar de metalenguaje al propio Prolog de Edinburgo, y se han programado motores de inferencia capaces de simular una máquina lógica idénti-

Page 296: Antropologia y Programacion Logica

296

ca a la del lenguaje canónico (cf. Weiskamp y Hengl 1988; Rich y Robinson 1988; Floyd 1988; Hashim 1988).

El alcance del Turbo Prolog en materia de proyectos de inteligencia artificial excede a la del para-digma de la programación lógica en sentido estrecho. Hace pocos meses, sin ir más lejos, Berkshire Software ha anunciado la comercialización de un producto conocido como Neuralog, una herramienta para implementar redes neuronales programada en Turbo Prolog que habremos mencionado al pasar. Neuralog utiliza un algoritmo de propagación hacia atrás que proporciona soluciones aún en presen-cia de información incompleta, lo que lo hace en principio especialmente adecuado frente a las proble-máticas de las ciencias sociales, en las que la información taxativa, rotunda y cartesiana suele consti-tuir la excepción1. El consenso trata a las redes neuronales (paradigma del educto emergente) y a la programación lógica (paradigma del sistema de símbolos interno, o lo que es lo mismo, del hecho de disponer de una teoría) como concepciones opuestas. Y esto es lo notable: mediante una metaprogra-mación adecuada, Turbo Prolog -o el lenguaje que fuere- puede encarnar hasta a su propio inverso.

Nosotros mismos hemos desarrollado rutinas de metaprogramación que muchos autores reputan imposibles de implementar en ese dialecto. Pero al consumar algunos de nuestros programas en un lenguaje minimalista en lo que se refiere a sus posibilidades lógicas (comparado con dialectos más ex-quisitos como el Prolog del DEC-10, o el Arity Prolog) estamos demostrando al mismo tiempo que el Prolog en general posee excedentes de fuerza para responder a los requerimientos que se le designan. Por añadidura, la mayoría de los dialectos del Prolog son interconvertibles con cierta facilidad. Si al-guien aprecia más la "basicalidad" del Arity que la "pascalidad" del Turbo o la "lispidad" del Micro Prolog, es libre de convertir un dialecto a otro diseñando un programa en el metalenguaje que le caiga más cómodo para zanjar esa cuestión.

Los ejemplos que seguidamente se comentan no se resignan a ser meramente programas de com-putadora; hemos resuelto aprovechar la ocasión para discutir una serie de problemas fundamentales de la teoría antropológica, en un orden, un número y una tesitura que aspiran a un discreto grado de sistematicidad. Lo importante entonces no es la resolución contingente que implica la secuencia de planteos propuestos, sino el orden estructural y subyacente de los problemas antropológicos que así se delimitan, en la medida en que su conjunto quiere constituir un sistema. Al enfatizar el uso de un modelo particular para resolver un tipo genérico de problemas (énfasis viable por la posibilidad siem-pre abierta de usar notaciones deliberadamente vaciadas de referencialidad o aplicadas a otros domi-nios), cada ejemplificación deviene un pequeño ensayo autosuficiente sobre una cuestión antropoló-gica fundamental, más amplia de lo que la peculiaridad de los contenidos permitiría presuponer. Entre los problemas abordados destacan:

El análisis del nexo lógico entre las relaciones interpersonales observables y las estructuras so-cietarias susceptibles de predicarse en las teorías de la antropología social. Merced al análisis antedicho, la transición inductiva entre términos empíricos (hechos) y términos teóricos (re-glas) en un programa lógico.

El examen del estatuto científico del análisis de redes y de otros conjuntos analíticos similares, y el problema de la incorporación de formalismos forjados en otras disciplinas para el estudio de las relaciones sociales.

1 Se puede requerir amplia información sobre la programación de redes neurales en Turbo Prolog a The Berkshire Software Co., 44 Madison St., Lynbrook, N.Y. 11563, (516) 593-8019. Hay una breve referencia en AI Expert, v.4(12), diciembre de 1989, p.67.

Page 297: Antropologia y Programacion Logica

297

En conexión con ese tema, la posibilidad de generar un conjunto conceptual alrededor de re-laciones aún no lexicalizadas en el lenguaje científico, pero intuitivamente perceptibles en la representación formal o en la graficación de los escenarios sociales.

La diferencia (trazada una vez más en contraste con el antecedente levistraussiano) entre una axiomatización en el sentido euclídeo y una formalización como la que proponemos, que no exige axiomatizar la teoría que se modela para gozar de algún aval porque ella misma, en tan-to herramienta, ya está garantida por una fundamentación axiomática (cf. Geoghegan 1971; Rudner 1973:31-40; Schuster 1982:12-13, 124-125).

La representación disciplinar de los datos de archivo, el establecimiento de relaciones nuevas entre esos datos y la elucidación de la naturaleza de las mismas.

Correlativamente, el uso de conjuntos de datos como sistemas de premisas para fundar con-clusiones sobre los fenómenos socioculturales, o (lo que forma parte del mismo proceso) la conversión de los hechos a datos y de los datos a conocimiento.

Los modelos generativos subyacentes a las "gramáticas culturales" de la nueva antropología cognitiva, y el análisis de los procedimientos de construcción inductiva de una gramática (no sólo narrativa o textuaria) a partir de un corpus de hechos de diversa naturaleza.

La propuesta de una alternativa analítica que compense el fracaso ya indisimulable del para-digma indiciario de Carlo Ginzburg, de las estrategias semiológicas abductivas de origen peir-ceano caracterizadas por Thomas Sebeok y de la descripción densa de Clifford Geertz (cf. Ginzburg 1983; Geertz 1987; Sebeok y Umiker-Sebeok 1987; Reynoso 1990b).

La posibilidad de programar modelos cualitativos de simulación de procesos y estructuración o morfogénesis de sistemas, y el análisis formal de sus diferencias tipológicas.

La incorporación a la antropología de los formidables avances en materia de modelización cualitativa y explotación radical de la información difusa que se han materializado en el último decenio (cf. Widman, Loparo y Nielsen 1989; Negoita 1985).

La construcción de Sistemas Expertos de diagnosis y tipología, y el análisis de lo que revelan reflexivamente sobre los supuestos ocultos, los criterios analíticos, las heurísticas intuitivas y las operaciones metodológicas propias de la disciplina.

Por razones prácticas, hemos incluido el protocolo de los programas (el código fuente) en sec-ción separada, apretando la letra a fin de no multiplicar las páginas. Algunas rutinas participan de más de un programa y por ello se las ha escrito independientemente, para poder incorporarlas como mó-dulos. Los distintos dialectos de Prolog resuelven en forma distina la modularización de procedimien-tos; en Turbo Prolog, por ejemplo, se utiliza el predicado include; en Prolog estándar (donde es posi-ble asertar reglas y procedimientos) se acostumbra utilizar consult. Cada programa es ejecutable en sus propios términos, a condición de instalar en un dispositivo en línea los módulos redundantes que se señalan en las cláusulas de inclusión.

No se incluye el listado de los módulos de autoría ajena (típicamente, los predicados de toolbox), por cuanto se entiende que los mismos integran el producto cuya instalación se presupone para que los programas comiencen a ejecutarse. El apéndice incluye entonces cinco conjuntos de programas (siete modelos en total, sin contar las variantes de cada uno), destinados a verificar la adaptabilidad de los formalismos lógicos a otros tantos órdenes de problemas:

Page 298: Antropologia y Programacion Logica

298

1) Especificación y cálculo de relaciones, analizando la representación del parentesco y de los tejidos de relaciones sociales, y poniendo sobre el tapete las discusiones en torno de la axiomatización en antropología (KARIERA.PRO, AASISPAR.PRO).

2) Tratamiento de información en bases de datos relacionales y conversión de éstas en bases de conocimiento (SITIOS.PRO), aptas para acoger referencias casi sistemáticamente he-terogéneas e incompletas.

3) Construcción de modelos generativos, aplicados sucesivamente a la génesis de textos et-nográficos (COLBY.PRO) y a la inducción de reglas descriptivas de estilos artísticos (CALAGRAF.PRO), imágenes incluidas.

4) Diseño de modelos de simulación de procesos, aplicados a la predicción y retrodicción de pautas de formación de yacimientos arqueológicos (SIMULA.PRO).

5) Implementación de sistemas expertos, utilizados para reflexionar sobre las estrategias y heurísticas de la demostración antropológica y para practicar diagnosis sobre diversos ámbitos aplicativos, desde la paleopatología a la cerámica, pasando por la representación del conocimiento emic (AGENI3.PRO).

Salta a la vista que los casos son en esta ocasión casos metodológicos, tipos de problemas, es-tructuras de tratamiento, heurísticas genéricas, y no tanto casos etnográficos o arqueológicos de car-ne y hueso. El material sustantivo que ellos degluten es verdadero, y en al menos tres ejemplos (la ba-se de datos, el modelo de simulación y el análisis gráfico) constituyen soluciones metodológicas a in-vestigaciones previas e independientes; dos de estas indagaciones cumplen incluso con el canon ritual del trabajo de campo. Pero a fin de satisfacer nuestras propias exigencias de generalidad, los progra-mas son también arquetipos, modelos de modelos, lo que quiere decir que a los efectos de su presen-tación en estas páginas se ha otorgado más protagonismo a su extensibilidad o tipicidad que a sus ne-xos con las investigaciones originales; analizar esos vínculos obligaría, entre otras cosas, a reproducir los protocolos y los marcos teóricos primitivos, con los que no necesariamente estaríamos de acuerdo y a los que no en todos los casos estamos en condiciones de juzgar.

No se podría satisfacer la fundamentación pausada de un instrumento genérico y la resolución de problemas investigativos concretos en un mismo ensayo. Por ende, no se trasplantan a esta tesis pro-yectos ajenos, sino que se procura dar algunas claves sobre una posible ejemplificación del propio. Lo cual no quita que estos programas sean aplicables a una situación real, ya que en Prolog la máquina de producción de un comportamiento computacional, el motor de inferencia, está desacoplado de la base de conocimientos sobre la cual opera. Admitimos no haber analizado con el debido detalle el problema de la generalidad aplicativa; los programas son extensibles, pero la extensibilidad misma no está analizada en tanto tal y como asunto axiomático. Hacerlo nos hubiera precipitado en una meta-e-jemplificación que sería la punta de un giro complicado. El desacople entre mecanismo de cálculo y datos no es absoluto, lo que involucra que lo que se aplicará genéricamente es con más verosimilitud el núcleo de la heurística que el programa. Habrá que dejar esta analítica para un estudio posterior, dotado de un diseño específico. Cualquiera sea la importancia que se otorgue a los otros aspectos de la tesis, el comportamiento de estos programas y los indicios que arrojan sobre nuestras prácticas conceptuales y teóricas deberían ser la piedra de toque para evaluar la epistemología instrumental que alrededor suyo hemos procurado construir.

Page 299: Antropologia y Programacion Logica

299

1. Programas I y II: Relaciones

Las rutinas de los dos primeros programas ilustran el locus classicus del Prolog, e incidentalmen-

te se refieren al campo profesional más típico y antiguo del quehacer antropológico: el análisis del pa-rentesco. En el apartado en que presentamos las nociones básicas de la programación lógica ya men-cionamos algunas de las prestaciones potenciales del Prolog en este sentido, argumento que no repeti-remos aquí.

Dado que uno de los propósitos principales en la presentación de estos ejemplos es de carácter demostrativo, hemos construido la formalización partiendo de la terminología de parentesco que se utiliza en nuestra cultura. El nexo estructural entre los lenguajes lógicos y la lengua flexiva de los científicos occidentales, la incidencia de las pautas gramaticales que rigen en un contexto pragmático sobre las formas en que se axiomatiza la predicación, constituyen dimensiones no problematizadas hasta hoy, dignas de estudiarse alguna vez. Pero ni nuestra elección ni el reconocimiento de un dilema latente implican que el Prolog sea más ineficiente cuando se lo enfrenta a un sistema exótico que cuando tiene que modelizar hechos consabidos. Que la terminología utilizada sea etic o emic, que se haga referencia a los términos clasificatorios o a los de tratamiento, que se utilice una nomenclatura vulgar o un tecnicismo desprendido del análisis componencial, que existan una o múltiples denomina-ciones para un mismo vínculo o que diferentes vínculos se denoten por el mismo nombre, todo esto es, hasta donde alcanzamos a ver, absolutamente indistinto para un sistema de cálculo deductivo. Su efectividad no se ve en absoluto menoscabada por esos detalles que más bien conciernen a las vicisi-tudes de la interpretación.

Las verdaderas limitaciones se perciben como categoriales, y la responsabilidad por este estado de cosas le cabe más a la disciplina que al instrumento, por cuanto todo el problema se origina en la formulación discursiva que precede al modelo. Así como los casos posteriores revelarán otra suerte de carencias conceptuales, no podemos menos que lamentar aquí la inexistencia de una tipología de las formas relacionales, o de un análisis serio de las concomitancias entre lo estructural y lo relacio-nal. En antropología acostumbramos hablar, por ejemplo, de determinadas "estructuras sociales" sin plantear el problema de la naturaleza formal de las relaciones y de las regularidades predictibles que dichas estructuras deberían implicar por el solo hecho de haberse definido como tales. Viendo el mismo problema desde el ángulo opuesto, el hecho es que la antropología no ha desarrollado procedi-mientos formales para inducir una estructura a partir de la observación o descripción de una serie (re-gular o no) de relaciones, ni para deducir las relaciones sociales propias de determinada estructura. Tal vez sería más correcto admitir que existen diversas formas de hacerlo, pues en realidad lo hemos venido haciendo todo el tiempo; pero se trata de un proceso de inferencia reglado por el impresionis-mo, atiborrado de supuestos que no se han examinado nunca y que varía de un autor y de una escuela a otra, desde el momento en que todas las instancias involucradas son parejamente nebulosas.

No hay que fatigar demasiada bibliografía para advertir que ni el término "estructura" posee una denotación transparente, ni lo que se pretende expresar al invocar una "relación" social o interperso-nal está claro en absoluto. Lo mismo se aplica a sus equivalentes microanalíticos (como la "situación" de los etnometodólogos y los interaccionistas simbólicos, o la "transacción" de los pragmáticos y so-ciolingüistas) y a las "relaciones" que todo el mundo admite entre lo social y lo cultural, entre lo ma-terial y lo ideológico, entre la infraestructura y la superestructura, entre el individuo y la institución.

Page 300: Antropologia y Programacion Logica

300

Sabemos que esas relaciones existen y que merecen predicarse, pero ignoramos su naturaleza formal y no disponemos de un lenguaje que las exprese. Por ello decimos que la superestructura "re-fleja", "corresponde", "simboliza", "es una proyección de", "es concomitante a", "reproduce", "es un efecto de", "está correlacionado con", "se encuentra regulado por" o "evoca" la infraestructura (o vi-ceversa), sin poder echar mano de un vocabulario y de un método capaces de abordar, cuantificar o meramente describir con una mínima adecuación esa correspondencia tan patética y metafóricamente expresada. Este es el sentido, por ejemplo, de la crítica de Clifford Geertz al retoricismo relacional de Mary Douglas (cf. Geertz 1987; Douglas 1987):

El resultado de sus vacilaciones entre las versiones dura y blanda del sociologismo durkheimiano es que el vocabulario de Douglas para describir la relación entre "pensamientos" e "instituciones" es vaga e inestable. El pensamiento "depende" de las instituciones, "surge dentro" de ellas, "encaja" con ellas o las "refleja". Las instituciones "controlan" el pensamiento, o les "otorgan forma", los "condicionan", los "dirigen", "influen-cian", "regulan" o "constriñen". El pensamiento "sostiene", "construye", "soporta" o "subyace" a las institucio-nes. La tesis tartamudea. [...] Uno esperaría que Douglas finalmente procediera a cerrar los problemas plan-teados por el proyecto durkheimiano de alguna manera sostenida, explícita y frontal. Pero su método [...] deja el proyecto como lo encontró: a la deriva. Los comentarios, como lo señaló Gertrude Stein, no son literatura (Geertz 1987:37).

Crítica merecida, por cierto, aunque se compadezca muy poco con la renuencia geertziana a re-conocer, reflexivamente, la misma viga en el ojo propio y a admitir que la literatura (como también a-cordaría Stein) tampoco es espontáneamente ciencia.

Las principales querellas antropológicas pasan, en suma, por querer imponer una u otra dirección a un nexo que no puede medirse, que es casi imposible de expresar sin un generoso despilfarro de me-táforas y que jamás servirá para demostrar o explicar nada hasta tanto no sea objeto de un análisis con algún grado de penetración descriptiva. No son definiciones taxativas lo que aquí estamos echando de menos: lo que nos falta es un conjunto de conceptos relacionales básicos, capaces de tornar efectiva-mente posible y plausible la idea de una ciencia social. Como nos faltan conceptos relacionales en la misma formulación discursiva que constituye la fuente de aserciones para todo modelo, habrá que procurar extraer de la modelización, deductivamente, las nociones que, con todo rigor, cabría exigir que figuraran entre las premisas.

Como habremos de demostrarlo, con el advenimiento de los lenguajes descriptivos tenemos más posibilidades de expresar relaciones que conceptos para tipificarlas; en esta coyuntura, nuestra de-manda teórica es inferior a la oferta tecnológica, y esta diferencia marca el camino que resta recorrer. La implicancia entre todos esos órdenes conceptuales, referidos a la determinación y la causalidad, a las interacciones entre partes o entre el todo y las partes, dista de haber sido esclarecida alguna vez y en alguna ciencia, y sólo es a través de la modelización que algún día podrá ponerse en limpio o, en su defecto, descartarse como seudoproblema (cf. Bunge 1978).

Con la teoría de modelos que aquí desarrollamos, ofrecemos apenas la herramienta para plantear el caso, interactuar con el sistema desencadenando las consecuencias de la descripción y obtener al-gún resultado emergente. No deseamos alimentar la ilusión de que algo ha sido resuelto con carácter de cosa consumada. Como decía Gadamer, en la dialéctica del saber la prioridad la detenta la pregun-ta. Los modelos de redes y relaciones, hoy por hoy, muestran conclusiones para las que no hay premi-sas, encuentros que no corresponden a ninguna búsqueda; insinúan características formales del fenó-meno de la relación que no se sabe si son útiles o si perturban la búsqueda diseminando pistas falsas. Por el momento, puesto que las preguntas no se han formulado correctamente, es razonable profetizar que durante algunos años en este espacio seguirán escaseando las respuestas.

Page 301: Antropologia y Programacion Logica

301

La formulación de relaciones en Prolog es un segregado interpretativo de la estructura de una base de datos o conocimientos mínimamente conexa, expresada como conjunto de hechos y reglas de un programa. La capacidad del lenguaje para la inferencia interactiva de aspectos relacionales lo con-vierte en una admirable herramienta de relevamiento, pues él mismo es, técnicamente, un lenguaje re-lacional. En el estudio de relaciones es donde mejor se puede apreciar la conveniencia del entorno in-teractivo de operación con el lenguaje y la naturaleza de sus algoritmos recursivos. La estructura de separación de los datos básicos y las reglas teoremáticas podría incidir en la economía global del rele-vamiento: si las derivaciones están bien construidas, sólo los hechos inderivables a partir de otros ne-cesitarán estipularse.

La mera aserción de un hecho relacional sirve de cimiento a la construcción de cierta cantidad de hechos derivables. Como hemos visto, de padre(juan,pedro) podemos derivar hijo(pedro,juan) siem-pre que hayamos establecido la regla hijo(X,Y) :- padre(Y,X) o alguna cláusula similar, refiriendo o no otras reglas intermedias entre las condiciones antecedentes. Las posibilidades constructivas de gene-ralizaciones y estructuraciones de los hechos básicos mediante reglas son, en principio, ilimitadas, a condición de que se vayan estableciendo encadenamientos entre los predicados.

Incidentalmente, si consideramos los hechos de Prolog como correlatos de eventos observaciona-les y las reglas como criterios de formación jerárquica de términos teóricos, la necesidad de derivar estos últimos directamente de aquéllos, sin pasos intermedios (postulada por Hull 1943:284, Skinner 1953:35 y Hempel 1988:190), se desvanece por irrelevante. A diferencia de lo que manifiestan dichos autores, lo que va desde los "términos observacionales" anotados como hechos a los "términos teóri-cos" expresados en reglas es un procedimiento de condicionalidad y de implicación lógicas, y de nin-gún modo un encadenamiento de causas y efectos infiltradas en el discurso que, por alguna oscura exigencia mecánica, deban ser obligatoriamente contiguas.

Aún un entretejido de relaciones binarias simples nos permite analizar toda la estructura relacio-nal de un conjunto y aislar las propiedades de cada relación para llegar más tarde, en un proceso re-cursivo y reentrante, a caracterizar axiomáticamente todo el sistema, a conectar entre sí todas las reglas que lo articulan. El análisis ulterior de las propiedades de las relaciones (simetría/asimetría, re-flexividad/irreflexividad, transitividad/intransitividad) y de las constricciones de integridad (uno a uno, uno a muchos, muchos a uno y muchos a muchos) permiten construir down-to-top un sistema de infe-rencia en el que reglas progresivamente más ricas garanticen la deducibilidad de lo que quiere demos-trarse.

Relación Propiedades Constricción Simetría Reflexividad Transitividad

menor no no si muchos-muchos sibling si no si muchos-muchos padre no no no uno-muchos esposa no no no uno-uno ancestro no no si muchos-muchos

Diagrama 5.1 - Propiedades y constricciones

El cuadro 5.1 ilustra las propiedades y las constricciones de integridad de algunas relaciones bi-

narias propias del dominio del parentesco; luego veremos un ejemplo paradigmático de la forma en que se representan todas ellas en Prolog y de las consecuencias que permiten deducir.

Page 302: Antropologia y Programacion Logica

302

En general, la forma en que se expresan los hechos determina la naturaleza de las constricciones de integridad y de las propiedades, pero a menudo hay que recurrir a heurísticas y procedimientos ex-tralógicos para que el sistema (por ejemplo) no dilapide energías buscando más de un padre o de una esposa por cada sujeto. El correlato computacional de la constricción lógica constituye efectivamente una especie de heurística, en su grado más módico, y la forma que asume en un programa en Prolog es la que se conoce como "corte" [cut, denotado por el signo !], que impide la continuación del back-tracking. Como con todos los elementos lógicos y extralógicos del lenguaje, el corte ha sido repetida-mente indagado; los procedimientos de corte disponen incluso de una semántica específica (Sterling y Shapiro 1986:157-174; Lloyd 1984). Grosso modo, el número de cortes en un programa puede ser indicio tanto de la complejidad de la heurística o de la especificidad del asunto como de la precariedad de la programación.

Van Emden (1982) distinguió entre los "cortes verdes", que no afectan el conjunto de soluciones que el programa genera, y los "cortes rojos", que impiden a un programa hallar soluciones que de o-tro modo generaría. El "color" de un corte en tanto decisión representacional depende de la estructura del dominio de aplicación. El siguiente corte verde para el predicado binario padre impide que el sis-tema busque más de una solución a una regla determinada: progenitor(jesus,jose). 5.1 varon(jose). padre(A,B) :- varon(B), progenitor(A,B),!.

La expresión de reglas de simetría, reflexividad y transitividad en cláusulas de programación lógi-ca difiere en algunos respectos de su escritura en lógica simbólica no ejecutable. La simetría, por po-ner un caso, no puede representarse como lo dictaría la intuición, porque un predicado que se invoca a sí mismo (equivalente a una definición circular) desencadenaría un proceso de computación infinito. Este predicado

sib(A,B) :- sib(B,A). /* notación incorrecta */ 5.2

sería lógicamente aceptable pero computacionalmente incorrecto. Para denotar la simetría de una

relación hace falta recurrir a una relación adicional, de modo que ningún predicado sea su propio in-vocante: sibling(A,B) :- sib(A,B). 5.3

sibling(A,B) :- sib(B,A).

La transitividad, a su turno, se representa mediante pares de reglas recursivas, en las que la pri-mera regla denota el caso más simple y la segunda la versión más simple de cada posibilidad: ancestro(A,B) :- progenitor(A,B). 5.4 ancestro(A,B) :- progenitor(A,C), ancestro(C,B).

La potencia de las reglas recursivas es notable, y por ello se las emplea para denotar situaciones relacionales que impliquen vínculos de herencia (en el sentido lógico) y nexos complejos, repetitivos o ramificados. Obsérvese la economía y la elegancia de la regla doblemente recursiva que, sumada a las anteriores, describe la pertenencia de dos individuos a un mismo linaje, asentando la condición de que esos individuos (cualesquiera) posean un antepesado en común:

Page 303: Antropologia y Programacion Logica

303

mismo_linaje(A,B) :- ancestro(A,C), ancestro(B,C). 5.5

Aunque a primera vista no resulte manifiesto, multitud de dominios relacionales suscitan exacta-mente los mismos problemas que la analítica del parentesco. Se ha dicho que el método genealógico es para el estudio de sociedades pequeñas basadas en el parentesco, lo que el análisis de redes es para el análisis de las sociedades complejas, de las estructuras informales o impermanentes (lo que Victor Turner llamaría communitas) y de las relaciones e interacciones personales en un medio urbano. La expresión de uno y otro modelo en una signatura como la que brinda el Prolog podría llegar a conso-lidar o a recusar esa analogía, e introduciría en el análisis de redes una herramienta holgadamente ca-paz de superar el atascamiento metodológico en que dicha práctica se encuentra sumida, de creer en lo que claman sus críticos (cf. Shulman 1976). Asomémonos por un momento al tema.

El análisis de redes es un formalismo que ha disfrutado de un discreto favor en los años setenta y que en los últimos tiempos parece haberse estancado, luego de llenar unos cuantos centenares de libros y artículos con las grafías típicas de las formalizaciones discursivas derivadas de Kurt Lewin: grupos en estrella, redes circulares, multigrafos, cadenas y grafos valuados. Como lo expresa Boisse-vain, el análisis de redes es básicamente muy simple: se formulan preguntas sobre quién está ligado con quién, la naturaleza de esa ligadura y la forma en que ésta afecta al comportamiento (Boissevain 1979:393). Las áreas de aplicación preferencial del análisis de redes han sido la antropología urbana y el estudio de grupos.

Nótese que no decimos "teoría de redes", sino "análisis de redes", denotando una entidad episte-mológica de menor jerarquía; en cambio, sí hablamos de la "teoría de grafos" en la que aquel análisis reposa. Existen diversas tendencias en análisis de redes, algunas de ellas sin conexión entre sí, y la polémica en torno suyo cada tanto se renueva (cf. Mitchell 1969; Sanjek 1974; Thompson 1973; Whi-tten y Wolfe 1973; Wolfe 1978; Hannerz 1986:188-228). Pese a sus préstamos matemáticos, la base teórica del análisis de redes es notoriamente endeble. A nuestro juicio, el doble error de los network analysts radica en la elección del soporte físico de sus elaboraciones y en creer que cualquier conjunto de diagramas, inventarios de datos básicos y fórmulas matemáticas elementales es digerible e in-teresante como lectura antropológica y productivo como herramienta de análisis. Se podría decir que este tipo de estudios estaba técnicamente predestinado a desembocar en un callejón sin salida, en la medida en que desarrolló mediante ensayos más bien literarios formalismos esquemáticos y mecánicos que pujan por desplegarse realmente en un sistema de computación y no sólo por prodigar metáforas técnicas.

Esa es una de las razones por las que nunca se pudo pasar de una aritmética elemental en el tra-tamiento cuantitativo, de una teoría de grafos simplificada en la representación iconológica y de una inspección de sentido común en el examen cualitativo de los datos. Lo que debieron haber hecho los analistas de redes no es describir y analizar las redes empíricas en bruto, sino construir modelos for-males de esas redes, prestando atención a sus insumos, mecanismos de resolución e información de salida, para poder evaluar qué es lo que un análisis de esta naturaleza puede esclarecer y qué es lo que le está vedado para siempre. La falta de amarre conceptual entre el análisis de redes y el resto de la categorización disciplinar no es tan grave como la pobreza de lo que podríamos llamar su filosofía.

Por cierto, los recursos instrumentales se encuentran más afiatados ahora que cuando el análisis de redes experimentó su apogeo. En la actualidad existe un amplio repertorio de recursos formales para llevar adelante análisis de redes y relaciones, aunque no hayan sido precisamente diseñados con

Page 304: Antropologia y Programacion Logica

304

esa finalidad (cf. Sowa 1984). Para la mayoría de estos formalismos se dispone de métodos pautados de tratamiento computacional en términos de programación lógica en general y de Prolog en particu-lar. Algunos de ellos ya fueron descriptos cuando nos ocupamos de la representación del conocimien-to mediante redes semánticas, por lo que no volveremos a insistir en el tópico.

La más sencilla descripción de una red de tamaño reducido involucra tantas relaciones y recur-siones, caminos alternativos y conectividades que aún en un entorno computacional su complejidad pronto se torna difícil de manejar. Todo análisis responsable de una situación microsociológica invo-lucra una cantidad insospechada de condiciones y restricciones, la estipulación de numerosos supues-tos y diversos requisitos que las formulaciones discursivas normalmente pasan por alto. Una formula-ción discursiva relativa a redes de mediana complejidad no tiene posibilidad de construir un cálculo conexo, una estrategia modular o un circuito de realimentación de soluciones parciales, y es por ello que los problemas locales exigen extensas fórmulas matemáticas que a ningún científico social le agrada afrontar y que pocos están en condiciones de comprender. En lo que a nosotros respecta, ni si-quiera nos atreveríamos a emprender un análisis semejante (o cualquier aborde de las relaciones entre grupos sociales e individuos) sin contar con un recurso de representación y modelización (es decir, con una posibilidad de cálculo conexo) similar al que nos entregan los lenguajes de programación ló-gica. La única alternativa al uso de un instrumento de este tipo es el mismo arcón de fórmulas incone-xas que ha ocasionado el descrédito de esta modalidad de análisis. Como dice Boissevain:

Por varias razones, [los problemas simples que aborda el análisis de redes] han dado lugar a un arsenal de conceptos, términos o manipulaciones matemáticas que aterroriza a los usuarios potenciales. Los antropólo-gos, los sociólogos y los cientistas políticos han contraído fuertes deudas -demasiado fuertes, en mi opinión- con la teoría matemática de grafos. Como resultado, se encuentran en peligro real de morir sofocados por la jerga, la teoría y las técnicas desarrolladas para resolver problemas muy diferentes en otra disciplina. [...] La batería de técnicas con que los científicos sociales se han equipado para resolver las limitadas cuestiones que el análisis de redes puede resolver produce sobrecargas. Las moscas se matan con dinamita. Ciertamente, la ayuda de especialistas en estadística es necesaria si el número de informantes y variables torna problemático el cálculo. La mayoría de los cómputos, sin embargo, tiene que ver con un simple conteo de narices y con tabula-ciones cruzadas (Boissevain 1979: 393).

El diagnóstico de Boissevain es hasta cierto punto acertado, pero la solución que él propone (el

abandono de las técnicas rigoristas por otras más cargadas de subjetividad) no es mejor que el pro-blema que se tenía: posterga los dilemas, los cancela, en lugar de intentar resolverlos mediante una táctica más sagaz. Si los formalistas del network analysis se equivocaron al abrirse al influjo de plan-teamientos históricamente surgidos para responder a otras preguntas, sus críticos vuelven a marrar al proponer una estrategia inespecífica, que no sólo no proporciona las respuestas que se esperaban, sino que por añadidura no es capaz de formular interrogantes de un interés parecido.

Es cierto que los analistas muchas veces "estudian redes" en vez de utilizar el método de redes para responder a problemas antropológicos; es verdad que el despliegue de notación formal muchísi-mas veces va de la mano con la trivialidad, o que el desarrollo de cálculos obedece con más frecuen-cia a un impulso ad hoc y a una búsqueda a tientas que a una estrategia totalizadora bien planificada. Pero muchas de las críticas al formalismo de redes en tanto formalismo se tornan aburridas de tanto profetizar el mismo destino apocalíptico: la "desaparición del ser humano" en el laberinto de las fór-mulas, el "alejamiento del análisis de la vida humana", la "pérdida de las dimensiones afectivas" y de-más lugares comunes sentimentales que sólo demuestran que, sin necesidad o posibilidad de forma-lizar, la causa del irracionalismo mecánico y del cuestionamiento parasitario ha perdido, no menos que

Page 305: Antropologia y Programacion Logica

305

el cientificismo, todo asomo de imaginación (compárese Ottenberg 1971: 948; Kapferer 1973; Sanjek 1974:596; Boissevain 1979:393).

El siguiente programa sugiere un tratamiento de las conexiones y transacciones posibles entre los componentes de un grupo de seis tribus de Nueva Guinea del grupo Baruya (cf. Godelier 1986:14 y diagrama 5.7). Para el caso no es significativa la distorsión que se deriva de aplicar una modalidad mi-croanalítica a una problemática global. A partir de la estipulación de seis hechos se pueden construir, tal como se demuestra, una enorme cantidad de reglas de producción que permiten auscultar interacti-vamente el objeto de análisis y que liga todas las operaciones en un mismo plan de indagación densa-mente articulado. Protestar contra las matemáticas per se es reemplazar la indagación por una consig-na. Todo trabajo sobre redes, campos, interacciones, conjuntos, retículas, cuasigrupos, facciones y coaliciones se beneficia enormemente si se incorporan los conceptos y formalismos elaborados en el estudio de los grafos y sus propiedades (cf. Bondy y Murty 1976; Andrásfai 1977; Wilson 1983). Esta incorporación sería harto más viable en un entorno computacional que en una elaboración analítica corporal a la manera clásica. Pensamos que la teoría de grafos, adecuadamente expresada en un programa lógico, puede constituirse en una estrategia analítica fuerte y progresiva, a medida que las consecuencias del modelo se vayan elaborando. El grafo que describe los hechos elementales de la ba-se de conocimientos podría ser como éste:

Lohiki

Ivori

Tsimbari

Mbwei

Kapau Langamar

Mbwei

Los datos básicos que consignan las relaciones individuales de contacto entre grupos adyacentes asumirían esta forma:

contacto(lohiki,ivori). 5.6 contacto(ivori,tsimbari). contacto(lohiki,kapau). contacto(ivori,mbwei). contacto(kapau,langamar). contacto(kapau,mbwei).

A partir de estos hechos, ya mismo podemos comenzar a construir el tejido de reglas. La si-

guiente rutina regular define iterativamente el carácter recíproco de la relación, generando una nueva serie de hechos que permitirán luego recorrer el grafo conexo en todos los sentidos: reciproco :- contacto(A,B), assert(conx(B,A)),fail. 5.7 reciproco :- contacto(A,B), assert(conx(A,B)),fail.

Este procedimiento recursivo encuentra el paso entre nodos disjuntos mediante la estrategia de búsqueda que hemos caracterizado como depth-first: paso(A,A,[A]). 5.8

Page 306: Antropologia y Programacion Logica

306

paso(A,B,[A|P]) :- conx(A,N), paso(N,B,P).

Una vez en este punto, el investigador puede requerir al sistema respuestas sobre la conexión di-recta, indirecta o reflexiva en una estructura definible como un grafo acíclico directo (GAD), median-te un procedimiento como el que sigue: conexion(A,A). 5.9 conexion(A,B) :- conx(A,N), conx(N,B).

El problema con la rutina anterior (como con muchas otras cláusulas de la lógica del primer or-den) es que la respuesta que se obtiene es potencialmente redundante: el sistema nos entregará cente-nares de respuestas pleonásticas, en las que el recorrido por el grafo, aunque los nodos terminales sean próximos, discurre una y otra vez por los mismos puntos. Esta es una solución lógicamente co-rrecta, pero impráctica. Ocurre porque nadie le expresó al sistema, por vía de una metarregla, que la aplicación de una regla-objeto no debía ser redundante. Para examinar la conectividad en un grafo con evitación de redundancia habría que emplear una cláusula lógica metalingüística, de orden superior, coordinada con un procedimiento recursivo: conectado(A,B) :- conectado(A,B,[A]). 5.10 conectado(A,A,Visitado). conectado(A,B,Visitado) :- conx(A,N), not(miembro(N,Visitado)), conectado(N,B,[N|Visitado]). miembro(X,[X|Xs]). miembro(X,[Y|Ys]) :- miembro(X,Ys).

Hasta el momento todas las relaciones examinadas son de carácter cualitativo. De ser necesaria la cuantificación se la puede incorporar con suma naturalidad. La introducción de formalismos matemá-ticos en la textura del lenguaje de modelización se puede llevar a cabo, en general, sin discontinuida-des inoportunas, pues toda implementación de un lenguaje computacional incluye ya sea (a) los co-mandos necesarios para invocar rutinas compiladas en otros lenguajes, matemáticamente especializa-dos o (b) los predicados built-in requeridos para realizar las operaciones que haga falta dentro del mismo lenguaje.

Para medir, por ejemplo, la "densidad" de las conexiones adyacentes de cada nodo hay que agre-gar al procedimiento ciertos cálculos matemáticos relativamente simples. Conforme a la definición de John Barnes (1969:58-60), la condición para considerar densa las interrelaciones de un nodo determi-nado depende de que existan contactos adicionales para cada uno de los contactos adyacentes a "Ego,", el nodo de referencia original: densidad(A,Resultado) :- conx(A,B), conx(B,C), C\=A, 5.11 findall(A, conx(A,_), Lista), longitud(Lista,Numero), conectividad_total(Total), Resultado=100/Total*Numero. longitud([X|Xs], N) :- longitud(Xs,N1), N=N1+1, longitud([],0).

Page 307: Antropologia y Programacion Logica

307

conectividad_total(Total) :- elem(A), findall(A, conx(A,_), Lista), longitud(Lista,Total).

No interesa a qué fines analíticos sirva el concepto de densidad. El cálculo concreto podría ser cualquier otro, de la complejidad o naturaleza que se quiera. Observemos por un instante la fuerza del proceso interactivo y el modo en que se correlacionan las convenciones sintácticas relativas a la nota-ción de las variables con la significación de las operaciones: con sólo introducir una pregunta de es-tructura densidad(A,B), el investigador puede obtener una enorme cantidad de resultados. Si A es una variable ligada (supongamos, mbwei), el sistema le retorna el valor de su densidad correspondiente; si la variable ligada es B, el programa entrega el nombre del o los nodos cuya densidad sea igual al gua-rismo ingresado; si ambas variables son libres, se desencadena el cálculo de las densidades de todos los nodos de la red; y, por último, si ambas variables están ligadas, se confirma o desconfirma que el nodo que se indica posea la densidad que se estipula.

La naturalidad con que en un entorno de programación lógica se desenvuelve la incorporación de recursos formales por demás heterogéneos (y que acabamos de ejemplificar en una expresión mínima pero suficiente) torna oportuna la discusión de un aspecto metodológicamente crucial. Al disponer de un lenguaje formal con suficiente capacidad expresiva, de numerosas investigaciones sobre las corres-pondencias entre los grafos matemáticos y la lógica o entre la dimensión conceptual y la figurativa (v.g. Sowa 1984), de un instrumento versátil de representación del conocimiento y de un mecanismo de cálculo generalizado, adquiere por primera vez sentido la posibilidad de "incorporar un forma-lismo" (topológico, cuantitativo o lo que fuere) en el tejido de una elaboración antropológica. Desea-mos otorgar a este "incorporar un formalismo" un sentido técnico y una dinamicidad infinitiva análo-gos a los que posee la expresión "disponer de una teoría" en la epistemología de Sneed y Stegmüller, aunque la denotación de ambas expresiones posea escasos puntos en común (cf. Stegmüller 1983: 231-244).

En computación es muy común "pasar" de un lenguaje a otro para realizar procedimientos para los cuales el lenguaje original no esté convenientemente dotado. Los mejores dialectos de Prolog, por ejemplo, poseen interfaces a Assembler que refuerzan sus capacidades de bajo nivel y otros recursos que permiten que una rutina en Prolog sea "llamada" desde un programa escrito en otro lenguaje. El paso de un código a otro está regido por un protocolo de transferencia de parámetros, de modo tal que el educto del lenguaje saliente resulte inteligible como insumo del lenguaje entrante. La interface entre dos lenguajes de computación (caso extremo de inconmensurabilidad en la incorporación de un formalismo) proporciona el modelo ideal para repensar la relación entre dos formalismos distintos como una relación entre lenguajes heterogéneos, o entre "registros" especializados (en el sentido so-ciolingüístico de Halliday) de un mismo lenguaje.

Entre un formalismo y un discurso mayor que lo implementa debe existir entonces lo que po-dríamos llamar "congruencia de código": al formalismo se deben introducir datos que puedan ser pro-cesados en términos de aquél y del formalismo deben surgir, tras su procesamiento, elementos de jui-cio que sirvan de inmediato a los propósitos del marco general. Decir que la incorporación de un for-malismo es "imposible" o "forzada", es lo mismo que decir que difícilmente se lo pueda alimentar con insumos procesables y que dudosamente su educto (si es que se puede poner el formalismo en fun-cionamiento) proporcione algún indicio interpretable para y por la teoría que lo invoca.

Page 308: Antropologia y Programacion Logica

308

En las formulaciones discursivas de la antropología se da a menudo que los formalismos ocasio-nales o generales no poseen nexos efectivos de conectividad con los datos que conforman la descrip-ción básica o con las conclusiones a las que se cree llegar (v.g. Rappaport 1987). En un sistema inte-ractivo, en cambio, resultaría difícil mantener la expresión de los datos unida artificiosamente a un formalismo conexo sin que de inmediato el sistema comenzara a producir eductos indeseados: las má-quinas tienen razones significativas para volverse locas.

Afirmamos aquí que las reiteradas aventuras formales de la antropología, en las que se exploró desde la teoría de matroides hasta la investigación operativa, desde la teoría de los juegos a la ciber-nética, desde la teoría de catástrofes a las estructuras disipativas, estaban condenadas a disolverse y fracasar por insertarse en un medio inadecuado, como lo es el de toda formulación discursiva. Esta es la razón principal para que el uso de una táctica formal haya determinado la formación en el interior del cuerpo disciplinar de una serie de "antropologías especiales" incomunicables o, a menor escala, de subespecies restringidas, identificadas por el uso de una variedad puntual de formalismo.

Casos del primer tipo son la "antropología matemática" de David Kronenfeld, Paul Kay, Ballo-noff o Hans Hoffmann y la "antropología sistémica" de Richard Adams, Miriam Rodin, Karen Mi-chaelson, Gerald Britan, Randal Sengel y Magoroh Maruyama; ejemplos del segundo, la teoría de la decisión según Frank Miller (1965), el análisis dimensional de Lundy Dobbert, McGuire, Pearson y Taylor (1984), el análisis de caminos de Hadden y DeWalt (1974) y la teoría de juegos según William Davenport (1960). No es difícil imaginar por qué en lugar de avanzar en su equipamiento metodoló-gico la antropología ha constituido un auténtico museo de la vanguardia, una colección de herramien-tas extravagantes destinadas a no difundirse jamás: cuando los formalismos no se pueden incorporar al discurso normal, se forman alrededor de él otros tantos discursos especializados que lo convierten en algo que se parece demasiado a una finalidad. Al incrustar los formalismos en la carne de la teoría, y no en un modelo formal, las antropologías especiales surgen y se tornan indescifrables porque sus formulaciones discursivas se mimetizan con el estilo sintáctico y semántico de las signaturas desple-gadas por sus instrumentos favoritos. La perversión es cuádruple: en lugar de ser un recurso natural y generalizado de una disciplina, el formalismo deviene el emblema artificioso peculiar de una facción.

La antropología (como con justa razón se quejan los críticos del análisis de redes) ha importado formalismos sin preparar la atmósfera que ellos exigen para poder operar. El ejemplar límite es, en esta tesitura, la incrustación de momentos formalizantes en el limbo literario de la thick description abogada por Benjamin Colby (Colby y Colby 1986), caso que luego estudiaremos. Nuestra postura restablece la legitimidad de un principio bastante obvio, pero que los antropólogos usualmente pasan por alto: el habitat natural en el que una formalización puede engranar con su contexto y servir a de-terminados fines, no es el de un discurso primordialmente estético o argumentativo, sino el de un mo-delo formal.

Se falló, entonces, no tanto porque fuera "imposible cuantificar" (pues algunos de los formalis-mos intentados han sido de índole cualitativa), o porque en las ciencias sociales "los objetos sobre los que se razona no están bien definidos" (pues en muchos de los instrumentos formales los objetos son entidades abstractas menos importantes que las relaciones que entre ellos se establecen), sino porque una experiencia de ese tipo sólo tiene garantías transductivas y eductivas en el interior de un modelo con cuyas demás variables el formalismo pueda entenderse. Redes, grafos, matrices y demás álgebras pueden incorporarse a un desarrollo de investigación cuando existen ya los recursos para ingresarle los insumos en el formato y en el código requeridos, y cuando su output sirve para realimentar la totalidad del modelo como un resultado teoréticamente interpretable. La programación lógica brinda

Page 309: Antropologia y Programacion Logica

309

a la causa de la antropología formal una cualidad superlativa: el lenguaje lógico mismo (en este caso Prolog) es un medio que sirve para expresar directamente y otorgar contorno lógico a cualquier for-malismo imaginable, integrándolo de este modo al proyecto de resolución global.

No vamos a desarrollar aquí ni la totalidad del análisis de redes ni una formalización en regla de una aplicación reticular de la teoría de grafos; nos contentamos con exponer las piezas con las que objetivos como ésos pueden coronarse, de ser preciso, y con anotar proyectos acotados de esta natu-raleza en la agenda inmediata. Cada tipo de grafos (y, traducido a lo que nos importa, todo tipo de problemas antropológicos relacionales), impone una estrategia de resolución que habrá de ser tanto más útil, extensible y extrapolable cuanto más reflexiva sea su aplicación.

En algún momento se verificará que existe una palpable recurrencia entre los tipos estructurales de problemas y las clases de heurísticas que les corresponden con mayor fluidez, pues la herramienta surge, en un entorno de programación lógica, como una función o consecuencia del trabajo a realizar. En principio, concluyamos que las búsquedas y análisis sobre árboles finitos y grafos acíclicos direc-tos se resuelven con el núcleo del Prolog puro, los grafos finitos se atacan con el núcleo más la ne-gación y los grafos infinitos con Prolog puro, negación y lógica de segundo orden. La literatura es-pecializada abunda en ejemplos de conectividad formal entre las posibilidades del lenguaje y los prin-cipios de desenvolvimiento de los diferentes formalismos (cf. Kahn 1984; Sterling y Shapiro 1987: 266-283). Problemas y Programas

El primer problema al cual hemos de aplicar recursos de programación lógica es un tópico clásico

de la literatura antropológica sobre el parentesco. Se trata de una cuestión planteada por los estudios de Radcliffe-Brown (1931) y de Lévi-Strauss (1973) sobre el sistema matrimonial kariera, reelabora-dos matemáticamente por Kemeny, Snell y Thompson (1966), bajo la forma de un sistema axiomático que pasa por ser tan pedagógico como magistral (cf. Schuster 1982:119-124). Aunque sus ribetes son apasionantes, no historiaremos aquí el comercio entre el estructuralismo antropológico y las matemá-ticas, ni describiremos los sueños formalistas de Lévi-Strauss, a los que supondremos conocidos. Va-yamos entonces al asunto.

Es bien sabido que el estructuralismo ha suscitado unos cuantos empeños de tipo euclideano, y que el propio Lévi-Strauss pospuso el estudio de las formas complejas del parentesco en espera de una convivencia interdisciplinar más asentada con los especialistas en matemáticas. Como hemos juzgado estas aventuras en otra parte, no repetiremos aquí argumentos sobre la discreta opinión que en general ellas nos merecen (cf. Reynoso 1986a); en su lugar desarrollaremos ilustrativamente un caso. Los matemáticos expresan de este modo el conjunto de axiomas que definen el sistema:

Ax1: Cada miembro de la sociedad tiene asignado un casamiento-tipo. Ax2: Dos individuos pueden casarse solamente si son del mismo casamiento-tipo. Ax3: El tipo de un individuo está determinado por el sexo de un individuo y por el tipo de sus

padres. Ax4: Dos muchachos (o muchachas) cuyos padres son de tipos diferentes serán ellos mismos

de tipos diferentes.

Page 310: Antropologia y Programacion Logica

310

Ax5: La regla con respecto a si un hombre puede casarse con una mujer pariente en un cierto grado depende solamente de la clase de parentesco.

Ax6: En particular, a ningún hombre se le permite casarse con su hermana. Ax7: Dados dos individuos cualesquiera, les está permitido a algunos de sus descendientes ca-

sarse entre sí. Suponiendo que existen tres casamientos-tipo, a los que llamaremos t1, t2 y t3, la definición de

los tipos de los hijos a partir de los de sus padres obedecería a un esquema parecido al que se ilustra en este cuadro:

Tipo de los padres Tipo del hijo Tipo de la hija t1 t2 t3 t2 t3 t1 t3 t1 t2

El programa que ilustra esta axiomática es brevísimo, y su sencillez y transparencia ha permitido discutirlo en varios cursos de Prolog para antropólogos que hemos dictado hace pocos meses; en ellos se ha puesto de manifiesto la distancia que media entre las nuevas herramientas formales y el viejo mito matematizante de la axiomatización discursiva. La brevedad del programa ha permitido in-cluir diversas resenciones, que ilustran diferentes prestaciones de inteligencia artificial: aprendizaje de máquina, construcción dinámica de la base de conocimientos, separación de hechos y reglas, objetivos internos y externos, algoritmos recursivos versus iterativos, cálculo de datos faltantes y aserción com-pleta de datos. Los listados identifican esas estrategias mediante indicadores de comentario: un signo % al margen o un parágrafo encerrado entre /* y */.

La primera revelación que arroja el Prolog sobre la axiomática de Kemeny, Snell y Thompson es que no todos los axiomas expuestos son los suficientemente perfilados o informativos como para po-der expresarse en forma de regla lógica y generar luego un programa de comportamiento sensato y realista. Cuando pretendemos escribir cada axioma en cláusulas de Horn, cae de suyo que algunos son redundantes, que otros no establecen ninguna restricción a la libre combinatoria, otros son absurdos, otros se implican mutua y confusamente y otros son decididamente irrelevantes. Veámoslo por partes.

Los primeros dos axiomas no son problemáticos, aunque no son lo básicos que debieran. Si en la matemática axiomatizada de Peano el primer axioma enunciaba algo tan obvio como "0 es un núme-ro", no comprendemos bien por qué en la axiomática antropológica que ahora tratamos se omite una cláusula tan fundamental como "un casamiento es una relación entre personas de diferente sexo", la cual esconde el implícito, también válido y necesario para el cálculo, que establece que alguien no puede casarse consigo mismo. Si los axiomas definen el sistema progresivamente, quizá el tercero debería ir en segundo término y el segundo en tercer lugar.

Considerado por sí solo, el cuarto axioma no encaja con ninguna realidad humana, a menos que la sociedad kariera se suponga infinita y poblada de personas destinadas a no casarse nunca. Su de-pendencia del tercer axioma es tan manifiesta que ambos deberían ser suplidos por restricciones de otra naturaleza; el juego sucio de implicaciones recíprocas entre estos dos axiomas surge porque nin-gún otro nos dice con claridad que "en la sociedad kariera hay más de un tipo de casamiento" y que "el número de tipos en dicha sociedad no es dos, ni es infinito". Cegados los autores por la economía cruel de una axiomática superflua, nos escamotean información esencial y llevan la inferencia de la

Page 311: Antropologia y Programacion Logica

311

nariz para demostrar lo que se habían propuesto. En reemplazo del cuarto axioma debería figurar una regla adicional que limite e identifique el número de tipos existente en el interior de la sociedad, ya que ese guarismo, en virtud de la lógica del sistema, es fijo salvo condición de catástrofe; ese número recién se insinúa en una ejemplificación que, a todas luces, no se sigue de los axiomas admitidos sino que proviene lisa, llana y clandestinamente de la etnografía.

El sexto axioma sale sobrando, pues una vez validada la regla que define que un hombre y su hermana son de tipos distintos (retorcidamente entrañada en el Ax3), no es necesario en absoluto a-gregar esa especificación. El séptimo y último axioma ni siquiera sirve como tal, ya que en lugar de significar una restricción ilustra con suprema vaguedad lo que más bien parecería ser una consecuen-cia del funcionamiento de las reglas precedentes. Ni aún esa consecuencia, empero, se puede estimar idiosincrática del sistema kariera, por cuanto lo que en rigor denota es que en una sociedad humana e-xisten matrimonios y que algunos de quienes los contraen pudieran estar más o menos ligados a un antepasado común. Siendo que "algunos" y "cualesquiera" aniquilan la precisión de la regla y vacían sus contenidos, el sistema, en fin, nada perdería si se la quita.

Cabe concluir entonces que la axiomática matrimonial de Kemeny, Snell y Thompson (al igual que otras propuestas matemáticas derivadas del estructuralismo) no cumple las condiciones mínimas de un sistema axiomático, y que aún como esquema descriptivo informal del sistema kariera deja muchísimo que desear. Consecuentemente, un programa en Prolog fundado en la expresión literal de esos axiomas se comporta con una expresiva estupidez: por una parte, las personas se casan consigo mismas, con otras del mismo sexo o con sus abuelos; por la otra, la falta de especificación del número de tipos desata cálculos recursivos infinitos que desbordan en pocos ciclos la memoria de la máquina. Lo primero es surrealista, inaceptable para la moral kariera o etnográficamente falso; de lo segundo no tienen la culpa ni Gödel, ni las tecnologías de transición, ni el carácter abstracto que según se dice poseen las axiomáticas: como diría Turing, el modelo es incomputable.

Informalmente podría añadirse que el modelo matemático es incorrecto, desprolijo e inconsis-tente, para decir lo menos. Como axiomática cabal no es ni siquiera mala, pues aún lo malo admite mejorarse y el único remedio aquí es olvidar la propuesta y hacerla de nuevo. Sabemos muy bien que no hubiera sido preciso pasar por un programa en Prolog para llegar a esta conclusión, que se deduce de cualquier lectura parsimoniosa. Lo importante, más bien, es que es imposible comenzar siquiera a formalizar el esquema en términos de programación lógica sin que las limitaciones señaladas se re-velen con toda la evidencia y en toda su abismal magnitud.

El programa en Prolog que sintetiza el funcionamiento del sistema kariera no pretende posar de axiomática y se conforma con que sus diversas reglas de complementen para habilitar cauces de cál-culo y predicción de la mejor manera posible. No hay por qué forzar una axiomática cuando la repre-sentación inicial es ordenada y conexa. En todo caso las axiomáticas se podrán inducir después, una vez que los resortes esenciales del sistema se hayan testeado suficientemente. Siempre y cuando, por supuesto, exista una marca categórica que diferencie, en un programa lógico, lo que es una axiomá-tica de lo que sólo es un buen programa o modelo no redundante y bien construido.

En Turbo Prolog se puede cerrar un programa, estipulando un objetivo interno, o se lo puede dejar abierto a la interacción con el usuario, a fin de ejecutar sólo aquellas operaciones que se deciden sobre la marcha o que se desatan como implicancia de una prueba constructiva. En el caso I se ha preferido dejar el programa abierto, para que las consecuencias que se derivan de los datos y los prin-cipios teóricos que los ordenan se puedan examinar en libertad. El modelo proporciona asimismo un

Page 312: Antropologia y Programacion Logica

312

pequeño núcleo experimental, un conjunto de prueba neutro, tejido en torno del siguiente relevamien-to imaginario:

En el programa la textura de los datos y las reglas son autoevidentes y casi analógicas: los datos genealógicos son hechos de Prolog, las reglas matrimoniales son reglas del lenguaje. El núcleo del pe-queño modelo conduce de lleno a la resolución de la cláusula madre, que es sin duda casable(A,B), pregunta a partir de la cual se tejió toda la estrategia de representación. Todos los hechos son transi-torios, imaginarios o hipotéticos, por más que pretendan ser fieles: pero una vez obtenidos resultados aceptables en la ejecución de dicho goal, podrá omitirse toda referencia a datos concretos o aplicarse el conjunto de reglas a otros conjuntos elicitados; las reglas remanentes constituirán espontáneamente una "axiomática" harto más escueta que la que urdieron los matemáticos, pero que posee por encima de ésta la cualidad de la consistencia interna y la capacidad de funcionar.

La condición necesaria para que el predicado binario casable pueda resolverse cubriendo toda la muestra es que todos los tipos individuales sean calculables. La segunda versión muestra prestaciones de lo que ha dado en llamarse aprendizaje de máquina; en ella, el cálculo no es exhaustivo a menos que se solicite previamente al sistema que establezca primero todos los tipos que sean deducibles de los hechos asertados. Si se ejecuta la cláusula de aprendizaje antes de calcular los individuos mutua-mente casables, la probabilidad de cubrir todo el universo es mayor y llega a ser completa en condi-ciones óptimas. En la versión estándar se presupone que el sistema posee de antemano toda la infor-mación susceptible de elicitarse, lo que generalmente es el caso. En ambas versiones está latente la posibilidad de que algunos cálculos desborden la capacidad de la memoria, por cuanto las reglas para determinar el tipo matrimonial se invocan a sí mismas recursivamente.

El aprendizaje de la máquina es, desde ya, una metáfora, una ficción oportuna, una analogía an-tropomorfa que describe mediante un concepto conocido el comportamiento del modelo. De más está decir que luego de sus sesiones de aprendizaje la máquina sigue siendo tan inerte y estúpida como siempre lo ha sido, pues en rigor no es ella la que aprende, ni hay ninguna entidad que verdaderamen-te aprenda; más bien es el sistema lógico el que ve incrementada la suma de premisas desde las cuales debe originar el cálculo de las inferencias.

Cabe concluir nuestro comentario del primer programa trayendo de nuevo a colación la pregunta, para muchos crítica, sobre si la ciencia social debe o no tender a axiomatizarse. Mucho se ha argüido a favor o en contra de la idea: algunos la impulsan como el objetivo último del trabajo científico; o-

Page 313: Antropologia y Programacion Logica

313

tros sostienen que esa axiomatización es difícil, imposible o indeseable, "dado el carácter concreto del objeto de las ciencias sociales, a diferencia de las abstracciones lógicas o matemáticas" (Schuster 1982:12; Rudner 1973). Al disponerse de instrumentos mecánicos de cálculo conceptual, pensamos que la disyuntiva, por bien planteada que haya sido alguna vez, carece de vigor y relevancia en los días que corren. No debería resultar sorprendente que expresemos ahora que no estamos a favor de la axiomatización, por reputarla o bien un objetivo inútil una vez que la herramienta a través de la cual el modelo se expresa posee ya de por sí una fundamentación axiomática, o bien una meta imposible cuando el ejercicio del razonamiento deductivo es convencional y no está inmunizado contra fallas. Tampoco estamos sin embargo en contra de la axiomatización. Si los hechos de partida tienen una a-natomía axiomática, tanto mejor; pero no es razonable abismarse en la fabricación de esa contextura, ya que en un entorno de programación lógica todos los hechos ya son axiomas por definición. Dado que en ese ambiente de trabajo el procedimiento de cálculo es mecánico, no tiene caso que el investi-gador humano finja comportarse con la inexorabilidad de una máquina, prodigando fórmulas telegráfi-cas, sujetas a reglas adicionales en tanto axiomas, cuya interrelación desata a su vez numerosas impli-cancias difíciles de mantener bajo control.

El segundo programa (AASISPAR.PRO) desarrolla en su totalidad el modelo de cálculo de las relaciones de parentesco con el que comenzamos la ejemplificación de esta tesis, mostrando la forma de establecer un tejido progresivo de reglas conexas y parcialmente solapadas a partir de un conjunto minúsculo de hechos iniciales. El origen de este programa tiene que ver con nuestros ejercicios en enseñanza del lenguaje, de modo que se ha rodeado el núcleo lógico de una minuciosa interface de usuario para que quedaran ejemplificados todos los predicados procedimentales del Prolog. El domi-nio escogido no es esotérico, y concierne a la propia familia del autor, vinculada por reglas que repro-ducen nuestra terminología coloquial de parentesco. El programa es un logicial de consulta, capaz de acoger dinámicamente información parental de otros individuos y de buscar luego relaciones es-condidas entre los conjuntos. Es posible desactivar los objetivos internos del programa y utilizar el conjunto de reglas como punto de partida para relacionar cuestiones de parentesco con otros aspectos de la vida social en una comunidad más o menos ligada.

Page 314: Antropologia y Programacion Logica

314

2. Programa II: Base de datos relacional

Al ocuparnos de los formalismos de representación del conocimiento antropológico, tratamos a

grandes rasgos las equivalencias entre las operaciones y estructuras fundamentales del modelo rela-cional de base de datos y las cláusulas de Prolog que permiten desarrollar las primeras y representar las segundas. La incorporación de las prestaciones inteligentes de la programación lógica al trata-miento de información es capaz de transformar el viejo concepto de la acumulación de datos en un instrumento de representación del conocimiento y de cálculo de las consecuencias que de él se deri-van. La que trataremos en este apartado es una simbiosis especialmente creativa y poderosa, aún en plena ebullición en el mundillo de la computación científica: si el álgebra relacional y el lenguaje des-criptivo son separadamente soberbios, podríamos decir, parafraseando a Gray y Lucas (1988) que juntos son dinamita.

Es sabido que existen dos modelos básicos de estructura de bases de datos computacionales (DBMS), aparte de unas cuantas implementaciones mixtas. Las bases de datos jerárquicas, con con-figuración de red o de árbol, propias de la tecnología más antigua, son de diseño complejo y de man-tenimiento dificultoso, pero de estructura apta para tratar información taxonómicamente ordenada con múltiples niveles de inclusión y para ejecutar complicados análisis de despiece; las bases de datos relacionales, que se popularizaron sobre todo con la difusión del estándar PC, son de definición y manejo más sencillo, pero sólo pueden expresar relaciones complejas de inclusión de clase al precio de una alta dosis de redundancia.

Ninguno de esos modelos se adapta al tratamiento de información intrínsecamente variable, como la que constituye la gran masa del insumo factual de nuestra disciplina. En las versiones que se consi-guen en el mercado la orientación conceptual de ambas tecnologías tiene un sesgo financiero, comer-cial, empresarial o contable que rima muy mal con los hábitos descriptivos y analíticos de las ciencias sociales, cualquiera sea su signo teórico; en aquellas actividades burocráticas se presupone que los re-gistros de una base poseen campos bien definidos, de longitud uniforme, que contienen información homogénea, y que los datos almacenados se someterán, a lo sumo, a operaciones de cálculo paramé-trico o a comparaciones por sí o por no.

Cae de suyo que esta filosofía de organización de datos de ninguna manera es apta para una pres-tación científica. Sin embargo, por razones que escapan a este análisis, nuestros especialistas siguen utilizando sistemas convencionales de bases de datos, como si ellos fueran lo único o lo mejor de lo que se dispone en materia de técnicas estandarizadas de archivo. Cuando lo que se tiene es un marti-llo, todos los problemas parecen clavos. Productos como el dBase, el RBase, el Clipper, el Fox Base o el Paradox, para citar algunos, ofrecen enormes facilidades de diseño y prestaciones bien articula-das, seguras, foolproof. La tentación de entrar por esa vía a la era de la computación y sentirse en la vanguardia tecnológica es grande.

Los problemas comienzan después que se tiene en la máquina el calco electrónico de las fichas de cartón. Si se pretende utilizar el material archivado en una base de datos para someterlo a tratamien-tos lógicos, conceptuales o estadísticos más elaborados que los que se acostumbran a desplegar en un banco, por ejemplo, habrá que diseñar complicadas interfaces internas para acceder a otros lenguajes más versátiles que los descifradores de macros incrustados en los productos. La alternativa a esta solución consistirá en convertir redundantemente la información para incorporarla como datos tabula-dos, que a su vez serán usados como insumo por programas escritos en otros lenguajes. El resultado

Page 315: Antropologia y Programacion Logica

315

natural de este estado de cosas es la proliferación de sistemas subóptimos desde el punto de vista de la antropología, confusos en su articulación lógica, teoréticamente intrusivos y detestables en térmi-nos de computación.

Los lenguajes de inteligencia artificial que hemos estamos aplicando a la antropología representan un cambio radical en la filosofía que rige los procedimientos científicos. Quien se sirve de lenguajes no está condenado a administrar herramientas concebidas para otros fines, sino que se halla en posi-ción de confeccionarlas a medida de sus necesidades. Como trabajamos a nivel de lenguajes (y no de productos) el ámbito de capacidades ha de estar condicionado por y sólo por un requerimiento pre-vio, aunque quepa no excluir extensiones suplementarias. Respondiendo una vez más a la exigencia de la prioridad hermenéutica de la pregunta, he aquí que de ahora en más tallamos nuestras respuestas a propósito, sin hallarnos constreñidos a un repertorio de planteos y fórmulas cristalizadas que alguien ha pensado ya en lugar nuestro.

El problema al que se abocan en esta ocasión los recursos de la programación lógica ha sido formulado por la lic. Susana Renard de Coquet, por mediación de María Isabel Hernández Llosas. Los contenidos que expresa el modelo subsiguiente se refieren a la documentación de sitios con arte rupestre de la República Argentina, recopilados dentro del PROINDARA (Proyecto de Investigación y Documentación de Arte Rupestre Argentino). Las soluciones diseñadas corresponden a un preciso conjunto de requerimientos:

1) El programa debe permitir la inclusión de datos que son en principio inciertos en cuanto a la extensión de sus campos y al número de ítemes referidos en cada categoría, de modo tal que puedan implementarse reenvíos desde una sola entidad a nivel de registro a diver-sas publicaciones referidas a un sitio o a diversos sitios tratados en una publicación; lo mismo vale para otras categorías posibles, tales como autores, contenidos, fechas, des-cripciones o publicaciones periódicas.

2) Debe existir una forma de decidir en tiempo real modalidades de consulta que no hayan sido previstas en el diseño original de la base, para que sea posible coordinar relaciones entre categorías que no necesariamente se deduzcan de las articulaciones relacionales pu-ramente algebraicas. Por ejemplo, se debe poder tratar la información descriptiva de los comentarios o las descripciones de sitios y paneles en lenguaje natural (lo que en dBASE sería un campo-memo) como si formara parte de las pautas prestablecidas de búsqueda.

3) Deben instrumentarse criterios para elastizar el almacenamiento, la búsqueda y la recupe-ración en función de cualidades verbales que se puedan definir dinámicamente; por ejem-plo: qué otros sitios quedan cerca (o alrededor, o en dirección norte) respecto del sitio referido, o qué otros autores proporcionan información sobre ese sitio o sobre otros de similares características en una época dada.

4) Finalmente, deben arbitrarse modalidades de consulta que permitan ya sea realizar bús-quedas en base a contenidos aproximados, parcialmente desconocidos o inexactos, o efectuar el barrido de la base de datos sin ingresar textos que pudieran diferir en detalles de escritura con los registros efectivamente incorporados (apellidos compuestos, acentos, guiones, errores ortográficos) y que por este motivo reduzcan el número y la confiabi-lidad de las respuestas obtenidas.

Para alcanzar esos objetivos fue preciso una vez más recurrir al Prolog. Esta es, que sepamos, la primera elaboración antropológica en que se da cuenta de la incorporación de dicho instrumento al

Page 316: Antropologia y Programacion Logica

316

conjunto de recursos metodológicos de la disciplina desde el punto de vista de la programación básica de un sistema de esta clase, que tipificaría como "base de datos inteligente". Es conveniente entonces analizar con algún detenimiento la significación de estos desarrollos, en contraste con las implementa-ciones que han recurrido a paquetes informáticos convencionales.

El modelo que aquí se presenta en forma fragmentaria (y que todavía se encuentra en estado de tanteo experimental) permite expresar, aún antes de ser concluso, relaciones harto más complejas que las previstas en sistemas bibliotecológicos del tipo Isis o en paquetes user-friendly del estilo del dBase. El sistema de base de datos en sí es perceptible sólo en campos fragmentarios, en jirones; por razones de espacio se han desarrollado nada más que las rutinas que proporcionan el andamiaje fun-damental, de modo tal que el programa, aunque incompleto en relación con el proyecto referido, siga siendo ejecutable. Pese a todo, y contando por supuesto con el conocimiento suficiente de la sintaxis y la semántica del Prolog, el esquema de recuperación de datos puede ser adaptado conforme a pautas de sinonimia y criterios de semejanza modulables a capricho y en tiempo real, de manera que las cláusulas de consulta establezcan patrones de respuesta que están mucho más allá de la capacidad de las técnicas convencionales de programación subyacentes a los lenguajes estructurados como el SQL (orientado por tuplas) o a modalidades de recuperación pautada de información como el QBE (orientado por dominios).

La aplicabilidad del Prolog a este tipo de prestaciones no necesita demostrarse, ya que se ha constituido en un lugar común. Mouta, Williams y Neves (1988), por ejemplo, han creado lenguajes de consulta de tipo SQL y QBE en Prolog, mientras que Singleton y Farris (1988) han encontrado que las aplicaciones sobre el mundo real y de magnitud considerable exigen la incorporación de pro-cedimientos de indexación, optimización de consulta y manejo de transacciones al entorno de pro-gramación declarativa para ser computacionalmente eficientes. Como salta a la vista en nuestro pro-grama de muestra, hemos procurado aprovechar estas lecciones.

La diferencia más ostensible entre una base de datos convencional y una diseñada mediante pro-gramación lógica es que esta última no encarna una finalidad, sino un paso fundante en la construc-ción de un sistema basado en conocimientos (KBS), lo cual es algo sumamente distinto de un progra-ma limitado el tratamiento de datos. La resultante de un programa inteligente de organización de co-nocimientos como el que hemos elaborado corresponde al capítulo de los hechos de un programa en Prolog. Se puede ulteriormente aplicar el conjunto de reglas que se quiera a dicho conjunto, de mane-ra tal de constituir sistemas para la verificación de hipótesis, sistemas expertos o modelos de simula-ción. Adecuadamente complementado, el programa puede redefinirse cuando se quiera como premisa de otros sistemas de superior nivel. Incluso podemos sacar de él datos digeribles por nuestro propio Sistema Experto.

El listado que acompaña a este apartado corresponde sólo a un pequeño núcleo de prestaciones básicas, separado del conjunto de los módulos orientados al conocimiento a los efectos de la ejempli-ficación. Consideradas en conjunto, las bases de datos experimentales que hemos desarrollado en el contexto de nuestra investigaciones (CONICET, PID Nº 401/89) exhiben numerosas ventajas con respecto a los modelos de DBMS:

1) Desde el punto de vista computacional, la más importante de ellas se refiere a la versatilidad de las estructuras representacionales, pues, al contrario de los sistemas comerciales de gestión de ba-ses de datos, no existe ninguna constricción relativa a la longitud de los campos y ninguna diferencia cualitativa (de mediar las adecuadas rutinas de interface a lenguaje natural) entre "datos" y "comenta-rios". Es posible entonces introducir información sumamente heterogénea sin imponer un gasto des-

Page 317: Antropologia y Programacion Logica

317

mesurado de espacio de almacenamiento, sin temor a que no quepa en el espacio previsto por haberlo desperdiciado con campos vacíos e integrando genuinamente las descripciones verbales al procesa-miento relacional.

2) Desde la perspectiva antropológica, las estructuras de datos susceptibles de expresarse en un lenguaje relacional y declarativo son infinitas, en contraste con la uniformidad lineal de la representa-ción típica de las bases relacionales. Se dispone, por ejemplo, de estructuras arboladas, de técnicas de representación de conjuntos difusos y fundamentalmente de listas recursivas, las cuales permiten introducir enumeraciones de longitud y de complejidad indefinidas. Las materias primas que constitu-yen un elemento ergológico pueden ser una o muchas, lo mismo que los libros que se refieren a un si-tio, los sitios que se mencionan en un texto o los motivos que se encuentran en determinado panel. Nada de esto supone un obstáculo para una descripción en un lenguaje inteligente. Los elementos de una lista pueden ser, a su vez, listas; esto da una idea de la potencia representacional de estos len-guajes, superior incluso a la de las bases jerárquicas y relacionales combinadas, si esa combinación fuera posible. Todas las estructuras entrevistas en la sección III de la tesis bien podrían ser estructuras de la base.

3) Al participar en un entorno conectivo de datos y mecanismos de inferencia, las bases de datos expresadas en lenguajes de inteligencia artificial permiten incorporar la descripción de los datos a tareas científicas de más alto nivel en una secuencia sin fisuras. Esto implica que se pueden activar mecanismos de cálculo conceptual que operen directamente sobre las entidades del mismo programa que tengan calidad de hechos; las bases de datos dejan de ser archivos inmóviles y semi-invisibles para desplegar representaciones realistas del conocimiento teórico, haciendo que factores tales como la ambigüedad, la semejanza parcial o la información incompleta, al ser al fin tratables, jueguen a favor de la teoría.

4) Si bien tanto la computación tradicional como la programación lógica, en hipótesis, cubren un mismo campo de posibilidades relacionales, en esta última el ensamblado de la representación sobre la cual se ejecuta la búsqueda es infinitamente más transitable y flexible que en aquélla. Ninguna base de datos, hoy por hoy, puede incluir representaciones arboladas, listas recursivas ni listas de diferencia. La relación entre ambas tecnologías es asimétrica: todo lo que puede hacerse en un excelente DBMS se puede hacer en programación lógica, mientras que lo inverso no ha de ser verdad en mucho tiem-po. Y por añadidura, un buen lenguaje de programación lógica posee, entre sus prestaciones procedi-mentales, un método de acceso a estructuras de datos expresadas en DBMS o en planillas de cálculo: encadenando unos cuantos predicados extralógicos, podemos penetrar a saco en una base de datos real (dBASE, por nombrar una) y convertir su almacenamiento rígido en saber utilizable apenas leído (cf. Gallaire y Minkler 1978; Gray y Lucas 1988).

Los objetivos definidos al principio han sido satisfechos con exceso, aunque el sistema en sí no se ha implementado por falta de financiación para la compra de las máquinas necesarias y la formaliza-ción de los contratos de servicio. Se ha obtenido un programa fácil de manejar, con una interface ha-cia el usuario tolerante frente a los errores de formulación de los queries, y que puede abrirse a com-binaciones de búsqueda que aprovechan al mismo tiempo criterios jerárquicos de integración e instan-ciaciones relacionales de tuplas en virtud del apareamiento de patrones propio del algoritmo de unifi-cación. A ello se agrega la posibilidad de tokenizar los comentarios que describen los sitios para ope-rar rastreos en base a palabras, raíces, fragmentos de palabras, sílabas o frases: el lenguaje dispone para ello de predicados poliádicos tales como fronttoken, frontstr y frontchar que describimos mejor en los apéndices. Desde el punto de vista computacional, el programa ha sido la plataforma de ensayo

Page 318: Antropologia y Programacion Logica

318

de un algoritmo para la construcción dinámica de menúes de decisión a partir de sólo dos instruccio-nes (findall y menu); estos usos se han explotado en forma más sistemática (junto con la tokeniza-ción) en nuestro sistema experto.

La aplicación que estamos comentando, y que supone un conjunto variado de relaciones arquetí-picas, dista de constituir un límite para el modelo. En primer lugar, toda la potencialidad y los matices del tratamiento lógico que comentáramos antes está latente, a disposición de las consultas que se deseen formular en modo interactivo. ¿Qué base de datos común puede ceñirse sobre la marcha a premisas de lógica ilativa, polivalente, probabilística, temporal, no-monótona o epistémica? Además, dado que el lenguaje utilizado es a la vez su propio metalenguaje, es posible variar también en forma dinámica el contenido y la naturaleza de los datos representados, extendiendo las prestaciones del sis-tema a cualquier campo de la ciencia, modificando solamente los literales y las estructuras de datos, pero sin necesidad de replantear desde la raíz las estrategias de programación.

Page 319: Antropologia y Programacion Logica

319

3. Programa III: Modelo generativo

En programación lógica, los modelos generativos constituyen el tercer género de los desarrollos

más comunes, después de la deducción elemental implicada por las relaciones de tipo parental y del aprovechamiento de las propiedades relacionales de los lenguajes para la representación de datos. Al igual que los anteriores jalones, los modelos generativos son entidades lógicas mucho más poderosas y generalizadas de lo que se podría prejuzgar. Su utilización nada tiene que ver, en este sentido, con ningún compromiso ideológico en favor de formulaciones teóricas particulares como la de gramática generativa transformacional de Chomsky, por mencionar el nombre que con más frecuencia el imagi-nario intelectual vincula con esta especie.

Nuestro tratamiento del caso generativo dentro del conjunto de programas desarrollados se puede interpretar como el inicio de una indagación formal en torno de los fundamentos, las posibili-dades y los límites de los modelos generativos en nuestra disciplina, utilizando una vez más técnicas de programación lógica para su modelización efectiva. Urge, en primer lugar, caracterizar con mayor rigor la esencia y las formas de un modelo generativo, y en segunda instancia, tras poner de mani-fiesto la verdadera complejidad de esta variante de la modelización, proceder a una reducción ulterior del espectro, situando el campo específico a indagar como el punto de partida de una inquisición que podría continuarse. Un modelo generativo es, naturalmente, un tipo de modelo entre otros tipos po-sibles, más o menos productivos, conceptualmente ricos o complejos.

Lo primero que hay que esclarecer es que capacidad eductiva, riqueza conceptual y complejidad formal son variables independientes: no siempre las etapas más básicas están a cargo de los modelos más elementales, sino más bien al contrario. Desde el punto de vista de lo que hemos llamado semán-tica de segundo orden existen clases de modelos más ricas conceptualmente que los modelos generati-vos, y que son capaces de subsumir a éstos como uno de sus componentes parciales; pero desde la perspectiva de su construcción existe también una jerarquía alternativa, en la que los modelos más básicos, como lo que generan reglas generativas, son paradójicamente más complejos, más enrevesa-dos (menos fluida y puramente lógicos) que los modelos generativos resultantes.

Ya hemos dicho que, en un lenguaje como el Prolog, en lugar de estipular las operaciones de má-quina que hay que realizar para resolver el problema, se declara o se describe el problema en términos de lo que se conoce acerca del mismo, utilizando cláusulas de Horn. La primera fase de un programa lógico declarativo, en otras palabras, es una descripción de lo que se sabe respecto de un problema, expresado en cláusulas lógicas que responden de cerca a la estipulación de los hechos conocidos o conjeturados tal como se haría en lenguaje natural. Sobre la descripción inicial se pueden deducir lue-go ciertas respuestas que se siguen lógicamente, y lo que es más importante, se puede también plan-tear una amplia variedad de hipótesis.

Ahora bien, desde un punto de vista puramente lógico y computacional, la estructura de un mo-delo descriptivo y la de un modelo generativo son exactamente las mismas; toda descripción implica o lleva en sí, potencialmente, la posibilidad de "generar" (modélicamente, desde ya) el fenómeno cuya descripción constituye el cimiento de un programa lógico o una serie de fenómenos que responden a la misma pauta descriptiva. La única diferencia entre una descripción pura cristalizada y un modelo generativo es la existencia de un mecanismo o procedimiento que realiza la instanciación (es decir, la asociación de variables con valores constantes) entre las categorías analíticas que conforman la des-

Page 320: Antropologia y Programacion Logica

320

cripción y las entidades que corresponden a cada categoría, y la escritura de los resultados en algún medio.

Un estudio antropológico planteado mediante un modelo generativo, debería entonces (a) desa-rrollar estructuras de representación del conocimiento que constituyan la base descriptiva del proble-ma planteado y (b) diseñar mecanismos procedimentales de instanciación (lo que en programación convencional se denominan "rutinas") para convertir las descripciones en modelos generativos. Estas rutinas procedimentales, expresadas por ejemplo en cláusulas de Prolog, deberán garantizar transpa-rencia lógica, sin introducir efectos colaterales que afecten el comportamiento inferencial del modelo. Más adelante incorporamos algunos ejemplos, en esta ocasión a propósito del tratamiento del modelo de análisis eidocrónico de relatos populares propuesto por el antropólogo Benjamin Colby (Colby 1966a y 1973; Colby y Colby 1986).

Antes de pasar al ejemplo es preciso esclarecer dos cuestiones interrelacionadas: (a) ¿qué necesi-dad hay de implementar precisamente modelos generativos? y (b) ¿cuál es el ámbito de aplicación y las zonas de exclusión de este tipo de modelos? Desarrollaremos las respuestas a estas preguntas a renglón seguido, exponiendo en el camino la forma en que nuestra exploración habrá de materializar-se. ¿Por qué modelos generativos?

Un modelo generativo difiere de una descripción estática en que es capaz de "producir" una re-

presentación del fenómeno al que se refiere. Este fenómeno puede ser cualquier cosa o relación, des-de frases a procesos sociales. La virtud de esta capacidad de re-producción permite ponderar, tanto formal como intuitivamente, la validez de la descripción inicial y de las explicaciones que se ofre-cen. Quizá convenga subrayar que en puridad lógica, "descripción" y "explicación" no son fases inde-pendientes del desarrollo del modelo ni clases diferenciables de estructuras de modelización; en pro-gramación lógica se supone, por el contrario, que las hipótesis explicativas forman parte de lo que se conoce acerca del fenómeno, no diferenciándose de los demás hechos concernientes al mismo más que en su carácter eventualmente conjetural o por su expresión mediante términos teóricos2.

En programación lógica, la referida descripción equivale asimismo a una teoría acerca de la es-tructura y los procesos del fenómeno representado. Un modelo generativo es, en suma, un modelo que incorpora una alternativa de verificación teórica en su propio comportamiento, y cuyo comporta-miento puede, por añadidura, volver a contrastarse con el fenómeno que origina el modelo para re-evaluar, corregir o confirmar la base descriptiva del modelo mismo.

No hay ninguna diferencia formal entre un modelo generativo y un modelo de simulación, excep-to las que fija la costumbre; en general se aplica el concepto de modelo generativo para dar cuenta de fenómenos que responden a criterios lineales de gramaticalidad y el de modelos de simulación cuando se hace referencia a los procesos que tienen lugar en un sistema relativamente complejo, o por lo me-nos no reglado por una gramática o un algoritmo lineal. Casi siempre los modelos generativos se

2 Recordemos que la conjeturabilidad de una hipótesis o la certidumbre de un hecho se expresan a través de las mismas formas lógicas (en Prolog, "hechos") y que en todo caso su carácter remite al plano extralógico de la interpretación. La interpretación sigue siendo una función extralógica aún cuando se intente encubrir este estado de cosas llamándola "operación de mapeado" o hablando de "reglas de correspondencia", "definiciones coordinativas", o "correlaciones epistémicas".

Page 321: Antropologia y Programacion Logica

321

construyen cuando pueden estipularse todas las reglas necesarias para producir el fenómeno, mientras que los modelos de simulación se implementan cuando cierto segmento de la mecánica de generación es todavía mal conocido. Con frecuencia los modelos de simulación representan procesos temporales, mientras que los generativos no lo hacen necesariamente. Parafraseando a Wirth podríamos esquema-tizar las transiciones difusas entre tipos modélicos echando mano de unas fórmulas:

HECHOS + REGLAS = DESCRIPCION

DESCRIPCION + INSTANCIACION = GENERACION

GENERACION + TEMPORALIDAD = SIMULACION

La antropología y las ciencias sociales ya han tentado la formulación de modelos generativos,

siempre o casi siempre sobre la base de una construcción discursiva, con lo cual se aniquila toda la capacidad formal de la especie y se encubre su estirpe históricamente ligada al desarrollo de la computación. Fredric Barth estudió generativamente los procesos de cambio social entre los bakta-man de Nueva Guinea, Benjamin y Lore Colby abordaron de la misma forma la generación de cuentos folklóricos, Mridula Durbin plasmó una visión generativa de la religión jaina de la India y Eliseo Ve-rón intentó lo propio con el proceso ideológico (cf. Barth 1987; Colby y Colby 1986; Durbin 1974; Verón 1971).

Es típico que los llamados modelos generativos (o modelos, sin más) elaborados por los científi-cos sociales no sean cabalmente modelos que funcionen verdaderamente; ninguno de los modelos referidos permite, por ejemplo, modificar variables en forma dinámica para poder apreciar la inciden-cia de esas modificaciones en el comportamiento del sistema. Ninguno de ellos, tampoco, ha sido ex-presado en un lenguaje formal que permita su tratamiento mecánico, o precisando axiomáticamente las operaciones, de manera tal de obtener comportamientos eductivos replicables a través de las diver-sas lecturas de su fundamentación. El modelo de Barth, por ejemplo, se dice "generativo" no porque estipule las reglas que generan determinados estados de cosas, sino porque se supone que se aplica a procesos dinámicos y constructivos que emanan de la cabeza de los actores culturales.

Es importante subrayar un hecho que puede parecer trivial, pero cuyo desconocimiento ha cau-sado que pensadores tan eminentes como Piaget incurrieran en errores de monta (cf. Piaget 1974:81). Un modelo generativo es un modelo dinámico, pero la realidad que se representa a través de él no lo es necesariamente. Dicho de otra manera, con implicancias más fuertes: en contra de lo que co-múnmente se cree, la diferencia entre los planteamientos "estructuralistas" y los "generativos" no pasa por la diacronía.

No hay que confundir la naturaleza productiva del modelo con el hecho de que los modelos gene-rativos se refieran a sucesos diacrónicos o dinámicos, en oposición a las estructuras estáticas que caracterizarían a las descripciones puras. La programación lógica esclarece todas estas implicancias, y este esclarecimiento es otro título para agregar a sus réditos potenciales: se puede tanto describir (o modelizar) estáticamente procesos diacrónicos, como generar dinámicamente representaciones de hechos sincrónicos. La única diferencia radica en los mecanismos de instanciación que habrá que de-sarrollar, ya que la ciencia social de los países centrales todavía no lo ha hecho por nosotros y es improbable que lo haga en el futuro inmediato.

Existe, por cierto, la posibilidad de plasmar modelos generativos inmediatamente aplicables a la dinámica social, al análisis de las relaciones interétnicas, a los procesos de cambio, a la prognosis

Page 322: Antropologia y Programacion Logica

322

sistémica, etc. Verón, Durbin y Barth, con variada fortuna, se han atrevido a hacerlo. Pero nuestra experiencia hasta la fecha en programación lógica nos persuade que esa modelización es dificultosa, y que antes que éso habrá que esclarecer todo cuanto concierna a modelos generativos de menor abar-catividad y que en principio prescindan de dar cuenta de procesos intrínsecamente temporales o mor-fogenéticos, en los que la cosa representada se va transformando a medida que se le representa.

A ese espectro inicial, aunque básico, concierne el análisis particular elaborado en nuestro caso: la clarificación de los modelos generativos que involucran menor cantidad de dimensiones y cuyas dimensiones son todas homogéneas, a efectos de sentar la experiencia necesaria para abordar, cuando llegue la hora, un trabajo responsable sobre los modelos societarios que son, en realidad, los que nos interesan más.

Aquí cabe plantear otra cuestión: nuestros desarrollos demuestran que es imperativo reconocer la escasa correlación natural que pudiera haber entre la complejidad de un modelo y la complejidad de los hechos y relaciones del mundo exterior que un modelo representa; existen, de hecho, modelos ex-tremadamente complicados de un fenómeno lineal como el lenguaje, y modelos más bien simples de a-contecimientos multidimensionales como los procesos sociales de cambio (p.ej., respectivamente Chomsky 1956, 1988 y Barth 1983 o Verón 1971). Pero una modelización mínimamente respetuosa de lo que los cognitivistas llaman "la estructura correlacional de la realidad" tiene que ser tendencial-mente más compleja cuanto la realidad representada involucra más dimensiones o dimensiones más heterogéneas, a riesgo de ser sucesivamente más simplista o indebidamente general y abstracta.

Antes de abordar el modelo de ejemplificación quisiéramos dejar bien sentado que los modelos generativos son sólo uno de los tipos posibles de modelos que se podría pensar en incorporar a nues-tra disciplina. Existen modelos más simples, que constituyen algo así como una descripción pura, sin correlatos ni dinámicos ni temporales (una base de datos, por ejemplo) y existen también modelos inherentemente más complejos, como los que son propios de esa área de la inteligencia artificial cono-cida como el diseño de los sistemas expertos. Nuestros modelos generativos se sitúan entre ambos, o-cupando lo que podríamos considerar la base o el "grado cero" de los llamados modelos de simula-ción de procesos. Uno de los objetivos impostergables del presente trabajo consiste en esclarecer los diferentes tipos de modelos (indicios de otras tantas estructuras lógicas) y, llegado el caso, construir una tipología de los mismos, sacando de ello todas las consecuencias que correspondan. Alejando un poco el encuadre (aunque hollando el mismo terreno que nuestras anteriores fórmulas), el cuadro siguiente sugiere algunos de los tipos de modelos que pueden construirse conforme las necesidades de la investigación, indicando su dominio de aplicación preferencial y los formalismos de Prolog que se desenvuelven en forma característica cuando el modelo es un programa lógico escrito en ese lenguaje.

Capacidad del Modelo Cláusulas preponderantes Aplicaciones Antropológicas Descripción Estática Hechos Estadísticas; Relaciones;

Bases de Datos Generación Reglas Generación de Casos

Gramáticas simples Generación de reglas y gramáticas Predicados extralógicos Simulación de casos sincrónicos Simulación Procedimientos Teoría de Sistemas; Análisis de

procesos; Síntesis de procesos Sistemas Expertos Formalismos y Heurísticas Diagnosis; Taxonomía

Diagrama 5.2 - Tipos de Modelos

Page 323: Antropologia y Programacion Logica

323

De arriba hacia abajo los modelos son sucesivamente más complejos, de modo tal que los forma-lismos desplegados en cada caso presuponen el uso de los anteriores. Aunque están comenzando a surgir criterios formales para medir la complejidad en el interior de un programa lógico, relacionándo-la con el tamaño del objetivo y la profundidad de la búsqueda (Shapiro 1984; Sterling y Shapiro 1986:84-85) la evaluación de la complejidad en nuestro cuadro es aproximativa y sólo vale en cumpli-miento de la cláusula del ceteris paribus, más como indicadora de cierta heterogeneidad implicativa que de genuina intrincación formal. Es posible, en efecto, construir sistemas expertos harto más sim-ples que una base de datos.

El cuadro precedente, por añadidura, habrá de ser la base de sustentación de un descubrimiento que apenas estamos comenzando a madurar: los modelos sucesivamente más "complejos" y que re-quieren formalismos más heterogéneos son, por desdicha, los que testimonian un desarrollo concep-tual y formal más escueto. Ontológicamente existe el mismo desorden, a causa de la asimetría y dis-continuidad de la serie: algunos modelos complejos (como los que generan las reglas generativas, a los que proponemos llamar "generadores") parecerían ser el prerrequisito de sus formas más simples. Esto trae a cuento la dramática comprobación de que carecemos no sólo de una teoría sobre los mo-delos, sino hasta de los rudimentos de una tipología modélica informal, aparte de una masa ingente de elaboraciones lógicas axiomáticas que nadie se ha tomado la molestia de dotar de contenidos afines a los de una ciencia empírica (p.ej. Chang y Keisler 1973) o de coordinar miembro a miembro con las problemáticas de la lógica computacional. En el uso informal del término, buena parte de los científi-cos sociales se entretiene recusando modelos que, bien mirados, vienen a ser formalmente idénticos a (o por lo menos no contradictorios con) los que ellos mismos patrocinan3.

Todo está por hacerse. La "teoría de modelos" a la que remiten tantas veces los epistemólogos, es o bien un profuso acervo de escrituras ideologizadas que no contiene prácticamente nada que re-sulte esclarecedor a la hora de construir modelos computacionales, o bien una masa de símbolos di-versificados de una a otra página que no ha pasado (y que dudosamente pasaría) ni el trance de vincu-larse con la materialidad del mundo, ni el de someterse a la prueba de la máquina. Al primer género pertenecen las insinuaciones de algunos epistemólogos celebrados (cf. p.ej. Suppes 1988; Stegmüller 1983); al segundo, las grafías de los hilbertianos y sus opositores, alérgicos ambos a la reflexión epis-temológica sobre ciencias empíricas y a la escritura en lenguaje natural (v.g. Chang y Keisler 1973). En el medio no hay nada. La teoría no se puede bajar a la práctica, los hechos no alcanzan consecuen-temente dimensión teórica y las teorías no logran acceder a un plano formal, ya sea porque los atribu-tos de lo empírico, lo teórico y lo axiomático, en el éxtasis de un rigor engañoso, se han confundido antes de entrar en contacto y han perdido su identidad sin someterse al cálculo, o porque en las cumbres de la razón pura el mundo concreto no viene al caso. Pero esto, en fin, es una digresión. Objetos de modelización

Decíamos antes que los diversos fenómenos imponen la distinción de una serie de niveles a los que la modelización debe ser fiel si es que se quiere producir un educto contrastable. Igual que en la

3 El caso clásico es nuevamente Chomsky, quien inició el combate en contra de un "estructuralismo" con el que, al fin y al cabo, todos los historiadores de la lingüística lo identifican. Un ejemplo más a propósito estaría dado por el análisis eidocrónico de Colby; este autor ha construido un modelo que no se aleja tanto de la analítica de Propp como él insinúa.

Page 324: Antropologia y Programacion Logica

324

teoría de catástrofes o que en la sinergética, lo que cuenta no es la naturaleza material de los aspectos fenoménicos objetivos, la complejidad real de la cosa, sino el número de dimensiones consideradas.

Un modelo de producción de frases corresponde, idealmente, a un fenómeno que ocurre sobre una sola dimensión, de carácter lineal, y que concierne a los elementos discretos que se van encade-nando hasta conformar una oración. Un modelo de producción de paneles de arte rupestre, por ejem-plo, agrega una dimensión más que complica la representación de las relaciones entre los elementos y expande el educto generativo. Un modelo mínimo descriptivo de las relaciones sociales puede trans-formarse, agregando la dimensión del tiempo, en un modelo de los procesos de cambio, de las quie-bras y de los (des)equilibrios societarios; el agregado de una dimensión que representa o alude al tiempo, además, introduce en cualquier modelo una irreversibilidad y una heterogeneidad que dificul-tan enormemente el trabajo de representación.

En aras de la simplificación y pese a contar con una herramienta de la que nuestros antecesores carecieron, por el momento no introduciremos entre los constructos antropológicos a formular o revi-sar computacionalmente, modelos que involucren transformaciones demasiado complejas: se deben construir los cimientos antes de edificar la cúpula. El análisis de sistemas realistas (mucho más delica-do y dificultoso de lo que podría concebirse imaginariamente, como la programación lógica lo testi-monia) se posterga, por ende, para una etapa más avanzada de la investigación.

Los modelos generativos antropológicos sobre los que nos concentraremos ahora son de dos ór-denes de referencia: los que conciernen a la modelización de narrativas orales, míticas o folklóricas, y los que deslindan las gramáticas de la representación plástica. Generación y análisis de textos

Uno de los modelos a analizar es el desarrollado por Benjamin y Lore Colby en El Contador de los Días (Colby y Colby 1986). Otros modelos similares, que en alguna oportunidad cotejaremos con éste para producir en el trámite un ensayo de comparación formal, han sido los elaborados por Prince (1973, 1980), Dundes (1965), Dorfman (1969), Todorov (1977), Mandler y Johnson (1977), Stewart (1976), Rumelhart (1975), Ore (1963), Brémond (1970), Hesse (1966), Van Dijk (1980), Rice (1980), Maranda (1973), Halliday (1979), Greimas (1966), Propp (1972) y, lógicamente, Lévi-Strauss. No todos los modelos mencionados son explícitamente generativos; pero la programación lógica proporciona una herramienta para demostrar, sobre la base de programas que desplieguen sus combinatorias de instanciación, el isomorfismo entre dichos modelos y las descripciones estructurales. En efecto, aún una práctica mínima en este género de aplicaciones demuestra la equivalencia lógica de modelos planteados en base a herramientas que se creen heterogéneas: enumeración de "funciones" narrativas o de "eidones", grafos matemáticos, árboles, reglas de producción, oposiciones estructura-les o funciones pragmáticas. Autores que han soñado revolucionar los métodos despliegan, con afa-nosa repetitividad, formalismos que, bien mirados, aunque oscilen entre el euclideanismo abstracto y el realismo escénico, sólo difieren en sus nombres o en los discursos "contextuantes" o "sensitivos" con que se los rodea, los cuales a su vez fungen como concesiones más o menos generosas de los científicos al humanismo.

El programa Prolog que hemos incluido como apéndice ejemplifica la transcripción de las especi-ficaciones de Benjamin y Lore Colby a dicho lenguaje. Ofrecemos este caso como ilustración indi-cativa, y no como un modelo plenamente acabado. Sin embargo, aún en una etapa de síntesis relati-vamente precaria, el comportamiento del programa arroja una serie de enseñanzas sobre la modeliza-

Page 325: Antropologia y Programacion Logica

325

ción generativa en general y sobre la propuesta de los Colby en particular. Derivado de la clase de programa más típica de la programación lógica después del lugar común de las deducciones parenta-les, este motor generativo se supone produce no ya frases sino textos, y concretamente textos narrati-vos de una cultura aborigen concreta, los ixil de Guatemala, a escala de las clases de acontecimientos que se encadenan, ya que no de las palabras exactas que se suceden. Colby expone su sistemática a la manera chomskyana, aunque su aparato formal es más oscuro y cuesta trabajo encontrar la formula-ción definitiva en las páginas de un texto demasiado locuaz. Colby ha reemplazado las funciones de Propp (que pueden entenderse al menos de cuatro maneras distintas: lingüística, matemática, compu-tacional y antropológica) por el término eidón.

El término procede del eidos de Bateson ..., que cubre los aspectos cognoscitivos de la cultura y procede del prefijo eid-, "pictórico" o "imaginario". Consideramos al eidón como una tajada cognoscitiva codificada de tal manera que, si no es enteramente "pictórica", está cerca de las que podrían llamarse imágenes pictóricas en el cerebro (1986:166).

De tal manera Colby alude sin confesarlo a una vieja polémica de las ciencias cognitivas que opo-

ne a los conceptualistas por una parte y a los imaginistas por la otra, y en la que se disputa la forma en que se alberga el pensamiento en el cerebro. Los primeros se inclinan hacia una postura científica y un cierto positivismo, los segundos son en general idealistas y conservadores. Pero, con una inconse-cuencia casi extravagante, el desplante imaginista de Colby no está fundamentado ni expuesto, ya que todo su aparato de descripción de pautas es íntegra y convencionalmente conceptual. Cuando vamos a los hechos, encontramos que las reglas para las categorías narrativas obligatorias, por ejemplo, son las siguientes (1986: 212): Regla 1: Cuento -> Problema + Respuesta Regla 2: Problema -> Motivación + Acción Preliminar Regla 3: Respuesta -> Acción Fundamental + Resultado

El paso de las reglas eidocrónicas a cláusulas de Horn no ofrece dificultad alguna. Todo lo que hay que hacer es escribir las reglas y luego completar el almacén o stack de las instancias sintagmáti-cas o "eidones", que son hechos de Prolog. El programa resultante es similar a otras entidades com-putacionales que, como SCHUTZ.PRO (no incluido en el apéndice), desarrollamos para sintetizar ca-si a modo de broma las pautas sintácticas, los mecanismos argumentativos y las recurrencias temáti-cas, fuertemente retrodecibles (y estéticamente paupérrimas), de la escritura fenomenológica en cien-cias sociales.

Aunque el modelo de Colby es diagramático y hasta podría considerarse "formal", no es ni pre-tende ser una axiomatización. COLBY.PRO, su encarnación computable, ejemplifica también la posi-bilidad de reescribir en cláusulas de programación lógica cualquier modelo antropológico mínimamen-te explícito, o de someter a prueba la coherencia interna de cualquier conjunto de hipótesis minimi-zando la subjetividad en el encadenamiento de las operaciones críticas: si la programación lógica se generaliza, el autor cuestionado puede ser el próximo que se siente ante la computadora para pro-barnos, mediante las mismas herramientas que habíamos escogido y el mismo metalenguaje de mo-delización, que le habíamos comprendido mal o que su propuesta podía mejorarse.

En defensa del modelo sometido a prueba, cabe decir que funciona; en detrimento suyo hay que admitir, sin embargo, que funciona muy mal. Por el momento omitiremos, para no prolongar esta pre-sentación, los datos de identidad de los modelos de los que se puede probar, Prolog mediante, que no funcionan ni siquiera mal, sea por proponer operaciones no especificables, funciones lógicas indeci-

Page 326: Antropologia y Programacion Logica

326

dibles o recursiones anudadas, sea por estar -más simplemente- erróneamente concebidos en su tota-lidad. Nuestro formalismo proporcionará, llegado el momento, la caracterización puntual y la tipolo-gía de esos errores.

Las páginas de salida que figuran en el Apéndice testimonian la naturaleza de los fallos en que Colby incurre; las estructuras narrativas salientes no responden a la pauta imaginada por dicho autor, porque las operaciones recursivas están mal estipuladas o no lo están en absoluto, y porque no hay coherencia en las acciones: los protagonistas resucitan sin haberse muerto antes, se mueren y después aparecen acometiendo acciones, consuman venganzas sin que se les haya ofendido, regresan de viaje sin haber partido con anterioridad, se casan varias veces sin que sus pautas matrimoniales contemplen esa variante, huyen sin haber sido encerrados, pierden repetidamente el mismo objeto sin encontrarlo nunca, encuentran lo que no habían extraviado, se vengan de quien no les ha ofendido, reaccionan sin que se haya accionado sobre ellos. La razón de esta falla, que no es tan ocasional ni tan corregible co-mo parece, radica en un error manifiesto: las reglas en las que Colby se basa no son suficientes para "generar" la estructura superficial de una frase, y mucho menos la configuración de un texto, que es una concatenación con sentido de frases con sentido. Para garantizar la coherencia semántica, tanto de una frase como de un texto, sería preciso introducir en el sistema un conocimiento de tipo enciclo-pédico; habría que modelar una especie de erudición, referida a las innumerables formas en que se en-cadenan los componentes en las narrativas reales.

Sería preciso informarle a la máquina, por ejemplo, que los muertos no pueden acometer ulte-riormente acciones, que nadie puede resucitar si primero no ha fallecido y que los pasos sucesivos de una acción están causalmente ligados por una multitud de nexos posibles, de textura más significativa que sintáctica, que (si la ciencia es posible) ha de ser una multitud acotada y finita, pero (como la ciencia es difícil) verosímilmente ha de ser también enorme. Habría que incluir una amplia representa-ción de los "esquemas mentales" que se manifiestan en las narrativas folklóricas o en el saber cultural; y esto lo debería haber sabido Colby de haber leído a conciencia las obras de Bartlett que menciona en sus apéndices. En suma, habría que moler carne semántica entre los engranajes de la sintaxis, "incluir el significado". Pero hacerlo en un modelo (o en una formulación cualquiera) no es una operación que pueda plantearse con ligereza, sino una aventura que involucra más un problema que un método: por el lado del sentido, el significado introduce todos los pliegues de la subjetividad; por el lado de la referencia, el significado apunta a la totalidad de lo objetivo. Si bien en principio es posible hacer esas indicaciones al sistema, no existe ninguna marca formal para determinar si hemos introducido to-da la información pertinente, y si toda la información introducida lo es. Estas referencias enciclopédi-cas comportan una masa mayor y una estructura heterogénea respecto a las escasas reglas que Colby, no disponiendo de un artificio mecánico para verificarlas, estimó suficientes. Dicho de otra manera, y como bien saben desde hace mucho los lingüistas, las reglas generativas son fácilmente computables; las reglas de subcategorización probablemente no: y sin éstas no hay relato que una cultura humana pueda reconocer como propio, sino una simple combinatoria ciega.

Por otra parte, el modelo de Colby adolece de una constelación de dificultades tan graves como las ya señaladas. En primer lugar, la especificación de las alternativas posibles en un momento dado del relato no parece muy elaborada: cada transición generativa se enfrenta a una multiplicidad de op-ciones que no están ligadas, en apariencia, al trámite global de la narración. En nuestra opinión esto sucede porque Colby no ha sabido distinguir entre los lenguajes independientes del contexto y los lenguajes ligados a él; en otras palabras, ha elaborado un modelo de tipo autómata de almacén push-down donde hubiera hecho falta un autómata ligado linealmente (cf. Martin 1972), capaz de llevar la

Page 327: Antropologia y Programacion Logica

327

cuenta, por así decirlo, del encadenamiento de acciones. En términos más sencillos, digamos que ha escogido el procedimiento equivocado de formalización, posiblemente porque el que escogió le resul-taba más fácil de abarcar intelectualmente. Por ende, para modelizar este estado de cosas hemos teni-do que recurrir a un procedimiento computacional muy común, que es la generación de números al a-zar (randomization), como si la estipulación de la instancia narrativa siguiente en un relato dado fuese un fenómeno estocástico. Si bien esta es una forma computacional adecuada para la representación del modelo, es ostensible que el esquema de Colby no es, por su parte, una representación formal ade-cuada de los hechos. Él mismo dice, después de todo, que las decisiones culturales que cuentan no se pueden asimilar al revoleo de una moneda; lo malo es que su modelo no dice a qué se asimilan.

Aún admitiendo que es legítimo proporcionar una estructura desnuda que sólo guarda una tenue correlación posicional con los casos empíricos, resulta ser que el modelo está incorrectamente armado incluso como formalismo sintáctico. Las transiciones entre acontecimientos no están regladas, ni si-quiera por ecuaciones de Márkov. Colby no ha especificado ningún algoritmo que reproduzca las pautas recursivas observables en la narrativa original y que simule la eventual elisión o iteración de ei-dones. Mucho menos ha construido un modelo que permita interpretar los comportamientos que se predican como una pauta idiosincrática de la cultura a la que, a fin de cuentas, se está haciendo refe-rencia. El objetivo declarado es incrustar algunos momentos estructurados, rigurosos y decidibles en una masa simbólica de thick description, desplegando una especie de oportunismo metodológico que injerta la formalización allí donde resulta más fácil, pero que deja todos los misterios de la determina-ción cultural en sombras. Su modelo aparece entonces doblemente coaccionado: primero por la falta de coordinabilidad entre un discurso literario y una instancia modélica que sólo admite insumos bien delimitados y mecanismos efables; después, por el dominio insuficiente, más allá de sus buenas inten-ciones, de las herramientas formales volcadas a la tarea. De aquello se deriva un patchwork, una tex-tura de observaciones ad hoc y de islas de sentido, más que una descripción integrada; de esto, como si hiciera falta (y ya que el simbolismo es invulnerable a fuerza de ser opaco), un nuevo baldón a la causa de una ciencia formal.

Page 328: Antropologia y Programacion Logica

328

4. Programa IV: Análisis y Síntesis de Estilos Artísticos

Seamos por unos instantes taxativos y unilaterales, y digamos que la representación artística ha

sido un espacio del saber refractario a la sistematización, que las ciencias que se ocupan de ella nos han defraudado, y que la proliferación de conceptos seudoanalíticos (comenzando por el de "motivo elemental" hasta llegar al "estilo", sin olvidar "pregnancia" o "gestalt") no ha redundado en ninguna teoría con capacidad explicativa. Si el arte es comunicación, la responsabilidad de su analítica cientí-fica cae en lo que se ha dado llamar semiótica. Existen varias semióticas, de distinto signo político y teórico; pero si hay algo que la define en su conjunto, más allá de la devaluada noción de signo, es su afinidad morbosa con el discurso intelectual, más que con la práctica científica. Pese a que su moda declina con lentitud y a que sus practicantes no se sienten en crisis, el fracaso de la semiótica para deslindar las constantes de la comunicación humana va tomando estado público. Nada hay, en apa-riencia, que ligue manifestaciones estructuralmente tan discrepantes como el cine, la música, la pin-tura, la escritura, la gestualidad, la espacialidad, el lenguaje, a excepción de unas cuantas metáforas dispersas, sin capacidad de modelización cabal, y el deseo de alimentar una ciencia aparte.

Algunos antropólogos, a la zaga de Dan Sperber, han comenzado a advertir que la semiótica (que se remonta a Hipócrates, y que no puede aducir juventud en su descargo) no ha cumplido sus prome-sas y ha incurrido en despropósitos de monta, incluso en lo que respecta a algo tan fundamental como la propia definición del objeto. Es por algo que Umberto Eco, en sus ensayos más recientes, ha renun-ciado con disimulo al proyecto de la "semiótica general" en beneficio de lo que geertzianamente de-fine como un "conocimiento local": un proyecto más literario que científico, válido para el análisis e-rudito, muchas veces penetrante, pero intuitivo, de fenómenos particulares (Eco 1988).

La programación lógica se presenta, a nuestro juicio, como una opción preferible, aunque la ela-boración de teorías tenga que esperar que las técnicas se refinen a través de la experiencia: a diferen-cia de la semiótica, que enfatizaba sin desearlo las entidades de la comunicación (símbolos, iconos, señales) en una tipología que subsumía los elementos del mundo bajo el concepto de signo (concepto no contrastable con otros, pues según se dice "todo es signo"), el campo de la programación lógica y la estructura de sus lenguajes son ante todo relacionales. Su punto de partida, además, no responde por ahora al preconcepto de que los diversos medios de representación obedecen a leyes comunes; para ello se deberá esperar a que se definan constantes en el interior de los casos, lo cual por el mo-mento parece ser dudoso. Sometida a la modelización en términos de lógica computada, la represen-tación no ha mostrado ninguna faceta que, situándola en un ghetto aparte de otras clases de fenóme-nos y procesos, haga necesario invocar una ciencia separada y específica, que no admita revisarse como las demás.

Tomemos a modo de ejemplo un caso de representación plástica. Nuestra utilización del Prolog en este contexto comienza, como siempre, con una descripción adecuada de los hechos conocidos, que inadvertidamente asume la contextura de los frames. Tras el inventario de los elementos, los ob-jetos, las colecciones y los sitios, la especificación de las relaciones constituyen el primer paso hacia la generalización. Esta es por un lado formal y por el otro sustantiva. Es decir: los contenidos de la ge-neralización pueden resultar modificados (y probablemente restringidos, más que ampliados) por la consideración de nuevos casos, aunque es de esperar que sus propiedades formales no resultarán alte-radas.

Page 329: Antropologia y Programacion Logica

329

Este aspecto es de sumo interés, y debe ser elaborado en detalle en otro lugar fuera de esta tesis: hay que ampliar este punto y referirlo a la independencia relativa entre hechos y reglas, entre conoci-mientos y mecanismos de inferencia. De este punto es seguro que resulte emergente la idea de que lo que hay que definir en primer lugar no es una gramática, sino un proceso inductivo que permita ge-nerar gramáticas. En un primer acercamiento, este proceso tiene tres momentos constructivos y uno de verificación:

1) La representación de los datos mediante una estructura adecuada, por ejemplo un frame.

2) La obtención de eductos extensivos mediante consultas que indaguen, por ejemplo, qué tipos de elementos se encuentran en tal o cual relación, cuáles son las pautas distribucio-nales de los rasgos, motivos o complejos, qué combinaciones parecen estar desalentadas, qué recursos no pueden lógicamente darse.

3) La re-aserción de los eductos positivamente contestados y de las restricciones definidas por las respuestas negativas como integrantes de un conjunto de reglas que constituyen la gramática capaz de producir el fenómeno.

4) Como momento verificativo, la obtención de ejemplares plausibles a partir de (y sólo de) las reglas obtenidas en el proceso anterior y los componentes analíticamente discernidos en el conjunto previamente a su representación original.

El programa CALAGRAF.PRO, del cual ya hemos hecho alguna mención al describir el modo de representación conocido como frame, constituye nuestro banco de pruebas para la construcción de sistemas de análisis y síntesis de fenómenos plásticos, sistemas que a su vez son un caso interpretado de un formalismo genérico que puede admitir diversos objetos como sustancia empírica. Más que un juego imaginario de libre creatividad e impulso lúdico, la síntesis ha de ser la puesta a prueba del aná-lisis. El formalismo de marras contempla varias rutinas generativas, para cuya evaluación contamos esta vez no sólo con un conjunto de enunciados descriptivos de salida, sino con una interface gráfica que permite reproducir en pantalla el significado de las descripciones de los casos reales, de los casos posibles e incluso de las combinaciones "prohibidas" por las reglas que definen el estilo. Gestión de Imágenes y Representación

Para la evaluación del producto de salida de una gramática regular deductiva, el mecanismo re-conocido como el más eficaz no ha podido ser otro que la intuición. En consecuencia, y a fin de poder corroborar intuitivamente la adecuación descriptiva de las estructuras de representación escogidas, se implementó un sistema de interfaces que permite conmutar entre expresiones lingüísticas e imágenes en el momento que se desee. Para ello hubo que armar un archivo gráfico. Cada uno de los ejemplares analizados, y dentro de ellos cada tipo de unidad morfológica y modo de articulación posible se en-cuentra ilustrado separadamente, listo para ser mostrado solo o en combinación.

Por el momento, las interfaces se limitan a invocar las imágenes correspondientes a los términos de la descripción (piezas, partes, unidades, modos); todas las imágenes han sido introducidas de an-temano mediante técnicas de scanning, que consisten en barrer un dibujo o imagen fotográfica con un lector óptico especial que lo introduce en un archivo de computadora y permite luego visualizarlo en pantalla, especificando (según el producto) coordenadas, tamaño, resolución, color y modo de transi-ción con los dibujos circundantes. En las fases sucesivas de desarrollo del programa se procurará construir en forma dinámica las imágenes implicadas en las descripciones de salida del modelo genera-

Page 330: Antropologia y Programacion Logica

330

tivo, utilizando técnicas de superposición, animación y transparencia. En principio todos los recursos computacionales están a nuestro alcance (salvo limitaciones económicas) pues, a diferencia de las artes interpretativas, ellos son esencialmente aprendibles.

Pero también a diferencia de los modelos imaginarios o discursivos, los modelos computacionales presentan dificultades técnicas concomitantes a sus aparentes ventajas. Soslayar estos aspectos técni-cos, por más que en esta ocasión tengan que ver con intimidades de la informática, sería dilapidar la ocasión de analizar qué operaciones analíticas y sintéticas son efectiva e instrumentalmente posibles en esta modalidad de confección de modelos.

Antes de tomar ninguna decisión concerniente a las formas de presentación de los recursos ico-nográficos, se debió realizar un estudio comparativo de las diversas alternativas de generación, ar-chivo, recuperación y exhibición de imágenes digitalizadas en la pantalla del monitor. En este sentido, la tecnología disponible adolece el problema de la falta de estandarización en todos los aspectos seña-lados. Los diferentes productos de software articulan principios distintos para la generación y archivo de imágenes, y no todos son compatibles con lo que se requiere en nuestro modelo en términos de uso de memoria, inserción de prestaciones gráficas en la lógica del programa y velocidad de procesa-miento. Cada usuario adquiere el monitor gráfico que puede, sea Hercules, EGA, CGA, MCGA o VGA, y cada especie exhibe características incompatibles en cuanto a rango cromático y definición; en este aspecto, lo único sensato es optar por los denominadores comunes, que en general son tam-bién las especificaciones de más bajo nivel de calidad.

Cruzando las diversas alternativas de formato gráfico, velocidad de reproducción y exigencias de almacenamiento, se decidió incorporar en el sistema una interface que se asoma al sistema operativo y que dispara desde allí, convenientemente parametrizado, un programa externo de display gráfico. La interface opera a través de una instrucción built-in del Prolog, system (equivalente a shell en Basic), que no impone interrumpir el flujo del programa y que opera como un procedimiento más. Si se lo parametriza e incrusta de cierta manera en el tejido del programa, es posible también interpretarlo como parte de una condición o consecuencia lógica.

El programa externo utilizado es el Presents de Genius, que exhibe una rápida velocidad de carga y mapeado en pantalla. Presents permite asimismo reproducir archivos gráficos en formato CUT o PIC, que son los que menos espacio en disco requieren para su almacenamiento. El uso de un pro-grama externo resultó más práctico que utilizar las prestaciones específicas de la Borland Graphic Interface, la cual por el momento presenta dos inconvenientes: no está ligada a ningún producto que incluya prestaciones de scanning y trabaja en base a formatos no estandarizados de digitalización, imposibles de convertir con el software del que disponemos. La inclusión de Presents y el despliegue de los gráficos exige de la máquina una cantidad exigua de memoria.

Versiones alternativas de estos mismos programas incluyen rutinas en lenguaje Assembler e ins-trucciones de bajo nivel en Prolog que proporcionan una presentación más controlable y sofisticada de los elementos gráficos. Estas versiones requieren que se cargue en memoria un programa residente (FXSHOW, de Brightbill-Roberts), lo que en una máquina estándar deja bastante menos espacio para las bases de datos y la pila de stack. Este problema habrá de superarse cuando se modifique la estruc-tura de la base de conocimientos, a fin de manejarla íntegramente en memoria expandida o en disco. No hemos incluido estas variantes en los listados del apéndice, pues el formato que admiten, GX1, difiere de los estándares y las instrucciones de bajo nivel varían de una a otra versión de Prolog.

Page 331: Antropologia y Programacion Logica

331

Con anterioridad a la programación de la versión que aquí se incluye se realizaron otros intentos, algunos quizá más satisfactorios en ciertos respectos. Téngase en cuenta que las prestaciones gráficas, si bien son técnicamente susceptibles de incorporarse a cualquier lenguaje, no forman parte de los recursos inherentes a los lenguajes de programación lógica como el utilizado. Lo que aquí se muestra no es la versión definitiva del programa, sino una rutina en estado de optimización conforme a las disponibilidades actuales en materia de software y al estado actual de la tecnología.

Casi todos los dialectos del lenguaje Prolog que se han comercializado disponen de un conjunto de predicados extralógicos que permiten desarrollar ciertos recursos más o menos elaborados de gra-ficación. El dialecto aquí utilizado, Turbo Prolog de Borland (Versión 2.0) incluye numerosos predi-cados que reproducen las pautas de la BGI (Borland Graphic Interface). En el estado de implementa-ción del sistema, como ya hemos dicho, nos ha resultado más sencillo soslayar estas prestaciones y u-tilizar productos adicionales, externos, parametrizados y ejecutados desde el interior del programa. La BGI, de hecho, no es tolerada por ninguna versión de Prolog aparte de Turbo (hoy en día, PDC Pro-log).

El sistema de descripción del programa dispone de un conjunto de menúes que permiten escoger ya sea una caracterización verbal de los elementos y conjuntos tratados, una representación gráfica o ambas a la vez. La modalidad de programación escogida es sumamente compacta, genera escasos volúmenes de código ejecutable y se arma en forma modular de acuerdo con las necesidades de la representación. El armado de los comandos y parámetros necesarios para disparar la imagen adecuada se encuentra controlado por menúes de selección que hacen imposible introducir instrucciones incon-sistentes o con errores de tipografía.

El procedimiento de invocación de la interface gráfica modifica el archivo de parámetros del pro-grama de display. El procedimiento completo para generar los parámetros y comandos del programa Presents es el siguiente:

prograf(NUM) :- str_int(NUP,NUM), concat("\"conj",NUP,NOM), concat(NOM,".pic\" -1 0 0",NOMBRE), openwrite(comando,"comando.pre"), writedevice(comando), write(NOMBRE), closefile(comando), writedevice(screen), system("presents comando").

La primera instrucción convierte la variable de número del conjunto a cadena de caracteres; al

predicado ternario concat concatena el número convertido al resto del nombre que contiene el archivo gráfico; las siguientes cláusulas abren el archivo de comando para escritura, escriben los comandos y parámetros, cierran el archivo, devuelven la secuencia de escritura a la pantalla y ejecutan en el núcleo del sistema operativo el programa de presentación. La misma rutina se ejecuta sea cual fuere el diseño a mostrar, pues la única variable pertinente es en este caso el número de ejemplar.

Page 332: Antropologia y Programacion Logica

332

Descripción del programa

En lo que respecta a las funciones analíticas, el programa dispone de una secuencia de menúes

que invocan procedimientos de generalización que se aplican sobre la muestra, la cual puede ser inde-finidamente extensa. Las operaciones practicadas sobre el material evocan los principios metodológi-cos del descriptivismo lingüístico, ya que lo que cabe analizar son ante todo cuestiones de distribu-ción, contexto y combinatoria. Una vez obtenidos los resultados del análisis distribucional se los pue-de asertar recursivamente como reglas, transformando así la salida inductiva de una sección del pro-grama en motor deductivo de otra rutina.

Nótese la variedad de las operaciones relacionales estipuladas, que podrían ser muchas más: po-demos preguntar al sistema, ya mismo, con qué entidades se relacionan otras entidades, o qué elemen-tos se encuentran en determinada relación, y comprobar aserciones sobre relaciones que se manifies-tan siempre o que, por el contrario, nunca ocurren. Postulamos luego clases de elementos, que atra-viesan el sintagma de las descripciones a guisa de paradigmas o relaciones asociativas, y nos servimos de los niveles más altos de la clasificación para postular algo que poco a poco se va pareciendo a una gramática.

Seguidamente, ponemos la gramática en funcionamiento dinámico, generando "casos" que res-ponden a la misma estructura básica, y utilizamos el educto de los mecanismos generativos como puesta a prueba de las conclusiones a que hemos llegado: en esta verificación, las combinatorias de-ben re-producir un corpus comparable al original, y que responda de la misma manera a todos los ni-veles de análisis. La gramática no es enunciativa del conjunto de las reglas, sino constructiva y diná-mica, y por ello nunca debe considerarse acabada ya que su lógica es la de la inducción. Hay que con-cebir una gramática como un conjunto de reglas móvil, no monótono, que puede variar radicalmente el día de mañana si se introducen piezas anómalas, extrañas o sólo diferentes en la base de cono-cimientos. Si existe algo así como la gramática propia de un estilo de representación, los queries de Prolog respondidos afirmativamente por el sistema constituyen, simultáneamente, elementos del meta-lenguaje descriptivo de esa gramática.

Si el programa que describe la gramática cultural de Benjamin Colby era un simple modelo gene-rativo, en este caso nos hallamos en un nivel superior de potencia formal. Por un lado, se trata de un formalismo que estipula menos una gramática de lo que la construye, proceso de mucha mayor com-plejidad que el anterior. Por el otro, se trata también de un generador gramatical cuyo criterio de ade-cuación descriptiva y generativa se va afinando a través de la re-producción esquemática de las imá-genes previamente descriptas en la pantalla de la computadora. Hasta tanto las gramáticas formales no se obtengan merced a un procedimiento bien conocido y fundado, la única forma de garantizar la exhaustividad y pertinencia de la descripción mediante cláusulas es la transformación de la descripción verbal en imágenes. Este es un proceso bastante más complicado que el de obtener frases a partir de un conjunto de reglas generativas, por cuanto implica además una trascodificación. Conclusión metodológica: El educto de una gramática no es un lenguaje

Desde ya, definir una gramática que cumpla las condiciones de adecuación, economía y produc-

tividad no es una tarea que se resuelva de inmediato por el mero uso de un lenguaje riguroso. El con-junto de generalizaciones posibles a partir de una descripción de unos cuantos elementos es astronó-

Page 333: Antropologia y Programacion Logica

333

mico, y puede resultar en aserciones tales como "en todos los ejemplares considerados existen combi-naciones de elementos grandes y pequeños" o "en todos los casos se combinan más de diez elemen-tos", las cuales carecen, obviamente, de toda especificidad. Tampoco se puede pensar en reducir tales afirmaciones triviales introduciendo simplemente más casos y eliminando (mediante cláusulas de re-tracción) las que resulten más universales; restar una infinidad de otra nos deja casi con la misma a-bundancia inabarcable que teníamos en el punto de partida. Por desdicha, no existe ni es probable que exista jamás una preceptiva formal que nos acerque a la formulación de heurísticas en materia de construcción de hipótesis; idear cláusulas imaginativas depende sólo del cacumen del estudioso, de su conocimiento experiencial y de su sentido común. Lo único que la programación lógica agrega a estos atributos es una fuerte herramienta de verificación y un método de descripción sofisticado. La máqui-na, como dijimos muchas veces, no genera hipótesis, excepto a ciegas: sólo permite comprobar o des-cartar las que se nos ocurren.

Es importante señalar una consecuencia de estas implementaciones, ya que al hablar de "gra-máticas" parecería insinuarse que los fenómenos tratados (en este caso, representaciones plásticas) poseen naturaleza de lenguaje. Semejante extremo no puede ser probado por un programa lógico; lo único que puede demostrarse es que una analítica o una heurística formalmente semejante a alguna otra que se ha utilizado contingentemente para desarrollar gramáticas lingüísticas también resulta apli-cable a otra clase de fenómenos. No por ello el objeto abordado demuestra ser lenguaje, sea cual fuere la definición que se otorgue a lo lingüístico y a lo gramatical.

Lo que queremos implicar es que la posibilidad de replicación del uso de una estrategia analítica o sintética más o menos eficaz o "adecuada" nada prueba sobre la esencia de lo que se estudia. Un isomorfismo estructural habla de cuestiones teóricas, no de equivalencias empíricas, y testimonia similitudes formales en las teorías, no igualdades ontológicas en sus objetos. Mediante modelos ló-gicos no es factible probar identidades ontológicas entre dominios disímiles, por más que los objetos respectivos se plieguen con docilidad a indagaciones estructuralmente idénticas. La restricción es ca-tegórica y definitiva, y no depende de las definiciones que se utilicen, de los significados que se administren y del estado de la tecnología aplicada. Al mismo tiempo, la restricción acabará incidiendo, sin duda, en la apreciación que los antropólogos tenemos del hecho de la analogía, que en los últimos años de refiguración del pensamiento social (Turner 1974; Geertz 1980) nos ha llevado a contemplar los hechos culturales como textos, como juegos o como dramas, sosteniendo las metáforas como algo más que ficciones estructurales o herramientas del método.

La historia disciplinar de las analíticas, su contingencia estructural, nada dice entonces sobre la naturaleza esencial de su objeto de turno. Esto sería quizá más claro si el formalismo fuera un emer-gente de una ciencia dispar, como podría ser la biología frente a la lingüística en la analítica del códi-go genético, o la misma biología frente a las ciencias sociales, como sucedió en el siglo pasado cuan-do se aplicaron símiles organicistas para comprender el desarrollo de las civilizaciones. Pese a que las metáforas pudieran ser productivas, nadie cree hoy que la materia genética sea un corpus de lenguaje, ni que las sociedades sean cabalmente organismos. Poder tratar la cultura como texto, los procesos sociales como dramas, las estrategias interpersonales como juegos, las artes como lenguajes, no agre-ga nada de lo que pudiera saberse sobre los textos, dramas, juegos o lenguajes a lo que puede afir-marse en lo sucesivo sobre las culturas, procesos, estrategias y artes. Las reglas lógicas de producción que dan cuenta de la formación o generación de montañas, por ejemplo, podrían resultar estructural-mente semejantes a las que educen lenguaje; nada se concluye por ello sobre el carácter lingüístico de las formaciones rocosas ni, por supuesto, sobre la índole geológica de las lenguas.

Page 334: Antropologia y Programacion Logica

334

5. Programa V: Modelo de Simulación

El programa siguiente constituye el núcleo de un modelo de formación de yacimientos arqueoló-

gicos en función de datos y premisas elaboradas en el proyecto sobre Etnoarqueología de Pastores Subandinos (UBACYT - FI-059) dirigido por el Dr. Hugo Yacobaccio, de la Universidad de Buenos Aires. En tanto programa de simulación, pertenece también a un estudio colateral que hemos em-prendido en sociedad con otros especialistas del área de inteligencia artificial, en procura de clarificar los fundamentos y características de los modelos de simulación en general y de los sistemas simulado-res mediante técnicas de programación lógica en particular. Los hallazgos concretos de este estudio no pueden exponerse en esta tesis, por cuanto harían parecer personalizado lo que en realidad es una elaboración de conjunto.

La versión que aquí hemos incluido no invoca de lleno todas las consecuencias metodológicas y las problemáticas propias del área de la simulación inteligente, hoy en plena expansión (cf. Widman, Loparo y Nielsen 1989); estas son tan complejas que no conviene exponerlas en el cuerpo de esta te-sis: aún una caracterización simplificada engendraría una rama demasiado robusta y excéntrica. Bas-tará entonces con las insinuaciones que hemos dejado deslizar en el apartado anterior acerca de las concomitancias entre los modelos generativos y los simuladores, y con algunas puntualizaciones con-cisas a propósito de la significancia de las prestaciones aritméticas de los lenguajes lógicos de com-putadora. Dejaremos al margen, por desdicha, las elaboraciones que tenemos en el tintero sobre du-plas y tensiones temáticas tan apasionantes como temporalidad y proceso, sistemas estocásticos y a-leatoriedad, realismo representacional y sobremanipulación; a cambio nos centraremos, en un vuelo muy breve, en torno de las capacidades aritméticas del Prolog.

A esta altura de la exposición, debería estar claro que los lenguajes declarativos son primordial-mente simbólicos, y tratan con símbolos como entidades básicas, o a lo sumo con cantidades que po-seen valor de símbolos. Sin embargo, podría argumentarse que la aritmética es sólo un caso especial de computación simbólica. Un programa lógico puede en teoría representar los números como térmi-nos estándar, por ejemplo cero, suc(cero), suc(suc(cero)), etcétera, añadiendo axiomas para la adición, la multiplicación, el logaritmo o la operación aritmética que haga falta. Históricamente, es taxativo que la programación lógica misma entronca con las metamatemáticas hilbertianas y la demostración mecánica de teoremas que alguna vez se restringieron a los Principia.

Sin embargo, esta implementación logicista de la aritmética sería terriblemente ineficiente en comparación con la forma en que la mayoría de los lenguajes procedimentales resuelven el punto. También es un hecho que las computadoras y sus lenguajes clásicos se concibieron ante todo como máquinas de picar números, y que ese proyecto generó hardware y software especializado e indife-rente a los desarrollos logicistas del mismo tema. La representación del concepto simbólico de "suce-sor", por ejemplo, es esencialmente una notación monádica, y como tal requiere un espacio de memo-ria proporcional a i para representar al número entero i. Este no es un procedimiento computacional normal; las computadoras poseen desde el vamos representaciones especiales para números y opera-ciones que son mucho más prácticas: estas representaciones son binarias, no monádicas, de manera tal que n bits pueden representar números enteros hasta 2n. Además, muchos de los algoritmos apropiados para operar sobre números con este formato interno se pueden ejecutar mediante una sola instrucción y un solo ciclo de máquina.

Como lenguaje de computadora el Prolog aprovecha este desarrollo, de modo tal que en este as-pecto, y sólo en él, su estructura es la misma que la de los lenguajes convencionales. El lenguaje "re-

Page 335: Antropologia y Programacion Logica

335

conoce" cuando una entidad es un número y aplica entonces operaciones especiales sobre ella. Este no es empero un remiendo o una concesión indebida a la historia de la máquina. En tanto términos ló-gicos, los números siguen siendo capaces de participar en el proceso de unificación. El único factor desagradable que queda como residuo del carácter heteróclito de los números en un entorno de pro-gramación lógica es el hecho de que las diversas versiones de Prolog poseen formas sintácticas no estandarizadas para habérselas con ellos.

Hay algunas trampas adicionales en las que el programador lógico debe evitar caer: un número de coma flotante casi nunca es verdaderamente igual a otro de la misma condición, aunque los dos se presenten en pantalla o impresora de la misma manera. Esto sucede porque los ordenadores hacen cálculos en binario, pero los escriben en decimal; muchos números decimales (como 0.1) no tienen una notación binaria equivalente con una cifra estable de dígitos, de modo que siempre hay posibili-dad de diferencias por redondeo. Lo importante, sin embargo, es que aún en un entorno lógico la cuantificación es posible. Descripción del programa:

El modelo de simulación aquí presentado proporciona predicciones o retrodicciones sobre el es-

tado cuantitativo de un sitio de matanza, con el objetivo de "evaluar la acumulación temporal como variable que acerque a explicar un hecho arqueológico, controlar la incidencia de variables azarosas que afecten la acumulación y enmascaren la relación original entre comportamiento y registro a escala sincrónica, y establecer una imagen arqueológica de la sociedad pastoril actual que permita elaborar modelos de los que se sigan consecuencias para evaluar el registro arqueológico de los pastores pre-históricos" (Yacobaccio, comunicación personal).

Estos objetivos se han representado en el programa incorporando por un lado algoritmos contro-lados que dan cuenta de la duración de un resto óseo conforme a la densidad del elemento, y por el otro algoritmos aleatorios en función de circunstancias imponderabes (acción de los perros y aves de rapiña, matanza, arrastre eólico, etc). Otras funciones matemáticas permiten fingir diversas alteracio-nes regulares o estocásticas del registro y comprimir o expander el ritmo temporal del ciclo de cál-culo, el cual puede llevarse (aunque la utilidad de este juego sea dudosa) a evolucionar en tiempo real. Un indicador señala el número de ciclo y la relación entre tiempo real y tiempo simulado. El programa ofrece cuatro variedades de simulación que hemos llamado conceptual, gráfica, analógica e icónica. Por razones de diagramación su comentario se expone junto al listado fuente. Una aclaración adicio-nal: dado el carácter reservado de la investigación conjunta (que aún se encuentra en fases prelimina-res) el algoritmo incluido en el programa de muestra no es el verdadero, y sólo se lo presenta para permitir que el sistema despliegue una simulación aproximativa, pero no realista, de -por así decirlo- la simulación auténtica.

Page 336: Antropologia y Programacion Logica

336

6. Programa VI: Sistema Experto

En un acercamiento preliminar, podríamos decir que un Sistema Experto es uno de los tipos ca-

nónicos en que se subdividen los sistemas orientados al conocimiento (Knowledge Based Systems o KBS) implementados en inteligencia artificial, conforme a un esquema genérico que podría discurrir más o menos como éste:

Sistemas de Conocimiento

Sistemas Expertos Robótica Planeamiento Visión de máquina Procesamiento del lenguaje natural

Diagrama 5.3 - KBS

Un Sistema Experto es un artificio de computación que concentra la pericia y la experiencia con-ceptual de una o más personas en torno de un área generalmente estrecha del conocimiento. Ese ex-pertise asume generalmente la forma de definiciones, relaciones, hechos especializados, algoritmos, estrategias y heurísticas sobre el ámbito que se trate. Su origen es por lo común el saber de sujetos humanos, pero lo mismo puede provenir de artículos, libros o datos experimentales.

Uno de los objetivos que se persigue en el diseño de uno de estos sistemas es el de arrojar trans-parencia en torno del conocimiento modelizado, sea en el plano formal o en el sustantivo. Las exi-gencias habituales que se imponen a los programas expertos son las siguientes:

El sistema debe mejorar su performance en función del juicio crítico de conocedores que no necesariamente tienen que estar al tanto de sus detalles técnicos de implementación.

El sistema debe utilizar métodos heurísticos y razonamiento simbólico por cuanto se pre-sume que no existen (o no son practicables) los métodos algorítmicos para realizar la ta-rea que le compete en un área dada del conocimiento.

Entre los mitos que atraviesan la inteligencia artificial, hay varios que conciernen a los Sistemas Expertos; el más difundido de todos asevera que la finalidad de todo programa lógico es constituir uno de esos sistemas, para que las máquinas se comporten como especialistas suplentes en un domi-nio determinado del conocimiento. Se ha identificado, en otras palabras, el proyecto de la progra-mación lógica con el de uno de los campos de la Ingeniería del Conocimiento, cuando lo cierto es que las técnicas de aquélla no son todavía prevalecientes en esta disciplina, que utiliza mayoritariamente recursos de la computación convencional y muy en especial los lenguajes procedimentales. No todo programa lógico, entonces, está destinado a conformar uno de estos sistemas simuladores de inteli-gencia; los verdaderos Sistemas Expertos son contados y se aplican, en apariencia, a territorios de las prácticas disciplinares articulados de una manera especial, o quizá a conjuntos de prácticas de infe-rencia peculiares y circunscriptos.

Para ilustrar nuestro punto, cabe hacer una distinción entre los "expertos" y los "eruditos" huma-nos, dos categorías intelectuales cuyos atributos la imaginación académica a menudo entrecruza: un erudito es por lo común un conocedor extensivo de numerosos ámbitos del saber, si es que no de todos; un experto, por el contrario, es un especialista en profundidad en unos pocos campos del co-nocimiento, si es que no en uno solo. Los eruditos constituyen una especie en extinción, de progenie

Page 337: Antropologia y Programacion Logica

337

europea y de cronología más bien finisecular; en antropología un erudito clásico podría haber sido, digamos, Sir James Frazer. Los expertos, correlativamente, son una especie expansiva de especialis-tas, más de una vez asociada conceptualmente a los tecnócratas; un ejemplar representativo podría haber sido Ward Goodenough, (quien nunca dio impresión de dominar más que unas pocas temáticas relacionadas con el significado y la categorización) o el recientemente fallecido Raoul Naroll, perso-najes impensables en la Europa de fines de siglo. En computación la alternativa es muy clara: con el nivel actual de tecnología, ninguna máquina podría modelar el conocimiento universal de un erudito, hecho de entradas enciclopédicas y heterogéneas, y que se manifiesta en expresiones de un elevado gradiente estético; pero podría esperarse que el saber de un experto, igualmente masivo pero concen-trado en unos pocos puntos, se preste dócilmente a la formalización.

Existen, entonces, los sistemas computacionales expertos, que concentran lo que un fenomenólo-go llamaría "conocimiento de receta" o lo que un positivista consideraría "procedimientos operaciona-les", siempre en relación con un campo acotado del saber. No existen, ni es probable que lleguen a existir jamás, los sistemas computacionales eruditos, concentradores de un saber que vale por su profusión o por su capacidad de desviarse al vuelo para traer a colación asuntos tenuemente ligados. Como luego veremos, los Sistemas Expertos, según una tendencia de aceptación creciente, pueden llegar a subsumir diversos ámbitos del saber utilizando mecanismos de inferencia relativamente u-niformes; pero no lo hacen en forma simultánea, sino aplicándose a un campo del conocimiento a la vez y desarrollando en su interior inferencias de un tipo determinado.

Esta tipificación nada tiene que ver con un presunto límite disciplinar, impuesto por el carácter difuminado de los datos o por la abundancia de las ambigüedades: por el contrario, existen numerosí-simas técnicas relativas a procesos de inferencia mediante razonamiento inexacto, y es de prever que se desarrollen muchas más en los próximos años, como se verá más adelante. Nada hay en nuestra ciencia en particular que se pueda reputar privilegiadamente irreductible.

BASE DECONOCIMIENTOS

MOTOR DEINFERENCIA

INTERFACEDE USUARIO

SISTEMA EXPERTO

Diagrama 5.4 - Componentes de un SE

No es oportuno abundar en lo que todos los libros repiten: los Sistemas Expertos (en adelante, SE) combinan una representación del conocimiento con una máquina o motor de inferencia, reite-rando a un nivel más alto el esquema estructural del Prolog que separa los hechos de las reglas. Con el agregado de una interface orientada al usuario (y que puede ser construida por medio de predica-dos procedimentales o extralógicos) se completa una estructura que en todas partes tiende a ser la misma, por más que varíen los matices y objetivos. Los objetivos pueden ser modelizar la forma en que piensan los expertos, diseñar un modelo de la forma en que deberían pensar, representar abstrac-tamente un "tercer mundo" de conocimiento no subjetivamente ligado, o sólo plasmar un programa eficiente de computación que iguale o supere la competencia de un experto humano.

Page 338: Antropologia y Programacion Logica

338

En la medida en que un motor de inferencia comporta algo así como un procedimiento mecánico de cálculo lógico, existe algún precedente histórico de los motores de inferencia en las máquinas y diagramas lógicos desarrollados durante siglos por una multitud de estudiosos, desde Ramón Llull hasta Charles Sanders Peirce, pasando por el "demostrador" de Stanhope y el "logógrafo" de Gerrit Mes (cf. Gardner 1985). El cuadro del diagrama 5.5 elabora esa serie e insinúa su carácter progresi-vamente restricto.

Diseñador Fecha Máquina o Diagrama Lógico Ramón Lull 1274 Ars Magna Charles Stanhope 1816 Demostrador William Hamilton 1866 Cuantificación de Predicados William S. Jevons 1869 Alfabetos y Máquinas Lógicas Allan Marquand 1881 Diagramas y Máquinas Lógicas Henry Cunnynghame 1882 Tarjetas Lógicas Alexander Macfarlane 1885 Espectros Lógicos Lewis Carroll 1886 Juegos de Lógica John Venn 1894 Diagramas de Venn Charles Peirce 1897 Grafos Existenciales Benjamin Burack 1936 Máquina Lógica Eléctrica Gerrit Mes 1960 Logógrafo, Regla de Cálculo Lógica A. Newell & H. Simon 1962 General Problem Solver Varios 1970 Shells y Máquinas de Inferencia

Diagrama 5.5 - Genealogía de los Motores de Inferencia

En la actualidad los motores de inferencia, pese a su nombre alquímico, son simplemente proce-

dimientos heurísticos para ordenar la búsqueda, minimizar la incógnita y estructurar el proceso de pregunta, diagnosis o demostración de hipótesis, que reproducen, modelizan o se inspiran en la con-ducta de un conocedor humano. Curiosamente, los sistemas actuales son, en lo que a esta reproduc-ción respecta, menos ambiciosos y menos fantásticos que los que se planearon antes de que la tec-nología estuviera en condiciones de llevarlos a la práctica.

Esa reproducción no es, en general, un proceso funcionalmente equivalente al pensamiento que responda a una construcción hipotética sobre la mente humana (y que se conforma mal o bien al pa-radigma de la "caja gris"), sino una dinámica que se construye a partir de las operaciones conceptua-les que el experto humano efectivamente realiza y que se debe elicitar. La elicitación ha demostrado ser, de hecho, una especie de mapa de nuestra ignorancia respecto de la la estructura y la dinámica del pensamiento. El punto más delicado del diseño de sistemas de este tipo, entonces, tiene que ver con la obtención de información sistemática acerca de la forma en que opera o cree operar el experto en re-lación con su objeto; una forma de operar que no equivale, necesariamente, a un "modelo de la men-te" de ese experto, aunque determinados formalismos pensados para cubrir esa finalidad (redes, fra-mes, grillas de repertorio) han demostrado ser útiles para expresar los resultados de ese relevamiento.

Si el propósito de los SE (incidentalmente, la rama de la inteligencia artificial que experimenta el mayor éxito comercial en la actualidad) es el de reemplazar a los sabios humanos, probablemente los SE antropológicos no nos vayan a servir como tales hasta que pasen unos cuantos años. Y ello es así no tanto porque el saber acumulado en nuestra disciplina sea demasiado abundante y demasiado face-tado como para volcarlo a una máquina, sino porque la tecnología asociada a los sistemas expertos no

Page 339: Antropologia y Programacion Logica

339

está orientada al saber "en general", sino a cierto expertise particular que tiene que ver más que nada con las operaciones clasificatorias, con la organización de los significados y con la diagnosis. Tras-plantar a un disco magnético una masa enciclopédica, una "sabiduría" amorfa, frazeriana, no tendría sentido: la inteligencia artificial -ya lo hemos dicho- hace mucho tiempo que no promueve esas qui-meras.

Nadie pretende reemplazar al experto humano en todas sus funciones intelectuales, ni usar al SE como sucedáneo suyo allí donde resulte más económico, o cuando no haya más remedio: ni los as-pectos financieros de la inversión, ni la precisión milimétrica, ni la urgencia al segundo suelen ser va-riables críticas de la investigación antropológica, como lo son, por ejemplo, en prospección de mine-rales, en detección de fallas en tiempo real o en diagnósticos de enfermedades virósicas, que son las áreas en las que los sistemas expertos responden a esa pretextación. A nuestro juicio, el diseño de SE en antropología debe perseguir otros objetivos; el más importante de éstos no es tanto el educto de o-peraciones de clasificación y diagnosis en una tarea determinada, sino lo que el diseño del SE revela sobre los procedimientos implícitos y sobre los supuestos previos del estudioso en el momento de elicitarse, adquirir formato computacional y ponerse a funcionar. En la epistemología que patrocina-mos, el SE constituye es menos un artificio mecánico que una herramienta de autorreflexión.

No pretendemos sentar cátedra sobre los Sistemas Expertos en general; ya se han escrito dema-siados buenos libros y artículos al respecto como para complicarnos aquí en un mal resumen (Bucha-nan y Shortliffe 1985; Johnson y Keravnou 1986; Cordier 1984; Vandeginste 1987). Pero dado que esta es un área de crecimiento espectacular en numerosas ciencias, alguna mención habrá que hacer, y no ciertamente una mención de compromiso: una vez más, la inteligencia artificial satisface la exigen-cia de un antropólogo que pensaba poner en jaque a la emulación antropológica de las ciencias duras postulando una analogía entre las operaciones interpretativas del antropólogo (derivadas de la thick description) y las inferencias clínicas: una capacidad de la mente enjundiosamente cualitativa, sedi-mentada por la comprensión, el sentido común y la experiencia (Geertz 1987)4.

Un SE es nada menos que un dispositivo lógico que realiza diagnósticos o generalizaciones en el interior de casos en función de inferencias clínicas practicadas sobre indicios no siempre sistemáticos ni exactos. Pero a diferencia del antropólogo interpretativo que Geertz nos impusiera como el deside-ratum disciplinar, se trata de un dispositivo que, aún en el peor de los casos, es capaz de "explicar" sin antropomorfismo alguno cuáles fueron los pasos tras los que llegó a determinadas conclusiones, por qué promovió ciertas hipótesis o interpretaciones en lugar de otras y en qué criterios se basó para producir determinado diagnóstico.

Lo que aquí nos interesa de los SE no es tanto la simulación futurista de un sabio humano a tra-vés de una máquina llamada a reemplazarlo, sino la estipulación reflexiva de las operaciones concep-tuales que el antropólogo realiza en su trabajo habitual, concibiendo al sistema experto como el mo-delo correspondiente a ese proceso. Visto desde este ángulo, la tecnología de los SE se revela no sólo como un método de aborde de la antropología con referencia a un objeto (aborde que siempre será, con esta tecnología, de tipo lúdico u oracular), sino como una práctica de esclarecimiento del propio

4 No podemos omitir el hecho de que aún entre los partidarios de la antropología interpretativa, la "inferencia clínica" del propio Geertz (en tanto proceso de razonamiento que va desde la "descripción densa" a la interpretación) está amplia y quizá definitivamente desacreditada (cf. Vincent Crapanzano, "Hermes' Dilemma: The Masking of Subversion in Ethnographic Description" y Paul Rabinow, "Representations are Social Facts: Modernity and Post-Modernity in Anthropology", ambos artículos publicados en J. Clifford y G. Marcus [eds.], Writing Culture, Berkeley, University of California Press, 1986).

Page 340: Antropologia y Programacion Logica

340

antropólogo con respecto a las premisas de las que parte, a los criterios en que se funda y a los proce-sos de inferencia que desarrolla. No importa tanto entonces que los SE se integren a la práctica profe-sional de rutina y que difundan en los enclaves periféricos el saber concentrado de los sabios de las metrópolis; lo esencial es que se los construya (aunque no se los acabe), y que en este proceso el es-tudioso reflexione sobre sus propias construcciones conceptuales, mejorándolas si ello se demuestra posible.

Sistema Investigador, Sitio

Esquema Uso

MYCIN E. Shortliffe Universidad de Stanford

Reglas Diagnosis de infecciones microbianas

PROSPECTOR P. Hart - R. Duda SRI International

Reglas y redes asociativas particionadas

Predicción de sitios con yacimientos minerales

PIP S. Pauker - P. Szolovits MIT

Frames Nefrología

INTERNIST-I J.D.Myers - H. D. Popple Universidad de Pittsburgh

Esquemas tipo frame Diagnosis de medicina interna

CADUCEUS J.D. Myers - H. D. Popple Universidad de Pittsburgh

Red causal-taxonómica Diagnosis de medicina interna

CASNET S. Weiss - C. Kulikovski Universidad de Rutgers

Red causal-asociativa Control a largo plazo de enfermedades conocidas

ABEL W. Schwartz-P.S. Patil Universidad de Tufts

Redes causales a diferentes niveles de abstracción

Diagnosis de desórdenes ácido-básicos y electrolíticos

NEOMYCIN W. Cancley - R. Letsinger Universidad de Stanford

Reglas, metarreglas y estructuras de tipo frame

Razonamiento diagnóstico para estudiantes

CRIB F. George - T. R. Addis U. de Brunel

Esuqme de frames sobre base de datos relacional

Fallas en software y hardware de computadoras

Diagrama 5.6 - Sistemas Expertos

De hecho, los mejores sistemas expertos, los que han promovido los diagnósticos más ejempla-

res, los que han ganado el respeto de los analizadores de carne y hueso, han surgido, aunque duela a los hermeneutas, en las ciencias médicas, que era donde Geertz creía que la abducción dominaba so-berana: los nombres de logiciales puramente mecánicos como MYCIN, PIP, INTERNIST-1, CADU-CEUS, CASNET, ONCOCIN, PUFF, ABEL, y NEOMYCIN han ganado justa celebridad en la pro-fesión. Un viejo obstáculo ha llegado a disolverse por obra del trabajo, no tanto mecánico como hu-mano: la incertidumbre (como el caos en física) es, a fin de cuentas, algo muy preciso, definido y tratable. Lo que importa no es de ningún modo minimizar o abolir la incertidumbre, sino expresarla con suficiente propiedad.

Page 341: Antropologia y Programacion Logica

341

No hay que temer que el saber antropológico sea esquivo a la fijación, ni que nuestras inferencias sean demasiado complejas para la máquina. Esos pretextos (bien lo sabía Croce) a menudo encubren otros temores; el conocimiento antropológico, mal que nos pese, no tiene ni un estatuto humano, ni una masividad, ni una estructura que lo tornen, valga la redundancia, especialmente especial. Como ha llegado a saberse sobre una base forzosamente sistemática, lo que pasa por ser su forma peculiar de inquiry poco conserva de esotérico: lejos de ser un milagro inefable que deja un amplio margen a la subjetividad y a la intuición, la inferencia clínica resulta ser, en cualquier ámbito de aplicación ha-bitual, un procedimiento más bien rutinario, pautado y mecánico. Bajo la única y estricta condición de que se trate de un saber conexo, concentrado en un campo reducido de especialización científica, el conocimiento experto siempre resulta ser, aún en condiciones adversas de comprensión de los meca-nismos subyacentes a los fenómenos a que se aplica, expresable en sí mismo, comunicable a otros es-tudiosos y enumerable en una cantidad restringida de cláusulas.

Los mejores sistemas se encuentran en actividad ininterrumpida desde hace unos años y han ser-vido de modelos y arquetipos para la puesta a punto de los formalismos de representación del cono-cimiento que ya hemos revisado. En el diagrama 5.6 se incluye el inventario de algunos de los Siste-mas Expertos más conspicuos de la primera y segunda generación de KBS (en la actualidad se va por la tercera, y hay quien dice que por la cuarta), con las necesarias referencias a sus investigadores res-ponsables, formalismos de base, utilización y organismo institucional en que se han desenvuelto.

El diagrama de marras debe interpretarse como un testimonio crítico en una situación polémica, más que como una referencia neutral en un discurso equidistante. La posibilidad de sistematizar el saber de los expertos ha sido negada al menos en tres ocasiones por otros tantos pensadores a quienes la comunidad profesional ha acordado un inexplicable carisma. En una celebrada compilación de artí-culos que predican la "crisis de la razón" en plena era de revolución computacional, escribía Carlo Ginzburg, refiriéndose a la inferencia clínica y al juicio experto:

Se trata de formas de saber tendencialmente mudas (en el sentido de que, como hemos dicho, sus reglas no se prestan a ser formalizadas y ni siquiera dichas). Nadie aprende el oficio de conocedor o de la diagnosis limitándose a poner en práctica reglas preexistentes. En este tipo de conocimiento entran en juego (como se dice habitualmente) elementos imponderables: olfato, golpe de vista, intuición (Ginzburg 1983:98).

Juicios como estos son ejemplares de una especie. Hace unos pocos años, uno de los patriarcas

de la semiótica, Thomas Sebeok, comparó en un pequeño libro muy apreciado la abducción peirceana con los métodos detectivescos de Sherlock Holmes. Tras una prolija purga contextual, en la que se escamotean las delicadas fundamentaciones lógicas que el propio Peirce otorgara al concepto, Sebeok acaba caracterizando la inferencia inductiva como "la más sorprendente casi de las maravillas del uni-verso", "un privilegio divino", "un relámpago" y "el más alto de los poderes puramente intuitivos" (Sebeok y Umiker-Sebeok 1987). Más recientemente aún la abducción se ha convertido en el proceso mental más celebrado del paradigma oscurantista del "pensamiento débil" posmoderno, y, presintien-do dividendos comparables a los de su novelística, Umberto Eco se ha unido a la causa de la conje-tura don invulnerable al análisis.

Necesario es protestar, pues si algo es claramente mentira, es precisamente esto. La mudez de los expertos sólo es, bien mirado, sordez de los sabios interesados en formular métodos que, como la "descripción densa" geertziana o la "serendipity" de los antiguos, tal vez no convenga que sean repli-cables. Los elementos imponderables a los que se alude despiden el tufillo iniciático, Zen, que acom-paña a quienes se creen depositarios de un talento interpretativo difícil de trasmitir, por cuanto su

Page 342: Antropologia y Programacion Logica

342

saber no se conforma a un método. La competence indiciaria, en suma, es, según esta idea, prerroga-tiva de cierta clase de genios. Lo curioso es que entre quienen la sustentan nadie se ha tomado la mo-lestia de verificarla: lo único que la mantiene en pie es un dictamen autoritario, un prejuicio que pres-cribe que las cosas deben ser así porque al serlo otorgan a la escritura estetizante seducción, plau-sibilidad y conveniencia.

Para quienes creen que la mejor demostración del movimiento consiste en andar, no hay mejor prueba de la ruina del paradigma indiciario de Ginzburg-Sebeok-Eco-Geertz que la existencia de mo-delos formales que sistematizan casualmente las operaciones intelectuales que ellos habían reputado imposibles de comunicar a otros humanos, ni que hablar de las máquinas. Alguna vez habría que po-ner sobre el tapete el costado ético de este triste asunto: la tenebrosa historia de los líderes de opinión que se dan el lujo de ignorar territorios enteros del trabajo humano y que, en su soberbia, dictaminan como irrealizable lo que otros profesionales vienen realizando desde hace años.

No sólo la inferencia clínica había resultado ser a fin de cuentas un procedimiento mecánico, sino que la propia documentación del conocimiento experto es un momento de la investigación que se confía cada vez más frecuentemente a las máquinas, al punto que el mercado de los sistemas expertos está poblándose de elicitadores automáticos que, en el nivel actual del desarrollo tecnológico, se esti-man varios órdenes de veces preferibles a métodos "salvajes y confusos" tales como la entrevista o la introspección. Aunque la antropología no haya tomado nota de estos progresos, el relevamiento del expertise ya es una ciencia aparte, con su folklore, sus jornaleros y sus pontífices (cf. Parsaye 1988; Boose 1984; Rolandi 1986).

La elicitación automática del conocimiento se remonta a la invención de un método de represen-tación, las "grillas de repertorio", a las que ya hemos revisado en el apartado correspondiente, y a la observación respecto de que la psicología de los constructos personales de G.A. Kelly podía adap-tarse a los requerimientos de implementación de sistemas expertos. B.R. Gaines y R.L. Shaw formula-ron y testearon una serie de métodos para representar los constructos personales mediante grillas de repertorio y produjeron un conjunto de programas experimentales, el más conocido de los cuales resultó ser PLANET (Shaw 1982).

Exploraciones ulteriores por cuenta de otros estudiosos -y que redundaron en la confección de programas de relevamiento automático como el ETS de John Boose- demostraron que las grillas de repertorio se prestaban mejor a tareas de análisis que a procesos de síntesis. A partir de observaciones como ésta, la carrera por construir esos logiciales (que unos pocos años atrás habría sonado extrava-gante) se aceleró: Boose implementó el programa AQUINAS, que utiliza grillas jerárquicas; Parsaye y Murphree diseñaron el Auto-Intelligence System, que incorpora técnicas de inducción; y Kahn, Nowland y McDermott dieron a conocer el MORE, un sistema que ayuda a perfeccionar bases de conocimiento ya existentes. Una de las últimas novedades importantes en este terreno es el SALT, quizá el primer método de adquisición automática de conocimientos capaz de manejar la síntesis con tanta soltura y propiedad como el análisis (Parsaye 1988).

¿A qué viene todo esta jerga robótica cuando de antropología se trata? Indudablemente, no todo el conocimiento antropológico es susceptible de relevarse de manera automática, empleando para tal fin el SALT, el MORE y el AQUINAS o algún otro producto similar. En otras palabras, no todo el conocimiento del experto humano en antropología está estructurado de tal manera que un procedi-miento mecánico de elicitación resulte más efectivo que una mayéutica informal. Pero esto no consti-tuye una enfermedad específicamente disciplinar. Lo mismo puede decirse del conocimiento geológi-co, de la tecnología de detección de fallas industriales o de la medicina: los sistemas expertos se han

Page 343: Antropologia y Programacion Logica

343

aplicado en estas áreas sólo en relación con operaciones de inferencia de un tipo restringido, concer-nientes a la clasificación, la tipología, la diagnosis o la prognosis, operaciones que la connotación lin-güística diferencia pero que desde el punto de vista formal comparten un núcleo idéntico. Operacio-nes, además, que los teóricos de la abducción tuvieron el mal tino de escoger como paradigmática para llevar agua al molino del irracionalismo.

En antropología, clasificación y diagnosis son operaciones conceptuales que se reiteran a lo largo de campos tan diversos como la ergología, la identificación de estilos artísticos, la organización ca-tegorial de los archivos comparativos, la determinación de fenómenos patológicos en restos óseos, la denominación de un pariente, la reproducción de las estructuras de las taxonomías emic, la caracteri-zación pautada de conductas y así hasta el infinito. Los sistemas expertos programados hasta hoy son sin duda perfectibles, y todavía se está en espera de una tipología de las inferencias precisas que admi-ten una formalización óptima y de las que escapan a todo esquema; pero por lo menos son ya capaces de insinuar al especialista la naturaleza formal de ciertas actividades suyas y hasta de demostrarle que, en determinados menesteres, el humanista humano es apreciablemente menos intuitivo y caprichoso de lo que cree.

La potencia y el número de los formalismos que se han inventado no bastan todavía para generar ninguna homogeneidad ideológica. En materia de diseño de sistemas de conocimiento prevalecen dos tendencias contrapuestas y una tercera, intermedia (cf. Walker 1987:5-7), en una dinámica de oposi-ciones que evoca las querellas entre el sustantivismo y el formalismo en antropología, o entre el mo-nismo y el pluralismo en lógica.

1) La primera tendencia, propuesta como tesis, establece que es posible implementar méto-dos generales de resolución de problemas, que esos métodos pueden hacerse operativos en sistemas de computación y que se pueden aplicar a diferentes (o a cualesquiera) ámbi-tos de problematicidad en cualquier ciencia o práctica imaginable. Implícita a esta tesis es la idea de que los aspectos procedimentales en la resolución de un problema son inde-pendientes del problema que se trate. Esta ponencia es históricamente la más antigua, y es la que impulsó algunas de las indagaciones pioneras de la psicología cognitiva y la inteli-gencia artificial, como el Logic Theorist de Newell, Shaw y Simon, escrito hacia 1956 (y presentado en la misma conferencia en la que John McCarthy acuñó el término "inteli-gencia artificial"), o el General Problem Solver de Newell y Simon, a comienzos de los años 60.

2) La segunda postura, que podríamos llamar la antítesis, afirma que la generalidad es impo-sible; lo que corresponde hacer es capturar el conocimiento humano y los procedimientos específicos a cada ámbito de aplicación. Algunos sistemas expertos reconocidos (DEN-DRAL, Meta-DENDRAL) obedecen a esta premisa, que ha sido defendida con peculiar énfasis por Edward Feigenbaum, de Stanford.

3) Una tercera propuesta, que Walker ha definido como síntesis, consiste en tomar el cami-no medio entre los dos extremos: la idea básica es que muchas tareas (léase muchas dis-ciplinas, campos o áreas de investigación) poseen requerimientos en común, expresables en un núcleo de procedimientos o shell, al cual se pueden agregar especificaciones que lo adaptan a las esferas particulares o a las idiosincracias de cada disciplina.

Nuestro modelo adscribe a una versión "generalizadora" de la síntesis, que es la que ha demos-trado la viabilidad de shells o motores de inferencia que se venden en el mercado para adjuntarlos al

Page 344: Antropologia y Programacion Logica

344

tratamiento de bases de conocimiento sumamente disímiles en contenido sustantivo, pero de todas maneras basadas en unas pocas estructuras de representación.

Hoy en día, los hackers y los piratas de software intercambian shells de KBS como si fueran mo-nedas de colección, y los sistemas para elicitar el saber experto se ofrecen masivamente en las revistas especializadas (AI Expert, Artificial Intelligence), prometiendo un descuento a quien envíe el cupón antes de fin de mes. El comprador puede escoger entre distintas vías que conducen a lo mismo: redes neuronales, programación lógica, programación orientada al objeto o sistemas gráficos. La visión an-titética que proclama la localidad del conocimiento (otro sueño geertziano, reflejo de una concepción individualista y aristocrática del trabajo de pensar) cae por tierra ante la materialidad de los hechos. No hay tal cosa como el conocimiento local, específico de cada círculo de fenómenos, incomunicable de un científico a otro y de reproducción prohibida a través de un método: diferentes disciplinas ci-fran su diferencia en combinaciones estructurales no demasiado idiosincráticas de operaciones y re-presentaciones que siempre son, en última instancia, las mismas. Problemas y programas

El programa que aquí se ofrece para representar el tipo es un sistema experto simple con una in-terface amplia y ceñida, cuyo encadenamiento de reglas pretende estar articulado plenamente a prueba de trampas a través de metarreglas de exclusión y similitud. En esta versión, las posibilidades de infe-rir correctamente una solución depende, por supuesto, de que las respuestas que el usuario entregue sean correctas. Pero no sería descabellado implementar unas cuantas estrategias capaces de percibir que el interlocutor humano está jugando sucio y abortar consecuentemente el engaño. Se ha presu-puesto una lógica lineal, aristotélica y bivalente, por lo que de antemano quedan descartados todos los conjuntos difusos y las estructuras de prototipos, aunque el juego de la consulta tolera el probabi-lismo. No obstante, el dominio de aplicación del programa no está delimitado y los datos sustantivos bien podrían ser otros, ya que la base de conocimientos se encuentra separada de la batería de reglas de inferencia. Incidentalmente, un grupo de psiquiatras en el que participa nuestro conocido doctor Agustín Siedi, ha sacado de este mismo programa un enorme provecho, pese a que el mismo fue rea-lizado sin tener en cuenta esa especialidad de aplicación.

Veamos miembro a miembro algunas características del sistema, comenzando por la estructura de datos (o base de conocimientos) y siguiendo después por la estrategia lógica (o motor de inferencia), para acabar con la interface de usuario. En un sistema experto es común que los datos sean reglas de producción; en este ejemplar, dichas reglas acomodan tajadas de conocimiento en forma de expresio-nes condicionales. A tal fin se han dispuesto tres configuraciones primarias; una que tipifica reglas bá-sicas (la entidad A es B si se dan las condiciones número X, ..., Z), otra que detalla los contenidos de cada condición (la condición número X consiste en la característica P), y una tercera, opcional, que detalla consecuencias de las reglas (si B, entonces Q). Las consecuencias pueden también interpre-tarse como comentarios (por ejemplo, "según la caracterización del científico X"), asignables a cual-quier nivel de análisis. Dado que A y B son posiciones relativas de clase y ejemplar, el ejemplar de una clase puede jugar luego como clase con respecto a otro plano de detalle, hasta la profundidad de inclusión que haga falta. Procedimientos especiales permiten tejer, por añadidura, metarreglas que de-finen exclusión mutua ("tiene forma de urna" excluye a "posee forma de puco o kero") y parecidos, e-quivalencias conceptuales o aires de familia ("proviene de los Valles Calchaquíes" se asemeja a "se origina en la región Valliserrana"). Unas y otras metarreglas se apiñan en tantos conjuntos como se

Page 345: Antropologia y Programacion Logica

345

quiera, siendo posible definir simultáneamente las mismas condiciones como engranadas en uno y otro tipo.

Hasta aquí, la plasticidad de la representación está dada por una libertad total para enumerar la cifra y la índole de las condiciones y las metarreglas, y para estipular definiciones alternativas, total o parcialmente solapadas, complementarias, conexas, inconexas e incluso contradictorias. No sabemos hasta hoy de ningún tipo de saber experto que no admita predicarse de este modo, cuando su matriz accede a ser tan elástica; el conocimiento antropológico, por lo que sabemos, nada presenta de estructuralmente peculiar que ofrezca resistencia a modalidades tan adaptables de descripción.

Desde el punto de vista lógico, el programa despliega lo que podría llamarse encadenamiento hacia atrás, conjetura o abducción, pretendiendo probar determinada hipótesis (en principio, la prime-ra que encuentra que corresponda al dominio escogido) y solicitando al interactor humano que le res-ponda si se dan las condiciones que definen al caso. Las respuestas del operador van determinando que el sistema opte por las ramas no negadas del árbol que acomoda, implícitamente, todos los casos en un universo ordenado por las mismas condiciones que los describen. Pese a que la lógica subyacen-te es más bien convencional, se ha implementado una sencilla prestación probabilista, ya que se admi-te que las respuestas del usuario incluyan posibilidades, junto a las clásicas contestaciones por sí o por no. El interlocutor humano puede escoger entre evaluar cualitativamente la magnitud de la posibili-dad-probabilidad-confianza o asignar una cifra a esa evaluación. Antes de decidir su respuesta, el u-suario puede requerir al sistema que explique qué es lo que está tratando de demostrar y que enumere ordenadamente qué es lo que cree que ya lleva demostrado.

El sistema ha sido pensado como una interface integral para representar conocimientos, analizar su configuración semántica, comparar estructuras representacionales y obtener diagnósticos de carac-terización. En este sentido incluye rutinas estructuradas de ingreso de conocimientos que asignan di-námicamente números de condiciones que se agregan sin redundancia a las que ya pudieran estar acti-vas en la memoria. Aunque no se trasluzca de inmediato, la estructura que ordena el dominio puede ser cualquiera, ya que el usuario decide la naturaleza y la cantidad de las condiciones de cada entidad, los contenidos de las definiciones alternativas, la sustancia semántica de los casos y la forma en que se subsumen (o no) en una jerarquía o en un campo de similitudes o contraposiciones heterogéneas. Una vez introducidos los casos, se puede requerir el mapeado del dominio, analizar los criterios que se han instrumentado para diferenciar las categorías, comparar los atributos de todas o de algunas de las entidades que conforman el universo o realizar un proceso de diagnosis, situándose en cualquiera de los nodos que articulan el conjunto. Está abierta la posibilidad de modificar la base de conocimientos sin interrumpir el programa y de archivar (o no) las modificaciones a título permanente.

El programa capta cuando dos o más entidades comparten una misma condición y unifica la regla correspondiente, ya sea que se esté introduciendo información o realizando una búsqueda; del mismo modo, el manejo de las negaciones es lo que se llamaría "inteligente": el sistema pregunta por la ver-sión positiva de la aserción y elimina de antemano las entidades que se caracterizan por reglas que niegan las que se han definido como correctas en el ejercicio de un diagnóstico. Aunque la compara-ción interna del programa falle en reputar dos cláusulas de distinta escritura como una expresión de la misma idea, tal hecho no altera la precisión del diagnóstico; de todas maneras, es posible estipular después la igualdad semántica de las reglas diferentemente vertidas.

También se ha instrumentado una sencilla interface que finge habilidades de lenguaje natural, a fin de que la interacción con el sistema sea menos monótona. La elección de frases alternativas por parte de la máquina es aleatoria, y echa mano de los recursos de randomización incluidos en el dialecto de

Page 346: Antropologia y Programacion Logica

346

Prolog. De esta forma, el "diálogo" con la máquina, si se lo quiere llamar así, ostenta cierta variabili-dad lingüística, al tiempo que se esclarece, como sedimento de la misma interacción dialógica, la natu-raleza conceptual de las preguntas a las que el usuario responde.

Como hemos dicho, se han coordinado múltiples rutinas para asertar metarreglas que definan, por ejemplo, conjuntos de condiciones excluyentes y de reglas similares. Las primeras evitan que el sistema pregunte condiciones que quedan excluidas ante una respuesta positiva anterior, mientras que las segundas proporcionan diagnósticos alternativos que se aproximan al asertado como verdadero. La aserción de una condición que excluya a otras tiene por efecto que automáticamente se poden las ramas del árbol de las que penden entidades cuya hipotetización sería contradictoria con los asertos realizados, reduciendo así el espacio de búsqueda y la extensión lineal de la consulta. El carácter inte-rexcluyente o similar de uno o más conjuntos de condiciones se puede establecer, anular, conmutar o modificar sobre la marcha, permitiendo rigorizar o relajar, según se trate, los criterios que orientan la diagnosis. El sistema de metarreglas permite transformar la estructura de la representación inicial, ha-ciendo que las reglas de producción expresadas como condicionalidades se comporten como frames. A tal efecto, la primera palabra de cada expresión condicional funcionaría como si fuera el nombre del slot; las condiciones cuyo nombre de slot sea el mismo son mutuamente excluyentes. Una base de da-tos que se construye en forma dinámica lista todas las expresiones gramaticales con que se inicia la descripción; el usuario puede decidir que todas o algunas de las condiciones que comiencen con esas palabras se interpreten como no-slots, de modo tal que aún cuando el primer símbolo coincida las respectivas reglas no serán consideradas excluyentes. Esta idea nos fue sugerida por el licenciado Pa-blo Bonaparte, y los resultados de esta estrategia han demostrado ser óptimos. La base de datos de expresiones gramaticales se puede ampliar o modificar, seleccionando los items a agregar o excluir mediante menúes de configuración dinámica. Se puede probar incluso la variabilidad de la conducta del sistema testeando la conducta diagnóstica según criterios alternados, susceptibles de integrarse a diferentes visiones del mismo conjunto básico de condicionalidades. Modulando estos aspectos es po-sible tratar la base de conocimientos como un frame total, como un conjunto de reglas de producción o como una combinación de ambas estructuras, sin introducir modificaciones en la heurística.

Al lado de las prestaciones probabilísticas y de su correspondiente cálculo, que asigna un índice de posibilidad a los diagnósticos, el programa despliega un conjunto de indicaciones para el caso de que la diagnosis falle por insuficiencia de respuestas positivas. Señala las entidades que cumplen sólo algunas de las condiciones válidas e identifica aquellos ejemplares o clases que se le parecen. El uso de metarreglas de exclusión ocasiona que, ante la ausencia de entidades que correspondan a lo que la interacción determina, el sistema "se dé cuenta" muy rápidamente de que una interrogación más ex-haustiva no daría lugar a ningún diagnóstico correcto. Pese a que la resolución es secuencial, el siste-ma finge una especie de simultaneidad. Se ha procurado asimismo que la consulta se efectúe sin intro-ducir literales y frases cuya sintaxis pudiera no corresponder con las ristras que el programa aceptaría como coincidentes. Por ello toda la sesión de diagnóstico se lleva a cabo a través de menúes que im-piden cometer errores tipográficos. Con ello se soluciona el problema, siempre espinoso, de la falta de tolerancia de las máquinas frente a los deslices de la performance humana: el sistema es capaz de llegar a diagnósticos acertados aún cuando la caracterización descriptiva de las entidades esté sujeta a error.

La sesión de diagnóstico se puede interpretar al mismo tiempo como el objetivo experto del sis-tema o como una puesta a prueba de la adecuación, sistematicidad y exhaustividad descriptiva de la base de conocimientos. El proceso admite numerosas modalidades: la primera autoriza que el sistema

Page 347: Antropologia y Programacion Logica

347

realice incluso preguntas que quedarían anuladas por metarreglas de exclusión; la segunda activa esas reglas, dejando que las condiciones de los diagnósticos corridos con anterioridad permanezcan en la traza y puedan ser nuevamente recorridos; la tercera va podando los diagnósticos correctos a medida que se producen, disminuyendo la magnitud de los árboles de búsqueda en las pruebas subsiguientes. La poda del espacio de búsqueda es momentánea y secreta: el interactor vuelve a tener a mano los datos que necesita en cada sesión de diagnosis, en las consultas comparativas de descripciones y en la gestión de metarreglas, y siempre se entiende con la máquina en lenguaje natural.

Existe también la posibilidad de rastrear expresiones descriptivas a partir de palabras sueltas, que se pueden introducir con toda la variedad de mayusculización, acentos y diacríticos que se desee sin obstaculizar el hallazgo de los símbolos originales. El programa exhibe entonces, tras descomponer internamente las frases en componentes individuales o tokens, todos los descriptores que incluyen la palabra que se selecciona como clave. Complementan el diseño rutinas de edición de datos, de opti-mización del espacio de memoria, de impresión y de modificación del tamaño y color de las ventanas. Un archivo de ayuda de texto completo (incluido al final del apéndice) permite consultar en todo momento las propiedades del sistema y su forma de manejo.

Hasta la fecha el SE ha sido aplicado a un conjunto creciente de representaciones disciplinares, y aún estamos evaluando los alcances y límites de sus prestaciones. Hasta ahora ninguna clasificación, taxonomía, serie, escala, información textual, tipología o paradigma, etic o emic, le ha sido hostil, ni ha habido que retorcer las definiciones para adaptarlas a sus modalidades de insumo. Hemos llegado a incluir información no pautada, en forma de descripciones más bien literarias, y aunque la economía de las mismas es menos efectiva (por la falta de redundancia) las operaciones de diagnosis igual llegan a término.

El listado agregado al programa reproduce una base de conocimientos extractada del texto de Alberto Rex González y José Pérez Gollán Argentina Indígena. Vísperas de la Conquista (Buenos Aires, Paidós, 1972); junto con un pequeño corpus linneano, más simétrico, éste nos ha servido para poner a punto los mecanismos del modelo. El conjunto de prueba describe (sin veleidades de exacti-tud arqueológica) unas veinte variedades estilísticas en base a poco más de ochenta expresiones con-dicionales, afectando apenas a un 2% de la capacidad de memoria. El expertise elicitado puede ser masivo: el sistema es capaz de acoger bases de conocimiento de hasta unos 384 mil caracteres, lo que equivale a un libro de unas 200 páginas; de más está decir que conjuntos de esa magnitud no abundan ni en la antropología ni en el saber clasificatorio y memorístico de nuestros expertos. De ser más ex-tenso, el almacenamiento tratable podría llevarse teóricamente hasta el infinito disponiendo los datos en disco, al costo de una ligera mengua en velocidad.

Nuestro SE es, junto con el modelo de simulación, uno de los programas elaborados con soporte del Proyecto de Investigación y Desarrollo sobre Antropología e inteligencia artificial (CONICET, PID Nº 401/ 89) que estamos dirigiendo actualmente. Anotemos al margen que el presente es quizá el primer núcleo de SE que se ha programado teniendo en cuenta el tratamiento de información antropológica y consolidando todas las garantías para que los procesos que se operan sobre ella no traicionen ni la categorización convencional, ni la profusión de matices, niveles de registro y riqueza de excepciones que parecen ser parte inseparable de nuestro saber. Hay algunas referencias sueltas al uso de SE en arqueología por parte del grupo de Gardin, pero atañen a productos comerciales ready-made y no a desarrollos en función de un lenguaje, y menos aún de sistemas elaborados mediante lenguajes de programación lógica en los que la materia prima es la descripción del objeto.

Page 348: Antropologia y Programacion Logica

348

CONCLUSIONES

Al margen del juego limpio, en la literatura científica existen dos maneras, incorrectas pero con-

sagradas, para exponer las aserciones que conforman la culminación conclusiva de un trabajo de tesis. En consonancia con la naturaleza de nuestra investigación, podemos trazar una analogía entre la cons-trucción académica de conclusiones y el desarrollo de un programa lógico. La primera modalidad consiste en introducir las conclusiones (que son hechos a probar) como hechos axiomáticos, indepen-dientes de las reglas que debían haberlos producido o probado. La segunda finca en embutir una dis-continuidad entre los axiomas y los razonamientos, y llegar a las conclusiones al costo que fuere, sin que ninguna continuidad deductiva las garantice.

Aquélla es la modalidad de la tautología, en la que (aceptados los hechos iniciales) no se inyecta ninguna contradicción, pero tampoco se prueba nada nuevo. La otra es la modalidad de la falacia, donde las conclusiones no se siguen de la información con que se cuenta y de las normas que reglan el razonamiento. La perversión soft de la tautología es la reiteración (típica de los etnometodólogos) de las obviedades que ya se han dicho o de las trivialidades que nadie discutiría; la de la falacia, la arbi-trariedad de suponer (a la manera de Marshall Sahlins) que lo que se ha dicho es necesario y sufi-ciente para demostrar lo que se pretendía.

Entendemos que nuestras conclusiones cortan el nudo gordiano de las dos alternativas por impo-nerse a sí mismas no volver a resumir lo que constituía simplemente el objetivo a probar, ni reconocer como hecho probado lo que no surge como consecuencia natural de las operaciones que se han de-senvuelto. Pero aunque nuestra tesis aspire a la forma y a la eficacia de las pruebas lógicas, lo cierto es que toda ella es una formulación discursiva en la que las axiomatizaciones de despliegan sólo por momentos, y en la que la tautología y la arbitrariedad se pueden introducir según se quiera. Es el len-guaje objeto el que permite axiomatizar, no el metalenguaje que lo parafrasea. Pensamos haber llega-do a ciertas conclusiones firmes y tal vez interesantes, jugando con tanta parsimonia como es posible hacerlo. Pero ésta es, por supuesto, sólo una expresión de deseos, ya que para probarlo deberíamos incurrir (como lo demostró Gödel) en la recursión infinita del metalenguaje y la autorreferencia.

¿Qué hemos demostrado, después de todo, y cuánto de lo que puede concluirse en este punto no se sabía ya con antelación? Corresponde clarificar aquí la naturaleza del aporte personal, a fin de que las múltiples miradas a la investigación computacional de la lógica operen como una fundamentación adicional, y no como un indicio de que el camino estaba desbrozado de antemano. "Hallar la pauta que conecta", como poetizaba Bateson, es una expresión hermosa pero ambigua. En todo el trayecto, no había nada listo para ser encontrado, y las axiomatizaciones más poderosas estaban aguardando u-na traducción sin traiciones al lenguaje de la ciencia social. El aporte personal no se restringe enton-ces a haber puesto en contacto las debilidades de la antropología con las fuerzas del Prolog. Nada es tan simple, pues la pauta se encuentra menos de lo que se la construye.

No es necesario cargar las tintas sobre el carácter dramático del estado inicial de la cuestión. So-bre ningún problema existía un veredicto categórico. Los diversos teoremas lógicos del cálculo de predicados no estaban conectados plenamente en una teoría de modelos, los textos fundantes discu-rrían en términos de símbolos incompatibles, de notaciones extravagantes y de lenguajes ficticios, los obstáculos formales habían sido inflados por irracionalistas que no acababan de comprenderlos o que desconocían ex cathedra el trabajo de ciencias enteras, y muy rara vez se había dado cabida en la

Page 349: Antropologia y Programacion Logica

349

agenda computacional al tratamiento de las lógicas divergentes, algunas de las cuales han probado ser tan promisorias y expresivas.

Un aura de imposibilidad circundaba a la empresa, aura que se extendía a una mitología grotesca sobre los límites del Prolog (que hemos atenuado) y que sólo nos habla del peligro de que los filóso-fos sin experiencia computacional escriban libros sobre lenguajes de informática, o los programadores sin entrenamiento especulativo ensayen tesis de filosofía. Todo esto, por supuesto, debe sumarse al estado global de la antropología contemporánea, que parece retraerse progresivamente hacia una con-cepción antimetodológica (umbilicocéntrica, más que reflexiva; plañidera, más que sensible; alboro-tadora, más que revolucionaria), alimentada por la palpable ineficacia de los modelos antropológicos formales.

Alguna conclusión genuina habremos producido, sin duda, si es que no todo lo que brilla como saber es opinión infundada. Exponemos pues las conclusiones más relevantes a las que pensamos haber llegado, ordenadas (esta vez sin pretensiones formales) según el espacio del conocimiento al cual afectan.

Sobre la Teoría de Modelos:

1] Creemos haber demostrado por primera vez en la historia de las aventuras formalizantes de la

antropología que es posible una modelización verdadera, rigurosa y replicable, con todas las conse-cuencias reflexivas y realimentantes que sea de imaginar sobre la coherencia interna de las teorías que en ella se formulen y de ella se desprendan. Esta modelización se puede llevar a cabo sin distorsionar hasta un grado inadmisible las tradiciones conceptuales de la disciplina, aunque el precio de esta inte-gridad es el de una capacitación directa en el ejercicio de los formalismos implementados. Si la "natu-ralidad" de las resoluciones es efectivamente un valor digno de preservarse o no, habrá que deslindar-lo en otra oportunidad.

2] Hemos determinado de manera taxativa las condiciones a cumplir por un modelo, deslinde que (asombrosamente) no se encuentra promulgado en ninguna preceptiva epistemológica. Estas condi-ciones pueden resumirse en estos puntos: (a) Disponibilidad de un lenguaje estricto de modeliza-ción, con inventario axiomático de elementos, sintaxis, semántica y pragmática apropiadas. (b) Capa-cidad representacional ligada formalmente a la posibilidad de cálculo en el interior del mismo cons-tructo. (c) Capacidad operacional, en el sentido de producir un educto o comportamiento contrasta-ble, basado en el desarrollo del cálculo. El núcleo del Prolog satisface el primer requerimiento con u-na gramática Backus Naur Form y cinco modelos semánticos a falta de uno, el segundo con la teoría axiomática del cálculo de predicados y el tercero con el algoritmo de resolución, complementado con unificación y backtracking.

3] Ante el elusivo silencio de la epistemología constituida y las múltiples referencias circunstan-ciales a una presunta "teoría de modelos" (aparentemente muy avanzada) que no hemos sido capaces de encontrar en la bibliografía de ninguna ciencia, hemos desarrollado por lo menos los rudimentos de esa teoría, la cual no puede en modo alguno materializarse sin (a) una reflexión sobre sus prerrequisi-tos (señalados en el párrafo anterior), (b) un desarrollo constructivo posrrequisitorio y universalmente

Page 350: Antropologia y Programacion Logica

350

replicable y (c) una prueba rigurosa de aplicabilidad5. En contraste con lo que fijan estas exigencias, los modelos propuestos en antropología con anterioridad se apiñan alrededor de aplicaciones se-lectivas a las que, al carecer de los sustentos mencionados, cabe poner en tela de juicio aún con res-pecto a las áreas restringidas en que parecen funcionar mejor.

4] Como componente esencial de una posible teoría de modelos implicada en la práctica de las ciencias empíricas, deslindamos en el capítulo pertinente lo que corresponde significar cuando se ha-bla de "la lógica de" determinada cosa, y establecimos formalmente el nexo de realimentación entre un objeto conceptual y el formalismo que lo abarca, sin agotar la dimensión lógica en el reflejo de lo real ni subsumir el comportamiento de lo real en una providencia clandestina. El rigor lógico a que deben apegarse los modelos nada dice en principio sobre la posible racionalidad de lo modelado.

5] Al margen del beneficio que ello pudiera arrojar en relación con las prácticas disciplinares es-pecíficas, hemos encontrado una discontinuidad en la epistemología y hemos hecho lugar en la tipo-logía de modelos posibles a una nueva clase: se trata de los modelos que generan las gramáticas o formalismos generativos a partir del análisis de los datos y relaciones básicas, a los que propusimos denominar generadores. Estos nuevos modelos cubren una brecha que no se había percibido antes y que mediaba entre la analítica distribucional y el proceso de estipulación del conjunto de reglas que describirían o generarían el fenómeno. La existencia de estos modelos responde a la pregunta "¿de dónde saca el gramático generativo sus reglas?" diciendo: "de la descripción de los hechos que él to-ma como punto de partida, mediante un mecanismo de inducción". Ese mecanismo de inducción es al-gorítmico, y se podrían imaginar procedimientos universales, independientes del dominio aplicativo. El objetivo epistemológico que se persigue al proponer un tipo de modelos que ostensiblemente esta-ba haciendo falta no es el de promover un paso de avance de la formalización hacia la empiria, ni el de extender las prerrogativas de la lógica inventando un espacio que los investigadores precedentes des-cuidaran por alguna razón de peso; lo que se quiere es más bien cubrir un hueco que el proceso for-mal había dejado abierto y que recién la conversión del modelo en programa lógico pone de mani-fiesto. El reforzamiento de la continuidad deductiva es posible entonces merced a la bendita estupidez de las máquinas, incapaces de asumir por propia iniciativa los supuestos que el investigador quiere encubrir u olvida explicitar.

6] Hemos determinado la estricta complementariedad de la semántica formal de los lógicos y de la semántica representacional de los lingüistas. Sin desconocer que pueden conceptualizarse aún otras semánticas (como la de Schutz o la de Weber, por ejemplo), propusimos la denominación de semánti-cas de primer y segundo orden, respectivamente, otorgándoles un papel diferencial bien establecido en el protocolo de una formulación epistemológica conexa. La primera semántica se refiere, en nues-tro caso, a la conceptualización del comportamiento y las características del lenguaje computacional utilizado en un modelo, mientras que la segunda atañe a una interpretación disciplinar relativa a un dominio de aplicación, y que como tal comprende tanto el sentido como la referencia. Ambas semán-ticas vivían hasta hoy una existencia independiente en las páginas de textos (por ejemplo Lyons 1980) que no habían encontrado la forma de integrarlas en una misma exploración del significado.

5 Existe, por supuesto, la teoría de modelos de la lógica, tal como se la reseña en Chang y Keisler (1973) o en Addison, Henkin y Tarski (1965); de hecho, la expresión "teoría de modelos" procede de Tarski (1954) pero se trata de una teoría formal, situada en un terreno teoremático que no problematiza los usos de la lógica como herramienta de una ciencia empírica, ni los aspectos extralógicos de la inter-pretación, ni la utilización de una herramienta formalmente garantizada para materializar el nexo entre el plano axiomático y el empírico. Se trata, en otras palabras, de un teoría que no está ligada a ninguna práctica, ni siquiera como parte de una agenda futura.

Page 351: Antropologia y Programacion Logica

351

Sobre la Epistemología:

1] Se ha clarificado el problema lógico de la naturaleza de la pregunta (cf. Bunge, Polya, Papo),

aportando, al lado de las elaboraciones formales, una reflexión atinente a la propuesta fenomenológica que establece su prioridad hermenéutica. Concediendo más simpatía a la fenomenología sutil de un Gadamer que al empirismo encubierto de un Bórmida, diríamos que un modelo es un dispositivo dise-ñado más para responder preguntas que para proporcionar respuestas. Contra el positivismo ingenuo, afirmamos que el desarrollo de un modelo no es tanto un proceso de abajo hacia arriba que se origina en datos a su vez fundados en hechos que el intelecto virgen percibe en toda su pureza y cuya inte-gridad debe preservar, sino una estrategia de arriba hacia abajo que, desde un paradigma teórico, for-mula preguntas para poner a prueba sus hipótesis.

2] Forzamos un divorcio indispensable entre los resabios russellianos-wittgensteinianos del ato-mismo lógico y la versión computacional del cálculo de predicados, que, al igual que los filósofos po-sitivistas, parece hablar de átomos y de lenguajes inequívocos en base a primitivos observacionales. El primer Wittgenstein pensaba, en efecto, que el mundo consta de hechos atómicos independientes que podrían ser pictóricamente reproducidos por oraciones atómicas. Nada de esta pretensión humeana merece o necesita conservarse.

3] Hay que anotar también en el crédito de este trabajo la elucidación de los Criterios de Verdad que ocasionalmente invoca la antropología (cf. Bormida 1976; Jarvie 1987), e indirectamente, del problema de la "objetividad". Hemos enfatizado la independencia entre la consistencia interna por un lado y la "verdad" y la "objetividad" del modelo que se construye por el otro, insistiendo en que la preservación de los valores de verdad desde las premisas hasta las conclusiones no incrementa una pizca la verdad lógica que cabe atribuirle a las primeras. Con la concepción que así se introduce (que no es novedosa pero sí más tangible de lo que ha venido siendo, debido a la naturaleza corpórea del modelo), el dilema de la verdad y la objetividad se remite de lleno a un espacio filosófico y metodoló-gico que nada tiene que ver con una posible teoría de modelos o con una "lógica" de la investigación, y que por ello también debe examinarse en otro contexto.

4] Se ha consumado una demostración palmaria de la carencia absoluta de instrumentalidad de los conjuntos de premisas inconsistentes, agregando el concepto de generación de la cláusula vacía al almacén de las pruebas lógicas convencionales e introduciendo las distinciones que corresponden en-tre (a) la naturaleza contradictoria de los hechos referidos y (b) la contradicción inherente a la teoría que se ocupa de ellos. Sin conformarnos con un pronunciamiento sin testimonios, probamos exhausti-vamente la capacidad de los formalismos lógicos para expresar fenómenos irracionales, no racionales y contradictorios.

5] Hemos definido un espacio para problematizar desde coordenadas relativamente precisas lo que significa en una ciencia dada incorporar un formalismo, insuflando a esta frase de sonoridad vis-cosa una intencionalidad técnica similar a la que anima al disponer de una teoría en la epistemología de Sneed-Stegmüller. Tuvimos que concluir que la incorporación de un formalismo tiene sentido si y sólo si el mismo se inserta en un contexto de razonamiento y cálculo que ya es en principio formal (vale decir, en un modelo), e incorporamos demostrativamente instrumentos que van desde el álgebra de relaciones a la teoría matemática de grafos, pasando por la gramática generativa, la matemática difusa y la teoría de autómatas. Ilustramos variedades formales de esa incorporación que comprenden

Page 352: Antropologia y Programacion Logica

352

desde el paso de variables en un programa homogéneo hasta el paso de parámetros entre lenguajes di-vergentes.

6] Hemos demostrado puntillosamente la necesidad de construir una epistemología mucho más precisa y coherente que la que nos han entregado hasta hoy los filósofos de la ciencia; esta última se encuentra contaminada por una confusión sorprendente entre las referencias empíricas, los procedi-mientos metodológicos materiales y los razonamientos lógicos y por el escaso desarrollo de la teoría de los modelos en dos órdenes de problematicidad: (a) la correspondencia entre el modelo y lo que se modeliza, en el doble trámite simétrico de la construcción y la validación, y (b) la variedad de lógica que se despliega en el interior del modelo, y que en su versión convencional (el cálculo de proposicio-nes) equivale a una suerte de interpretación positivista de Aristóteles.

7] Hemos sentado las bases de una didáctica o prescriptiva del uso de herramientas formales en antropología, partiendo de los problemas disciplinarios (y no de las soluciones que se imparten desde otros espacios del saber) como base de sustentación para definir los aspectos de la formalización que resultan pertinentes. También hemos demostrado la conveniencia de definir desde los interrogantes propios de nuestra disciplina la estipulación de una demanda acotada a los mismos, en lugar de a-ceptar una oferta en estado crudo que a la larga resulta inasimilable (como la lógica simbólica), o que nos ofrece poner lo que precisamente debe esclarecerse en el interior de una caja negra.

8] Pretendemos haber reunido elementos de juicio como para incidir en la polémica originada en la línea Suppes-Sneed-Stegmüller, donde se opone una "formalización informal" en base a la teoría in-tuitiva de conjuntos (una propuesta extravagante, según creemos) a la llamada statement-view, la cual, presuntamente, contempla a las teorías como conjuntos articulados de proposiciones lógicas. El argumento básico de Stegmüller (que insiste en la imposibilidad humana de implementar una teoría en términos de cálculo lógico) caduca cuando se abre la posibilidad de una implementación computacio-nal de un modelo lógico, que preserva la naturaleza informal de las teorías al tomar como punto de partida lo que hemos llamado una "formulación discursiva". Para Stegmüller, "la concepción enuncia-tiva [...], aunque sea lógicamente posible, no lo es para los humanos, en la actualidad y en los siglos por venir" (1981:65). Básicamente podemos estar de acuerdo con esto, si dejamos al margen el hecho de que los hombres poseen ciencia y tecnología. Si Stegmüller hubiese sido antropólogo, habría ad-vertido que es riesgoso profetizar con alcance de siglos cuando la cultura está de por medio; y si fuera un lector de más amplias miras (si hubiera leído, aunque más no fuere, los artículos de Suppes que no se refieren a Sneed), habría tomado conocimiento de que a su alrededor la programación lógica se ha-llaba materializando, con buenas perspectivas, precisamente lo que él había decretado ilusorio.

9] Asimismo, entendemos haber demostrado que los grandes impedimentos formales y seudo-formales de la racionalidad, las imposibilidades trascendentales que emergen de ciertas lecturas de la prueba de Gödel o del teorema de Church, no tienen el significado genérico que se les atribuye y en absoluto impiden que un modelo referido a un dominio empírico cualquiera sea completo, decidible y computable. Existe una amplia traza de posibilidades formales, que pasa por el teorema de completud de Gödel, la prueba de satisfacibilidad de Henkin, el resultado de Löwenheim-Skolem y el teorema de compacidad. Hemos ramificado demostraciones que prueban que, independientemente de la imposibi-lidad de formalizar toda la lógica de cuantores, de resolver tablas de verdad infinitas y de probar la consistencia de un modelo en el mismo trámite en que se formula (independientemente, en otras pala-bras, de estos acertijos bizantinos y de estos juegos de paradoja), siempre existe un orden, una forma y un espacio de posibilidades para una formalización más que aceptable de los problemas de la vida real.

Page 353: Antropologia y Programacion Logica

353

Sobre la programación lógica y el Prolog:

1] La posibilidad de modelización formal y lo que ella arroja como corolario metodológico es la

premisa mayor y necesaria; la utilidad del Prolog, la premisa menor y contingente. La tecnología so-bre la que hemos desarrollado la prueba es indudablemente de transición, y está siendo exponencial-mente optimizada en el momento en que esto se escribe. Hasta aquí, examinamos las posibilidades de lo que es en rigor apenas un rudimento de programación lógica, implementado en la máquina que no corresponde y con una tecnología que las décadas venideras reputarán risible. Si nuestra iniciativa tie-ne alguna continuidad, la historia de la verdadera formalización de la antropología se escribirá de aquí a unos años. Habrá que esperar también que se resuelvan algunas de las polémicas hoy activas, como la que pone en tensión a los partidarios de la programación lógica con los diseñadores de redes neuronales.

2] Aunque hemos tenido alguna incidencia en el diseño de ciertos aspectos puntuales de determi-nados dialectos del lenguaje, no somos los inventores de Prolog ni estamos dispuestos a considerar la programación en este lenguaje (por gratificante que pueda ser, y por cierto que lo es) como una fina-lidad en sí misma. Construir un modelo es sólo un paso previo a la contrastación de las consecuencias de una teoría, que sólo tiene en el modelo la oportunidad de ser mejor. El Prolog es la herramienta, y se la deberá abandonar en el momento que se demuestre defectuosa o que se la supere, con el benefi-cio condicional de una mayor transparencia y adecuación. La herramienta podría haber sido otra, tal vez el Smalltalk o un lenguaje concurrente, aunque es dudoso que un desarrollo semejante pudiera ser alguna vez inteligible para antropólogos centrados todavía alrededor de una currícula dispersa, desde la que ni siquiera se imparte una formación humanista sensata.

3] Se ha demostrado no sólo la adecuación circunstancial o condicionada de la programación lógica, sino su valor para la representación de variadas estructuras formales e informales de conoci-miento, y para el desarrollo de procesos de inferencia basados en las fundamentaciones lógicas más dispares. Para esta demostración ha resultado esencial el hecho de que la programación lógica haya priorizado las técnicas de representación del conocimiento, otorgando al campo de los "hechos" ini-ciales del proceso inferencial una dimensión estructural del que la lógica simbólica vulgar carece.

4] Examinamos desapasionadamente las limitaciones que hacen del Prolog un lenguaje de transi-ción hacia la programación lógica en sentido estricto, y encontramos que no son suficientes para des-calificarlo. Redefinimos la mayoría de esas limitaciones en parte como consecuencias lógicas que en-vuelven a toda formalización y en parte también como fruto de diversos malentendidos típicos de la incomunicación transdisciplinar.

5] Aún si la máquina lógica del Prolog no funcionara hasta las últimas consecuencias, aún si el algoritmo de resolución (interpretando la prueba de Gödel en sentido irracionalista) se siguiera demo-rando hasta el advenimiento de una nueva utopía hilbertiana, la mera expresión de los problemas an-tropológicos en forma clausal y la sola resolución de los pocos problemas propuestos hubiera valido la pena por el beneficio de la autoconciencia metodológica que así se nos retorna.

Page 354: Antropologia y Programacion Logica

354

Sobre el Proceso Metodológico:

1] En esta investigación se ha logrado por primera vez exponer toda la cadena de formalizaciones

puntuales que corren desde la mecánica de la resolución computacional hasta la cumbre de las lectu-ras declarativas de un programa, en función de los desarrollos teóricos y computacionales básicos y de una prueba interpretable en términos antropológicos. La mayor parte de los textos conocidos de programación lógica carecen de esta demostración encadenada, por lo que el mayor mérito de la for-malización computacional (la continuidad deductiva y la coherencia interna) se pierde en los laberin-tos de las citas indirectas, de las alusiones sistemáticamente fragmentarias y de los rumores tecnológi-cos.

2] Hemos fundado (más allá del antecedente interesante, pero instrumentalmente inservible de la Ciencia Cognitiva) la primera experiencia básica de aplicación de la inteligencia artificial a las ciencias sociales, al lado de la epistemología que funda (también por vez primera) la posibilidad de construir de modelos formales genéricos en la disciplina. Es importante remarcar la nueva generalidad que se ha ganado: tradicionalmente, los modelos de simulación de relaciones predador-presa no sirven para examinar la lógica de la adaptación, y las gramáticas formales sólo generan productos de una sus-tancia determinada; las pautas de análisis mitológico no tienen nada en común con la re-producción de los procesos sociales, y así hasta el infinito. La metodología clásica ha jugado conforme a la ley de las proporciones inversas: a mayor refinamiento formal, menor extensión del ámbito predicativo. Y el saldo lamentable ha sido que los modelos peculiares a un fenómeno no coagulan en estrategias disci-plinares de resolución. Con la reflexión sobre la estructura representacional y heurística de los mode-los construidos pensamos haber ganado un importante avance en la causa de la generalidad. Sobre la Lógica y las Lógicas Alternativas:

1] Más allá de los principios que rigen by default, se ha demostrado la practicabilidad del uso de

la implementación computacional de la lógica de predicados del primer orden como formalismo de re-ferencia para la construcción de modelos fundados en lógicas no del todo coincidentes y/o discre-pantes con el esquema apofántico asertivo binario convencional.

2] Hemos trazado correlaciones de interés en pares ordenados de problemas sustantivos de las ciencias humanas por una parte y elaboraciones lógicas formales por la otra: entre la concepción de Kripke sobre los mundos posibles y los universos finitos de sentido de la fenomenología schutziana; entre las normas contradictorias de la lógica deóntica de Von Wright y la hipótesis batesoniana del doble vínculo; entre los lenguajes presuposicionales de Van Fraasen y los implicit meanings de Mary Douglas (o los unsaid de Stephen Tyler); entre las extensiones de la lógica modal y el complementa-rismo de Devereux; entre las decisiones by default de Robert Randall y la lógica omitiva de Reiter; entre el monismo lógico/formalismo económico y el pluralismo lógico/sustantivismo antropológico; entre la lógica temporal y las modalidades dinámicas del pensamiento antropológico; entre la semánti-ca difusa de prototipos de Rosch, Berlin y Kay y los grados de evidencia del intuicionismo de Heyting; entre la lógica inductiva y las estadísticas de la antropología transcultural. No hace ninguna falta forzar un etcétera para tornar el registro más aluvional. Estas concomitancias son muchas y algunas de ellas, por lo menos, pueden resultar metodológicamente significativas en una investigación más particularizada.

Page 355: Antropologia y Programacion Logica

355

3] Como correlación semejante, en otro cuadro análogo o en un suplemento del mismo cuadro se acomodarían los pares ordenados de algunos problemas tradicionales de la antropología, vertidos en una nueva matriz lógica: el pensamiento prelógico y la lógica multivaluada, la semántica de prototipos y la lógica difusa, el análisis componencial y las grillas de repertorio, el paradigma indicial (o la "infe-rencia clínica") y las heurísticas expertas. Lejos de creer que hemos aportado soluciones imaginativas sobre esos difíciles particulares, reclamamos no obstante el crédito de una reformulación harto más homogénea, ordenadora y precisa que las que se acostumbran en el profuso género literario de los "replanteamientos" discursivos (Leach 1961; Hymes 1972; Sperber 1974; Rosaldo 1989). En rigor, un solo modelo vinculante (el de la programación lógica) congrega e impulsa todas las posibilidades de representación y elección estratégica: cada transición de fase de las renovaciones antropológicas invoca a gritos un paradigma lógico capaz de expresarla, y casi cada lógica históricamente formulada con certeza hallaría en alguna antropología desviante pero disciplinada (modelización de por medio) un universo óptimo de aplicación.

Definición del problema en ciencias sociales Redefinición del problema en términos lógicos Universos finitos de sentido (Schutz) Mundos posibles (Kripke) Ampliación de horizontes (Gadamer) Accesibilidad (Kripke) Hipótesis del doble vínculo, disonancia cognitiva (Bateson, Festinger)

Normas deónticas contradictorias (Von Wright)

Significados implíticos (Douglas, Ducrot, Tyler) Lenguajes presuposicionales (Van Fraasen) Complementarismo (Devereux) Extensiones modales (Reiter, Thayse) Modelo decisional omitivo (Randall) Lógica omitiva (Reiter, McDermott) Formalismo/sustantivismo (antropología económica) Monismo/pluralismo (Haack) Diacronía, dinámica social, procesualismo Lógica temporal (Quine, Prior) Semántica de prototipos (Rosch, Berlin, Kay) Lógica intuicionista (Heyting) y lógica difusa (Zadeh) Modelos estadísticos transculturales (Naroll, Cohen) Lógica inductiva (Mill, Bayes) Pensamiento prelógico (Lévy-Bruhl, Hallpike) Lógica multivaluada (Lukasiewicz) Análisis componencial (Frake, Metzger, Williams) Grillas de repertorio Inferencia clínica (Geertz) Heurísticas expertas

Diagrama 5.7 - Correspondencias

4] Lo anteriormente expuesto confluye con las observaciones asentadas a propósito de las rela-ciones entre los tipos de problemas y los tipos de formalismos que requieren, comenzando a trazar las líneas para una futura correlación sistemática (típica, paramétrica, en todo caso orientadora) entre clases de problemas antropológicos y modos lógicos de resolución. Para evitar que, como suele suce-der, esa realización siga siendo para siempre futura, la hemos comenzado a sustanciar en nuestros programas de aplicación.

5] Queda pendiente, de todos modos, dirimir filosóficamente la polémica entre monismo y plura-lismo lógico. A modo de traducción a términos comprensibles de una discusión abstracta, hemos mos-trado las afinidades entre esta querella y la reyerta entre el formalismo y el sustantivismo en la antro-pología económica. La disputa entre ambas facciones se articula sobre las ideas contrapuestas de una lógica universal para subsumir todos los problemas o una floración infinita o indeterminada (un con-vulso contubernio, como nos gusta decir) de lógicas particulares. No hemos podido aún gestar sobre un algoritmo irreprochable la recomendación en favor de una lógica determinada, en detrimento de o-tras. Hasta tanto esta disputa resulte concluyente, el antropólogo puede optar por vehiculizar sus mo-

Page 356: Antropologia y Programacion Logica

356

delos conforme al conjunto de premisas con que mejor se identifique, sabiendo ahora que existen o-tras opciones.

6] Hemos introducido, por último, una delimitación más clara y pragmática entre los conceptos lógicos de implicación y condicionalidad. Al construir un programa en Prolog, queda perfectamente expuesto que la condicionalidad es una estipulación inductiva que regla el conjunto representacional, semejante a una definición, pero a la que pudiera no corresponder ninguna instancia válida. La impli-cación, en cambio, es un proceso de cálculo lógico deductivo que, en el caso de un programa compu-tado, está íntegramente a cargo de la máquina. Por añadidura, nuestra caracterización de la condicio-nalidad y la implicación arroja luz sobre el nexo entre inducción y deducción, respectivamente, en el diseño metodológico.

Sobre la Antropología:

1] Como importante baza empírica y concreta en el vórtice de opinerío subjetivo de las discusio-

nes actuales, hemos puesto en cuestión los razonamientos que soportan la idea de una "inferencia clí-nica" inexplicable, o que proclaman la existencia de algo así como un paradigma indiciario inmune a la lógica convencional (Geertz 1983; Ginzburg 1983; Sebeok y Umiker-Sebeok 1987), demostrando que ese tipo de inferencia experta, precisamente, es el más proclive a la formalización. Pusimos en e-videncia, en otras palabras, la falacia que implica suponer que existen prebendas especiales para los razonamientos imaginativos de las ciencias humanas, que los ponen al margen del control y la crítica del común de los mortales y que impiden encuadrarlos en una metodología primero y enseñar después el método al cual responden.

2] En relación con un circuito parecido de ideas conservadoras y mal pergeñadas sobre el uso de "metáforas" y "analogías" en la moderna antropología interpretativa (p.ej. Geertz 1980; Turner 1974), hemos verificado hasta el hartazgo que el flujo de heurísticas entre las disciplinas no guarda relación alguna con su inscripción en el canon de las ciencias duras o blandas, y que tan frecuente y productivo ha sido el intercambio en un sentido como en el otro. Casos a propósito de este comportamiento casi-puramente-formal de las metáforas han sido, hace algunos años el uso heurístico del símil lingüístico en biología molecular y, más recientemente, el auge del algoritmo genético en sistemas tecnológicos de control y autorregulación, con cuya súbita aparición los ingenieros del conocimiento se han puesto a leer, afanosamente, los textos más discutidos de Dawkins, Campbell o Wilson. A despecho de lo que piensa Geertz, para quien la génesis humanística o mecanicista de una analogía es crucial, lo que importa de una estrategia cualquiera es bastante menos la sustancia a la cual se aplica que la forma que tienen los hechos que se le predican y las reglas de inferencia que la surcan.

3] En sus programas y modelos de ejemplificación esta tesis vuelca una experiencia de incorpo-ración metodológica de carácter cooperativo, más que una interdisciplinariedad convencional. El tra-bajo en cooperación con especialistas que urgían una solución metodológica resultó en dos modalida-des contrapuestas que resultan igualmente significativas: por un lado están, naturalmente, los proyec-tos que pudieron ser satisfechos, porque sus requerimientos no eran desmesurados; por el otro, los que se vieron frustrados al encontrar, en la expresión formal del problema, la prueba de que su plan-teamiento era radicalmente erróneo o presentaba vacíos de conexidad. La conclusión podría expre-sarse con cierta sencillez: un problema mal planteado genera, por razones especificables, resoluciones imposibles de computar a través de un conjunto finito de cláusulas. Sería factible, además, con un po-

Page 357: Antropologia y Programacion Logica

357

co de esfuerzo, tipificar los problemas destinados a no encontrar una solución y aprender consecuen-temente a no plantearlos. Jamás nos ha ocurrido encontrarnos ante un planteamiento interesante y bien construido que no pudiera ser formalizado en los términos que ya se explicaron; aunque las he-rramientas aún deben afinarse un largo trecho y foguearse en comercio con la ciencia empírica, los casos de formalización categóricamente imposible son estricta y necesariamente los que están mal concebidos en todos los mundos posibles y según todos los esquemas lógicos conocidos.

4] Al lado de la posibilidad de la representación, se ha comprobado la medida en que la formali-zación realizada en esos términos clarifica tanto las teorías que el antropólogo aborda con afán instru-mental o con ánimo crítico, como los modelos que él mismo construye y que remiten a esas teorías. En conformidad con las sospechas de algunos epistemólogos (Popper 1985:128-136) y al revés de lo que proclamaban los partidarios del uso de modelos en antropología (Lévi-Strauss 1968: passim), es-ta clarificación casi nunca resulta ser del orden de la sencillez. Habitualmente, más bien, ella se mani-fiesta como una revelación de las dificultades reales desencadenadas por los problemas que se plan-tean.

5] Muchas veces se alega, por ejemplo, que las teorías de Claude Lévi-Strauss o de algún otro son "difíciles de cuantificar y organizar en una teoría formal" (Sowa 1984:67). La implicación es que existen teorías buenas aunque ambiguas, y que si las mismas no pueden ser modelizadas esto es impu-table a rigideces de forma inherentes a la modelización, más que a defectos de fondo en las teorías originales. Creemos haber aportado elementos de juicio para revertir estas ideas y analizar la dialéc-tica de la teoría y el modelo con otra mentalidad. Informalmente dicho, una mala formulación discur-siva da un mal modelo, que en cualquier caso siempre será candidato a mejorarse; pero una teoría in-conexa, contradictoria o con cláusulas impredicables no segrega ninguna entidad cuyo comportamien-to revele algo nuevo acerca del objeto: produce un modelo, pero no produce, por definición, un mo-delo que funcione bien y cuyo comportamiento sea inteligible y contrastable.

6] Esta peculiaridad, sin embargo, no posee un espesor crítico autónomo, y es bueno que así sea: la cuestionabilidad de una formulación no modelizable ha de ser siempre independiente de la decisión de modelizarla y es perceptible (o debería serlo) a la mirada de una crítica convencional. Si una teoría no admite modelizarse primero hay que interrogarla a ella, y no inexorablemente a un presunto logi-cismo que ha venido a distorsionarla o a imponerle el cumplimiento de promesas que no ha rubricado. A fin de cuentas, la crítica emanada de la imposibilidad de modelizar seguirá vigente aún cuando el proyecto de construir un modelo sea víctima de una ley de olvido. Pero esto tiene su contracara, pues la crítica a una teoría no debe consistir en la contingencia episódica de que no se la ha podido pro-mover a modelo; otra cosa es decir, y hacia eso vamos, que en el trance de modelizarla salieron a la luz fallos antes escondidos y que esos fallos pueden expresarse en lenguaje natural fuera e indepen-dientemente del modelo. Imponemos entonces al modelo, ya que tiene su privilegio, un límite y una precondición: la construcción del mismo, aunque fallida, sólo puede y debe aportar precisiones y cla-ridades, sin legislar rigores deductivos y claves simbólicas que estén más allá de toda posibilidad natu-ral y que sólo surjan (como las axiomáticas que cuestionamos en su momento) como emergentes es-pecíficos de la modelización.

7] Se deslindó una diferencia importante entre lo que significa tratar un conjunto de reglas de producción como gramática y lo que entraña considerar el producto de su activación como lenguaje. Ante el avance de lo que Perry Anderson llamara "la inflación del lenguaje" (análoga a lo que en dis-cursos vecinos podría haber sido el "totalitarismo semiótico" del joven Eco), consideramos que la metáfora lingüística merece desinflarse. Nos hemos servido de la tangibilidad del modelo para con-

Page 358: Antropologia y Programacion Logica

358

cluir que, más allá de toda duda, ninguna prueba ontológica puede emanar del simple hecho de la similitud entre los modelos.

8] Se puso a prueba la capacidad de las herramientas desarrolladas con referencia a una serie re-presentativa de problemas y temáticas antropológicas, concomitantes a otros tantos tipos de estructu-ras teoréticas: análisis relacional, esquemas generativos, motores de inferencia, bases de datos inteli-gentes, estimaciones estadísticas, modelos de simulación de procesos, tratamiento de proposiciones individuales y un prolongado complemento. A partir de estas aplicaciones se comenzó a trazar el ma-pa de los tipos posibles de problemas que son recurrentes en nuestra disciplina, avizorándose la posi-bilidad (no muy remota) de implementar modalidades tipificadas de resolución. El mapa de que ha-blamos no necesita dibujarse de nuevo: su territorialización probable coincide -barruntamos- con la estructura que hasta aquí han seguido nuestras demostraciones.

El contexto de todas estas conclusiones tiene que ver con una aguda y profunda conciencia de crisis disciplinar, con la responsabilidad de dar la cara en el ejercicio docente a nombre de teorías que no soportan la mirada crítica y con el espectáculo de una epistemología y una interdisciplinariedad que no liberan medios para salir del trance, aparte de la buena voluntad y de la belleza hedonista de las reflexiones filosóficas. Nuestra respuesta a la crisis y a las salidas irracionalistas constituye al mis-mo tiempo un descubrimiento de nuevas dificultades, todavía mal conocidas: hacer teoría y delinear modelos se nos revela ahora más difícil y diferente de lo que creíamos o de lo que se nos quiso hacer creer; pero a fin de cuentas se nos manifiesta también posible y provechoso.

Habrá mucho que disculpar en esta tesis, y primero que nada su protesta en contra de la falta de soluciones pragmáticas en la epistemología convencional, o su denuncia de la superficialidad metodo-lógica en la antropología teorética de tono científico. Pero en un momento de desencanto y crisis no nos entra en la cabeza que sea posible refinar el debate antes de sentar sus reglas. Después de todo, nuestra disciplina es el lugar en el que ideas cada vez más falsas y tontas (la inferencia clínica, las me-táforas humanas, el conocimiento local, la evocación no representativa) hallan la atmósfera adecuada para reproducirse, devaluando los dones de la profesión en el mercado de intercambio disciplinar, y exiliando a quienes no transan con el ethos (hoy dominante) de la discusión científica como charla de café. Es también un territorio donde la prédica irracionalista y el nihilismo metodológico disfrutan de más y mejor prensa que las herramientas llegadas para agregar alguna certidumbre. En nuestra ciencia enferma, el hacer encuentra más enemigos que el destruir, y a menudo se lo tiene que acompañar de cierto énfasis que puede no ser enteramente justo, vulnerando intereses de quienes en principio po-drían estar de acuerdo. Revirtiendo los protagonistas, podríamos decir con Gadamer que "forma parte de la estructura especial del enderezamiento de algo torcido el que se lo tenga que torcer en sentido contrario" (1977:646). Pero dar razones no es pedir excusas. Atenderemos demandas por el mérito menoscabado cuando se ofrezcan, debidamente fundamentadas, soluciones de instrumentalidad y re-plicabilidad comparables a las que aquí se aportan.

Sostener que la epistemología puede darse el lujo de seguir siendo la misma cuando los instru-mentos de que el científico dispone se han transformado exponencialmente y hasta la médula, es signo de un trascendentalismo con el que no congeniamos y a favor del cual no conocemos argumentos. Educados en el mito amable de la ciencia fácil, en el milagro de los métodos espontáneos, en el truco

Page 359: Antropologia y Programacion Logica

359

de devaluar como cientificista o tecnocrático todo aquello que ofrezca resistencia a nuestra pereza o que no se doblegue a la primera lectura, proponemos una modelización pesada y fatigosa; quienes han tolerado nuestros cursos bien lo saben. El esclarecimiento cuya paternidad reivindicaríamos con más fuerza podría ser el de las genuinas tribulaciones que nos esperan si pretendemos reclamar marbete de científicos.

Comprendemos a quien quiera dar un paso al costado, mas no le acompañamos: descartar las he-rramientas por la capacitación a que nos obligan, por el trabajo suplementario con que ellas mismas nos amenazan, por la fealdad de los discursos que las justifican, es postergar y negar el problema de la antropología sin avanzar un ápice hacia su resolución. Diseñar modelos es una tarea adicional en una práctica científica consistente en revisarse; pero aunque el rigor es una responsabilidad ineludible más que un beneficio accidental o gratuito, la ganancia bien vale la pena.

En la búsqueda desesperada de métodos con que paliar la parálisis de la antropología científica hallamos esto, que más que algo es mucho, y construimos los puentes que creímos necesarios para llegar a él, apropiárnoslo, adecuarlo a nuestras demandas y hacerlo conocer. Decisión fatal, tras la cual nuestra relación con el método no podría seguir siendo lo que antes fue. Ahora que conocemos estos instrumentos no admitimos pasarla sin ellos. Primero que nada, nos demuestran que es posible avanzar un buen trecho en la tesitura de una concepción formal de la antropología antes de que resul-te razonable (no digamos ya apremiante) remitir toda la problematicidad a la esfera del irracionalismo, el vaciamiento del método, la literatura o la resignación.

A la vista no hay otra cosa que estas tensiones y que las armas y palabras a uno y otro lado de la divisoria. Decíamos en el prólogo que este ensayo era consecuencia y testimonio de una querella e-sencial en la que habíamos tomado partido en favor de la ciencia sobre la base y a condición de re-plantear sus métodos. La tesis ha terminado; pero ella es sólo el prolegómeno de una lucha que recién comienza.

Carlos Reynoso Buenos Aires, febrero de 1991

Page 360: Antropologia y Programacion Logica

VI

REFERENCIAS BIBLIOGRÁFICAS

ADDISON, J.W., Leon HENKIN y Alfred TARSKI (eds.).

1965. The Theory of Models, Amsterdam, North-Holland.

AGAR, Michael. 1982. "Toward an ethnographic language", American Anthropologist, v.84, 779-795.

ALBA, Joseph W. y Lynn HASHER. 1983. "Is memory schematic?", Psychological Bulletin, 93 (2), pp. 203-231.

ANDERSON, A. R. 1983. The architecture of cognition, Cambridge, Harvard University Press.

ANDERSON, A.R. y N.D. BELNAP, Jr. 1962. "Tautological entailments", Philosophical Studies, v.13.

ANDERSON, A.R. y N.D. BELNAP, Jr. 1975. Entailment, vol.I, New Haven, Princeton University Press.

ANDERSON, J.R. (ed). 1981. Cognitive skills and their acquisition, Hillsdale, Erlbaum.

ANDRASFAI, B. 1977. Introductory Graph Theory. Budapest, Akadémiai Kiadó.

ANDREKA, H. e I. NEMETI. 1976. The generalized completeness of Horn predicate logic as a programming language. Research Report 21, Department of Artificial Intelligence, University of Edinburgh.

ARACIL, Javier. 1983. Introducción a la Dinámica de Sistemas. Madrid, Alianza.

ARAGONES, Juan Ignacio. 1986. "Cognición ambiental", en J. Burillo y J. I. Aragonés (comps.), Op.cit., 66-83.

ASHBY, W. Ross. 1950. "The stability of a randomly assembled nerve-network", EEG Clinical Neurophysiology v.2.

AUSTIN, Scott. 1990. "An Introduction to Genetic Algorithms", AI Expert, v. 5(3), marzo, pp. 48-53.

BACHELARD, Gaston 1973. La filosofía del No. Buenos Aires, Amorrortu.

BACKUS, John. 1978. "Can programming be liberated from the von Neumann style?. A functional style and its algebra of programs", Communications of the ACM, 21, pp.613-641.

BADDELEY, A.D. 1976. The psychology of memory, N.York, Basic Books.

BALANDIER, Georges. 1975. Antropo-lógicas. Barcelona, Península.

Page 361: Antropologia y Programacion Logica

361

BALANDIER, Georges. 1989. El Desorden. La teoría del caos y las ciencias sociales, Barcelona, Gedisa.

BARNES, B. 1982. T.S. Kuhn and Social Science. Londres, Mac Millan.

BARTH, Fredric. 1987. Cosmologies in the making: A generative approach to cultural variation in New Guinea, Londres, Cambridge University Press.

BARTLETT, F.C. 1923. Psychology and Primitive Culture, Cambridge, Cambridge University Press.

BARTLETT, F.C. 1932. Remembering: A study in experimental and social psychology, Cambridge, Cambridge University Press.

BARTLETT, F.C. 1965. "Some experiments on the reproduction of folk stories", en A. Dundes, The study of folklore, Englewood Cliffs, Prentice-Hall, 243-258.

BASSO, Keith. 1967. "Semantic aspects of linguistic acculturation", American Anthropologist, v.69, pp. 471-477.

BATESON, Gregory. 1980. Espíritu y Naturaleza, Bs.As, Amorrortu.

BATESON, Gregory. 1985. Pasos hacia una ecología de la mente, Buenos Aires, Carlos Lohlé.

BATESON, Mary Catherine. 1989. Como yo los veía. Barcelona, Gedisa.

BENCIVENGA, Ermanno. 1986. "Free Logics", en D. Gabbay y H. Guenthner (eds.), Op.cit., pp.373-426.

BENFER, Robert A. y Louanna FURBEE. 1989. "Knowledge Acquisition in the Peruvian Andes", AI Expert, v.4(11), noviembre, pp.22-29.

BERLIN, Brent y Paul KAY. 1969. Basic color terms. Their universality and evolution, Berkeley, University of California Press.

BERLIN, Brent y Paul KAY. 1975. "Aguaruna color categories", American Ethnologist, 2, 61-87.

BERLIN, Brent, J. BOSTER Y J. O'NEILL. 1981. "The perceptual basis of ethnobiological classification", Journal of Ethnobiology, 1, 95-108.

BERLIN, Brent. 1976. "The concept of rank in ethnobiological classification: some evidence from Aguaruna folk botany", American Ethnologist, v. 3, pp.381-399.

BERLIN, Brent. 1977. "Speculations on the growth of ethnobotanical nomenclature", en B.G. Blount y M. Sanchez (eds.), Sociocultural Dimensions of Language Change, Nueva York, Academic Press, pp.63-102.

BERNARD, H.R. y M. EVANS. 1983. "New Microcomputer Techniques for Anthropologists", Human Organization, 42, pp.182-185.

BERNAYS, Paul y Moses SCHONFINKEL. 1928. "Zum Entscheidungsproblem der mathematischen Logik", Mathematische Annalen, v.99, pp.342-372.

Page 362: Antropologia y Programacion Logica

362

BIRKHOFF, G. y John Von NEUMANN. 1936. "The logic of quantum mechanics", Annals of Mathematics, v. 37.

BLAMEY, Stephen. 1986. "Partial Logic", en D. Gabbay y F. Guenthner (eds.), Op. cit., pp.1-70.

BLÄSIUS, Karl Hans y Hans-Jürgen BÜRCKERT (eds.). 1989. Deduction Systems in Artificial Intelligence. Nueva York, Halsted Press-Wiley.

BLOCH, Maurice. 1977. "The Past and the Present in the Present", Man, v.12(2), pp.278-292.

BOBROW, Daniel y Allen M. COLLINS (eds.). 1975. Representation and Understanding: Studies in Cognitive Science, Nueva York, Academic Press.

BOBROW, Daniel y Donald A. NORMAN. 1975. "Some principles of memory schemata", en Bobrow y Collins (eds.), Op.cit., pp.131-150.

BOBROW, Daniel y Terry WINOGRAD. 1977. "An overviw of KRL, a knowledge representation language", Cognitive Science, v.3(1), pp.29-42.

BODEN, Margaret. 1984 [1977]. Inteligencia artificial y hombre natural, Madrid, tecnos.

BOISSEVAIN,Jeremy. 1979. "Network Analysis: A Reappraisal", Current Anthropology, v. 20(2), pp.392-394.

BONDY, J.A. y U.S.R. MURTY. 1976. Graph Theory with Applications, N. York, American Elsevier.

BORILLO, Andrée, Mario BORILLO y Myriam BRASS. 1989. "A temporal reasoning cognitive approach", Semiotica, v. 77 (1-3), pp.173-194.

BORMIDA, Marcelo. 1976. Etnología y Fenomenología. Buenos Aires, Cervantes.

BOUDON, Pierre. 1989. "L'abduction: Une logique fragmentaire chaînée", Semiotica, v.77(1-3), pp.239-252.

BOURDILLON, M.F.C. 1978. "Knowing the World or hiding it: A Response to Maurice Bloch", Man, n.s., v.13, pp.591-599.

BOWEN, K.A. y Robert KOWALSKI. 1982. "Amalgamating Language and Metalanguage in Logic Programming", en K.L. Clark y S.-A. Tårnlund (eds.), Op.cit., pp.153-172.

BREMOND, Claude. 1970. "Morphology of the folktale". Semiotica 2, pp.247-276.

BREWER, W.F. y J.C. TREYENS. 1981. "Role of schemata in memory for place"s, Cognitive Psychology, 13, 207-230.

BROKENSHAW, D.M. Warren y Oswald WERNER (eds.). 1980. Indigenous Knowledge Systems and Development. Nueva York, University Press of America.

BROWN, C.H. 1976. "General principles of human anatomical partonomy and speculations on the growth of partonomic nomenclature", American Ethnologist, 3, 400-424.

BROWN, Kenneth A. 1985. "A Meta-Level Programming and Knowledge Representation", Journal of the New Generation Computing, Nueva York, Springer-Verlag.

Page 363: Antropologia y Programacion Logica

363

BROWN, Kenneth A. y T. WEINBERG. 1985. "A Meta-level Extension of PROLOG", Proceedings of the 1985 Symposium on Logic Programming, IEEE Computer Society Press.

BROWN, Roger W. y Eric H. LENNEBERG. 1954. "A study in language and cognition", Journal of Abnormal and Social Psychology, 49, 454-462.

BRUNER, Jerome S., J.J. GOODNOW y G.A. AUSTIN. 1956. A Study of Thinking, Nueva York, Wiley.

BRUNER, Jerome. 1973. "Development of equivalence transformations in children", en J.M. Anglin (ed.), Beyond the information given: Studies in the Psychology of Knowing, Nueva York, W.W. Norton, pp.352-367.

BUCHANAN, Bruce G. y Edward H. SHORTLIFFE (eds.). 1985. Rule-Based Expert Systems, Reading, Addison-Wesley.

BUNGE, Mario. 1985 [1969]. La Investigación Científica. Barcelona, Ariel, 3ª edición.

BURTON, Michael. 1973. "Recent computer applications in cultural anthropology", Computers and the Humanities, 7(6), pp. 337-341.

BURTON, Michael y Lorraine KIRK. 1977. "Meaning and context: a study of conceptual shifts in meaning of Maasai personality descriptors", American Ethnologist, v.4, pp.734-761.

CANTOR, N., E.E. SMITH, R.FRENCH y J. MEZZICH. 1980. "Psychiatric diagnosis as prototype categorization", Journal of Abnormal Psychology, 89 (2), 181-193.

CARBONELL, Jaime G. 1981. Subjective Understanding: Computer Models of Belief Systems, Ann Arbor, UMI Research Press.

CARBONELL, Jaime G. 1982. "Metaphor: An Inescapable Phenomenon in Natural Language Comprehension", en Wendy Lehnert y Martin Ringle (eds.), Strategies for Natural Language Processing, Hillsdale, Erlbaum.

CARNAP, Rudolf. 1965 [1931]. "La Antigua y la Nueva Lógica", en A.J. Ayer (ed.), El Positivismo Lógico, México, Fondo de Cultura Económica, pp. 139-152.

CARNAP, Rudolf. 1974. An Introduction to the Philosophy of Science, Nueva York, Basic Books.

CARNEIRO, Robert. 1962. "Scale analysis as instrument for the study of cultural evolution", Southwestern Journal of Anthropology, v.18.

CARRITHERS, Michael. 1990. "Is Anthropology Art or Science?", Current Anthropology, v.31(3), pp.263-282.

CASSON, Ronald W. 1981. "The semantics of kin term usage: Transferred and indirect metaphorical meaning", en R.W.Casson (ed.), Language, culture, and cognition: Anthropological perspectives, Nueva York, Macmillan, pp.230-244.

CASSON, Ronald. 1983. "Schemata in cognitive anthropology", Annual Review of Anthropology, v.12, pp.429-462.

CAUDILL, Maureen. 1988. "Neural Networks Primer, part IV", AI Expert, v.3(8), pp. 61-67.

Page 364: Antropologia y Programacion Logica

364

CAUDILL, Maureen. 1990. "Using Neural Nets: Fuzzy Decisions", AI Expert, v.5(4), abril, pp.59-64.

CAWS, Peter. 1974. "Operational, representational, and explanatory models", American Anthropologist, v.76, pp.1-10.

CHAFE, Wallace L. 1977. "The recall and verbalization of past experience", en R.W. Cole (ed.), Current issues in linguistic theory, Bloomington, Indiana University Press, 215-246.

CHANEY, Peter Paul. 1978a. "Structures, realities, and blind spots", American Anthropologist, v.80, pp.589-596.

CHANEY, Peter Paul. 1978b. "Polythematic Expansion: Remarks on Needham's Polythetic Classification", Current Anthropology, v.19(1), pp.139-143.

CHAPPLE, Eliot. 1972. El Hombre Cultural y el Hombre Biológico. México, Pax.

CHELLAS, B.F. 1980. Modal Logic: An Introduction. Cambridge, Cambridge University Press.

CHOMSKY, Noam. 1956. "Three Models of the Description of Language", IRE Transactions on Information Theory, v.2, nº 3, pp.113-124.

CHOMSKY, Noam. 1988. La nueva sintaxis. Teoría de la rección y el ligamento. Barcelona, Paidós.

CHURCH, Alonzo. 1941. The Calculi of Lambda Conversion. Annals of Mathematical Studies, Nº 6, litografiado, Princeton, Princeton University Press.

CHURCHLAND, Paul M. y Patricia Smith CHURCHLAND. 1990. "¿Podría pensar una máquina?", Investigación y Ciencia, nº 162, pp.18-24.

CLARK, Keith L. 1977. Verification and Synthesis of Logic Programs. Research Report, Department of Computing, Imperial College.

CLARK, Keith L. 1978. "Negation as Failure", en H. Gallaire y J. Minker (eds.), Logic and Data Bases, Nueva York, Plenum Press, pp.293-322.

CLARK, Keith L. y Frank G. McCABE. 1984. micro-PROLOG: Programming in Logic, Englewood Cliffs, Prentice-Hall.

CLARK, Keith L. y J. DARLINGTON. 1980. "Algorithm classification through synthesis", The Computer Journal, v.23, nº 1.

CLARK, Keith L. y S. GREGORY. 1986. "PARLOG: Parallel Programming in Logic". ACM Transactions on Programming Languages and Systems, v.8, pp.1-49.

CLARK, Keith L. y S. SICKEL. 1977. Predicate logic: A calculus for deriving programs, Proceedings of the 5th International Joint Conference on Artificial Intelligence, Cambridge.

CLARK, Keith L. y S.-A. TÅRNLUND (eds.). 1982. Logic Programming, Londres, Academic Press.

Page 365: Antropologia y Programacion Logica

365

CLAXTON,G. 1980. "Remembering and understanding", en G. Claxton (ed.), Cognitive Psychology: New directions, Londres, Routledge and Kegan Paul.

CLIFFORD, James. 1988. "On Ethnographic Authority", en The Predicament of Culture, Cambridge, Harvard University Press, pp.21-54.

CLOCKSIN, W.F. y C.S. MELLISH. 1987. Programming in PROLOG. Berlín, Springer-Verlag, 3ª edición.

COHEN, Gillian. 1983. Psicología Cognitiva, Madrid, Alhambra.

COHEN, Morris y Ernest NAGEL. 1983. [1934] Introducción a la Lógica y al Método Científico. Buenos Aires, Amorrortu.

COLBY, Benjamin y Lore COLBY. 1986. El Contador de los Días, México, Fondo de Cultura Económica.

COLBY, Benjamin, George A. COLLIER y Susan K. POSTAL. 1963. "Comparison of themes in folktales by the General Inquirer System", Journal Of American Folklore, 318-323.

COLBY, Benjamin, James FERNANDEZ y David KRONENFELD. 1981. "Toward a convergence of Cognitive and Symbolic Anthropology", American Ethnologist, 8(3), pp.422-450.

COLBY, Benjamin. 1963. "Folk science studies", El Palacio, 4, 5-14.

COLBY, Benjamin. 1966a. "The analysis of culture context and the patterning of narrative concern in texts", American Anthro-pologist, 374-388.

COLBY, Benjamin. 1966b. "Ethnographic semantics: A preliminary survey", Current Anthropology, 7 (1), 3-32.

COLBY, Benjamin. 1973. "A partial grammar of Eskimo folktales", American Anthropologist, 75, 645-662.

COLBY, Benjanim y Rodger KNAUS. 1974. "Men, grammars and machines: A new direction in the study of man", en M. Black y W.A. Smalley (eds.), On language, culture, and religion, La Haya, Mouton, pp.187-197.

COLEMAN, Linda y Paul KAY. 1981. "Prototype Semantics: The English Word Lie", Language, v. 57(1), pp.26-44.

COLMERAUER, Alain. 1984. "PROLOG, lenguaje de la Inteligencia Artificial", Mundo Científico, 4(41), pp.1072-1082.

CONKLIN, Harold. 1969. "Ethnogenealogical method", en Stephen A. Tyler (ed.), Cognitive Anthropology, Nueva York, Holt, Rinehart & Winston, pp. 93-122.

COOMBS, M.J. (ed). 1984. Developments in expert systems, Londres, Academic Press.

COOPER, D.E. 1974. Presupposition, La Haya, Mouton, 1974.

COOPER, David. 1975. "Alternative logic in primitive thought", Man, n.s., v.10, pp.238-256.

Page 366: Antropologia y Programacion Logica

366

COPY, Irving. 1978 [1962]. Introducción a la Lógica. Buenos Aires, Eudeba, 19º edición.

CORDIER, Marie-Odile. 1984. "Los Sistemas Expertos", Mundo Científico, 4(34), pp. 236-247.

COULT, Allan y Richard RANDOLPH. 1965. "Computer Methods for Analyzing Genealogical Space", American Anthropologist, v.67, pp. 21-29.

COULT, Allan. 1968. "Uses and abuses of Computers in Anthropology", en Calcul et Formalisation dans les Sciences de l'Homme, París, CNRS, pp. 21-29.

COVINGTON, Michael, Donald NUTE y André VELLINO. 1988. PROLOG programming in depth, Glenview, Scott, Foresman and Company.

COWAN, Jack C. y David H. SHARP. 1988. "Neural Nets and Artificial Intelligence", Dædalus, v.117, nº 1, pp.85-122.

CRICK, Malcom R. 1983. "Anthropology of knowledge", Annual Review of Anthropology, 11, 287-313.

D'AMBROSIO, Bruce. 1989. "Extending the Mathematics in Qualitative Process Theory", en Widman, Loparo y Nielsen (eds.), Op.cit., pp.133-158.

d'ESPAGNAT, Bernard. 1980. "Teoría Cuántica y Realidad", Investigación y Ciencia, nº 40, enero, pp.80-95.

DAVENPORT, William. 1960. Jamaican Fishing. A game theory analysis. Yale University Publications in Anthropology, v.58.

DAVIO, M., J.P. DESCHAMPS y A. THAYSE. 1978. Discrete and switching functions, N.York, McGraw-Hill.

DAVIS, Lawrence (ed). 1987. Genetic Algorithms and Simulated Annealing, Londres, Pitman.

DAVIS, M. 1983. "The Prehistory and Early History of Automated Deduction", en J. Sieckmann y G. Wrightson (eds.), Automation of Reasoning: Classical Papers on Computational Logic 1957-1966, Berlín, Springer Verlag.

DAVIS, M. y Hilary PUTNAM. 1960. "A computing procedure for quantification theory", JACM, v. 7, nº 2, pp.201-215.

DAVIS, Randall y Bruce G. BUCHANAN. 1985. "Meta-Level Knowledge", en Buchanan y Shortliffe (eds.), Op.cit., pp.507-530.

DAVIS, Randall y Jonathan J. KING. 1977. "The Origin of Rule-Based Systems in AI", en E.W. Elcock y D. Michie (eds.), Machine Intelligence 8: Machine Representations of Knowledge, Chichester, Horwood [Reimpr. en Bruce Buchanan y Edward H. Sortliffe, (eds.), Op.cit., 1985, pp.20-52].

DE VEGA, Manuel. 1984. Introducción a la Psicología Cognitiva. Madrid, Alianza.

DEAÑO, Alfredo. 1988. Introducción a la Lógica Formal, Madrid, Alianza, 7ª ed.

DENIS, Michel. 1984. Las imágenes mentales, Madrid, Siglo XXI.

DERRIDA, Jacques. 1967. L'Ecriture et le différence, París, Seuil.

Page 367: Antropologia y Programacion Logica

367

DESCLÉS, Jean-Pierre. 1989. "Intermediate representations in the cognitive sciences", Semiotica, v. 77(1-3), pp.121-135.

DESCOMBES, Vincent. 1982. Lo mismo y lo otro. Cuarenta y cinco años de filosofía francesa (1933-1978), Madrid, Cátedra.

DESTOUCHES-FÉVRIER, P. 1937. "Les relations d'incertitude de Heisenberg et la logique", Comptes rendus de l'Académie des Sciences, v.204.

DESTOUCHES-FÉVRIER, P. 1951. La structure des théories physiques, París, Presses Universitaires de France.

DEVEREUX, Georges. 1975. Etnopsicoanálisis Complementarista. Buenos Aires, Amorrortu.

DIMITROV, Vladimir. 1976. Informal Theory of Fuzzy Governing, 3rd European Meeting on Cybernetics and System Research, Viena, 20 al 23 de abril.

DOBBERT, Marion Lundy, Dennis McGUIRE, James PEARSON y Kenneth Clarkson TAYLOR. 1984. "An Application of Dimensional Analysis in Cultural Anthropology", American Anthropologist, v.86, pp.854-884.

DORFMAN, Eugene. 1969. The narreme in the medieval romance epic: An introduction to narrative structures, Toronto, University of Toronto Press.

DOUGHERTY, J.W.D. 1978. "Salience and relativity in classification", American Ethnologist, v.5, pp.66-80.

DOUGLAS, Mary. 1975a [1973]. Sobre la Naturaleza de las Cosas. Barcelona, Anagrama.

DOUGLAS, Mary. 1975b. Implicit Meanings. Essays in Anthropology, Londres, Routledge and Kegan Paul.

DOUGLAS, Mary. 1987. How Institutions Think, Nueva York, Syracuse University Press.

DOWNS, R.M. 1981. "Maps and mappings as metaphor for spacial representation", en L.S. Lieben, A.H. Patterson y T. Newcombe (eds.), Spatial representation and behavior across the life-span, Nueva York, Academic Press.

DOWNS, R.M. y D.STEA (eds.). 1973. Image and evironment. Cognitive mapping and spatial behavior, Chicago, Aldine.

DOWNS, R.M. y D.STEA (eds.). 1977. Maps in mind: Reflections on cognitive mapping, Nueva York, Harper and Row.

DRESS, W.B. 1989. "Synthetic Organisms and Self-Designing Systems", Proceedings of the Goddard Conference on Space Applications and Artificial Intelligence.

DREYFUS, Hubert L. 1972. What Computers Can't Do. A Critique of Artificial Reason, Nueva York, Harper and Row.

DREYFUS, Hubert L. y Stuart E. DREYFUS. 1988. "Making a mind versus Modeling the brain: Artificial Intelligence back at a branchpoint", Dædalus, v.117(1), pp.15-44.

DUCROT, Oswald. 1984. El Decir y Lo Dicho. Buenos Aires, Hachette.

Page 368: Antropologia y Programacion Logica

368

DUNDES, Alan. 1964. "The morphology of North American Indian folk tales". Folklore Fellows: Communications 195, Helsinki, Suomallainen Tiedeakatemia.

DUNN, J. Michael. 1986. "Relevance Logic and Entailment", en D. Gabbay y H. Guenthner (eds.), Op.cit., pp.117-224.

DURBIN, Mridula. 1974. "The Transformational Model of Linguistics and its Implications for an Ethnology of Religion: A case study of Jainism", American Anthropologist, v.72, pp.334-342.

DYKE, Bennett. 1981. "Computer-simulation in Anthropology", Annual Review of Anthropology, 10, pp.193-207.

EADLINE, Douglas. 1987. "Making PROLOG Parallel", AI Expert, v.4(7), pp.34-42.

ECO, Umberto. 1988. De los Espejos y otros Ensayos, Barcelona, Lumen.

ECO, Umberto y Thomas SEBEOK. 1989 (eds.). El Signo de los Tres. Dupin, Holmes, Peirce, Barcelona, Lumen.

EDELMAN, Gerald M. 1987. Neural Darwinism: The Theory of Neuronal Group Selection, Nueva York, Basic Books.

EGUCHI, Paul K. 1987. "Fieldworker and Computer: An End User's View of Computer Ethnology", en Raben et al, Op.cit., pp.165-174.

EINSTEIN, Albert. 1985. Sobre la Teoría de la Relatividad y otras aportaciones científicas, Madrid, Sarpe.

EISINGER, N. y H.J. OHLBACH. 1989. "The Foundations", en K.H. Bläsius y H.-J.Bürckert (eds.), Op.cit., pp.37-116.

EL GUINDI, Fadwa y Dwight W. READ. 1979. "Mathematics in Structural Theory", Current Anthropology, v. 20(4), pp.761-790.

ETHERINGTON, D,W. 1987. "Formalizing non-monotonic systems", Artificial Intelligence, v.31(1), pp. 41-85.

ETHERINGTON, D.W. y Raymond REITER. 1983. "On Inheritance Hierarchies with Exceptions", Proceedings of the AAAI-83, pp.104-108.

EVANS-PRITCHARD, E. 1937. Witchcraft, oracles, and magic among the Azande, Londres, Oxford University Press [trad.esp.: Brujería, Magia y Oráculos entre los Azande, Barcelona, Anagrama, 1976].

EVANS-PRITCHARD, E. 1956. Nuer Religion, Londres, Oxford University Press.

EVENS, T.M.S. 1983. "Mind, Logic and the Efficacy of the Nuer Incest Prohibition", Man, n.s., v.18, pp.111-133.

FABIAN, Johannes. 1983. Time and the Other. How Anthropology makes its Object. Nueva York, Columbia University Press.

FEIGENBAUM, Edward A. y Pamela McCORDUCK. 1985. La Quinta Generación. Buenos Aires, Sudamericana-Planeta.

FESTINGER, L. 1957. A Theory of Cognitive Dissonance, Evanstown, Row-Peterson.

Page 369: Antropologia y Programacion Logica

369

FEYERABEND, Paul. 1982 [1978]. La Ciencia en una Sociedad Libre, Madrid, Siglo XXI.

FILLMORE, Charles J. 1966. "Toward a modern theory of case", en D.A. Reibel y S.A. Schane (eds.), Modern Studies in English: Readings in Transformational Grammar, Englewood Cliffs, Prentice-Hall, pp.361-375.

FILLMORE, Charles J. 1968. "The case for case", en E. Bach y R.T. Harms (eds.), Universals in linguistic theory, Nueva York, Holt, Rinehart and Winston.

FILLMORE, Charles J. 1975. An alternative to checklist theories of meaning, Proceedings of the 1st Annual Meeting, Berkeley Linguistic Society, pp. 123-131.

FILLMORE, Charles J. 1976. "Frame semantics and the nature of language", Annuary of the New York Academy of Science, 280, 20-32.

FILLMORE, Charles J. 1977. "Topics in lexical semantic", en R.W. Cole (ed.), Current issues in linguistic theory, Wilmington, Indiana University Press, 76-138.

FILLMORE, Charles J. 1982. "Frame semantics", en vs., Linguistic in the morning calm, Seúl, Hanshin.

FINDLER, N.V. (ed). 1979. Associative Networks: Representation and use of knowledge by computers, Nueva York, Academic Press.

FITTING, M.C. 1983. Proof Methods for Modal and Intuitionist Logics, Dordrecht, Reidel.

FJELLMAN, Stephen M. 1976. "Talking about talking about residence: an Akamba case", American Ethnologist, v.3, pp.671-681.

FLOYD, Michael. 1988. "Suitable for framing", Turbo-Technix, marzo-abril, pp. 80-88.

FOWLER, Catherine S. 1979. "Etnoecología", en Donald Hardesty, Antropología Ecológica, Barcelona, Bellaterra, pp.215-238.

FRAKE, Charles. 1981. Language and cultural description, Stanford, Stanford University Press.

FREGE, Gottlob. 1985. Estudios sobre Semántica, Bs.As., Hyspamérica.

FRIEDMAN, Jonathan. 1985. "Our time, their time, world time: The Transformation of Temporal Modes", Ethnos, v.50, pp.168-183.

FROIDEVAUX, C y D. KAYSER. 1988. "Inheritance in semantic networks and in default logic", en P. Smets et al (ed.), Non-Standard Logics for Automated Reasoning, Londres, Academic Press, pp.179-212.

FROIDEVAUX, C. 1986. Taxonomic Default Theory, Proceedings of the ECAI-86, pp. 123-129.

FURBEE, Louanna y Robert A. BENFER. 1983. "Cognitive and geographic maps: Study of individual variation among tojolabal Mayans", American Anthropologist, 85, 305-334.

Page 370: Antropologia y Programacion Logica

370

GABBAY, Don M. y Franz GUENTHNER (eds.). 1986. Handbook of Philosophical Logic. Vol. III: Alternatives in Classical Logic, Dordrecht, Reidel.

GADAMER, Hans-Georg. 1977 [1975]. Verdad y Método. Salamanca, Sígueme.

GALLAIRE, H. y C. LASSERRE. 1982. "Metalevel control for Logic Programming", en K.L. Clark y S.-A. Tårnlund, Op.cit., pp.173-188.

GALLAIRE, H. y J. MINKER. 1978. Logic and Data Bases. Nueva York, Plenum Press.

GALLAIRE, H., J. MINKER y J. M. NICHOLAS. 1984. "Logic and Databases: A deductive approach", Computing Surveys, v.16, pp.153-185.

GANDY, Rosin. 1976. "El concepto de 'estructura' en matemáticas", en David Robey (ed.), Introducción al Estructuralismo, Madrid, Alianza, pp. 193-214.

GARDIES, Jean-Claude. 1979. Lógica del Tiempo, Madrid, Paraninfo.

GARDIN, Jean-Claude (ed.). 1970. Archaeologie et Calculateurs. Problèmes Sémiologiques et Mathématiques, Colloques Internationaux du Centre National de la Recherche Scientifique, Marsella, 7-12 abril de 1969, Éditions du Centre National de la Recherche Scientifique, París.

GARDIN, Jean-Claude, Olivier GUILLAUME, Peter HERMAN, Antoinette HESNARD, Marie-Salomé LAGRANGE, Monique RENAUD, Elisabeth ZADORA-RIO. 1988. Artificial Intelligence and Expert Systems: Case Studies in the Knowledge Domain of Archaeology. Chichester, Ellis Horwood.

GARDIN, Jean-Claude, Olivier GUILLAUME, Peter HERMAN, Antoinette HESNARD, Marie-Salomé LAGRANGE, Monique RENAUD, Elisabeth ZADORA-RIO. 1987. Systèmes Experts et Sciences Humaines: Le Cas de L'Archéologie. París, Eyrolles.

GARDIN, Jean-Claude. 1965. "A typology of computer uses in Anthropology", en Dell Hymes (ed.), The Use of Computers in Anthropology, La Haya, Mouton, pp.103-117.

GARDIN, Jean-Claude. 1967. "Methods for the Descriptive Analysis of Archaeological Materials", American Antiquity, v.32, pp.12-30.

GARDIN, Jean-Claude. 1989. "Artificial Intelligence and the Future of Semiotics: An Archaeological Perspective", Semiotica, v.77(1-3), pp.5-26.

GARDNER, Howard. 1987a. La Nueva Ciencia de la Mente, Buenos Aires, Paidós.

GARDNER, Howard. 1987b. Estructuras de la mente. La teoría de las múltiples inteligencias, México, Fondo de Cultura Económica.

GARDNER, Martin. 1985. Máquinas y diagramas lógicos, Madrid, Alianza.

GARDNER, Peter. 1976. "Birds, worms, and a requiem for the omniscient informant", American Ethnologist 3(3), pp.446-468.

GARNER, W.R. 1974. The processing of information and structure, Potomac, L. Erlbaum.

Page 371: Antropologia y Programacion Logica

371

GARRIDO, Manuel. 1983. Lógica Simbólica. Madrid, Tecnos, 6ª reimpresión revisada.

GEERTZ, Clifford. 1987. [1973] La Interpretación de las Culturas, México, Gedisa.

GEERTZ, Clifford. 1987. "The Anthropologist at Large", The New Republic, 25 de mayo, pp.34-37.

GEOGHEGAN, William. 1970. The use of marking rules in semantic systems, Language and Behavior Laboratory, Working Paper Nº 26, Berkeley, University of California Press.

GEOGHEGAN, William. 1971. "Information processing systems in culture", en Paul Kay (ed.), Explorations in Mathematical Anthropology, Cambridge, MIT Press.

GIBSON, Quentin. 1982. [1961] La Lógica de la Investigación Social, Madrid, Tecnos, 3ª Edición.

GINZBURG, Carlo. 1983. "Señales. Raíces de un Paradigma Inidiciario", en Aldo Gargani (ed.), La Crisis de la Razón. Nuevos modelos en la relación entre saber y actividad humana, México, Siglo XXI, pp. 55-100.

GLADWIN, Christina. 1979. "Production functions and decision models: complementary models", American Ethnologist, v.(4), pp.653-681.

GLADWIN, Thomas. 1970. East is a big bird, Cambridge, Harvard University Press.

GÖDEL, Kurt. 1981. Obras Completas. Madrid, Alianza.

GODELIER, Maurice. 1986. [1982] La producción de grandes hombres, Barcelona, Akal.

GOFFMAN, Erving. 1974. Frame Analysis, Nueva York, Harper & Row.

GOLDBERG, David E. 1989. Genetic Algorithms in Search, Optimization & Machine Learning, Reading, Addison-Wesley.

GONZALEZ ECHEVARRIA, Aurora. 1987. La Construcción Teórica en Antropología, Barcelona, Anthropos.

GOODENOUGH, Ward. 1956. "Componential analysis and the study of meaning", Language, v.32, pp.195-216.

GRAVES, Theodore D., Nancy B. GRAVES y Michael F. KOBRIN. 1968. "Historical inferences from Guttman scales: the return of age-area magic", Current Anthropology, v.10, pp.317-327.

GRAY, Peter M.D. y Robert J. LUCAS (eds.). 1988. PROLOG and Databases. Implementations and New Directions, Chichester, Ellis Horwood / Nueva York, Halsted Press.

GREGG, John. 1954. The Language of Taxonomy. An application of symbolic logic to the study of classificatory systems, N. York, Columbia University Press.

Page 372: Antropologia y Programacion Logica

372

GREENE, K. 1987. "Dark-age databases. dBase in archaeological teaching and research", Computers and Education, nº 56, pp.2-3.

GREFENSTETTE, John J. 1986. "Optimization of Control Parameters for Genetic Algorithms", IEEE Transactions on Systems, Man, and Cybernetics SMC-16 1, pp.122-128.

GREFENSTETTE, John J. (ed.). 1985. Proceedings of the 1st International Conference on Genetic Algorithms and their Applications, Hillsdale, Erlbaum.

GREFENSTETTE, John J. (ed.). 1987. Proceedings of the 2nd International Conference on Genetic Algorithms and their Applications, Hillsdale, Erlbaum.

GREGOIRE, E. 1988. "A note on Moore's autoepistemic logic", en P. Smets et al (eds.), Op.cit., pp.132-133.

GREIMAS, Algirdas Julien. 1966. Sémantique structurale, París, Larousse.

GRICE, H. Paul 1975. "Logic and Conversation", en Peter Cole y Jerry Morgan (eds.), Syntax and Semantics 9: Pragmatics, N. York, Academic Press, pp.51-58.

GRUENBERGER, Fred (comp.). 1976. Computadoras de Cuarta Generación, Buenos Aires, El Ateneo.

HAACK, Susan. 1980. Lógica Divergente. Madrid, Paraninfo.

HAACK, Susan. 1982. [1978] Filosofía de las Lógicas. Madrid, Cátedra.

HACKENBERG, Robert A. 1973. "Genealogical Method in Social Anthropology: The Foundations of Structural Demography", en J. Honigmann (ed.), Handbook of Social and Cultural Anthropology, Chicago, Rand McNally, pp. 289-325.

HADDEN, Kenneth y Billie DeWALT. 1974. "Path Analysis: Some anthropological examples", Ethnology, v.13(1), pp.105-128.

HALLIDAY, M.A.K. 1979. "Modes of meaning and modes of expression: Types of grammatical structure", en D.J. Allerton, E. Carney y D. Holdcroft (eds.), Function and context in Linguistic Analysis, Cambridge, Cambridge University Press, pp.57-79.

HALLIDAY, M.A.K. y Ruqaiya HASSAN. 1976. Cohesion in English, Londres, Longman.

HALLPIKE, C.R. 1986. Fundamentos del Pensamiento Primitivo. México, Fondo de Cultura Económica.

HAMILL, James. 1979. "Sylogistic reasoning and taxonomic semantics", Journal of Anthropological Research, 35, 481-494.

HANNERZ, Ulf. 1986. Exploración de la Ciudad. Hacia una antropología urbana, México, Fondo de Cultura Económica.

HANSON, A. y TÅRNLUND, S.-A. 1979. Derivations of programs in a natural programming calculus, Electrotechnical Laboratory, Tokyo.

Page 373: Antropologia y Programacion Logica

373

HARNAD, Stevan. 1983. comentario de Sheldon Klein, Op.cit., 170-171.

HARRAH, D. 1963. Communication: A logical model, Cambridge, MIT Press.

HARRIS, Marvin. 1964. The Nature of Cultural Things. Nueva York, Random House.

HARRIS, Marvin. 1978. [1968] El Desarrollo de la Teoría Antropológica. Madrid, Siglo XXI.

HARWOOD, Frances. 1976. "Myth, memory, and the oral tradition: Cicero in the Trobriands", American Anthropologist, 78, 783-796.

HASHIM, Safaa H. 1988. "Metalogic and Expert Systems", Turbo Technix, vol.1, nº3, pp. 89-97.

HAYES, P.J. 1979. "The Logic of Frames", en D. Metzing (ed.), Frame Conceptions and Text Understanding, Berlín, de Gruyter & Co.

HEITE, Ned y Lou HEITE. 1982. "Breaking the jargon. Designing programs for humanists", Byte, julio, pp.76-104.

HEMPEL, Carl G. 1988. [1965] La Explicación Científica. Estudios sobre la Filosofía de la Ciencia, Barcelona, Paidós.

HEMPEL, Carl G. y Paul OPPENHEIM. 1953. "The Logic of Explanation", en Herbert Feigl y May Brodbeck (comp.), Readings in the Philosophy of Science, Nueva York, Appleton-Century-Crofts.

HENSCHEN, L. y L. WOS. 1974. "Unit refutations and Horn sets", JACM, v. 21, nº 4, pp. 590-605.

HERBRAND, J. 1971. "Sur la Théorie de la Démonstration", en E. Goldfarb (ed.), Logical Writings, Cambridge, Cambridge University Press.

HERNANDEZ RUIZ, Bernardo y Manuel CARRIRAN VALIÑAS. 1986. "Métodos de investigación de mapas cognitivos", en F. Jiménez Burillo y J.I. Aragonés (eds.), Op.cit., 83-93.

HERNANDEZ, J.Luis Maté y Juan PAZOS SIERRA. 1988. Ingeniería del Conocimiento. Diseño y construcción de sistemas expertos, Córdoba (Argentina), SEPA.

HEYTING, Arend. 1962. "After thirty years", en A. Nagel, P. Suppes y A. Tarski (eds.), Logic, Methodology and Philosophy of Science, Stanford, Stanford University Press, pp.194-197.

HEYTING, Arend. 1966. Intuitionism, Amsterdamm, North-Holland Publishing Co., 2ª ed. [trad. esp., Introducción al Intuicionismo, Madrid, Tecnos, 1976].

HINTIKKA, Jaakko. 1962. Knowledge and Belief: An introduction to the logic od two notions, Ithaca, Cornell Universiy Press.

HINTIKKA,Jaakko. 1989. "Sherlock Holmes formalizado", en U. Eco y T. Sebeok (eds.), Op.cit., pp.230-240.

Page 374: Antropologia y Programacion Logica

374

HODDER, Ian (ed.). 1978. Simulation studies in archaeology, Londres, Cambridge University Press.

HOFFMANN, Hans. 1967. "Mathematical structures in ethnological systems", Proceedings of the American Ethnological Society, pp.49-57.

HOGGER, Christopher John. 1978. Program synthesis in predicate logic, Proceedings of the AISB/GI Conference on AI, Hamburgo, pp.18-20.

HOGGER, Christopher John. 1979. Derivation of Logic Programs, tesis de Ph.D., Department of Computing, Imperial College, Londres.

HOGGER, Christopher John. 1984. Introduction to Logic Programming, Londres, Academic Press.

HOPFIELD, John J. 1982. "Neural network and physical systems with emergent collective computational abilities", Proceedings of the National Academy of Sciences, v.79.

HORN, Alfred. 1951. "On sentences which are true of direct unions of algebras", Journal of Symbolic Logic, v.16, pp.14-21.

HORTON, Robin y R. FINNEGAN (eds.). 1973. Modes of Thought, Londres, Faber & Faber.

HOWELL, Nancy y Victor A. LEHOTAY 1978. "AMBUSH: A computer program for stochastic microsimulation of small human populations", American Anthropologist, v.80, pp. 905-922.

HUGHES, R.I.G. 1981. "Lógica Cuántica", Investigación y Ciencia, nº 167, diciembre, pp.80-94.

HULL, Clark L. 1943. "The problem of intervening variables in moral behavior theory", Psychological Review, v.50, pp.273.291.

HUTCHINS, E. 1979. "Reasoning in Trobriand discourse", Quarterly Newsletter, Laboratory of Comparative Human cognition, 1, 13-17.

HUTCHINS, E. 1980. Culture and inference: A Trobriand case study, Cambridge, Harvard University Press.

HYMES, Dell (ed.). 1972. Reinventing Anthropology, Nueva York, Random House.

HYMES, Dell. 1970. "Linguistic models in Archaeology", en J.C. Gardin (ed.), Op. cit., pp.91-120.

IBAÑEZ, Jesús. 1985. Del Algoritmo al Sujeto. Perspectivas de ka Investigación Social, Madrid, Siglo XXI.

ISRAEL, D. 1983. "The Role of Logic in Knowledge Representation", IEEE Computer, v.16(10), pp.37-42.

JAY, Christopher y Rodger KNAUS. 1989. "Frames in PROLOG", AI Expert, 4(3), marzo, pp.19-24.

JOHNSON, L. y E.T. KERAVNOU. 1985. Expert Systems Technology. A guide, Cambridge, Abacus Press.

Page 375: Antropologia y Programacion Logica

375

JOHNSON, N.F. 1970. "The role of chunking and organization in the process of recall", en G.H. Bower (ed.), The psychology of learning and motivation, v IV, Nueva York, Academic Press.

JOHNSON-LAIRD, P.N y P.C. WASON. 1970. "A theoretical analysis of insight into a reasoning task", Cognitive Psychology, v.1, pp.134-148.

KAHN, K.M. 1984. "A primitive for the control of logic programs", Proceedings of the IEEE Symposium on Logic Programming, Atlantic City.

KANDEL, A. 1982. Fuzzy Techniques in Pattern Recognition, Nueva York, Wiley.

KAPFERER, Bruce. 1973. "Social networks and conjugal role in urban Zambia: Towards a reformulation of Bott's Hypothesis", en J. Boissevain y J. Clyde Mitchell (eds.), Network Analysis, La Haya, Mouton, pp.269-280.

KAPLAN, Flora S. y David M. LEVINE. 1981. "Cognitive mapping of a folk taxonomy of mexican pottery: A multivariate approach", American Anthropologist, 83, 868-884.

KAPLAN, S. 1973. "Cognitive maps, human needs and the designed environment", en W. Preisser (ed.), Environmental design research, Stroudsburg, Dowden, Huchinson & Ross.

KAPLAN, S. Jerrold. 1978. "Indirect responses to loaded questions", Proceedings of the TINLAP-2, ACM, pp.202-209.

KAPLAN, S. Jerrold. 1982. "Cooperative responses from a portable natural language query system", Artificial Intelligence, v.19, pp.165-187.

KAY, Paul. 1975a. Color Categories as Fuzzy Sets. MS [citado por Rodin, Michaelson y Britan, 1978].

KAY, Paul. 1975b. "Synchronic variability and diachronic change in basic color terms", Language and society, 4, 257-270.

KAY, Paul. 1975c. "A model-theoretic approach to folk taxonomy", Social Science Information, 14, 151-166.

KAY, Paul y Chad McDANIEL. 1978. "The linguistic significance of the meaning of basic color terms", Language, 54(3), pp.610-646.

KEMENY, John, J. SNELL y Gerald L. THOMPSON. 1966. Introduction to Finite Mathematics, Englewood Cliffs, Prentice-Hall, 2ª ed.

KINTSCH, Walter. 1977. "On comprehending stories", en M.A. Just y P. Carpenter (eds.), Cognitive processes in comprehension, Hillsdale, Erlbaum.

KIRCHNER, C (ed.). 1989. Special Issue on Unification, Journal of Symbolic Computation.

KIRCHNER, C. 1985. Méthodes et Outils de Conception Systematique d'Algorithmes d'Unification dans les Théories Equationelles, Tesis, Universidad de Nancy.

KLEENE, Stephen C. 1974. Introducción a la Metamatemática, Madrid, Tecnos.

Page 376: Antropologia y Programacion Logica

376

KLEIN, Sheldon. 1983. "Analogy and Mysticism and the Structure of Culture", Current Anthropology, 24(2), pp. 151-180.

KLIR, George J (ed.). 1984. Tendencias en la Teoría General de Sistemas, Madrid, Alianza.

KLUZNIAK, Feliks y Stanislaw SZPAKOWICZ. 1985. PROLOG for Programmers. Londres, Academic Press.

KNEALE, William y Martha KNEALE. 1972 [1961, rev. 1968]. El Desarrollo de la Lógica, Madrid, Tecnos.

KNUTH, D. 1968. The Art of Computer Programming, vol.I, Fundamental Algorithms, Reading, Addison-Wesley.

KÖBBEN, André. 1970. "Comparativists and non-comparativists in Anthropology", en Naroll y Cohen (eds.), Op.cit., pp.581-596.

KOHONEN, Teuvo. 1987. "Representation of sensory information in self-organizing feature maps and relation of these maps to distributed memory networks", Proceedings of SPIE Advanced Institute on Hybrid and Optical Computing, v.634 (facilitado por la Society on Photo-Optical Instrumentation Engineers, PO Box 10, Bellingham, Washington 98227).

KOWALSKI, Robert y otros. 1984. Fifth Generation Software, Logic Programming Systems, Milford.

KOWALSKI, Robert. 1982. "Logic as a Computer Language", en Clark y Tärnlund (eds.), Op.cit., pp.3-18.

KOWALSKI, Robert. 1986. Lógica, Programación e Inteligencia Artificial, Madrid, Díaz de Santos.

KRIPKE, S.A. 1971. "Semantical considerations on modal logic", en L. Linsky (ed.), Reference and Modality, Londres, Oxford University Press, pp.63-72.

KRONENFELD, David B. 1972. "Guttman scaling: Problems of conceptual domain, unidimensionality, and historical inference", Man, v.7(2), pp. 255-276.

KRONENFELD, David B. 1981. "Mathematical social-cultural anthropology", American Anthropologist, v.83, pp.121-142.

KÜCHLER, Susanne. 1987. "Malangan art and memory in a melanesian society", Man, n. s., 22, 238-255.

KUHN, Thomas A. 1979. "Segundas reflexiones acerca de los paradigmas", en F. Suppe (ed.), La Estructura de las Teorías Científicas, Madrid, Editora Nacional, pp.529-569.

KUIPERS, Benjamin L. 1975. "A frame for frames", en Bobrow y Collins (eds.),, Op.cit., 151-184.

KUIPERS, Benjamin L. 1982. "The 'map in the head' metaphor", Environment and Behavior, v.14, 202-220.

KWONG, Charlie. 1988. "Representing Time", en G.A. Ringland y D.A. Duce (eds.), Op.cit., pp.189-206.

Page 377: Antropologia y Programacion Logica

377

LAFLIN, S (ed.). 1980. Computer Applications in Archaeology 1980, Birmingham, Computer Center, University of Birmingham.

LAGRANGE, M.S. y M. RENAUD. 1985. "Intelligent knowledge-based systems in archaeology: A computerized simulation of reasoning by means of an Expert System", Computers and the Humanities, 19(1), pp.37-52.

LAGRANGE, Marie-Salomé y Monique RENAUD. 1982. Simulation d'un raisonnement archéologique. Laboratoire d'Informatique pour las Sciences Humaines, Mimeo, Report Nº 1, París, C.N.R.S.

LAKATOS, Imre. 1983. La Metodología de los Programas de Investigación Científica. Madrid, Alianza.

LAKOFF, George y Mark JOHNSON. 1986. [1980]. Metáforas de la vida cotidiana, Madrid, Cátedra.

LAKOFF, George. 1975. "Hedges: A study in meaning criteria and the logic of fuzzy concepts", en Donald Hockney y otros (eds.), Contemporary Research In Philosophical Logic and Linguistic Semantics, Dordrecht, Reidel, 221-271.

LAKOFF, George. 1977. "Linguistic gestalts", Proceedings of the 13th. Annual Meeting of the Chicago Linguistic Society.

LAMBERT, K. 1969. "Logical truth and microphysics", en K. Lambert (ed.), The Logical Way of Doing Things, New Haven, Yale University Press.

LANCY, David J. y Andrew J. STRATHERN. 1981. "Making Twos: Pairing as an alternative to the taxonomic mode of representation", American Anthropologist, v.83, pp.773-795.

LASSEZ, J.-L. y M. MAHER. 1983. "The denotational semantics of Horn clauses as a production system", Proceedings of the AAAI Conference, Los Altos, William Kaufmann, pp.229-231.

LAUDAN, H. 1977. Progress and its Problems: Towards a Theory of Scientific Growth. Berkeley, University of California Press.

LEACH, Edmund. 1971. [1961] Replanteamiento de la Antropología, Barcelona, Seix Barral.

LEECH, Geoffrey. 1985. Semántica, Madrid, Alianza, 2ª edición.

LEHNERT, Wendy G. 1982. "Plot Units: A narrative summation strategy", en Lehnert y Ringle (eds.), Op.cit., pp.375-412.

LEVESQUE, H.J. 1981. "The interaction with incomplete knowledge bases: A formal treatment", Proceedings of the IJCAI-81, pp.240-245.

LEVI-STRAUSS, Claude. 1946. "French Sociology", en G. Gurvitch y W.E. Moore (eds.), Twentieth Century Sociology, N. York, Philosophical Library, pp. 503-537.

LEVI-STRAUSS, Claude. 1964. "Criteria of Science in the Social and Human Disciplines". International Social Science Journal 16, pp. 534-552.

Page 378: Antropologia y Programacion Logica

378

LEVI-STRAUSS, Claude. 1973 [1955]. Tristes Trópicos, Buenos Aires, Eudeba, 2ª edición.

LEVI-STRAUSS, Claude. 1973 [1958]. Antropología Estructural, Buenos Aires, Eudeba, 5ª edición.

LEVINE, Daniel S. 1989. "The Third Wave in Neural Networks", AI Expert, v.4(12), diciembre, pp.27-33.

LEWIS, David. 1972. We, the navigators, Australian National University Press.

LEWIS, David. 1976. "Observations on route finding and spatial orientation among the aboriginal peoples of western desert region of Central Australia", Oceania, 46 (4), 249-282.

LI, D. 1984. A PROLOG Database System, Londres, Research Studies Press.

LLOYD, J.W. 1984. Foundations of Logic Programming, Nueva York, Springer-Verlag.

LÖWENHEIM, Leopold. 1915. "Über Möglichkeiten im Relativkalkül", Mathematische Annalen, v.76, pp.447-470 [traducción inglesa: "On possibilities in the calculus of relatives", en Jean Van Heijenoort (ed.), From Frege to Gödel. A source book in mathematical logic 1879-1941, Cambridge, Harvard University Press, 1967).

LOFTUS, E.F., D.G. MILLER y H.J. BURNS. 1978. "Semantic integration of verbal information in a visual memory test", Journal of Experimental Psychology: Human Learning and Memory, 4, 19-31.

LUKASIEWICZ, J. 1967. "Many-valued systems of Propositional Logic", en S. McCall (ed.), Polish Logic, Oxford, Oxford University Press.

LYONS, John. 1980. Semántica. Barcelona, Teide.

MACKAY, Donald M. 1954. "On comparing the brain with machines", American Scientist, v.42.

MAC RANDAL, Damian 1988. "Semantic Networks", en G.A. Ringland y D.A. Duce (eds.), Op.cit., pp.45-80.

MAIER, David y David S. WARREN. 1988. Computing with Logic. Logic programming with PROLOG, Menlo Park, The Benjamin/Cummings Publishing Company.

MALPAS, John. 1987. PROLOG. A Relational Language and its applications, Englewood-Cliffs, Prentice-Hall.

MANDLER, Jean M. y N.S. JOHNSON. 1977. "Remembrance of thing passed: Story structure and recall". Cognitive Psychology 9, pp.111-151.

MARANDA, Elli Köngäs y Pierre MARANDA. 1971. Structural Models in Folklore and Transformational Essays. La Haya, Mouton.

MARANDA, Pierre. 1966. "Computers in the bush: Tools for the Automatic Analysis of Myths", Proceedings of the American Ethnological Society, pp.77-83.

Page 379: Antropologia y Programacion Logica

379

MARANDA, Pierre. 1973. "Cendrillon: Théorie des graphes et des ensembles", en Claude Chabrol (ed.), Sémiotique narrative et textuelle, París, Larousse, pp. 122-136.

MARANDA, Pierre. 1989. "Imagination: A necessary input to artificial intelligence", Semiotica, v. 77(1-3), pp.225-238.

MARANDA, Pierre. 1968. "Analyse quantitative et qualitative de mythes sur ordinateur", en Calcul et Formalisation dans les Sciences de l'Homme, París, CNRS, pp.79-92.

MARSHALL, Mac y Mark BORTHWICK. 1974. "Consensus, dissensus, and Guttman scales: The Namoluk case", Southwestern Journal of Anthropology, v.30, pp.257-270.

MARTELLI, A. y U. MONTANARI. 1982. "An efficient unification algorithm". ACM Transactions on Programming Languages and Systems, v.4(1).

MARTIN, David F. 1972. "Lenguaje Formales y sus Autómatas", en L. Presser, A. Cárdenas y M. Marín, Ciencias de la Computación, México, Limusa-Wiley, v.II, pp.113-168.

MARUYAMA, Magoroh. 1980. "Mindscapes and science theory", Current Anthropology", v. 21(5), pp.589-608.

MAYER, Richard E. 1985. [1981]. El futuro de la psicología cognitiva, Madrid, Alianza.

McCARTHY, John. 1980. "Circumscription - A form of non-monotonic reasoning", Artificial Intelligence, 13, pp.27-39.

McCLURE, E. 1976. Ethnoanatomy in a multilingual community. An analysis of semantic change, American Ethnologist, v.3, 525-542.

McCORD, Michael. 1987. "Natural Language Processing in PROLOG' en A. Walker (ed.), Op.cit., pp.291-402.

McCORDUCK, Pamela. 1979. Machines who Think. San Francisco, Freeman.

McDERMOTT, Drew y Jon DOYLE. 1980. "Non-monotonic logic I", Artificial Intelligence, 13, pp. 41-72.

McDERMOTT, Drew. 1982a. "Non-monotonic logic II: Non-monotonic modal theories", Journal of the ACM, v.29(1), pp.34-57.

McDERMOTT, Drew. 1982b. "A Temporal Logic for Reasoning about Process and Plans", Cognitive Science, v.6, pp.101-155.

MELETINSKIJ, Eleazar. 1971. "Structural-typological study of the Folktale", Genre, 4.

MERTON, Thomas. 1967. "The bearing of sociological theory on empirical research", en On Theoretical Sociology, Nueva York, Free Press.

MERVIS, C.B. y Eleanor ROSCH. 1981. Categorization of natural objects, Annual Review of Psychology, 32, 89-115.

MILLER, Frank C. 1965. "Culture change as decision-making: A tzotzil example", Ethnology, v.4, pp.53-65.

Page 380: Antropologia y Programacion Logica

380

MILLER, George A. 1983. (1956) "El mágico número 7, más o menos 2. Algunas limitaciones en nuestra capacidad para el procesamiento de la información", en M.V. Sebastián (comp.), Lecturas de Psicología de la Memoria, Madrid, Alianza, pp.127-153.

MILLER, James Grier. 1978. Living Systems. Nueva York, McGraw-Hill.

MINSKY, Marvin. 1987. "Líneas L: Una teoría de la memoria", en Donald Norman (ed.), Op.cit., pp.109-128.

MINSKY, Marvin. 1975. "Frame-system theory", en R.C. Schank y B.L. Nashwebber (eds.), Theorical issues in natural language processing, Cambridge, MIT Press.

MINSKY, Marvin. 1981. "A framework for representing knowledge", en J. Haugeland, Mind Design, Cambridge, MIT Press.

MINSKY, Marvin. 1986. La Sociedad de la Mente. La inteligencia humana a la luz de la Inteligencia Artificial, Buenos Aires, Galápago.

MITCHELL, J. Clyde. 1969. Social Networks in Urban Situations, Manchester, Manchester University Press.

MOORE, Dan. 1978. "Simulation languages for archaeologists", en Ian Hodder (ed.), Op.cit., pp. 11-19.

MOORE, J. y Allen NEWELL. 1973. "How can MERLIN understand?", en L. Gregg (ed.), Knowledge and Cognition, Baltimore, Erlbaum.

MOORE, R.C. 1980. "Reasoning about knowledge and action", SRI Technical Note 191, Menlo Park.

MOORE, R.C. 1984. "Possible-world semantics for auto-epistemic logic", Proceedings of the AAAI-Workshop on Non-Monotonic Reasoning, Nueva York, octubre, pp.344-354.

MOORE, R.C. 1985. "Semantical Considerations on non-monotonic logic", Artificial Intelligence, v.25(1), pp.75-94.

MOORE, R.C. 1988. "Autoepistemic logic", en P. Smets et al (eds.), Non-Standard Logics for Automated Reasoning, Londres, Academic Press, pp. 105-136.

MOULOUD, Noël. 1969. "El método de las ciencias de estructuras y los problemas del conocimiento racional", en Aa.Vv., Estructuralismo y Marxismo, Buenos Aires, Martínez Roca, pp.23-45.

MOUTA, Fernando, M. Howard WILLIAMS y Jose Maia NEVES. 1988. "Implementing query languages in PROLOG", en P.M.D. Gray y R.J. Lucas (eds.), Op.cit., pp.13-21.

MURRAY, S.O. 1983. "Fuzzy sets and abominations", Man, n.s., v.18, pp. 396-399.

NAGEL, Ernest. 1981. [1961] La Estructura de la Ciencia. La lógica de la investigación científica. Barcelona, Paidós.

NAROLL, Raoul y Ronald COHEN (ed.). 1970. A Handbook of Method in Cultural Anthropology, Garden City, Natural History Press.

NEEDHAM, Rodney. 1975. "Polythetic Classification: Convergence and Consequences", Man, n.s. v.10, pp.349-369.

Page 381: Antropologia y Programacion Logica

381

NEGOITA, Constantin Virgil. 1985. Expert Systems and Fuzzy Systems. Menlo Park, Benjamin/Cummings.

NEISSER, Ulrich. 1963. The imitation of man by machine, Science, 139, 193-197.

NEISSER, Ulrich. 1976. Cognition and reality, San Francisco, Freeman.

NEWELL, Allen y Herbert A. SIMON. 1956. "The Logic Theory Machine", IRE Transactions on Information Theory, v.2 , nº 3, pp.61-79.

NEWELL, Allen y Herbert SIMON. 1972. Human problem solving, Englewood Cliffs, Printice-Hall.

NEWELL, Allen, Herbert SIMON y John C. SHAW. 1958. Elements of a theory of human problem solving, Psychological Review, 65, 151-166.

NIDDITCH, P.H. 1987. El desarrollo de la lógica matemática, Madrid, Cátedra.

NORMAN, Donald A (ed.). 1987. Perspectivas de la Ciencia Cognitiva, Barcelona, Paidós.

NORMAN, Donald A. 1982. Learning and memory, San Francisco, Freedman.

NUTE, Donald y M. LEWIS. 1986. d-PROLOG: A user's Manual, Research Report 01-0016, Advanced Computational Methods Center, Universidad de Georgia.

NUTINI, Hugo G. 1965. "Some considerations on the nature of social structure and model building: A critique of Claude Lévi-Strauss and Edmund Leach", American Anthropologist, v.67, pp. 707-731.

O'KEEFE, R.A. 1983. "Programming meta-logical operations in PROLOG", DAI Working Paper Nº 142, Universidad de Edinburgo.

O'NEILL, Dennis. 1984. "Archaeological uses of Microcomputers with 'off the rack' Software". American Antiquity, v.49(4), pp.809-814.

OHNUKI-TIERNEY, Emiko. 1969. "Concepts of time among the Ainu of the Northwest Coast of Sakhalin", American Anthropologist, v.71(3).

ORE, Oystein. 1963. Graphs and their uses, Nueva York, Random House.

OTTENBERG, Simon. 1973. Revisión crítica de J. Clyde Mitchell, Social Networks in Urban Situations, (Manchester, Manchester University Press, 1969), American Anthropologist, v. 75, pp.946-948.

OUELLET, Pierre (ed.). 1989. Edición especial de Semiotica, dedicada a la Inteligencia Artificial, v.77, Nº1-3.

PARAIN-VIAL, Jean. 1969. Analyses structurales et idéologies structuralistes. París, Privat.

PAREDES, J. Anthony y M.J. HEPBURN. 1976. "The split brain and the culture-and-cognition paradox", Current Anthropology, v.17, pp.121-127.

Page 382: Antropologia y Programacion Logica

382

PARSAYE, Kamran. 1988. "Acquiring & Verifying knowledge automatically", AI Expert, 3(5), mayo, pp.48-63.

PATERSON, M.S. y M.N. WEGMAN. 1978. "Linear Unification", Journal of Computer and System Sciences, v.16, pp.158-167.

PEDERSEN, Ken. 1989. Expert Systems Programming: Practical Techniques for Rule-based Systems, Nueva York, Wiley.

PHELPS, Robert I. y P.B. MUSGROVE. 1986. "Artificial Intelligence Approaches in Statistics", en W. Gale (ed.), Op.cit., pp.159-172.

PIAGET, Jean. 1974. El Estructuralismo. Barcelona, Oikos-Tau.

PIKE, Kenneth. 1954. Language in relation to a unified theory of human behavior, La Haya, Mouton, 2ª edición (1967).

POLYA, G. 1957. How to solve it, Nueva York, Doubleday Anchor Books.

POPPER, Karl. 1962 [1934]. La Lógica de la Investigación Científica, Madrid, Tecnos.

POPPER, Karl. 1988 [1972]. Conocimiento Objetivo, Madrid, Tecnos, 3ª Edición.

PRESTON, R.J. 1966. North American Trees, Cambridge, MIT Press.

PRICE, D.J.S. 1961. Science since Babylon, New Haven, Yale University Press.

PRINCE, Gerald. 1973. A Grammar for Stories, La Haya, Mouton.

PRINCE, Gerald. 1980. "Aspects of a Grammar of Narrative", Poetics Today, pp.49-63.

PRIOR, Arthur N. 1957. Time and Modality, Londres, Oxford University Press.

PRIOR, Arthur N. 1967. Past, present and future, Londres, Oxford University Press.

PRIOR, Arthur N. 1968. Papers on time and tense. Londres, Oxford University Press.

PROPP, Vladimir. 1972. Morfología del Cuento, Buenos Aires, Juan Goyanarte.

PUTNAM, Hilary. 1983. Realism and reason: Philosophical Papers, v. 3, Cambridge, Cambridge University Press.

PUTNAM, Hilary. 1984. After Ayer, after empiricism, Partisan Review, v.2, 265-267.

PYLYSHIN, Zenon. 1983. La naturaleza simbólica de las representaciones mentales, en M.V. Sebastián (ed.), Op.cit., 367-384.

PYLYSHYN, Zenon. 1975. Minds, machines and phenomenology: some reflections of Dreyfus' "What computers can't do", Cognition, 3 (1), 57-77.

Page 383: Antropologia y Programacion Logica

383

QUILLIAN, M. Ross 1966. "Semantic Memory", Tesis Doctoral Inédita, Pittsburgh, Carnegie Institute of Technology.

QUINE, Willard Van Orman. 1960. Word and Object, N.York, Wiley.

QUINE, Willard Van Orman. 1984. Filosofía de la Lógica, Madrid, Alianza.

QUINN, Naomi. 1975. "Decision models of social structure", American Ethnologist, v.2(1), pp.19-46.

QUINN, Naomi. 1976. "A natural system used in Mfantse litigation settlement", American Ethnologist, v.3, pp.331-351.

QUINN, Naomi. 1979. A cognitive anthropologist looks at American marriage, ponencia presentada en el 78th Annual Meeting, American Anthropological Association, noviembre.

RABEN, Joseph, Shigeharu SUGITA y Masatoshi KUBO (eds.). 1987. Toward a Computer Ethnology, Osaka, National Museum of Ethnology.

RADCLIFFE-BROWN, A.R. 1931. "The Social Organization of Australian Tribes", Oceania, v.I.

RANDALL, Robert. 1976. "How tall is a taxonomic tree: Some evidence for dwarfism", American Ethnologist, v.3(3), pp.543-553.

RANDALL, Robert A. 1977. Change and variation in Samal fishing: making plans to "make a living" in the Southern Philippines, Berkeley, University of California Press.

RAPHAEL, Bertram. 1984. El Computador Pensante. Introducción a la Informática para Psicólogos y Humanistas, Madrid, Cátedra.

RAPOPORT, Anatol. 1984. "Los Usos del Isomorfismo Matemático en la Teoría General de Sistemas", en Bertalanffy y otros, Op.cit., pp.54-94.

RAPPAPORT, Roy. 1987. Cerdos para los Antepasados. El ritual en la ecología de un pueblo de Nueva Guinea, Madrid, Siglo XXI.

READ, Dwight. 1974. "Some comments on the use of mathematical models in Anthropology", American Antiquity, v.39(1), pp.3-15.

READING, Hugo F. 1983. "Artificial Intelligence", Man, v.18(1), Correspondence, pp. 183-185.

REICHENBACH, Hans. 1944. Philosophic Foundations of Quantum Mechanics, California University Press.

REITER, Raymond y G. CRISCUOLO. 1981. "On interacting defaults", Proceedings of the IJCAI-81, pp. 270-276.

REITER, Raymond. 1980. "A logic for default reasoning", Artificial Intelligence, v. 13, pp.81-132.

RESCHER, Nicholas y A. URQUHART. 1971. Temporal Logic, Berlín, Springer-Verlag.

Page 384: Antropologia y Programacion Logica

384

RESCHER, Nicholas. 1966. The Logic of Commands, Londres, Routledge and Kegan Paul, [N.York, Dover].

RESCHER, Nicholas. 1969, Many-valued logic, N. York, McGraw-Hill.

REYNOSO, Carlos. 1977. Tantrismo y Psicoanálisis. Una perspectiva antropológica. Manuscrito inédito.

REYNOSO, Carlos. 1986a. Crítica de la Razón Binaria: Cinco razones lógicas para desconfiar de Lévi-Strauss. Buenos Aires, Segundo Congreso Argentino de Antropología Social.

REYNOSO, Carlos. 1986b. Teoría, Historia y Crítica de la Antropología Cognitiva, Buenos Aires, Búsqueda.

REYNOSO, Carlos. 1990a. Introducción a la Antropología Comparativa (MS).

REYNOSO, Carlos. 1990b. El Lado Oscuro de la Descripción Densa. Rosario, Tercer Congreso Argentino de Antropología Social.

REYNOSO, Carlos. 1990c. Notas para una Crítica de la Epistemología. Rosario, Tercer Congreso Argentino de Antropología Social.

RICE, Elizabeth. 1980. "On Cultural Schemata", American Ethnologist, v.7, pp.152-171.

RICH, Kelly M. y Phillip R. ROBINSON. 1988. Using Turbo PROLOG, Berkeley, Osborne-McGraw-Hill.

RICHARDS, J. D. y N.S. RYAN. 1985. Data processings in archaeology, Cambridge, Cambridge University Press.

RINGLAND, Gordon. 1988. "Structured Object Representation - Schemata and Frames", en G. Ringland y D. Duce (eds.), Op.cit., pp.81-99.

RINGLAND, Gordon y David DUCE (eds.). 1988. Approaches to Knowledge Representation. An Introduction, Nueva York, Wiley.

RIVERS, William Halse Rivers. 1975. "El Método Genealógico de Investigación Antropológica", José Llobera (ed.), La Antropología como Ciencia, Barcelona, Anagrama, pp.85-96.

ROBINSON, J.A. 1965. "A machine-oriented logic based on the resolution principle", Journal of the ACM, v.12, pp. 23-41.

ROBINSON, J.A. 1979. Logic: Form and Function, Nueva York, Elsevier-North Holland.

ROSALDO, Renato. 1988. Culture and Truth. The Remaking of Social Analysis. Boston, Beacon Press.

ROSCH, Eleanor Heider. 1972. Probabilities, sampling, and ethnographic method: The case of Dani colour names, Man, n.s., 7(3), 448-466.

ROSCH, Eleanor. 1973a. Natural categories, Cognitive Psychology, 4, 328-350.

Page 385: Antropologia y Programacion Logica

385

ROSCH, Eleanor. 1973b. On the internal structure of perceptual and semantic categories, en T.E. Moore (ed.), Cognitive development and the acquisition of language, Nueva York, Academic Press.

ROSCH, Eleanor. 1974a. Universals and cultural specifics in human categorization, en W.S. Lonner y R. Brislin (eds.), Cross-cultural perspectives on learning, Londres, Sage.

ROSCH, Eleanor. 1974b. Linguistic relativity, en A. Silverstein (ed.), Human communication. Theoretical perspectives, Hillsdale, Erlbaum.

ROSCH, Eleanor. 1975a. Cognitive representations of semantic categories, Journal of Experimental Psychology, General, 104 (3), 192-233.

ROSCH, Eleanor. 1975b. Cognitive reference points, Cognitive Psychology, 7, 532-47.

ROSCH, Eleanor. 1977. Human categorization, en N. Warren (comp.), Advances in cross-cultural psychology, v. I, Londres, Academic Press.

ROSCH, Eleanor. 1978. Principles of categorization, Hillsdale, Erlbaum.

ROSCH, Eleanor y C.B. MERVIS. 1975. "Family resemblances: Studies in the internal structure of categories", Cognitive Psychology, v.7, pp. 575-605.

ROSCH, Eleanor, C.B. MERVIS, W.D. GRAY, D.M. JOHNSON y P. BOYES-BRAEN. 1976. Basic objects in natural categories, Cognitive Psychology, 8, 382-439.

ROTHENBERG, Jeff. 1989. "The Nature of Modeling", en L. Widman, K. Loparo y N. Nielsen (eds.), Op.cit., pp.75-92.

RUDNER, Richard. 1973. Filosofía de la Ciencia Social, Madrid, Alianza.

RUMELHART, David. 1975. Notes on a schema for stories, en D. Bobrow y A. Collins (eds.), Op.cit., 211-236.

RYLE, Gilbert. 1960. Dilemmas, Cambridge, Cambridge University Press.

SAHLINS, Marshall. 1976. Culture and Practical Reason. Chicago, University of Chicago Press.

SALMON, Merilee. 1978. "Do Azande and Nuer use a non-standard logic?", Man, n.s., v.13, pp. 444-455.

SALMON, Merillee y Wesley SALMON. 1979. "Alternative models of scientific explanation", American Anthropologist, v.81.

SANCHEZ MAZAS, M. 1970. Cálculo de las Normas, Barcelona, Ariel.

SANDAY, Peggy. 1968. "The 'Psychological Reality' of American-English kinship terms: An information-processing approach", American Anthropologist, v.70, pp.509-523.

SANJEK, Roger. 1974. "What is network analysis and what is it good for?", Reviews in Anthropology, v.1, pp. 588-597.

Page 386: Antropologia y Programacion Logica

386

SCHAFFER, David J (ed.). 1989. Proceedings of the 3rd International Conference on Genetic Algorithms, Morgan Kauffmann.

SCHANK, Roger. 1975. The structure of episodes in memory, en Bobrow y Collins (eds.), Op.cit.

SCHANK, Roger C. 1987. "Lenguaje y Memoria", en D. Norman (ed.), Op.cit., pp.129-178.

SCHANK, Roger C. y Robert P. ABELSON. 1987. [1977] Guiones, planes, metas y entendimiento, Barcelona, Paidós.

SCHILDT, Herbert. 1988. Turbo PROLOG. Programación Avanzada. Madrid, McGraw-Hill /Interamericana de España.

SCHNUPP, Peter y Lawrence W. BERNHARD. 1987. Productive PROLOG Programming. Hertfordshire, Englewood-Cliffs International.

SCHOLTE, Bob. 1973. "The structural anthropology of Claude Lévi-Strauss", en John Honigmann (ed.), Handbook of Social and Cultural Anthropology, Chicago, Rand McNally, pp.637-716).

SCHUSTER, Félix. 1982. Explicación y Predicción. Buenos Aires, CLACSO.

SEARLE, John R. 1980. "Minds, brains and programs", The Behavioral and Brain Sciences, v.3., pp.417-457.

SEARLE, John R. 1990. "¿Es la mente un programa informático?", Investigación y Ciencia, nº 162, pp.10-16.

SEBASTIAN, María Victoria (comp.). 1983. Lecturas de psicología de la memoria, Madrid, Alianza.

SEBEOK, Thomas A. y Jean UMIKER-SEBEOK. 1987 [1979]. Sherlock Holmes y Charles S. Peirce. El método de la investigación. Barcelona, Paidós.

SHAPIRO, Ehud Y. 1984. "Alternation and the computational complexity of Logic Programs", Journal of Logic Programming, v.1, pp.19-33.

SHAPIRO, Ehud Y. 1986. "Systems Programming in Concurrent PROLOG", en van Caneghem y Warren, Logic Programming and its Applications, Norwood, Ablex, pp.50-74

SHAW, M.L. 1982, "PLANET: Some experience in creating an integrated system for repertory grid application on a microcomputer", International Journal of Man-Machine Studies.

SHERZER, J. 1977. Semantic systems, discourse structure, and the ecology of language, en R.W. Fasold y R.W. Shuy (eds.), Studies in lenguage variation, Washington, Georgetown University Press, 283-293.

SHIPLEY, Chris. 1989. "Whatever happened to AI?", PC Computing, marzo, pp. 64-74

SHORE, John. 1988. El algoritmo Sachertorte y otros antídotos contra la ansiedad que provoca el ordenador. Madrid, Alianza.

SHOSHAM, Y. 1987. "Temporal Logics in AI: Semantical and ontological considerations", AI Journal, v.33, pp.89-104.

Page 387: Antropologia y Programacion Logica

387

SHULMAN, Norman. 1976. "Network analysis: A new addition to an old bag of tricks", Acta Sociologica, v.19(4).

SHWEDER, Richard. 1984. "Anthropology's Romantic Rebellion against the Enlightment, or there's more to thinking than reason and evidence", en R. Shweder y Robert A. LeVine (eds.), Culture Theory. Essays on Mind, Self, and Emotion, Cambridge, Cambridge University Press, pp.27-66.

SIEKMAN, J.H. 1989. "Unification Theory", en C. Kirchner (ed.), Op.cit.

SIEKMAN, J.H. 1989. "The History of Deduction Systems and Some Applications", en Bläsius y Bürckert (eds.), Op.cit., pp.11-36.

SIMON, Herbert A. 1987. "Ciencia Cognitiva: La más nueva ciencia de lo artificial", en Donald A. Norman (ed.), Perspectivas de la Ciencia Cognitiva, Barcelona, Paidós, pp.25-40.

SIMPSON, Thomas Moro. 1975. Formas Lógicas, Realidad y Significado. Bs. As., Eudeba, 2ª edición.

SINGLETON, Paul y Colin FARRIS. 1988. "Software Configuration Management using PROLOG". En Gray y Lucas (eds.), Op.cit., pp.340-356.

SKINNER, Burrhus Frederic. 1953. Science and Human Behavior, N.York, Macmillan.

SMITH, Peter. 1988. Expert Systems development in PROLOG and Turbo PROLOG, Nueva York, Sigma Press.

SMITH, T.R., J.W. PEREGRINO y R.G. GOLLEDGE. 1982. Computational process modeling of spatial cognition and behavior, Geograph. Anal., 14, pp 305-325.

SMUYLLAN, R.M. 1968. First-Order Logic, Berlín, Springer Verlag.

SOTO, Pilar y María Victoria SEBASTIAN. 1983. Conocimiento y memoria, en M.V. Sebastián (ed.), Op.cit., 296-304.

SOWA, John F. 1984. Conceptual Structures: Information processing in mind and machine. Reading, Addison-Wesley.

SOWA, John F. 1987. "A Prolog to PROLOG", en Adrian Walker (ed.), Op.cit., pp. 25-108.

SPERBER, Dan. 1978. [1974] El simbolismo en general. Barcelona, Anthropos.

SPERBER, Dan. 1979. "La pensée symbolique, est-elle pré-rationelle?". en M. Izard y P. Smith (eds.), La Fonction Symbolique, París, Gallimard, pp. 17-42.

SPILLMAN, Richard. 1990. "Managing uncertainty with belief functions", AI Expert, v5(5), mayo, pp.44-49.

SPIRO, Melford. 1984. "Some reflections on cultural determinism and relativism with special reference to emotion and reason", en R. Shweder y R. LeVine (eds.), Culture Theory. Essays on Mind, Self, and Emotion, Cambridge, Cambridge University Press, pp.232-346.

STABLER, E.P. 1986. "Object-oriented programming in PROLOG", AI Expert, octubre, pp.46-57.

Page 388: Antropologia y Programacion Logica

388

STEFFLRE, Volvey, Peter REICH y Marlys McCLARAN-STEFFLRE. 1971. "Some eliciting and computational procedures for descriptive semantics", en Paul Kay (ed.), Op.cit., pp.79-116.

STEFIK , M. y D.G. BOBROW. 1986. "Object-oriented programming: Themes and Variations", AI Magazine, 6(4), pp.40-62.

STERLING, Leon y Ehud SHAPIRO. 1987. The Art of PROLOG, Cambridge, MIT Press.

STERNBERG, R.J. 1977. Intelligence, information processing, and analogical reasoning, Nueva York, Barron.

STEWART, Ann Harleman. 1976. Graphic representation of models in linguistic theory. Bloomington, Indiana University Press.

STEWART, Ann Harleman. 1987. Models of narrative structure, Semiótica, 64, 83-97.

STRATHERN, Marilyn. 1987. "Out of context: The persuasive fictions of Anthropology", Current Anthropology, 28(3), pp. 251-281.

SUPPES, Patrick. 1988. Estudios de Filosofía y Metodología de la Ciencia. Madrid, Alianza.

TARSKI, Alfred. 1936. "On the concept of logical consequences", reimpreso en Logic, Semantics, Metamathematics, Oxford, Clarendon, pp.409-420.

TARSKI, Alfred. 1954. "Contributions to the Theory of Models", I y II, Koninkl. Ned. Akad. Wetensch. Proc., v.57, pp.572-578.

TATJE, Terrence. 1970. "Problems of Concept Definition for Comparative Studies", en Naroll y Cohen (eds.), Op.cit., pp.689-696.

TELLO, Ernest R. 1988. Mastering AI tools and techniques, Indianápolis, Howard W. Sams & Company.

TenHOUTEN, Warren D. y Charles D. KAPLAN. 1973. Science and its mirror image: A theory on inquiry, Nueva York, Harper and Row.

THAYSE, André. 1988. From Standard Logic to Logic Programming, Chichester, John Wiley & Sons.

THOMPSON, Richard A. 1973. "A Theory of Instrumental Social Networks", Journal of Anthropological Research, v.29, pp.244-265.

TODOROV, Tzvetan. 1977. The poetics of prose, Ithaca, Cornell University Press.

TOREN, Christina. 1983. "Thinking Symbols: A Critique of Sperber (1979)", Man, n. s., v.18, pp.260-268.

TOULMIN, Stephen. 1977. [1972] La Comprensión Humana. Madrid, Alianza.

TOURETZKY, D.S. 1986. The Mathematics of Inheritance Systems. Research Notes in Artificial Intelligence, Londres, Pitman.

TOWNSEND, Carl. 1986. Introduction to Turbo PROLOG, San Francisco, Sybex.

Page 389: Antropologia y Programacion Logica

389

TRABASSO, Tom. 1975. Representation, memory, and reasoning: How do we make transitive inferences?, Minnesota Symposium on Child Psychology, v. 9, Minneapolis, University of Minnesota Press.

TROWBRIDGE, C. 1913. "On fundamental methods of orienting and 'imaginary maps'", Science, 38, 888-897.

TURNER, Stephen P. 1984 [1980]. La Explicación Sociológica como Traducción. México, Fondo de Cultura Económica.

TURNER, Victor. 1974. Dramas, fields, and metaphors. Symbolic action in human society. Ithaca, Cornell University Press.

TYLER, Stephen A. 1969. "Introduction", en S. Tyler (ed.), Cognitive Anthropology, Nueva York, Holt, Rinehart and Winston, pp.1-27.

TYLER, Stephen A. 1978. The Said and the Unsaid. Mind, Meaning, and Culture. Nueva York, Academic Press.

TYLER, Stephen A. 1984. "The vision quest in the West, or What the mind's eye sees", Journal of Anthropological Research, v.40, pp.23-40.

TYLER, Stephen A. 1987. The Unspeakable: Discourse, Dialogue and Rhetoric in the Postmodern World, Wisconsin, University of Wisconsin Press.

UEDA, K. 1985. "Guarded Horn Clauses". Technical Report TR-103 ICOT (Institute for the New Generation Computer Technology), Tokyo.

VAN DIJK, Teun. 1980. Story comprehension: An introduction. Poetics, 9, pp.1-21.

Van EMDEN, M. 1982. "Warren's doctrine on the slash", Logic Programming Newsletter, diciembre.

Van FRAASEN, B.C. 1969. "Presuppositions, superevaluations, and free logic" en K. Lambert (ed.), The Logical Way of Doing Things, New Haven, Yale University Press.

VANDEGINSTE, Pierre. 1987. "Las aplicaciones de los Sistemas Expertos", Mundo Científico, 7(65), pp.50-64.

VAZQUEZ, Héctor. 1988. Etnología del Conocimiento, Rosario, UNR.

VERON, Eliseo. 1971. "Condiciones de producción, modelos generativos y manifestación ideológica". En E. Veron (comp.), El Proceso Ideológico, Buenos Aires, Tiempo Contemporáneo, pp.251-292.

VOGT, Evon Z. 1960. "On the concept of structure and process in cultural anthropology", American Anthropologist, v.62, pp.18-33.

von BERTALANFFY, Ludwig. 1982. Perspectivas en la Teoría General de Sistemas. Madrid, Alianza.

von BERTALANFFY, Ludwig. 1984. "Historia y situación de la Teoría General de Sistemas", en G.J. Klir (ed.), Op.cit., pp.29-53.

Page 390: Antropologia y Programacion Logica

390

Von WRIGHT, G.H. 1951. "Deontic Logic", Mind, LX, pp.1-15.

Von WRIGHT, G.H. 1979. [1970] Norma y Acción. Una investigación Lógica, Madrid, Tecnos.

Von WRIGHT, G.H. 1967. [1963] Lógica de la Preferencia, Bs.As., Eudeba.

VYGOTSKY, Lev Semenovich. 1962. Thought and Language. Cambridge, MIT Press [versión española del original ruso: Lenguaje y Pensamiento, Buenos Aires, La Pléyade, 1987].

WALKER, Adrian (ed.). 1987. Knowledge Systems and PROLOG. A logical approach to Expert Systems and Natural Language Reasoning, Reading, Addison-Wesley.

WARTOFSKY, Marx W. 1978. Introducción a la filosofía de la ciencia, Madrid, Alianza, 3ª edición.

WEISKAMP, Keith y Terry HENGL. 1988. Artificial Intelligence Programming with Turbo PROLOG, Nueva York, Wiley.

WERNER, Oswald. 1982. "Microcomputers in Cultural Anthropology", Byte, julio, pp. 250-280.

WEST, Stanley. 1978. Comentario a Rodin, Michaelson y Britan, Op.cit., pp.758-759.

WHITTEN, Norman E. Jr. y Alvin W. WOLFE. 1974. "Network Analysis", en J. Honigmann (ed.), Handbook of Social and Cultural Anthropology, Chicago, Rand McNally, pp.717-746.

WHYTE, Lancelot Law, Albert G. WILSON y Donna WILSON. 1973. Las estructuras jerárquicas, Madrid, Alianza.

WIDMAN, Lawrence E., Kenneth LOPARO y Norman R. NIELSEN (eds.). 1989. Artificial Intelligence, Simulation and Modelling, Nueva York, Wiley.

WIERZBICKA, Anna. 1984. "Apples are not a kind of fruit. The semantics of human categorization", American Ethnologist, v. 11, pp.313-328)

WILDEN, Anthony. 1979. Sistema y Estructura. Ensayos sobre comunicación e intercambio. Madrid, Alianza.

WILSON, B.R. (ed.). 1970. Rationality, Oxford, Blackwell.

WILSON, Robin J. 1983. Introducción a la teoría de grafos. Madrid, Alianza.

WILSON, S.W. 1987. "Classifier Systems and the Animat Problem", Machine Learning, v. 2, pp.199-228.

WINOGRAD, Terry. 1987. Understanding Computers and Cognition. A new foundation for desing. Reading, Addison-Wesley.

WITTGENSTEIN, Ludwig. 1953. Philosophical Investigations. Oxford, Blackwell.

WITTGENSTEIN, Ludwig. 1986. [1961] Diario Filosófico, (1914-1916). Barcelona, Planeta-Agostini.

Page 391: Antropologia y Programacion Logica

391

WITTGENSTEIN, Ludwig. 1958. Preliminary studies for the "Philosophical Investigations", generally known as The Blue and Brown Books, Oxford, Blackwell.

WOLFE, Alvin. 1978. "The Rise of Network Thinking in Anthropology", Social Networks, v.1, pp.53-64.

WOODS, William A. 1981. "Procedural Semantics as a Theory of Meaning", en Aravind Joshi, Bonnie Webber e Ivan Sag (eds.), Elements of Discourse Understanding, Cambridge, Cambridge University Press, pp.300-334.

WUNDERLICH, D. 1977. "Assertions, conditional speech acts, and practical inferences", Journal of Pragmatics, v.1(1), pp.13-45.

YAGER, Ronald R. 1981. "Concepts, theory, and techniques: A new methodology for ordinal multiobjective decisions based on fuzzy sets", Decision Sciences, v.12(4), octubre, pp.589-600.

YAMAMOTO, Yasunori. 1987. "Ethnologists and programming", en Raben et al, Op.cit, pp. 175-178.

ZADEH, Lofti. 1965. "Fuzzy sets", Information and Control, v.8.

ZADEH, Lofti. 1975. "Fuzzy logic and approximate reasoning", Synthese, v.30.

ZANIOLO, C. 1984. "Object-oriented programming in PROLOG", Proceedings of the 1984 International Symposium on Logic Programming, Washington, IEEE Computer Society, pp.265-270.

ZEITLYN, D. 1984. "Contradictions and Alternative Logics", Man, n.s., v.19, pp.788-789.

Page 392: Antropologia y Programacion Logica

392

VII

APENDICES

APENDICE I: TEOREMAS LOGICOS FUNDAMENTALES

Los teoremas lógicos enumerados en este apéndice comprenden una traza que lleva desde los

aspectos más básicos de la representación a los límites teóricos del cálculo de la inferencia, engloban-do en el marco de lo posible y demostrando así la viabilidad de la modelización de problemas reales en términos de lógica. La existencia de dicha traza resulta ser fundamental, habida cuenta de la amplia publicidad que han merecido las impugnaciones del programa hilbertiano, en particular la llamada "prueba de Gödel" y el "teorema de indecidibilidad" de Church. No es sólo la lógica la que deberá de-mostrar solidez de fundamentos y continuidad deductiva; las mismas exigencias se arrojan sobre el cálculo automático de teoremas (ATP) o, como se dice hoy, programación lógica, pues en ciertos ám-bitos de reacción tardía todavía circulan rumores sobre su imposibilidad.

No interesa entonces enumerar una constelación de teoremas y demostraciones que insinuarían, al acumularse, la eventual plausibilidad de un proyecto aplicativo de la programación lógica, sino disponer en una línea continua los principios formales que la hacen incuestionable. Hasta el momento, los textos conocidos de programación lógica no nos han proporcionado con la suficiente nitidez el camino de la fundamentación, aunque está por demás claro que ese camino existe. Las de-mostraciones a alinear son las siguientes, y en su enlace consiste el mapa del camino:

1) Consistencia de la lógica cuantificacional.

2) Completud del cálculo de predicados (teorema de completud de Gödel y prueba de Hen-kin).

3) Decidibilidad de la lógica cuantificacional monádica (Löwenheim-Skolem), de las formas normales prenexas poliádicas y de las fórmulas con cuantores uniformes (Bernays y Schonfinkel 1928).

4) Demostraciones de decidibilidad de diversas teorías a través del algoritmo de unificación (Kirchner 1985, 1989; Siekman 1989; Bläsius et al 1989:148-149).

No incluiremos en este apéndice el desarrollo simbólico de las demostraciones, por cuanto en algunos casos las pruebas son extensas e imponen ásperos ejercicios de desciframiento; nos contenta-remos con especificar primero las referencias a los análisis demostrativos (que por otra parte constan en papers y textos de dominio público) y con aclarar después, sucintamente y siempre que venga a cuento, el significado que tienen de cara a la implementación de un sistema formal aplicado a una ciencia empírica.

1) Consistencia de la lógica cuantificacional

Un sistema lógico es consistente si no es posible deducir de él un par cualquiera de enunciados contradictorios. La demostración de la consistencia de la lógica de predicados del primer orden se obtiene recurriendo a una cierta reducción de la misma a cálculo de proposiciones y echando mano de la idea de tautología. Si en una fórmula cuantificacional cualquiera (en la forma clásica de la lógica de

Page 393: Antropologia y Programacion Logica

393

predicados, no en cláusulas de Horn) se suprimen primero todos los cuantificadores y símbolos de individuo y luego se reemplazan los términos predicativos por términos enunciativos, se obtiene una fórmula proposicional que, siguiendo a Church, podríamos llamar fórmula enunciativa asociada a la fórmula predicativa original. Se sabe que el sistema axiomático subyacente al cálculo de proposicio-nes o de juntores es consistente, si bien dicho cálculo es incompleto.

La consistencia del sistema lógico resultante de las operaciones anteriores se establece consi-derando que:

1) Sus axiomas o bien son tautologías, o bien tienen por fórmula enunciativa asociada una tautología.

2) Sus reglas de inferencia transmiten la tautologicidad, lo cual es sencillamente una conse-cuencia del principio tautológico elemental que establece la identidad de la implicación.

El cálculo de cuantores contiene la lógica proposicional, ya que las operaciones de eliminación de los signos de cantidad y el ligamento de variables no son sospechables. En PROLOG la posibilidad de simular el cálculo de proposiciones ha sido demostrada hasta el hartazgo por Maier y Warren (1988), y multitud de libros de enseñanza del lenguaje incluyen ejercicios más o menos elaborados de lógica proposicional (cf. Weiskamp y Hengl 1988:90-98). Desde el punto de vista de su composición, podría decirse que el lenguaje proposicional es un subconjunto neto del lenguaje de predicados, pues las proposiciones no son sino constantes de predicado de aridez cero.

2) Completud del cálculo de predicados

Ante todo, sincronicemos la terminología: un cálculo lógico será correcto si sólo permite deducir fórmulas válidas; es suficiente (o completo) si permite deducir todas las fórmulas válidas; es adecuado si es a la vez correcto y suficiente; es consistente si no hay ninguna sentencia o fórmula tal que tanto ella como su negación sean deducibles; y es inconsistente o contradictorio si tanto una sentencia o fórmula como su negación pueden deducirse.

La idea de completud pone en relación el concepto semántico de verdad lógica con el concep-to sintáctico de deducibilidad formal. Un sistema formal de lógica será entonces completo si todas las fórmulas que representan verdades lógicas son formalmente deducibles en el sistema. La completud de la lógica de predicados del primer orden fue demostrada por Gödel en 1930 (cf. Gödel 1981:20-34), de modo que no es necesario insistir en que un sistema expresado en términos de ese cálculo es completo.

En 1949 Leon Henkin presentó una prueba más sencilla, que es la que normalmente sirve de base a la exposición del teorema en casi todos los manuales introductorios (cf. Garrido 1986:326-337). Henkin estableció una nueva relación que conecta sintaxis y semántica, y que compromete al concepto (sintáctico) de consistencia junto con la categoría (semántica) de satisfacibilidad. El concepto de satisfacción fue elaborado en realidad por Tarski como instrumento semántico auxiliar para definir el concepto de verdad. Todo conjunto de fórmulas (y por supuesto, toda fórmula) que sea consistente es satisfacible. Esto quiere decir que dada una fórmula o conjunto de fórmulas referidas a un universo, una interpretación satisface a esa fórmula o conjunto si, como resultado de esa interpretación, la o las fórmulas se convierten en enunciados verdaderos.

Page 394: Antropologia y Programacion Logica

394

3) Decidibilidad de la lógica cuantificacional monádica

Del teorema de satisfacción de Henkin se deriva como corolario el importantísimo teorema de Löwenheim y Skolem, que establece que si un conjunto de fórmulas es simultáneamente satisfacible en cualquier dominio no vacío, entonces es simultáneamente satisfacible en un dominio enumerable. Otra consecuencia notable del teorema de satisfacción es el teorema de compacidad: si todo conjunto finito de enunciados es satisfacible, entonces ese conjunto es, todo él, satisfacible.

Pero el teorema más fundamental de toda esta serie (y el que neutralizaría, llegado el caso, las consecuencias de los teoremas negativos de Gödel y Church que han demostrado la indecidibilidad del cálculo de predicados del primer orden) es el de Löwenheim (1915), que ha determinado que la lógica cuantificacional monádica es decidible. Tras Löwenheim, Bernays y Schonfinkel lograron pro-bar que existen clases de fórmulas decidibles en lógica cuantificacional poliádica. Estas fórmulas deci-dibles son, por lo común, formas normales prenexas.

Pero la consecuencia más relevante es para nosotros la que sigue: cuando se utilizan cuantores de un solo tipo (ya sea universal o existencial) en el prefijo de las fórmulas, el conjunto de fórmulas es decidible. Recordemos que en Prolog existe en rigor una sola clase de cuantificador, pues toda fórmu-la implica cuantificación universal a menos que se indique lo contrario de alguna manera o que se im-plementen cuantificadores a nivel de metalógica (cf. Bernays y Schonfinkel 1928).

Las obras convergentes de Skolem y Herbrand acabaron demostrando, en el primer caso, que se puede encontrar una prueba mecánica en un número finito de pasos para todo conjunto válido de proposiciones, y en el segundo, en una famosa tesis doctoral de 1930, que para todo teorema mate-mático (o lógico) que sea correcto, su corrección se puede establecer a través de un cálculo o proce-dimiento constructivo capaz de finalizar. Esta es la propiedad que ha dado en llamarse semi-deci-dibilidad del cálculo de predicados. Hacia 1950 la construcción teorética de Herbrand se implementó efectivamente en una computadora. Los eventos posteriores en la demostración computada de la lógica son de dominio público (cf. Sieckman 1989; Thayse 1988).

4) Demostraciones de decidibilidad de diversas teorías a través del algoritmo de unificación

Un inmenso número de sistemas mecánicos de deducción utilizan el principio de resolución como regla de inferencia. La operación principal dentro de estos sistemas es la unificación de dos literales que poseen el mismo símbolo de predicados (cf. Parte II de la Tesis). Recordemos que, histó-ricamente, los procedimientos de unificación se establecieron entre 1960 y 1962, a instancias de Dag Prawitz y de Martin Davis, para superar los procedimientos asistemáticos de substitución de términos en un universo de Herbrand por una operación más controlable (cf. Davis 1983).

Pese a que con los años la simbiosis de resolución y unificación se ha demostrado eficaz, ciertas operaciones específicas acarrean enormes dificultades; casi siempre éstas tienen que ver más con limitaciones prácticas que con impedimentos lógicos. Por empezar, toda fórmula que involucre relaciones de igualdad es problemática para la resolución automática de teoremas (cf. Bläsius y Ohl-bach 1989); tal es el caso de las fórmulas que definen la conmutatividad de ciertos símbolos fun-cionales, por ejemplo (en Prolog):

hermano(A,B) :- hermano(B,A).

Page 395: Antropologia y Programacion Logica

395

Algunas de las estrategias "pragmáticas" o "heurísticas" que comentamos en su momento co-menzaron siendo formas de reducir el espacio de búsqueda y de afrontar lo que pronto se conoció como el "problema de la igualdad". Numerosos lógicos proporcionaron soluciones más o menos satis-factorias, bajo la forma de estrategias de control de flujo: paramodulación, resolución paramodula-rizada, resolución de igualdad o E-resolución, resolución por unificación e igualdad (RUE-resolu-ción), procedimientos de grafos clausales de igualdad o ECOP, etcétera (Bläsius 1989).

Dado que lo que está implicado es en último análisis un problema de igualdad, el carácter de las teorías que lidian con esta clase de dilemas asume casi siempre una tesitura algebraica. Se estudian, a fin de cuentas, fórmulas ecuacionales de reemplazo que no modifiquen las propiedades lógicas del conjunto. Este ámbito de trabajo es quizá demasiado especializado y móvil para tratarlo aquí. De todas maneras, la tabla ilustra el estado actual de la investigación con respecto a tres proble-mas:

1) Unificabilidad: ¿es la unificación decidible en una situación teórica dada? En una imple-mentación referida al mundo real, la posibilidad de un algoritmo o procedimiento de enu-meración guarda relación con el número de unificadores.

2) Tipo o jerarquía: ¿a qué tipo de unificación pertenece la teoría? Se parte de la base que existen dos tipos: finitarios e infinitarios, de acuerdo con la magnitud de la base de solu-ciones.

3) Algoritmo: para una teoría dada ¿existe un algoritmo conforme a tipo o algoritmo mínimo? Un algoritmo conforme a tipo siempre computa una solución finita y completa si ella existe, o en su defecto lista una solución infinita pero mínima.

Teoría Decidible Tipo Algoritmo

- Función libre SI Unitaria Minimal A(f) - Asociatividad SI Infinatria Conforme a tipos C(f) - Conmutatividad SI Finitaria Conforme a tipos I(f) - Idempotencia SI Finitaria Conforme a tipos Distributividad ? Infinitaria Conforme a tipos* Distrib+Asociativa NO Infinitaria Conforme a tipos* Teorías Menos SI (In)finitaria** Conforme a tipos Grupos Abelianos SI Finitaria Minimal Anillos booleanos SI Unitaria Minimal Endomorfismo SI Unitaria*** Minimal

* El algoritmo no finaliza si el problema es insoluble.

** Si el endomorfismo posee paridad par, la teoría es finitaria. Si hay anti-endomorfismo con paridad impar o endomorfismo con paridad par, la teoría es infinitaria.

*** Si la teoría no tiene símbolos de función libre es unitaria; si los tiene, es finitaria.

? Problema todavía en estudio.

Page 396: Antropologia y Programacion Logica

396

En los últimos meses se han intentado elaborar procedimientos cada vez más refinados y gené-ricos conducentes a que las diversas soluciones heurísticas puedan combinarse en algoritmos univer-sales de unificación que no dependan de peculiaridades específicas de formas de igualdad o de dominios de aplicación idiosincráticos. Sobre la base de una experiencia riquísima y de una tecnología que avanza, y tras haber sacrificado no pocas pretensiones, podríamos decir que, pese a los insidiosos tambores de aflicción y rumores de fracaso, el viejo sueño de Hilbert todavía perdura; y somos cada vez más quienes lo soñamos.

Page 397: Antropologia y Programacion Logica

397

APENDICE II: PROGRAMAS Y DOCUMENTACION TECNICA

A) PREDICADOS DEL LENGUAJE PROLOG

La siguiente tabla permite la decodificación paso a paso de todos los predicados built-in incluidos en los pro-gramas de este apéndice o en sus equivalente en otros dialectos del lenguaje. Salvo error u omisión, los restantes predicados que puedan ecnontrarse en los programas no pertenecen a la dotación originaria del PROLOG: son invención nuestra y, en caso de no figurar en tablas, la significación de los mismos deberá inferirse de los programas en que ellos ocurran.

La inclusión de esta tabla en esta tesis no ha de interpretarse como un recurso didáctico de cara a la enseñanza del lenguaje Prolog, ni como una compilación de orden filológico de la totalidad de los predicados de una serie repre-sentativa de dialectos formales; más bien califica como una especificación adicional de nuestra teoría de construcción de modelos, que concierne esta vez a las características operacionales del lenguaje mediante el cual nuestros modelos se expresan. La caracterización del "significado" de los predicados pre-construidos constituye la estipulación de su semántica según el modelo procedimental (cf. parte II, cap. 3.2).

Somos conscientes de que no todas las explicaciones relativas a los predicados o a sus variables respectivas son inteligibles para quienes no posean un conocimiento mínimo de programación o una idea sólida sobre el funcionamieno de la máquina y su sistema operativo. Dado que esta tesis no pretende usurpar funciones pedagógicas que los manuales básicos satisfacen con amplitud, hemos optado por no abundar en explicaciones detalladas de lo que significa, por ejemplo, un dispositivo de salida, una tabla de hash o una ristra de caracteres. Tampoco nos hemos molestado en castellanizar jergas que sabemos aberrantes, ni en detallar la varianza de flujo de cada predicado. Estas limitaciones, empero, no afectan a la interpretación de los modelos que hemos construido; los elementos deliberadamente no expli-cados corresponden a cláusulas procedimentales cuya ejecución, en general, no posee efectos colaterales que tuerzan el sentido conceptual de las inferencias.

Interpretación

* Prolog Genérico S Prolog estándar (Clocksin-Mellish) A Específico de Arity Prolog (Arity) T Específico de Turbo Prolog (Borland) o PDC Prolog D Específico de DEC-10 Prolog

Todos los predicados propiamente dichos (es decir, los functores prefijados y los operadores) son extralógicos. En rigor (y al igual que en las demás variantes de la lógica simbólica, en la que el Prolog se inscribe) no existen los predicados lógicos predefinidos, a excepción de elementos tales como las conectivas y los cuantificadores, cuya expre-ión sintáctica ya hemos explicado suficientemente. Los predicados que figuran en tabla no conforman el invenario total de ningún dialecto; por razones de espacio (y por no haberlos utilizado en los programas de muestra), hemos omitido los numerosos predicados relativos a bases de datos externas del Turbo Prolog.

; Operador de disyunción en el cuerpo de la regla; la asociatividad es xfy y la precedencia 1200 (A) - 255 (C) - (S, T).

! Corte. Impide ejecución de backtracking; controla y limita búsquedas (*).

[! !] Los objetivos entre los símbolos de "recorte" se omiten durante el backtracking (A).

Page 398: Antropologia y Programacion Logica

398

E1 < E2 Determina si E1 es menor que E2 (*).

T1 = T2 Intenta unificar T1 y T2 (A).

T1 \= T2 Falla si T1 unifica con T2 (A).

Struct =.. List Convierte estructura en lista o a la inversa (A).

E1 =< E2 Determina si el valor de E1 es menor o igual al valor de E2 (A).

E1 > E2 Determina si el valor de E1 es mayor que el de E2 (A).

E1 >= E2 Determina si el valor de E1 es mayor o igual al valor de E2 (A).

E1 =:= E2 Determina si los valores de E1 y E2 son iguales (A).

E1 =\= E2 Determina si los valores de E1 y E2 son desiguales (A).

T1 == T2 Determina si los términos T1 y T2 son equivalentes (A).

\+ P Tiene éxito si el objetivo P falla; falla si P tiene éxito. Es lo mismo que not(P) (A).

T1 \== T2 Determina si los términos T1 y T2 son no-equivalentes (A).

T1 @< T2 Determina si T1 está antes de T2 (A).

T1 @=< T2 Determina si T1 está antes o es igual a T2 (A).

T1 @> T2 Determina si T1 está después de T2 (A).

T1 @>= T2 Determina si T1 está después o es igual a T2 (A).

[Filename] Lee cláusulas en la base de datos de un archivo con el predicado consult. -F utiliza el predicado reconsult (A).

abolish(N/A) Elimina todas las cláusulas de nombre y aridez especificados de la base de datos (A). Equivale al retractall de otros dialectos.

abort Envía a predicado de recomienzo. Si no lo hay, el programa compilado se detiene y el interpretado retorna al intérprete (A).

arc(X,Y,D,H,R) Dibuja un arco circular centrado en X,Y, con radio R, desde el ángulo D hasta el ángulo H (T).

arg(N,T,X) Unifica 'X' con el valor del argumento número 'N' del término 'T' (S).

arg0(N,T,V) Unifica el Valor con el N+1º argumento de un término.

assert(X) Agrega la cláusula 'X' al programa o a la base de conocimientos del mismo (*).

assert(X,A) Idem, correspondiente a la base de datos 'A' (T).

asserta(X) Agrega la cláusula 'X' al programa como primera cláusula de un procedimiento, o como primer elemento de una base de datos (*).

asserta(X,A) Idem, correspondiente a la base de datos 'A' (T).

assertz(X) Agrega la cláusula 'X' al programa como última cláusula de un procedimiento, o como último elemento de una base de datos (*).

assertz(X,A) Idem, correspondiente a la base de datos A (T).

atom(X) Esta operación se resuelve como "verdadera" si su argumento es una constante no entera (*).

atom_string(A,S) Convierte un átomo en una ristra, o una ristra en un átomo. Si ambos se hallan instanciados, verifica su equivalencia (A).

atomic(X) Determina si 'X' es un tipo de datos atómico (S).

Page 399: Antropologia y Programacion Logica

399

attribute(X) Define u obtiene el valor del atributo de color X (T).

argrep(T,N,A,NW) Reemplaza el N argumento de un término con A y retorna el resultado a NW (A).

bagof(T,G,B) Retorna en una lista no ordenada (Bolsa) todas las instancias del Término que satisfacen el Goal (A).

bar(A,B,C,D) Dibuja una barra desde las coordenadas A,B hasta el punto C,D (T).

bar3d(A,B,C,D,E,F) Idem, tridimensional, con profundidad 'E' y con tope si se especifica 'F' (T).

beep Hace sonar parlante de la máquina (T).

betweenb(A,Clave1,Clave2,Relacion1,Relacion2,Key,Term) Retorna los términos de un árbol-B entre Clave1 y Clave2. Los argumentos Relacion1 y Relacion2 indican si las claves de límite se retornan, y pueden ser <, >, o = (A).

betweenkeysb(A,Clave1,Clave2,Clave) Retorna solamente las claves entre Clave1 y Clave2 en un árbol-B (A).

bios(I,R,O) Invoca la interrupcion 'I' del BIOS, definiendo registro de entrada R y registro de salida O (T).

bios(I,R,O,F) Idem, retornando flag F (T).

bitand(X,Y,R) Ejecuta operación conjuntiva binaria entre X e Y dejando resultado en R (T).

bitleft(X,C,R) Ejecuta movimiento binario a izquierda de C posiciones, dejando resultado en R. Las posiciones a derecha se llenan con ceros (T).

bitnot(X,R) Ejecuta una operación negativa binaria (T).

bitor(X,Y,R) Ejecuta una operación disyuntiva binaria (T).

bitright(X,C,R) Ejecuta un movimiento binario a derecha de C posiciones, dejando resultado en R (T).

bitxor(X,Y,R) Ejecuta una operación binaria disyuntiva exclusiva (T).

bound(V) Verifica si la variable V está ligada (T).

break Suspende la ejecución de un programa y coloca al usuario en el prompt del intérprete. Se puede retomar el programa con Ctrl-z (A). Habilita o suspende break (T).

breakpressed Verifica si se ha presionado la tecla de break (T).

call(P) Invoca al objetivo P (S).

case(+[A1->B1,A2->B2,...|C]) Ejecuta B1 si A1 no falla, de otro modo B2 si A1 tiene éxito, y así sucesivamente. Si ninguna de las situaciones tiene éxito, ejecuta C (A).

case([A1->B1,A2,B2...]) Ejecuta B1 si A1 tiene éxito, B2 si A2 lo tiene, y así sucesivamente. Si ninguna de las situaciones tiene éxito, el predicado no falla (A).

chdir(P) Cambia o retorna el directorio actual (A).

chmod(F,A) Cambia o retorna el caracter de atributo de un archivo (A).

circle(X,Y,R) Dibuja un círculo en coordenadas X,Y, con radio R (T).

clause(H,B) Unifica H y B con la cabeza y el cuerpo, respectivamente, de una cláusula, si H es una variable no ligada (S).

cleardevice Limpia la ventana gráfica (T).

clearwindow Limpia la ventana actual (T).

Page 400: Antropologia y Programacion Logica

400

close(A) Cierra el archivo especificado (A).

closefile(SN) Cierra el archivo de nombre simbólico SN (T).

closegraph Cancela la modalidad gráfica (T).

cls Limpia la ventana actual y mueve el cursor al ángulo superior izquierdo (A).

code_world(O,N) Unifica el nombre del mundo de código actual con el anterior y luego cambia el mundo del código actual por el nuevo (A).

colorsetup(MF) Cambia el color de la ventana o del marco actual, según el valor de MF (0=ventana; 1=marco) (T).

comline(L) Retorna el valor de los parámetros de la línea de comando (T).

command_string(X) Retorna un argumento de la línea de comando como ristra de caracteres, incluyendo los espacios entre el comando y el primer argumento (A).

compare(C,T1,T2) Compara los términos T1 y T2 en el orden estándar y unifica C con un valor de comparación, que puede ser =, < o > (A).

concat(S1,S2,R) Concatena dos ristras o átomos y retorna la nueva ristra a R. Se puede utilizar el código ASCII para las ristras de un solo caracter (A).

concat(S1,S2,..,R) Concatena dos o más ristras de caracteres o átomos y retorna la nueva ristra a R; se puede usar código ASCII para las ristras de un solo caracter (A,T).

consult(F) Lee cláusulas de base de datos en archivo F (S).

consult(F,D) Idem, sobre la base de datos interna D (T).

consulterror(L,P,FP) Retorna información sobre error de consulta: línea, posición en la línea y posición en el archivo (T).

create(H,F) Crea y abre un nuevo archivo para escritura y retorna el valor H. Si el archivo F ya existe, el nuevo archivo se escribe sobre el viejo (A).

create_popup(Label,(ULR,ULC),(LRR,LRC),(AtrVent,AtrBor)) Crea una ventana pop-up (A).

create_world(W) Crea un nuevo mundo con el nombre especificado (A).

ctr_dec(Ctr,X) Decrementa un contador y retorna el valor anterior (A).

ctr_inc(Ctr,X) Incrementa un contador y retorna el valor anterior (A).

ctr_is(Ctr,X) Retorna el valor actual de un contador (A).

ctr_set(C,X) Define un valor para un contador (A).

current_op(PR,A,O) Retorna mediante backtracking las definiciones de operador en la base de datos actual (A).

current_predicate(P) Retorna mediante backtracking los predicados presentes en el código del mundo actual. Si está ligado, el argumento P puede ser un nombre de predicado o nombre/aridez (A).

current_window(O,N) Si N está ligado, cambia la ventana actual a N. Ni no lo está, retorna el nombre de la ventana actual (A).

cursorform(C,F) Define u obtiene valor inicial y final de la forma del cursor (T).

cutbacktrack(B) Implementa corte dinámico, junto con getbacktrack (T).

data_world(O,N) Unifica el nombre del mundo actual con O y luego cambia el mundo actual a N (A).

date(Y,M,D) Lee o define fecha del sistema (T).

Page 401: Antropologia y Programacion Logica

401

date(date(Y,M,D)) Asigna al reloj del sistema la fecha especificada o retorna la fecha actual (A).

date_day(date(Y,M,D),WD) Retorna el día de la semana de una fecha determinada como entero entre 0 (Domingo) y 6 (Sábado) (A).

dec(+N,-X) Decrementa en 1 el entero N en la clave X (A).

define_window(N,L,+(ULR,ULC),+(LRR,LRC),+(Atr_vent,Atr_borde)) Crea una ventana (A).

defineb(Nombre,Tamaño_split,Unicidad,Orden) Define los atributos de un árbol-B (A).

defineh(Nombre_tab,Bucket_hash) Define el número de buckets de hash a ser usado en una tabla de hash (A).

delete(A) Borra el archivo especificado (A).

deletefile(DF) Borra el archivo especificado (T).

delete_window(N) Borra la ventana especificada en N (A).

delete_world(W) Elimina un mundo (A).

dialog_run(D) Corre una caja de diálogo con la función de diálogo por defecto (A).

dialog_run(D,U) Corre una caja de diálogo y procesa la información (A).

dir(P,FM,DF) Invoca un menú de directorio, indicando path y máscara de nombre de archivo y validando DF según lo que el usuario ingrese (T).

dir(P,FM,DF,CM,SPF) Idem, con funciones adicionales para mostrar directorios y cambiar máscara de nombre de archivo (T).

directory(P,N,Modo,T,D,S) Lista los archivos del directorio especificado en P. El Modo puede ser: 1 - lectura solamente; 2 - oculto; 4 - sistema excluido de la búsqueda normal; 16 - directorio; 32 - archivo. El tamaño S se retorna en caracteres (A)

disk(D) Define o retorna el dispositivo de disco según la letra especificada (A,T)

display(T) Escribe un término en forma polaca prefijada en el dispositivo de salida estándar (A).

display(S) Escribe en el dispositivo de salida estándar (por omisión, la pantalla), el string o archivo convertido a string que se indica (T).

display(H,T) Escribe un término en notación polaca prefijada en un archivo (A).

drawpoly(L) Dibuja un polígono dada una lista de puntos (T).

edit(X) Pasa el control del programa del intérprete al editor estándar para editar el archivo F (S).

edit(A) Conmuta del intérprete a un editor definido por el usuario. El archivo se reconsulta cuando termina la edición (A).

edit(E,S) Invoca al editor, indicando strings de entrada y salida (T).

edit(E,S,HS,HS2,MS,POS,HFN,EM,ID,IS,TM,RP,RS) Invoca al editor, con funciones adicionales: Texto a escribir en ángulo superior, string que indica nombre del archivo, mensaje inicial, posición, archivo de help, modo de edición, indentación, inserción, modo de texto, posición del cursor al finalizar, status de la sesión (T).

editmsg(E,S,LH,RH,M,P,HFN,C) Versión más simple del predicado anterior (T).

Page 402: Antropologia y Programacion Logica

402

ellipse(X,Y,AC,AF,XR,YR) Dibuja una elipse dadas las coordenadas, el ángulo de comienzo y fin y los respectivos radios (T).

envsymbol(ID,S) Lee el valor de un símbolo del entorno DOS (T).

eof(SN) Verifica fin de archivo (T).

eq(X,Y) Determina si X e Y son el mismo objeto (A).

erase(Ref) Elimina el término almacenado bajo el número de referencia que se indica y registra los términos borrados (A).

eraseall(K) Elimina todos los términos almacenados bajo la clave (A).

errcode(C) Retorna la sintaxis o mensaje de I/O más reciente y define el código como 0 (A)

existfile(DN) Verifica si existe archivo en directorio actual (T).

exit Finaliza el programa (T).

exit(E) Finaliza ejecución del programa retornando a trap y validando la variable con código de retorno. Si no hay trap previo, retorna ese valor a DOS (T).

exit_dbox(K) Envía el mensaje apropiado (eliminar, nuevo) y sale del predicado dialog_run (A).

exit_popup Borra la ventana popup actual (A).

expand_term(T,N) Transforma un término utilizando notación de gramática de cláusula definida en su equivalente en término de PROLOG (A).

expunge Elimina las referencias del sistema a los términos de la base de datos borrada (A).

fail Fuerza una falla lógica (*).

field_attr(R,C,L,A) Define u obtiene los atributos de un campo: fila, columna, longitud y atributo de color (T).

field_str(R,C,L,S) Lee o escribe un string en un campo (T).

file_list(F) Resguarda los contenidos de la base de datos en memoria a archivo F (S).

file_list(F,N/A) Resguarda las cláusulas de nombre N y aridez A en el archivo F (S).

fileerrors(V,N) Habilita o inhabilita los mensajes de error I/O de DOS o verifica el valor actual de esos mensajes. Para habilitar N debe ser on, y off a la inversa (A).

filemode(S,M) Proporciona acceso a archivos binarios (T).

filepos(S,FP,M) Mueve el puntero de archivo, indicando posición y modo (T).

file_str(D,S) Lee o escribe un archivo de texto sobre un string (T).

findall(X,P,L) Recolecta todas las instancias de X en las que se satisface la cláusula P en la lista no ordenada L. Se asume que todas las variables libres están universalmente cuan-tificadas (S).

float(X) Tiene éxito si X es un número de coma flotante (A).

float_text(CF,T,F) Convierte un número de coma flotante en una ristra de acuerdo con la especificación de Formato, o una ristra a número de coma flotante. El argumento de Formato puede ser: general (suprime 0s a derecha); fixed(N) - formato fijo con N dígitos a la derecha de la coma decimal; scientific(N) - idem, científico (A).

flush Elimina todos los caracteres de buffer de digitación anticipada (A).

framewindow(A) Cambia el atributo del marco de una ventana (T).

Page 403: Antropologia y Programacion Logica

403

framewindow(A,S,SP,FT) Cambia atributos y caracteres en el marco de una ventana, indicando, color, texto, posición y tipo de unidad gráfica (T).

free(V) Verifica si una variable está libre (T).

frontchar(S,C,R) Retorna el primer caracter de un string, dejando en R el resto (T).

frontstr(N,S,C,E) Parte una ristra en dos fracciones, indicando número de caracteres, primera ristra, ristra original y resto (T).

fronttoken(S,T,R) Retorna el primer token de una ristra (T).

functor(E,N,A) Retorna el nombre N y la aridez A de la estructura E (S).

gc Restaura el espacio de stack no utilizado (A).

get(X) Lee el caracter siguiente en el dispositivo de entrada y unifica su valor en la tabla ASCII con el caracter X. Saltea caracteres de control de impresión (S).

get(H,C) Lee el caracter de impresión siguiente del archivo y unifica el valor ASCII con Char (A).

get0(X) Unifica 'X' con el caracter ASCII siguiente en el dispositivo de entrada. No saltea caracteres de impresión (*).

get0(H,C) Lee el caracter siguiente del archivo y unificar el valor ASCII con Char (A).

get_cursor(L,H) Reporta la forma actual del cursor (A).

get0_noecho(C) Lee el caracter siguiente del dispositivo estándar de entrada y unifica el valor ASCII con Char. No reproduce el caracter en pantalla (A).

getimage(I,Ar,D,Ab,Bitmap) Guarda en memoria el mapa de una región de la pantalla gráfica (T).

gotowindow(W) Transición inmediata entre dos ventanas (T).

halt Finaliza sesión con el intérprete o ejecución del programa (S).

halt(Exit_code) Sale del programa interpretado o compilado con el código de salida especificado en Exit_code (A).

hard_erase(Ref) Borra el término de la base de datos con la clave especificada, sin llevar registro (A).

hide_window(A,N) Hace que la ventana especificada en N sea la actual y elimina la ventana de A de la pantalla (A).

ifthen(P,Q) Ejecuta el goal Q si el goal P tiene éxito. Si falla, el predicado tiene éxito sin ejecutar Q (A).

ifthenelse(P,Q,R) Ejecuta el goal Q si P tiene éxito; de otro modo ejecuta R (A).

initgraph(Dr,M,ND,NM,P) Inicializa el modo gráfico, indicando drivers, modos y ubicación del directorio gráfico (T).

inkey(C) Lee un caracter del dispositivo actual de entrada (T).

integer(X) La operación se resuelve exitosamente si 'X' es una constante entera o una variable ligada a un número entero (*).

in(P,C) Lee un caracter de la puerta especificada (A).

inc(N,X) Incrementa en 1 el número N al valor X (A).

instance(R,T) Retorna el término asociado con el número de referencia (A).

integer(X) Tiene éxito si X es entero (A).

Page 404: Antropologia y Programacion Logica

404

int_text(I,T) Convierte un entero a una ristra o a la inversa. Si ambos están ligados, verifica la equivalencia (A).

X is E Evalúa E y unifica su valor con X (S).

isname(S) Verifica si una ristra representa un nombre (S).

key(Key,Ref) Retorna el número de referencia de una clave (A).

keyb(Ascii,Scan) Lee el caracter siguiente del dispositivo de entrada y retorna el caracter ASCII y el código de barrido (A).

keyb_peek(A,S) Lee el caracter siguiente del dispositivo de entrada y retorna el caracter ASCII y el código de barrido, sin eliminar la digitación del buffer (A).

keys(Key) Retorna el nombre y la aridez de una clave en el mundo actual. Si la clave no está ligada, tiene éxito si ella existe en el mundo actual (A).

keysort(L1,L2) Clasifica la lista L1 en orden estándar, sin intercalar los duplicas y retorna el resultado a L2 (A).

leash(M) Liga las puertas según lo que se especifica en Mode: full, tight, half, o loose (A).

length(L,N) Retorna la longitud N de una lista de caracteres (A).

line(X,Y,W,Z) Dibuja una línea entre dos puntos (T).

listing Escribe sobre dispositivo de salida todos los predicados de la base de datos (S).

listing(N) Idem, sólo para los predicados de nombre N (S).

listing(N/A) - listing([N/A,N/A]) Escribe en la salida todas las cláusulas en el código del mundo actual para el predicado o la lista de predicados que se indican (A).

list_text(L,S) Convierte una lista de caracteres a ristra, o un átomo o ristra a una lista de caracteres (A).

load_key(F,K) Carga los contenidos de los archivos en la base de datos (A).

lock Bloquea la tecla de terminación del programa, agregando 1 al semáforo del sistema (A).

makewindow(WN,SA,FA,FS,R,C,H,W) Crea una ventana en la pantalla, indicando número de ventanam atributo de pantalla, atributo de marco, fila, columna, alto y ancho (T).

makewindow(WN,SA,FA,FS,R,C,H,W,CW,PS,CB) Crea una ventana en la pantalla, indicando número de ventanam atributo de pantalla, atributo de marco, fila, columna, alto y ancho; además se especifica si se limpia o no la ventana, la posición del string del marco y los caracteres que forman el borde (T).

mkdir(P) Crea un nuevo directorio (incluyendo dispositivo y path); si no se incluyen, lo crea en el directorio actual (A).

move_window(R,X) Mueve la ventana actual el número de filas y columnas especificadas (A).

name(A,L) Convierte una lista a un átomo o un átomo o número entero a lista (A).

nl Escribe un retorno de carro y alimenta una línea en el dispositivo de salida (*).

nl(H) Escribe un retorno de carro en el archivo (A).

nonvar(X) Se resuelve exitosamente si su argumento no es una variable no instanciada (*).

nospy(N/A) Elimina un punto de referencia para el predicado N de aridez A (A).

Page 405: Antropologia y Programacion Logica

405

not(P) Falla si el objetivo P es verdadero; se satisface como verdadero si P no lo es (S, *).

notrace Desactiva el debugger (S).

nref(R,N) Retorna el número de referencia del término siguiente en la cadena de términos que tienen la misma clave (A).

nth_char(N,S,C) Retorna el código ASCII de un caracter en desplazamiento N a partir del comienzo de la ristra (A).

nth_ref(K,N,R) Retorna el número de referencia del término que está cierto número de posiciones a partir del comienzo de una cadena de términos (A).

number(X) Tiene éxito cuando X es un número entero o con coma flotante (A).

op(P,A,O) Define o retorna la precedencia, posición y asociatividad de un operador (S).

open(H,F,A) Abre un archivo existente. El argumento de Acceso puede ser r (leer), w (escribir), a (agregar), rw (leer/escribir), ra (leer/agregar). (A)

openappend(S,D) Abre el archivo de DOS D, asignándole nombre simbólico S, para agregar registros al final (T).

openread(S,D) Abre el archivo de DOS D, asignándole nombre simbólico S, para leer registros (T).

openwrite(S,D) Abre el archivo de DOS D, asignándole nombre simbólico S, para escribir, borrandolo lo que antes hubiere (T).

out(P,C) Escribe un caracter en la puerta de I/O especificada (A).

outtext(T) Escribe un texto en modo gráfico (T).

outtextxy(X,Y,T) Escribe un texto en modo gráfico, en las coordenadas que se indican (T).

pieslice(X,Y,Ai,Af,R) - pieslicexy(X,Y,Ai,Af,RX,RY) Dibuja una rebanada de pastel gráfico en las coordenadas y según los ángulos que se indican (T).

put(X) X es un número entero cuyo valor representa un elemento en código ASCII. La instrucción coloca un caracter correspondiente a X en el dispositivo de salida (*).

putimage(X,Y,Mapa,Op) Coloca una imagen de bits en la pantalla; si el Op es 0 copia el mapa original; si es 3, agrega la imagen original a la que ya hubiere en pantalla; si es 4, copia la inversa de la fuente (T).

putpixel(X,Y,X) Coloca un pixel de color C en las coordenadas X,Y (T).

p_open(H,F,A) Abre el archivo indicado en F (A).

pref(R,P) Retorna el número de referencia del término previo en una cadena de términos (A).

put(C) Escribe el caracter en el dispositivo estándar de salida (A).

put(H,C) Escribe el caracter en un archivo (A).

random(R) Genera un valor al azar, número real de coma flotante (T).

random(M,R) Genera un número entero al azar, de valor máximo M (T).

randomize(S) Retorna el generador de número al azar a valor nulo. El argumento es un número entero (A).

read(X) Unifica la variable 'X' con un elemento ingresado por el dispositivo correspondiente (*).

read(A,T) Lee un término del archivo especificado (A).

Page 406: Antropologia y Programacion Logica

406

readchar(C) Lee un solo caracter del dispositivo actual de entrada (T).

readdevice(D) Define o averigua el dispositivo actual de lectura (T).

readint(I) Lee número entero del dispositivo actual de entrada (T).

read_line(H,L) Lee una línea del archivo especificado en H (A).

readln(S) Lee una línea o ristra del dispositivo actual de entrada (T).

readreal(R) Lee un número real del dispositivo actual de entrada (T).

read_string(M,S) Lee una ristra de longitud máxima M, unificándola con S (S).

read_string(M,S) Lee una ristra de longitud máxima M del dispositivo de entrada (A).

read_string(H,M,S) Lee una ristra del archivo especificado (A).

readterm(D,T) Lee un término de un dominio dado (T).

recolor_window(W,B) Cambia los atributos del fondo de la pantalla y el borde de la ventana actual (A).

reconsult(F) Vuelve a cargar la base de datos (A)

record_after(Ref,T,N) Agrega un nuevo término después de Ref y retorna el nuevo número de referencia (A).

recorda(K,T,R) Agrega un término al comienzo del predicado, y retorna el número de referencia asignado al mismo (A).

recordb(T,SK,Te) Graba los términos en un árbol-B (A).

recorded(K,T,R) Retorna mediante backtracking los términos y sus números de referencia asociados bajo una clave (A).

recorded_tro(K,T,Ref) Retorna mediante backtracking los términos y los valores de referencia asociados almacenados bajo una clave dada. Utiliza optimización de recursión de cola y es más eficiente que el anterior (A).

recordh(N,K,T) Registra términos ordenados por K en la tabla de hash N (A).

rectangle(I,Ar,D,Ab) Dibuja un rectángulo en pantalla gráfica(T).

recordz(K,T,Ref) Agrega un término al final de un predicado y retorna el número de referencia (A).

ref(X) Tiene éxito cuando X es el número de referencia de una base de datos (A).

refresh Redibuja todas las ventanas de la pantalla (A).

region_c((ULR,ULC),(LRR,LRC),St) Lee caracteres de la ventana actual y lo almacena en una ristra no compactada (A).

region_ca((ULR,ULC),(LRR,LRC),St) Lee caracteres y atributos de la ventana actual y los almacena en una ristra compactada (A).

region_cc((ULR,ULC),(LRR,LRC),St) Lee caracteres de la ventana actual y los almacena en una ristra compactada (A).

relabel_window(L) Modifica el rótulo de la ventana actual (A).

removeallb(T) Borra un árbol-B (A).

removeallh(T) Borra una tabla de hash (A).

removeb(TN,S,T) Borra un término de un árbol-B. Si el Término no está instanciado, borra el primer término bajo la clave de clasificación S (A).

Page 407: Antropologia y Programacion Logica

407

removeh(TN,S,T) Elimina un término de la ventana de hash. si no está ligado, se elimina el primer término bajo la clave S (A).

removewindow Elimina la ventana actual (T).

removewindow(W,R) Elimina la ventana que se indica, refrescando o no (T).

rename(F,N) Cambia el nombre de un archivo (A).

renamefile(O,N) Renombra el archivo que se indica (T).

repeat Siempre tiene éxito, y cuando se lo encuentra en backtracking vuelve a tenerlo (A).

replace(Ref,T) Remplaza el término con el número de referencia especificado por el término que se indica (A).

replaceb(T,S,O,N) Reemplaza el término en una posición determinada del árbol-B (A).

reset_op Devuelve a las definiciones de operadores sus valores originales (A).

resize_window(R,C) Redimensiona la ventana actual agregando o restando el número de líneas y columnas indicadas (A).

restore Elimina todos los cambios hechos en la base de datos desde el último resguardo (A).

restore(N) Restaura la base de datos especificada (A).

retract(C) Elimina la primera ocurrencia de la cláusula especificada de la base de datos (A).

retract(T,B) Elimina el término de la base de datos que se indica (T).

retractall(T) Elimina todos los hechos de ese tipo (T).

retractall(T,B) Idem, de la base de datos que se indica (T).

retrieveb(Ab,C,T) Retorna un término del árbol-B (A).

retrieveh(T,Cl,Te) Retorna un término de una tabla de hash (A).

rmdir(P) Borra un directorio (A).

save Guarda todos los cambios hechos en la base de datos actual (A).

save(N) Guarda la base de datos interna de nombre N (A).

save(F,B) Guarda en archivo base de datos interna (T).

scr_attr(R,C,A) Define u obtiene atributo de las coordenadas de pantalla que se indican (T).

scr_char(R,C,CH) Escribe o lee caracter en las coordenadas de pantalla que se indican (T).

see(F) Abre un archivo para lectura y lo convierte en el dispositivo de entrada actual (A).

see_h(A) El archivo abierto especificado deviene el archivo actual (A).

seeing(A) Retorna el nombre del archivo abierto con see (A).

seek(A,Offset,M,N) Mueve el puntero interno de archivo a una ubicación determinada dentro del mismo. El Offset representa la ubicación relativa dentro del archivo, en caracteres. M indica el punto a partir del cual se calcula el Offset: bof (comienzo de archivo); eof (fin de archivo); current (ubicación actual) (A).

seen Finaliza ingreso a partir del archivo abierto y lo cierra (A).

send_control_msg(M,C,K) Envía el mensaje especificado en M a la caja de control de diálogo que se indica (A).

send_dialog_msg(F,M,K) Envía el mensaje especificado en M al controlador de la caja de diálogo (A).

send_menu_msg(M,V) Envía un mensaje de menú (A).

Page 408: Antropologia y Programacion Logica

408

set_cursor(L,H) Cambia la forma del cursor (A).

setfillstyle(P,C) Define el patrón de rellenado gráfico y el color (T).

setof(T,G,S) Recolecta todas las instancia de T en las que el goal G es satisfacible y retorna las instancias en una lista ordenada o conjunto S sin duplicaciones (A).

shell Permite ingresar al entorno DOS sin perder el estado del programa (A).

shell(D) Ejecuta un comando MD-DOS y retorna (A).

shiftwindow(V) Se mueve al número de ventana V (T).

skip(C) Lee y saltea caracteres del dispositivo de entrada hasta que encuentra el caracter (A).

skip(A,C) Lee y saltea caracteres de un archivo hasta que encuentra el caracter (A).

sort(L1,L2) Ordena la lista L1 en orden estándar, intercalando duplicados, y retorna el resultado a L2 (A).

sounf(D,F) Produce un sonido de frecuencia F durante un tiempo D (T).

spy(N) - spy(N/A) Especifica un punto de espía para el debugger, indicando nombre y aridez (A).

statistics Muestra una ventana listando las estadísticas en ella (A).

statistics(I,S) Retorna estadísticas del sistema. El argumento I puede ser stacks, database, page(X) (donde X es un número de página), local, global, trail, atoms, y garbage.

stdin(F,F) Redirecciona la entrada estándar durante la ejecución del goal (A).

stdinout(E,S,G) Redirecciona entrada y salida durante la ejecución del goal (A).

stdout(F,G) Redirecciona la salida durante la ejecución del goal (A).

storage(S,H,T) Retorna espacio de almacenamiento en stack, heap y trail de memoria (T).

store_windows Almacena el estado actual de las ventanas (A).

str_char(S,C) Convierte ristra en caracter o a la inversa (T).

string(X) Tiene éxito si X es una ristra (A).

str_int(S,L) Convierte ristra a entero o a la inversa (T).

string_length(S,L) Retorna la longitud de la ristra o comprueba su valor (A).

str_len(S,L) Retorna la longitud de un string o la verifica, o retorna un string de L espacios (T).

str_real(S,R) Convierte ristra a número real o a la inversa (T).

string_search(S,R,P) Busca una ristra con la sub-ristra y retorna el punto de inicio, a partir de 0 (A).

string_search(C,SS,S,L) Busca una ristra con la sub-ristra y retorna el punto de inicio, a partir de 0; si Case es 0, la búsqueda es sensitiva; si es uno, no lo es (A).

string_term(S,T) Convierte una ristra o átomo en un término, o un término en una ristra (A).

substring(REnt,N,L,RSal) Extrae una sub-ristra de una ristra. El argumento N identifica el comienzo de aquella, a partir de 0, y L indica su longitud (A).

syntaxerrors(V,N) Habilita o inhabilita el control de errores de sintaxis o verifica el valor actual de esos mensajes (A).

system(P) Determina si el Predicado es evaluable (A).

system(C) Ejecuta un comando en shell de DOS; si el comando es un string vacío, sale a sistema operativo (T).

Page 409: Antropologia y Programacion Logica

409

system(C,R,CT) Idem, retornando código de terminación e inicializando o no el modo de video (T).

tab(N) Escribe N espacios en el dispositivo de salida (S).

tab(A,N) Escribe un número de espacios en el archivo, entre 0 y 255 (A).

tell(F) Abre el archivo F y lo define como dispositivo de salida (S).

telling(N) Retorna el nombre del archivo actual de salida (S).

tell_h(A) Escribe en el archivo especificado, abierto previamente (A).

tchar(C,A) Retorna el caracter y atributo de la actual posición del cursor (A).

tget(F,C) Retorna las coordenadas de fila y columna de la actual posición del cursor (A).

time(t(H,M,S,C)) Retorna o setea el reloj del sistema (A).

tmove(Fila,Col) Mueve el cursor a las coordenadas que se indican (A).

told Cierra el archivo de salida actual (S).

trace Activa el debugger (A).

trap(P,E,PE) Atrapa errores durante ejecución, cláusulas de exit y breaks, retornando código de error del predicado P, y ejecutando PE en tal caso (T).

true Este goal siempre triunfa (S).

tscroll(C,(ULR,ULC),(LLR,LRC)) Barre el area especificada (A).

unlock Resta 1 del semáforo del sistema (A).

upper_lower(U,L) Convierte mayúsculas a minúsculas y viceversa (T).

var(X) Determina si X es una variable libre (A).

wa(C,A) Cambia el caracteres de atributo por el número de posiciones especificados en C, a partir de la posición del cursor (A).

wc(Co,Car) Escribe el número de copias indicadas del caracter en ventana a partir de la posición del cursor (A).

wca(Co,C,A) Escribe en el dispositivo de salida un número de copias de un caracter con atributo especificado (A).

what_btrees(B) Retorna, mediante backtracking, los nombres de los árboles-B existentes (A).

what_windows(N) Retorna, mediante backtrackings, el nombre de las ventanas que existen actual-mente (A).

what_worlds(X) Retorna, mediante backtracking, el nombre de los mundos que existen actualmente (A).

which_control(C) Retorna el número de la ventana de diálogo que se encuentra en foco (A).

window_attr(A) Define el atributo de color de la ventana actual (T).

window_info(N,L,(UR,UC),(LRR,LRC,W,B)) Retorna información de la ventana (A).

window_str(S) Escribe o lee ristra sobre ventana actual (T).

write(T) Escribe el término en el dispositivo de salida estándar (A).

write(H,T) Escribe el término en el archivo especificado (A).

write_ctrl_text(K,L) Escribe un rótulo de control de la caja de diálogo con el atributo de aceleración apropiado (A).

Page 410: Antropologia y Programacion Logica

410

writedevice(D) Define o averigua dispositivo de escritura (T).

writef(F,A1...AN) Produce escritura formateada según patrón F de los términos que se indican (T).

writeq(T) Escribe el término en el dispositivo de salida estándar y encomilla átomos y functores como sea necesario para que resulte legible como término de PROLOG (A).

writeq(H,T) Escribe el término en el archivo especificado, y encomilla átomos y functores como sea necesario para que resulte legible como término de PROLOG (A).

Page 411: Antropologia y Programacion Logica

b) PROGRAMAS 1A) KARIERA.PRO

% Versión 1 % formalizacion del sistema kariera con resoluciones redundantes % problemas : es posible eliminar reglas? % se puede evitar la redundancia? domains alguien, sexo, tipo = symbol predicates casable(alguien,alguien) conyuge(alguien,alguien) individuo(alguien) progenitor(alguien,alguien) sexo(alguien,sexo) tipo(alguien,tipo) clauses casable(A,B) :- sexo(A,varon), sexo(B,mujer), tipo(A,X), tipo(B,Y), X=Y. % alternativa pslm casable(A,B) :- conyuge(A,B). tipo(h5,t1). tipo(h7,t2). tipo(A,X) :- progenitor(A,B), tipo(B,t1), sexo(A,varon), X=t2. tipo(A,X) :- progenitor(A,B), tipo(B,t1), sexo(A,mujer), X=t3. tipo(A,X) :- progenitor(A,B), tipo(B,t2), sexo(A,varon), X=t3. tipo(A,X) :- progenitor(A,B), tipo(B,t2), sexo(A,mujer), X=t1. tipo(A,X) :- progenitor(A,B), tipo(B,t3), sexo(A,varon), X=t1. tipo(A,X) :- progenitor(A,B), tipo(B,t3), sexo(A,mujer), X=t2. tipo(A,X) :- conyuge(A,B), tipo(B,Z), Z=X. conyuge(A,B) :- progenitor(C,A), progenitor(C,B), A<>B. progenitor(h1,h5). progenitor(h1,m5). progenitor(m1,h6). progenitor(m1,m6). progenitor(h2,h1). progenitor(h2,m1). progenitor(m2,h1). progenitor(m2,m1). progenitor(h3,h7). progenitor(h3,m7). progenitor(m3,h8). progenitor(m3,m8). progenitor(h4,h3). progenitor(h4,m3). progenitor(m4,h3). progenitor(m4,m3). sexo(h1,varon). sexo(h2,varon). sexo(h3,varon). sexo(h4,varon). sexo(h5,varon). sexo(h6,varon). sexo(h7,varon). sexo(X,mujer) :- individuo(X), not(sexo(X,varon)). individuo(A) :- progenitor(A,_). individuo(A) :- progenitor(_,A). individuo(A) :- conyuge(A,_). **********************************************************************

% Versión 2 - Con aprendizaje de máquina % formalizacion del sistema kariera con resoluciones redundantes domains alguien, sexo, tipo = symbol database asertipo(alguien,tipo) repetido(alguien,alguien) predicates casable(alguien,alguien) conyuge(alguien,alguien) individuo(alguien) preliminar progenitor(alguien,alguien) sexo(alguien,sexo) tipo(alguien,tipo) clauses casable(A,B) :- sexo(A,varon), sexo(B,mujer), tipo(A,X), tipo(B,X), not(repetido(A,B)), assert(repetido(A,B)). casable(A,B) :- conyuge(A,B), not(repetido(A,B)), assert(repetido(A,B)). casable(A,B) :- conyuge(B,A), not(repetido(A,B)), assert(repetido(A,B)). asertipo(h5,t1). asertipo(m5,t1). asertipo(h7,t2). asertipo(m7,t2). preliminar :- sexo(A,varon), progenitor(A,B), asertipo(B,t3), assert(asertipo(A,t1)), fail. preliminar :- sexo(A,mujer), progenitor(A,B), asertipo(B,t2), assert(asertipo(A,t1)), fail. preliminar :- sexo(A,varon), progenitor(A,B), asertipo(B,t1), assert(asertipo(A,t2)), fail. preliminar :- sexo(A,mujer), progenitor(A,B), asertipo(B,t3), assert(asertipo(A,t2)),fail. preliminar :- sexo(A,varon), progenitor(A,B), asertipo(B,t2), assert(asertipo(A,t3)),fail. preliminar :- sexo(A,mujer), progenitor(A,B), asertipo(B,t1), assert(asertipo(A,t3)),fail. tipo(A,X) :- asertipo(A,X). tipo(A,X) :- conyuge(A,B), asertipo(B,X). tipo(A,X) :- conyuge(B,A), asertipo(B,X). tipo(A,X) :- progenitor(A,B), tipo(B,t1), sexo(A,varon), X=t2. tipo(A,X) :- progenitor(A,B), tipo(B,t1), sexo(A,mujer), X=t3. tipo(A,X) :- progenitor(A,B), tipo(B,t2), sexo(A,varon), X=t3. tipo(A,X) :- progenitor(A,B), tipo(B,t2), sexo(A,mujer), X=t1. tipo(A,X) :- progenitor(A,B), tipo(B,t3), sexo(A,varon), X=t1. tipo(A,X) :- progenitor(A,B), tipo(B,t3), sexo(A,mujer), X=t2. conyuge(h1,m1). conyuge(h3,m3).

Page 412: Antropologia y Programacion Logica

412

conyuge(h5,m5). conyuge(h6,m6). conyuge(h7,m7). conyuge(h8,m8). progenitor(h1,h5). progenitor(h1,m5). progenitor(m1,h6). progenitor(m1,m6). progenitor(h2,h1). progenitor(h2,m1). progenitor(m2,h1). progenitor(m2,m1). progenitor(h3,h7). progenitor(h3,m7). progenitor(m3,h8). progenitor(m3,m8). progenitor(h4,h3). progenitor(h4,m3). progenitor(m4,h3). progenitor(m4,m3). sexo(h1,varon). sexo(h2,varon). sexo(h3,varon). sexo(h4,varon). sexo(h5,varon). sexo(h6,varon). sexo(h7,varon). sexo(A,mujer) :- individuo(A), not(sexo(A,varon)). individuo(h1). individuo(h2). individuo(h3). individuo(h4). individuo(h5). individuo(h6). individuo(h7). individuo(h8). individuo(m1). individuo(m2). individuo(m3). individuo(m4). individuo(m5). individuo(m6). individuo(m7). individuo(m8).

Page 413: Antropologia y Programacion Logica

413

1B) AASISPAR.PRO

/* ----- Sistema de parentesco ----------------------- */ /* --- Programado por Carlos Reynoso, 20-11-87 ------- */ /* ----Modificado en junio-julio 1988 ---------------- */ code = 2500 nowarnings domains relacion, persona = string database esposo(persona,persona) mujer(persona) progenitor(persona,persona) varon(persona) predicates abuela(persona,persona) abuelas abuelo(persona,persona) abuelos ancestro(persona,persona) antepasados /* rutinas de relaciones */ averiguar(persona,persona) bisabuela(persona,persona) bisabuelo(persona,persona) bisnieta(persona,persona) bisnieto(persona,persona) conyuge(persona,persona) cuniada(persona,persona) cuniadas cuniado(persona,persona) cuniados descendiente(persona,persona) descendientes elige(integer) escritura(persona,persona,relacion) esposa(persona,persona) esposos hermana(persona,persona) hermanas hermano(persona,persona) hermanos hija(persona,persona) hijas hijastra(persona,persona) hijastro(persona,persona) hijo(persona,persona) hijos inicio madrastra(persona,persona) madre(persona,persona) madres nieta(persona,persona) nietas nieto(persona,persona) nietos nuera(persona,persona) opcion(integer) padrastro(persona,persona) padre(persona,persona) padres pariente(persona,persona)

pariente_politico(persona,persona) /* definicion relaciones */ parientes_politicos prima(persona,persona) primas primo(persona,persona) primos principio /* rutinas */ progenitores retorno retorno_4 sib(persona,persona) sibs sobrina(persona,persona) sobrinas sobrino(persona,persona) sobrinos suegra(persona,persona) suegras suegro(persona,persona) suegros testeo tia(persona,persona) tias tio(persona,persona) tios yerno(persona,persona) include "tdoms.pro" include "tpreds.pro" include "menu.pro" include "longmenx.pro" /* preparado especial para convivencia c/menu.pro */ /* quitar indicadores de comentario siguientes para trabajar con goal interno */ goal principio. clauses principio :- makewindow(1,42,36," Sistema de parentesco ",0,0,24,80), inicio. inicio :- menu(3,15,7,19, ["A. Instrucciones", "B. Listado de sujetos ", "C. Listado de relaciones de parentesco", "D. Relaciones especificas por nexo", "E. Relaciones especificas por persona", "F. Agregado de varones a base de datos ", "G. Agregado de mujeres a base de datos ", "H. Agregado de especificaciones conyugales ", "I. Agregado de especificaciones de filiacion ", "J. Resguardo de base de datos", "K. Carga de base de datos en memoria ", "L. Borrado de base de datos en memoria ", "Q. Fin"], " Menu principal * Elegir opcion ",0,Eleccion), clearwindow, opcion(Eleccion). opcion(1) :- clearwindow,nl, write(" Este programa de Inteligencia Artificial deduce relaciones de parentes-"),nl, write(" co a partir de una base de conocimientos y de reglas preestablecidas de"),nl,

Page 414: Antropologia y Programacion Logica

414

write(" implicacion. El conjunto de hechos que reconoce es de caracter dinamico"),nl, write(" y puede modificarse a voluntad. Consiste en nombres de mujeres y varones"),nl, write(" y en especificaciones de una o mas relaciones de conyugalidad y filia- "),nl, write(" cion en el interior del conjunto."),nl,nl, write(" Si se desea, se puede eliminar de la memoria la base de datos provista"),nl, write(" por el programador e introducir datos nuevos siguiendo las instrucciones"),nl, write(" del Menu; o bien se pueden agregar nuevos miembros y relaciones basicas"),nl, write(" al conjunto, asi como eliminar determinados sujetos."),nl,nl, write(" Para modificar la naturaleza de las reglas de deduccion y la denomina-"),nl, write(" de los nexos de parentesco, es necesario modificar el programa ASISPAR.PRO"),nl, write(" escrito en lenguaje PROLOG. Para operar en PROLOG puro, sin elementos "),nl, write(" procedimentales, agregar indicadores de comentario antes y despues de la"),nl, write(" clausula GOAL; indicar goal = principio para re-proceder."),nl,nl,nl, write("\t\t\tPara continuar, presione cualquier tecla "), readchar(_), retorno. opcion(2) :- clearwindow, write(" VARONES : "), nl,nl, varon(X), write(" ",X),nl, fail. opcion(2) :- readchar(_), nl, write(" MUJERES : "),nl,nl, mujer(A), write(" ",A),nl, fail. opcion(2) :- retorno. opcion(3) :- antepasados. opcion(3) :- descendientes. opcion(3) :- padres. opcion(3) :- madres. opcion(3) :- hijos. opcion(3) :- hijas. opcion(3) :- hermanos. opcion(3) :- hermanas. opcion(3) :- tios. opcion(3) :- tias. opcion(3) :- sobrinos. opcion(3) :- sobrinas. opcion(3) :- primos. opcion(3) :- primas. opcion(3) :- retorno. opcion(4) :- longmenu(1,20,20,7,15, ["A. Antepasados", "B. Descendientes", "C. Padres", "D. Hijos", "E. Madres", "F. Hijas", "G. Progenitores", "H. Hermanos", "I. Hermanas", "J. Sibs", "K. Tios", "L. Tias", "M. Sobrinos", "N. Sobrinas", "P. Abuelos", "Q. Abuelas", "R. Nietos", "S. Nietas", "T. Suegros", "U. Suegras", "V. Cuniados", "W. Cuniadas", "X. Esposos", "Y. Primos", "Z. Termina"],

" Nexos especificos * Elegir opcion ",0,Elige), elige(Elige). opcion(5) :- write(" Persona : "), readln(Persona), Persona <> "fin", write(" Pariente : "), readln(Pariente), Pariente <> "fin",nl, averiguar(Persona,Pariente), opcion(5). opcion(5) :- clearwindow, inicio. opcion(6) :- write(" Nombre de individuo (masc) / fin : "), readln(Persona), Persona <> "fin", asserta(varon(Persona)), opcion(6). opcion(6) :- clearwindow, inicio. opcion(7) :- write(" Nombre de individuo (fem) / fin : "), readln(Persona), Persona <> "fin", asserta(mujer(Persona)), opcion(7). opcion(7) :- clearwindow, inicio. opcion(8) :- /* Especif.conyuge */ write("El esposo de : "), readln(A), A <> "fin", write(" es : "), readln(B), B <> "fin", asserta(esposo(A,B)), nl, opcion(8). opcion(8) :- clearwindow, inicio. opcion(9) :- /* Especif. filiacion */ write("Los progenitores de : "), readln(A), A <> "fin", write(" son : "), readln(B), B <> "fin", write(" y : "), readln(C), C <> "fin", asserta(progenitor(A,B)), asserta(progenitor(A,C)), opcion(9). opcion(9) :- clearwindow, inicio. opcion(10) :- clearwindow, write(" Archivo de salida (*.dba) : "), readln(Archi), save(Archi), nl,write(" Base de datos resguardada en ",Archi," "), readchar(_),clearwindow, inicio. opcion(10) :- retorno. opcion(11) :- /* Carga base datos en Memo */ clearwindow, write(" ****** CARGA DE BASE DE DATOS EN MEMORIA ******"), window_attr(15),nl, dir("\tprolog","*.dba",Archi),nl, window_attr(7), consult(Archi), nl,write(" Base de datos ",Archi," cargada en Memoria"), readchar(_), retorno. opcion(11) :- clearwindow, retorno.

Page 415: Antropologia y Programacion Logica

415

opcion(12) :- /* Borrado de base de datos en memoria */ clearwindow, retract(varon(X)), fail. opcion(12) :- retract(mujer(X)), fail. opcion(12) :- retract(esposo(A,B)), fail. opcion(12) :- retract(progenitor(A,B)), fail. opcion(12) :- write("\t\t* La base de datos dinamica ha sido borrada de memoria *"), readchar(_), clearwindow, inicio. opcion(13) :- exit. elige(1) :- antepasados. elige(1) :- retorno_4. elige(2) :- descendientes. elige(2) :- retorno_4. elige(3) :- padres. elige(3) :- retorno_4. elige(4) :- hijos. elige(4) :- retorno_4. elige(5) :- madres. elige(5) :- retorno_4. elige(6) :- hijas. elige(6) :- retorno_4. elige(7) :- progenitores. elige(7) :- retorno_4. elige(8) :- hermanos. elige(8) :- retorno_4. elige(9) :- hermanas. elige(9) :- retorno_4. elige(10) :- sibs. elige(10) :- retorno_4. elige(11) :- tios. elige(11) :- retorno_4. elige(12) :- tias. elige(12) :- retorno_4. elige(13) :- sobrinos. elige(13) :- retorno_4. elige(14) :- sobrinas. elige(14) :- retorno_4. elige(15) :- abuelos. elige(15) :- retorno_4. elige(16) :- abuelas. elige(16) :- retorno_4. elige(17) :- nietos. elige(17) :- retorno_4. elige(18) :- nietas. elige(18) :- retorno_4. elige(19) :- suegros. elige(19) :- retorno_4. elige(20) :- suegras. elige(20) :- retorno_4. elige(21) :- cuniados. elige(21) :- retorno_4. elige(22) :- cuniadas. elige(22) :- retorno_4. elige(23) :- esposos. elige(23) :- retorno_4. elige(24) :- primos. elige(24) :- primas. elige(24) :- retorno_4. elige(25) :- inicio. retorno_4 :- readchar(_), clearwindow, opcion(4). retorno :- readchar(_), clearwindow, inicio. testeo :- keypressed,retorno. testeo. antepasados :- ancestro(B,A), testeo, write("El antepasado de ",B," es ",A,"."),nl, fail. descendientes :- descendiente(A,B), testeo, write("El descendiente de ",A," es ",B,"."),nl, fail. padres :-

padre(X,Y), testeo, write("El padre de ",X," es ",Y,"."),nl, fail. madres :- madre(X,Y), testeo, write("La madre de ",X," es ",Y,"."),nl, fail. hijos :- hijo(X,Y), testeo, write("El hijo de ",X," es ",Y,"."),nl, fail. hijas :- hija(X,Y), testeo, write("La hija de ",X," es ",Y,"."),nl, fail. progenitores :- progenitor(X,Y), testeo, write("El progenitor de ",X," es ",Y,"."),nl, fail. sibs :- sib(X,Y), testeo, write("El sib de ",X," es ",Y,"."),nl, fail. hermanos :- hermano(A,B), testeo, write("El hermano de ",A," es ",B,"."),nl, fail. hermanas :- hermana(A,B), testeo, write("La hermana de ",A," es ",B,"."),nl, fail. abuelos :- abuelo(X,Y), testeo, write("El abuelo de ",X," es ",Y,"."),nl, fail. abuelas :- abuela(X,Y), testeo, write("La abuela de ",X," es ",Y,"."),nl, fail. nietos :- nieto(X,Y), testeo, write("El nieto de ",X," es ",Y,"."),nl, fail. nietas :- nieta(X,Y), testeo, write("La nieta de ",X," es ",Y,"."),nl, fail. tios :- tio(X,Y), testeo, write("El tio de ",X," es ",Y,"."),nl, fail. tias :- tia(X,Y), testeo, write("La tia de ",X," es ",Y,"."),nl, fail. sobrinos :- sobrino(X,Y), testeo, write("El sobrino de ",X," es ",Y,"."),nl, fail. sobrinas :- sobrina(X,Y), testeo, write("La sobrina de ",X," es ",Y,"."),nl, fail. primos :- primo(X,Y), testeo, write("El primo de ",X," es ",Y,"."),nl, fail. primas :- prima(X,Y), testeo,

Page 416: Antropologia y Programacion Logica

416

write("La prima de ",X," es ",Y,"."),nl, fail. parientes_politicos :- pariente_politico(X,Y), testeo, write("El pariente politico de ",X," es ",Y,"."),nl, fail. suegros :- suegro(X,Y), testeo, write("El suegro de ",X," es ",Y,"."),nl, fail. suegras :- suegra(X,Y), testeo, write("La suegra de ",X," es ",Y,"."),nl, fail. cuniados :- cuniado(X,Y), testeo, write("El cuniado de ",X," es ",Y,"."),nl, fail. cuniadas :- cuniada(X,Y), testeo, write("La cuniada de ",X," es ",Y,"."),nl, fail. esposos :- esposo(X,Y), testeo, write("El esposo de ",X," es ", Y,"."),nl, fail. averiguar(Persona,Pariente) :- makewindow(2,15,7,"",15,4,5,74), pariente(Persona,Pariente), readchar(_),nl, fail. averiguar(Persona,Pariente) :- write(" No existen (mas) relaciones / Parentesco indefinido "), readchar(_),removewindow, opcion(5). escritura(X,Y,Rel) :- write(" ",Y," es ",Rel," de ",X). /* ------------------ Reglas de deduccion ----------------------- */ descendiente(A,D) if progenitor(D,A) or progenitor(D,P) and descendiente(A,P). /*regla recursiva*/ ancestro(X,A) if descendiente(A,X). padre(X,Y) if progenitor(X,Y) and varon(Y). madre(X,Y) if progenitor(X,Y) and not(varon(Y)). hijo(X,Y) if progenitor(Y,X) and varon(Y). hija(X,Y) if progenitor(Y,X) and not(varon(Y)). hijastro(X,Y) if conyuge (X,Z) and progenitor(Y,Z) and not(hijo(X,Y)) and varon(Y). hijastra(X,Y) if conyuge (X,Z) and progenitor(Y,Z) and not(hijo(X,Y)) and mujer(Y). padrastro(X,Y) if conyuge (Y,Z) and progenitor(X,Z) and not(progenitor(X,Y)) and varon(Y). madrastra(X,Y) if conyuge (Y,Z) and progenitor(Z,X) and not(hijo(X,Y)) and mujer(Y). hermano(X,Y) if varon(Y) and padre(X,P) and padre(Y,P) and X <> Y. hermana(X,Y) if padre(X,P) and padre(Y,P) and X <> Y and not(varon(Y)).

sib(X,Y) if hermano(X,Y). sib(X,Y) if hermana(X,Y). tio(X,U) if progenitor(X,P) and hermano(P,U). tia(X,U) if progenitor(X,P) and hermana(P,U). abuelo(X,G) if padre(P,G) and progenitor(X,P). abuela(X,G) if madre(P,G) and progenitor(X,P). primo(X,Z) if progenitor(X,Y) and sib(Y,S) and hijo(S,Z). prima(X,Z) if progenitor(X,Y) and sib(Y,S) and hija(S,Z). sobrino(X,Y) if sib(X,Z) and hijo(Z,Y). sobrina(X,Y) if sib(X,Z) and hija(Z,Y) and not(varon(Y)). esposa(X,Y) if varon(X) and esposo(Y,X). suegra(X,Y) if madre(Z,Y) and conyuge(Z,X). suegro(X,Y) if padre(Z,Y) and conyuge(Z,X). conyuge(X,Y) if esposo(X,Y). conyuge(X,Y) if esposa(X,Y). cuniado(X,Y) if conyuge(X,Z) and hermano(Z,Y). cuniada(X,Y) if conyuge(X,Z) and hermana(Z,Y). cuniada(X,Y) if esposo(Y,Z) and sib(Z,X). yerno(X,Y) if suegro(Y,X) and varon(Y). yerno(X,Y) if suegra(Y,X) and varon(Y). nuera(X,Y) if suegro(Y,X) and not(varon(Y)). nuera(X,Y) if suegra(Y,X) and not(varon(Y)). nieto(J,T) if progenitor(T,P) and progenitor(P,J). nieta(J,T) if progenitor(T,P) and progenitor(P,J) and mujer(T). bisnieto(X,Y) if bisabuelo(Y,X) and varon(X). bisnieto(X,Y) if bisabuelo(Y,X) and varon(X). bisnieta(J,T) if progenitor(T,P) and abuelo(P,J) and mujer(J). bisnieta(J,T) if progenitor(T,P) and abuela(P,J) and mujer(J). bisabuelo(C,N) if nieto(P,C) and progenitor(P,N). bisabuelo(C,N) if nieta(P,C) and progenitor(P,N). bisabuela(C,N) if nieto(P,C) and progenitor(P,N) and mujer(N). bisabuela(C,N) if nieta(P,C) and progenitor(P,N) and mujer(N). /* ------------------------- equivalencias ----------------------- */ pariente(X,Y) if sib(X,Y), Rel="sib" and escritura(X,Y,Rel). pariente(X,Y) if hermano(X,Y), Rel="hermano" and escritura(X,Y,Rel). pariente(X,Y) if hermana(X,Y), Rel="hermana" and escritura(X,Y,Rel). pariente(X,Y) if bisabuelo(X,Y), Rel="bisabuelo" and escritura(X,Y,Rel). pariente(X,Y) if bisabuela(X,Y), Rel="bisabuela" and escritura(X,Y,Rel). pariente(X,Y) if abuelo(X,Y), Rel="abuelo" and escritura(X,Y,Rel). pariente(X,Y) if abuela(X,Y), Rel="abuela" and escritura(X,Y,Rel). pariente(X,Y) if padre(X,Y), Rel="padre" and escritura(X,Y,Rel).

Page 417: Antropologia y Programacion Logica

417

pariente(X,Y) if madre(X,Y), Rel="madre" and escritura(X,Y,Rel). pariente(X,Y) if ancestro(X,Y), Rel="ancestro" and escritura(X,Y,Rel). pariente(X,Y) if bisnieto(X,Y), Rel="bisnieto" and escritura(X,Y,Rel). pariente(X,Y) if bisnieta(X,Y), Rel="bisnieta" and escritura(X,Y,Rel). pariente(X,Y) if nieto(X,Y), Rel="nieto" and escritura(X,Y,Rel). pariente(X,Y) if nieta(X,Y), Rel="nieta" and escritura(X,Y,Rel). pariente(X,Y) if hijo(X,Y), Rel="hijo" and escritura(X,Y,Rel). pariente(X,Y) if hija(X,Y), Rel="hija" and escritura(X,Y,Rel). pariente(X,Y) if descendiente(X,Y), Rel="descendiente" and escritura(X,Y,Rel). pariente(X,Y) if tio(X,Y), Rel="tio" and escritura(X,Y,Rel). pariente(X,Y) if tia(X,Y), Rel="tia" and escritura(X,Y,Rel). pariente(X,Y) if sobrino(X,Y), Rel="sobrino" and escritura(X,Y,Rel). pariente(X,Y) if sobrina(X,Y), Rel="sobrina" and escritura(X,Y,Rel). pariente(X,Y) if primo(X,Y), Rel="primo" and escritura(X,Y,Rel). pariente(X,Y) if prima(X,Y), Rel="prima" and escritura(X,Y,Rel). pariente(X,Y) if suegro(X,Y), Rel="suegro" and escritura(X,Y,Rel). pariente(X,Y) if suegra(X,Y), Rel="suegra" and escritura(X,Y,Rel). pariente(X,Y) if yerno(X,Y), Rel="yerno" and escritura(X,Y,Rel). pariente(X,Y) if nuera(X,Y), Rel="nuera" and escritura(X,Y,Rel). pariente(X,Y) if cuniado(X,Y), Rel="cuniado" and escritura(X,Y,Rel). pariente(X,Y) if cuniada(X,Y), Rel="cuniada" and escritura(X,Y,Rel). pariente(X,Y) if esposo(X,Y), Rel="esposo" and escritura(X,Y,Rel). pariente(X,Y) if esposa(X,Y), Rel="esposa" and escritura(X,Y,Rel). pariente(X,Y) if conyuge(X,Y), Rel="conyuge" and escritura(X,Y,Rel). pariente(X,Y) if hijastro(X,Y), Rel="hijastro" and escritura(X,Y,Rel). pariente(X,Y) if hijastra(X,Y), Rel="hijastra" and escritura(X,Y,Rel). pariente(X,Y) if padrastro(X,Y), Rel="padrastro" and escritura(X,Y,Rel). pariente(X,Y) if madrastra(X,Y), Rel="madrastra" and escritura(X,Y,Rel). pariente_politico(X,Y) if suegro(X,Y). pariente_politico(X,Y) if suegra(X,Y). pariente_politico(X,Y) if yerno(X,Y). pariente_politico(X,Y) if nuera(X,Y). pariente_politico(X,Y) if cuniado(X,Y). pariente_politico(X,Y) if cuniada(X,Y). /* base de datos dinamica */ varon("Americo Reynoso"). varon("Carlos Alberto Melian"). varon("Carlos Reynoso"). varon("Emilio Melian"). varon("Juan Jose Melian"). varon("Julio Reynoso"). varon("Lito Tarducci"). varon("Manuel Palacios"). varon("Nombre desconocido"). varon("Osvaldo Tarducci").

varon("Paco Boschi"). varon("Pepe Reynoso"). varon("Pichon Reynoso"). varon("Tucho Reynoso"). mujer("Claudia Tarducci"). mujer("Delia Reynoso"). mujer("Hebe Boschi"). mujer("Josefina Boschi"). mujer("Maria Lopez"). mujer("Mercedes Rocha"). mujer("Monica Tarducci"). mujer("Monona Reynoso"). mujer("Pilar Boschi"). progenitor("Americo Reynoso","Josefina Boschi"). progenitor("Americo Reynoso","Julio Reynoso"). progenitor("Carlos Alberto Melian","Emilio Melian"). progenitor("Carlos Alberto Melian","Monona Reynoso"). progenitor("Carlos Reynoso","Americo Reynoso"). progenitor("Carlos Reynoso","Hebe Boschi"). progenitor("Claudia Tarducci","Maria Lopez"). progenitor("Claudia Tarducci","Osvaldo Tarducci"). progenitor("Delia Reynoso","Josefina Boschi"). progenitor("Delia Reynoso","Julio Reynoso"). progenitor("Hebe Boschi","Mercedes Rocha"). progenitor("Hebe Boschi","Paco Boschi"). progenitor("Josefina Boschi","Nombre desconocido"). progenitor("Juan Jose Melian","Emilio Melian"). progenitor("Juan Jose Melian","Monona Reynoso"). progenitor("Lito Tarducci","Maria Lopez"). progenitor("Lito Tarducci","Osvaldo Tarducci"). progenitor("Manuel Palacios","Monica Tarducci"). progenitor("Monica Tarducci","Maria Lopez"). progenitor("Monica Tarducci","Osvaldo Tarducci"). progenitor("Monona Reynoso","Josefina Boschi"). progenitor("Monona Reynoso","Julio Reynoso"). progenitor("Paco Boschi","Nombre desconocido"). progenitor("Pepe Reynoso","Josefina Boschi"). progenitor("Pepe Reynoso","Julio Reynoso"). progenitor("Pichon Reynoso","Josefina Boschi"). progenitor("Pichon Reynoso","Julio Reynoso"). progenitor("Tucho Reynoso","Pichon Reynoso"). progenitor("Tucho Reynoso","Pilar Boschi"). esposo("Hebe Boschi","Americo Reynoso"). esposo("Josefina Boschi","Julio Reynoso"). esposo("Mercedes Rocha","Paco Boschi"). esposo("Monica Tarducci","Carlos Reynoso"). esposo("Monona Reynoso","Emilio Melian"). esposo("Pilar Boschi","Pichon Reynoso").

Page 418: Antropologia y Programacion Logica

418

2A) COLBY.PRO

% Analisis eidocronico segun Benjamin Colby % Programado por Carlos Reynoso / Miriam Cerveny (1989) nowarnings domains file=maniobra i=integer e=symbol predicates af(i,e) ap(i,e) coda(integer) compromiso cuento mi(e) motivacion(integer) mv(e) otra_af(integer,e) otra_af_mas(e) otra_ap(integer,e) otra_ap_mas(e) otra_ri(integer,e) otra_ri_mas(e) otra_rv(integer,e) otra_rv_mas(e) precuento resolucion(integer) respuesta ri(i,e) rv(i,e) clauses precuento :- % openappend(maniobra,"eidon.dat"), % writedevice(maniobra), cuento. cuento :- !, random(2,II), I=II+1, motivacion(I), respuesta, !, nl, cuento. cuento :- closefile(maniobra), % writedevice(screen),clearwindow, % file_str(maniobra,S), % display(S), nl, write(" FIN "), readchar(_). motivacion(1) :- mi(A), write(A),nl. motivacion(2) :- mv(A), write(A),nl. respuesta :- compromiso, random(3,II), I=II+1, resolucion(I). compromiso :- random(6,II), I=II+1, ap(I,A), random(2,OO), O=OO+1, otra_ap(O,A), random(5,YY), Y=YY+1, af(Y,B),

random(2,UU), U=UU+1, otra_af(U,B), write(A),nl, write(B),nl. otra_ap(1,_). otra_ap(2,B) :- random(6,II), I=II+1, ap(I,A), A<>B, write(A),nl, otra_ap_mas(A). otra_ap(_,_). otra_ap_mas(A) :- random(2,UU), U=UU+1, otra_ap(U,A). otra_af(1,B). otra_af(2,B) :- random(6,II), I=II+1, af(I,A), A<>B, write(A),nl, otra_af_mas(A). otra_af(_,_). otra_af_mas(A) :- random(2,UU), U=UU+1, otra_af(U,A). resolucion(3) :- random(7,II), I=II+1,ri(I,A), write(A),nl, random(2,OO),O=OO+1, otra_ri(O,A). resolucion(2) :- random(4,II), I=II+1,rv(I,A), write(A),nl, random(2,OO),O=OO+1, otra_rv(O,A). resolucion(1) :- random(4,YY), Y=YY+1, coda(Y). otra_ri(1,_). otra_ri(1,B) :- random(7,II), I=II+1, ri(I,A), A<>B, write(B), nl, otra_ri_mas(B). otra_ri(_,_). otra_rv(1,_). otra_rv(1,B) :- random(4,II), I=II+1, rv(I,A), A<>B, write(B), nl, otra_rv_mas(B). otra_rv(_,_). otra_rv_mas(B) :- random(2,UU), U=UU+1, otra_rv(U,B). otra_ri_mas(B) :- random(2,UU), U=UU+1, otra_ri(U,B). coda(1) :- random(6,II), I=II+1, ap(I,A), write(A),nl. coda(2) :- random(7,II), I=II+1, ri(I,A), write(A),nl. coda(3) :- random(4,II), I=II+1, rv(I,A), write(A),nl. coda(4) :- !,respuesta. ap(1,transformación). ap(2,encuentro). ap(3,transacción). ap(4,entra_en_cautiverio). ap(5,hospitalidad). ap(6,precaución). af(1,tarea). af(2,ataque). af(3,pugna). af(4,ruido). af(5,engaño). mi(motivación_inmediata). mv(motivación_valor). ri(1,entrega). ri(2,resultado_de_la_tarea). ri(3,escape). ri(4,liberación). ri(5,muerte). ri(6,resurrección). ri(7,transformación_de_creación). rv(1,recompensa). rv(2,matrimonio). rv(3,reunión). rv(4,donativo).

Page 419: Antropologia y Programacion Logica

419

Nota: Las siguientes dos páginas de listado de salida del programa (que reflejan las posibilidades de combinación aleatoria de los diferentes eidones, según la mismísima descripción de los Colby) pueden contrastarse con las elegantes volutas deterministas que constituyen la idealización de los autores respecto del compor-tamiento generativo de su propio modelo. Estos llevan a su criatura de la mano, a fin de que ejecute los pasos que ellos desean. En el e-ducto del programa es fácil corroborar que el protagonista se libera sin ser antes aprisionado, contrae matrimonio sin liberarse y resuci-ta sin haber muerto. El dibujo que sigue al listado transcribe la hoja de análisis para el relato ixil "María Markaao" (Colby y Colby 1986:287). De inmediato resultará palmario que los modelos reales y los ideales difieren y que su programación lógica pone al descu-bierto la naturaleza y la magnitud de esa diferencia. Resultaría lar-go tipificar las correcciones recursivas exigidas por un modelo cual-quiera, pensado al natural, cuando se lo contrasta con un programa lógico, aún cuando la herramienta de modelización sea desde el principio un lenguaje de computadora. Valga entonces el contraste entre el programa y el esquema intuitivo como testimonio de las precisiones que nuestra metodología es capaz de introducir en la elaboración teorética.

LISTADO DE SALIDA motivación_inmediata hospitalidad tarea donativo motivación_inmediata ataque hospitalidad ruido recompensa motivación_valor encuentro entra_en_cautiverio tarea resurrección motivación_valor encuentro hospitalidad engaño donativo motivación_inmediata entra_en_cautiverio ataque ruido transacción engaño recompensa motivación_inmediata ruido tarea engaño precaución engaño resultado_de_la_tarea motivación_valor precaución pugna liberación

motivación_inmediata transformación pugna pugna ataque transacción ataque donativo motivación_inmediata encuentro entra_en_cautiverio pugna reunión motivación_inmediata hospitalidad tarea donativo motivación_inmediata hospitalidad ataque hospitalidad tarea transacción tarea resultado_de_la_tarea motivación_inmediata entra_en_cautiverio ruido muerte motivación_valor transformación tarea liberación motivación_inmediata pugna transformación ruido recompensa motivación_valor hospitalidad entra_en_cautiverio pugna matrimonio motivación_valor ruido tarea transformación tarea liberación motivación_valor transacción ruido resurrección motivación_inmediata transformación transacción entra_en_cautiverio encuentro engaño muerte

Page 420: Antropologia y Programacion Logica

420

motivación_valor transacción engaño resultado_de_la_tarea motivación_inmediata ataque pugna transacción pugna muerte motivación_inmediata hospitalidad ataque matrimonio motivación_inmediata transacción tarea donativo motivación_valor entra_en_cautiverio engaño reunión motivación_valor encuentro ataque donativo motivación_inmediata precaución tarea reunión motivación_valor encuentro ataque resurrección motivación_valor encuentro tarea donativo motivación_valor precaución ruido entrega motivación_valor tarea ruido encuentro ataque reunión motivación_inmediata pugna encuentro tarea entrega motivación_inmediata entra_en_cautiverio pugna entrega

motivación_valor tarea transacción engaño recompensa motivación_inmediata pugna tarea pugna entra_en_cautiverio engaño reunión motivación_valor precaución tarea entra_en_cautiverio precaución engaño liberación motivación_valor entra_en_cautiverio transformación precaución tarea entrega motivación_valor precaución ruido encuentro engaño escape motivación_valor transformación ruido reunión

Page 421: Antropologia y Programacion Logica

421

2B) CALAGRAF.PRO

% Analisis de representaciones, con graficación code=2300 nowarnings domains file = comando pieza = integer franja = integer ident_hilera, espacio, forma = symbol modo_articulacion, descrip, unidad_morfologica = string lista = string* franjas = franja* hilera = pares(unidad_morfologica, modo_articulacion) database % descripcion de la pieza espacio(pieza, forma) franjas(pieza,franjas) pares(pieza, franja, ident_hilera, unidad_morfologica, modo_articulacion) especif(pieza, franja, ident_hilera, franja, ident_hilera, unidad_morfologica, modo_articulacion) especfr(pieza, franja, franja, modo_articulacion). % bases transitorias ya(unidad_morfologica,modo_articulacion) yaa(unidad_morfologica,modo_articulacion,unidad_morfologica, modo_articulacion) umo(string) include "tdoms.pro" include "tpreds.pro" include "menu.pro" predicates cadafranja(integer,franjas) cd(string,lista) continua_rep(pieza) contrastar(pieza,unidad_morfologica,modo_articulacion) desc(integer) describe(pieza,franja) descripcion compatible(pieza,unidad_morfologica,modo_articulacion) for(symbol,string) incompatible(pieza,unidad_morfologica,modo_articulacion) inicio longlista(franjas,integer) miembro(franja,franjas) mod(modo_articulacion, descrip) no_franja1 nunca_uf_mod ocurre pred(integer) proceso(integer) prograf(integer) recontrastar(pieza,unidad_morfologica,modo_articulacion) representacion uf(unidad_morfologica, descrip) goal inicio. clauses

inicio :- makewindow(1,23,14," Sistema de Análisis de Representaciones ",0,0,24,80), menu(4,16,7,4, ["A. Descripción de piezas", "B. Unidades en Modos de Articulación", "C. Unidades que no aparecen en Modos de Articulación", "D. Unidades que no aparecen en primera franja", "E. Unidades y modos compatibles", "F. Combinaciones imposibles", "Quit"], " Opciones ",1,OPCION), proceso(OPCION),!,inicio. proceso(1) :- descripcion. proceso(2) :- retractall(ya(_,_)), write("Las siguientes unidades aparecen en los modos que se indican : "), nl,nl, ocurre,readchar(_). proceso(3) :- retractall(ya(_,_)), nunca_uf_mod,readchar(_). proceso(4) :- no_franja1,readchar(_). proceso(5) :- retractall(ya(_,_)), compatible(A,B,C), readchar(_). proceso(6) :- retractall(ya(_,_)), incompatible(A,B,C), readchar(_). proceso(7) :- clearwindow,exit. % Rutinas de Descripcion : descripcion :- menu(5,21,7,4, ["A. Descripción de piezas individuales ", "B. Listado resumido de piezas", "C. Presentación gráfica de piezas", "D. Secuencia gráfica del conjunto", "E. Lista de piezas a mostrar", "Quit"], " Descripción ",1,OPCION), desc(OPCION),!,inicio. desc(1) :- clearwindow, write("Número de pieza : "), readint(NUM), espacio(NUM, Forma),nl, for(Forma,FF), write("Forma : ",FF), nl, franjas(NUM,Listafranja), cadafranja(NUM,Listafranja), readchar(_), prograf(NUM), readchar(_). desc(1). desc(2) :- espacio(NUM,FORMA), for(FORMA,FF), write("Pieza Nº ",NUM," - ",FF,", "), franjas(NUM,LISTA), longlista(LISTA,CIFRA), write(CIFRA, " franjas."),nl, fail. desc(2):- readchar(_). desc(3) :-

Page 422: Antropologia y Programacion Logica

422

clearwindow, write("Número de pieza : "), readint(NUM), espacio(NUM, Forma), prograf(NUM), readchar(_). desc(3) :- write("Pieza inexistente"), readchar(_). desc(4) :- exit. /* Pendiente de programacion */ desc(5) :- exit. /* Pendiente de programacion */ pred(CODE) :- write("Error ",CODE),readchar(_). cadafranja(NUM,Listafranja) :- miembro(X,Listafranja), describe(NUM,X), fail. cadafranja(NUM,_) :- especif(NUM,FR1,HIL1,FR2,HIL2,UFO,MODO), write("La hilera ",HIL1," de la franja ",FR1),nl, write(" y la hilera ",HIL2," de la franja ",FR2),nl, uf(UFO,UFOD),mod(MODO,MODOD), write(" poseen unidad ",UFOD),nl, write(" en modo ", MODOD),nl, fail. cadafranja(NUM,_) :- especfr(NUM,FR1,FR2,MOD), mod(MOD,MODO), write("La franja ",FR1," y la franja ",FR2), write(" se encuentran en modo ",MODO),nl, fail. cadafranja(_,_). describe(NUM,X) :- pares(NUM,X,HILERA,UNIMOR,MODOAR), write("Hilera ",HILERA," de la franja ",X),nl, uf(UNIMOR,UF), write("Unidad morfológica : ",UF),nl, mod(MODOAR,MO), write("Modo de articulación : ",MO),nl. % Combinaciones compatibles compatible(NUM,UM,MA) :- pares(NUM,_,_,UM,MA), contrastar(NUM,UM,MA), fail. compatible(_,_,_). contrastar(NUM,UM,MA) :- pares(NUM2,_,_,UMM,MAA), concat(UM,MA,SAL1), concat(UMM,MAA,SAL2), NUM=NUM2,SAL1<>SAL2, uf(UM,UMO),uf(UMM,UMMO), mod(MA,MAX),mod(MAA,MAAX), not(yaa(UM,MA,UMM,MAA)), not(yaa(UMM,MAA,UM,MA)), assert(yaa(UM,MA,UMM,MAA)), write(UMO," - ",MAX),nl, write(UMMO," - ",MAAX),nl,nl, fail. contrastar(_,_,_). % Combinaciones incompatibles incompatible(NUM,UM,MA) :- pares(NUM,_,_,UM,MA), recontrastar(NUM,UM,MA), fail. incompatible(_,_,_).

recontrastar(NUM,UM,MA) :- pares(NUM2,_,_,UMM,MAA), concat(UM,MA,SAL1), % Permite diversas combinaciones concat(UMM,MAA,SAL2), % SAL1<>SAL2, % Verificar corrección uf(UM,UMO),uf(UMM,UMMO), mod(MA,MAX),mod(MAA,MAAX), NUM<>NUM2, not(ya(UMM,MAA)), assert(ya(UMM,MAA)), write(UMO," - ",MAX),nl, write(UMMO," - ",MAAX),nl,nl, fail. recontrastar(_,_,_) :- retractall(ya(_,_)). % Unidades morf que nunca aparecen en modo de articulación: nunca_uf_mod :- uf(UF,UFD), mod(MA,MAD), not(ya(UF,MA)), assert(ya(UF,MA)), not(pares(_,_,_,UF,MA)), write(UFD, " con ",MAD),nl, fail. nunca_uf_mod. % Unidades morfológicas que aparecen en modos de articulación: ocurre :- uf(UF,UFD), mod(MA,MAD), pares(_,_,_,UF,MA), not(ya(UF,MA)), assert(ya(UF,MA)), write(UFD, " con ",MAD),nl, fail. ocurre. % Unidades morfológicas que no se dan en la primera franja: no_franja1 :- pares(_,FRANJA,_,UM,_), FRANJA <> 1, uf(UM,UNIDAD), not(umo(UNIDAD)), assert(umo(UNIDAD)), fail. no_franja1 :- pares(_,FRANJA,_,UM,_), FRANJA = 1, uf(UM,UNIDAD), umo(UNIDAD), retract(umo(UNIDAD)), fail. no_franja1 :- umo(UNIDAD), write(UNIDAD),nl, fail. no_franja1. representacion :- espacio(Num, Forma), write("Pieza : ",Num," - Forma : ",Forma), nl, continua_rep(Num), fail. continua_rep(Num) :- pares(Num, Franja, Hilera, UnidadMorfol, MA), mod(MA, Descrip), write("Modo de Articulacion ",Franja," ",Hilera, " : ", Descrip),nl,

Page 423: Antropologia y Programacion Logica

423

uf(UnidadMorfol,UF), write("Unidad Morfológica : ",UF), nl, fail. % Modos de articulación: mod("1","identidad"). mod("2a","traslación horizontal"). mod("2b","traslación vertical"). mod("3","rotación"). mod("4","reflexión especular"). mod("5","reflexión traslatoria"). mod("6","extensión"). mod("99","no articulado"). % Unidades morfológicas: uf("1a","triángulo simple equilátero"). uf("1b","triángulo isósceles"). uf("1c","triángulo rectángulo"). uf("1d","triángulo simple escaleno"). uf("1e","triángulo c/un cateto curvo"). uf("4a","triángulo espiralado - espiral curvilínea c/vuelta"). uf("24","línea quebrada"). uf("44","rombo reticulado"). uf("56","líneas oblicuas c/apéndices trianguliformes"). uf("72","líneas puntuadas"). % Correlaciones descriptivas: % cd("unidades morfológicas simples",[...]). cd("triángulos simples",["1a","1b","1c","1d","1e","1f","1g"]). % Descripciones de piezas: espacio(1,forma_1). espacio(29,forma_1). espacio(33,forma_1). franjas(1,[1]). franjas(29,[1, 2, 3, 4]). franjas(33,[1,2]). pares(1,1, superior,"4a","2"). pares(1,1, inferior,"4a","2"). pares(29,1,inferior,"1d","2a"). pares(29,2,superior,"1a","2a"). pares(29,2,intermedia,"24","99"). pares(29,2,inferior,"1a","2a"). pares(29,3,superior,"1a","2a"). pares(29,3,intermedia,"24","99"). pares(29,3,inferior,"1a","2a"). pares(29,4,superior,"1a","2a"). pares(29,4,inferior,"1a","2a"). pares(33,1,sin_hileras,"44","4"). /* Modificar codificación */ pares(33,1,sin_hileras,"56","6"). /* unir umorf y modos */ pares(33,2,sin_hileras,"20","2a"). especif(1, 1, superior, 1, inferior, "4a","3"). especif(29, 2, superior, 2, inferior, "1a","3"). especif(29, 3, superior, 3, inferior, "1a","3"). especif(29, 4, superior, 4, inferior, "1a","3"). % Completar descripcion: especfr(29, 2, 3, "5"). especfr(29, 3, 4, "4"). for(forma_1,"Media calabaza").

for(forma_2,"Esferiforme"). for(forma_3,"Botelliforme"). % Rutinas especiales miembro(X,[Cabeza|Cola]) :- Cabeza=X. miembro(X,[_|Cola]) :- miembro(X,Cola). longlista([],0). longlista([Cabeza|Cola],K) :- longlista(Cola,J), K = J+1. % Archivos graficos: prograf(NUM) :- str_int(NUP,NUM), concat("\"cala",NUP,NOM), concat(NOM,".pic\" -1 0 0",NOMBRE), openwrite(comando,"comando.pre"), writedevice(comando), write(NOMBRE), closefile(comando), writedevice(screen), system("presents comando").

Page 424: Antropologia y Programacion Logica

424

3) SITIOS.PRO

% Programa prototipo de base de datos relacional % Compilado octubre de 1989 - (c) Carlos Reynoso, U.B.A.-CONICET % code=3000 para trace nowarnings domains file = maniobra pcia,part,ndoc,sitio,anio,public = integer lisitio = sitio* lisnombre = nom* docum = ndoc* nom,datos,autor,texto,volnumpag,edit,espec = string lista=string* elemento=string database - basedatos cs(pcia,part,sitio,lisnombre,docum) tx(ndoc,autor,texto,public,volnumpag,anio,edit,espec,lisitio) doc(sitio,ndoc,datos) database - auxi regau(ndoc,autor,anio) include "tdoms.pro" include "tpreds.pro" include "menu.pro" predicates autores autorindiv buclautor buescriaut(lista) bucleprin(integer) buclescri(lista) buclesecu(integer,integer) cp(integer,string) descomponer(pcia,part,lisnombre) elimdup(lista,lista) esclinum(docum) esclista(lisnombre) hacerlista(docum) hacerlisit(lisitio) hacerlisnom(lisnombre) ingresar(integer) inicio insert(elemento,lista,lista) listar listadocu(sitio) miembro(elemento,lista) miembron(nom,lisnombre) organico(integer) preingresar preinicio prelistar rutdocu(sitio) rutina(integer) rutlis(integer) salvar seleccion sigue(pcia,part) siguesitio(pcia,part,sitio) sitiodepto sitiopro

sort(lista,lista) goal preinicio. clauses preinicio :- trace(off), makewindow(1,7,4," Sitios arqueológicos con arte rupestre", 0,0,24,80), inicio. inicio :- menu(3,25,7,19, ["A. Cargar datos de disco", "B. Guardar datos en archivo ", "C. Actualizar base de datos", "D. Listados diversos", "Q. Quit"], " Selección principal ",0,I), rutina(I),!,clearwindow,inicio. inicio :- !,exit. rutina(1) :- consult("sitios.dba",basedatos). rutina(2) :- salvar. rutina(3) :- preingresar. rutina(4) :- prelistar. rutina(5) :- clearwindow,removewindow,exit. preingresar :- menu(3,22,7,19, ["A. Actualizar Registro de Sitios ", "B. Actualizar Registro Bibliográfico ", "Q. Quit"], " Ingreso de Datos ",0,I), ingresar(I),!,clearwindow,inicio. preingresar. ingresar(1) :- clearwindow, write("Provincia : "),readint(P), cp(P,PPPP),write(PPPP),nl, write("Partido : "),readint(Pa), write("Sitio : "),readint(S),nl, write("Nombre/s : "),hacerlisnom(N),nl, write("Documento : "),hacerlista(Doc),nl, rutdocu(S), makewindow(2,7,4," Descripcion del sitio / F10=fin ",12,0,8,80), edit("",Texto), removewindow, str_int(TN,S),concat(TN,".doc",SS), file_str(SS,Texto), assert(cs(P,Pa,S,N,Doc), basedatos), !,ingresar(1). ingresar(1). ingresar(2) :- write("N.doc : "),readint(ND), write("Autor : "),readln(A), write("Texto : "),readln(T), write("Publicación/0 {Nº cod.} : "),readint(P), write("Volumen, Número, Páginas: "),readln(VNP), write("Año : "),readint(AN), write("Datos Editoriales : "),readln(ED), write("Especificaciones : "),readln(ESP), write("Sitios: "),hacerlisit(SI), assert(tx(ND,A,T,P,VNP,AN,ED,ESP,SI),basedatos), !,clearwindow, ingresar(2).

Page 425: Antropologia y Programacion Logica

425

ingresar(2). rutdocu(S) :- write("Especificar Documento (Nº) : "), readint(Ndoc), write("Página, Ilustraciones, Cartografía : "), readln(X), assert(doc(S,Ndoc,X), basedatos), fail. rutdocu(_). prelistar :- clearwindow, menu(3,16,7,19, ["A. Datos por Provincia, detalle por sitio", "B. Todos los sitios de una provincia", "C. Datos por Departamento, detalle por sitio ", "D. Todos los sitios de un departamento", "E. Datos por Sitio Individual", "F. Autores", "G. Bibliografía por Autor (*)", "H. Sitios por Autor (*)", "I. Listado Total de Sitios (*)", "Q. Quit"], " Opción Listado ",0,I), rutlis(I),!,clearwindow,prelistar. prelistar. rutlis(1) :- listar. rutlis(2) :- sitiopro. rutlis(3) :- write("Falta programar"), readchar(_). rutlis(4) :- sitiodepto. rutlis(5) :- write("Sitio : "), readint(S), cs(P,Pa,S,_,_), siguesitio(P,Pa,S). rutlis(6) :- autores. rutlis(7) :- autorindiv. rutlis(8) :- write("Falta programar"), readchar(_). rutlis(9) :- write("Falta programar"), % listado total sitios readchar(_). rutlis(10) :- !,inicio. autorindiv :- makewindow(2,7,4," Listado de Autores ",0,0,24,80), openwrite(maniobra,"manio.dat"), writedevice(maniobra), buclautor, closefile(maniobra), file_str("manio.dat",Texto), display(Texto), writedevice(screen). buclautor :- tx(Ndoc,AU,_,_,_,Anio,_,_,_), assert(regau(Ndoc,AU,Anio),auxi), fail. buclautor :- findall(AU, regau(_,AU,_), LISTAU), elimdup(LISTAU,LI), retractall(regau(_,_,_),auxi), sort(LI,LIORDE), buescriaut(LIORDE). buescriaut(LIORDE) :-

miembro(X,LIORDE), write("%-35",X), fail. buescriaut(_). sitiopro :- clearwindow, organico(P), clearwindow, cp(P,Titulo), concat("Listado de Sitios de la Provincia de ",Titulo,XTIT), makewindow(2,7,4,XTIT,0,0,24,80), openwrite(maniobra,"manio.dat"), writedevice(maniobra), bucleprin(P), closefile(maniobra), file_str("manio.dat",Texto), display(Texto), writedevice(screen), removewindow. sitiodepto :- clearwindow, organico(P), write("Deptartamento / Partido : "),readint(D), clearwindow, cp(P,Titulo), concat("Listado de Sitios de la Provincia de ",Titulo,XTIT), makewindow(2,7,4,XTIT,0,0,24,80), openwrite(maniobra,"manio.dat"), writedevice(maniobra), buclesecu(P,D), closefile(maniobra), file_str("manio.dat",Texto), display(Texto), writedevice(screen), removewindow. buclesecu(P,D) :- cs(P,D,_,Lisnombre,_), descomponer(P,D,Lisnombre), fail. buclesecu(_,_). organico(P) :- menu(2,25,7,19, ["1. Buenos Aires", "2. Catamarca", "3. Córdoba", "4. Corrientes", "5. Chubut", "6. Jujuy", "7. La Pampa", "8. La Rioja", "9. Mendoza", "10. Neuquén", "11. Río Negro", "12. Salta", "13. San Juan", "14. San Luis", "15. Santa Cruz", "16. Santiago del Estero ", "17. Tucumán", "Q. Quit"], " Escoger Provincia ",0,P). bucleprin(P) :- cs(P,Part,_,Lisnombre,_), descomponer(P,Part,Lisnombre), fail. bucleprin(_). descomponer(P,Part,Lisnombre) :- miembron(X,Lisnombre), writef("%-3 %-25",Part,X),nl, fail. descomponer(_,_,_). autores :- clearwindow, makewindow(2,7,4," Listado de Autores ",1,40,22,39), openwrite(maniobra,"manio.dat"),

Page 426: Antropologia y Programacion Logica

426

writedevice(maniobra), seleccion, closefile(maniobra), file_str("manio.dat",Texto), writedevice(screen), display(Texto), removewindow. autores. seleccion :- findall(Autor, tx(_,Autor,_,_,_,_,_,_,_), Lisautor), elimdup(Lisautor, Lislimpia), sort(Lislimpia, Lisorde), buclescri(Lisorde). buclescri(Lisorde) :- miembro(X,Lisorde), write(X),nl, fail. buclescri(_). listar :- clearwindow, organico(P), cp(P,PPPP),write(" ",PPPP),nl, write("Partido : "),readint(Pa), sigue(P,Pa). sigue(P,Pa) :- !,cs(P,Pa,S,N,Doc), write("Nombre/s : "),nl,esclista(N),nl, write("Documentos : "),esclinum(Doc),nl, listadocu(S), readchar(_), makewindow(2,7,4," Descripción del sitio ",13,0,8,80), str_int(TN,S),concat(TN,".doc",SS), file_str(SS,Texto), display(Texto), removewindow, readchar(_),clearwindow,fail. sigue(_,_) :- removewindow, !,prelistar. siguesitio(P,Pa,S) :- cs(P,Pa,S,N,Doc), write("Nombre/s : "), nl,esclista(N),nl, write("Documentos : "), esclinum(Doc),nl, listadocu(S), readchar(_), makewindow(2,7,4, " Descripción del sitio / Esc=fin ", 14,0,11,80), str_int(TN,S),concat(TN,".doc",SS), file_str(SS,Texto), display(Texto), clearwindow, removewindow, !,prelistar. siguesitio(_,_,_). listadocu(S) :- doc(S,Ndoc,X), write("Especificación Documento : ",Ndoc," ",X), nl, fail. listadocu(_).

salvar :- save("sitios.dba",basedatos). hacerlista([Cabeza|Cola]) :- readint(Cabeza), Cabeza <> 0, !, hacerlista(Cola). hacerlista([]). hacerlisit([Cabeza|Cola]) :- readint(Cabeza), Cabeza <> 0, !, hacerlisit(Cola). hacerlisit([]). hacerlisnom([Cabeza|Cola]) :- readln(Cabeza), Cabeza <> "",!, hacerlisnom(Cola). hacerlisnom([]). miembron(X,[Cabeza|Cola]) :- Cabeza=X. miembron(X,[_|Cola]) :- miembron(X,Cola). elimdup([],[]) :- !. elimdup([H|T],T1) :- miembro(H,T), !, elimdup(T,T1). elimdup([H|T],[H|T1]) :- elimdup(T,T1). esclinum([]). esclinum([H|T]) :- write(H," - "), esclinum(T). esclista([]). esclista([H|T]) :- write(H),nl, esclista(T). cp(1,"Buenos Aires"). cp(2,"Catamarca"). cp(3,"Cordoba"). cp(4,"Corrientes"). cp(5,"Chubut"). cp(6,"Jujuy"). cp(7,"La Pampa"). cp(8,"La Rioja"). cp(9,"Mendoza"). cp(10,"Neuquen"). cp(11,"Rio Negro"). cp(12,"Salta"). cp(13,"San Juan"). cp(14,"San Luis"). cp(15,"Santa Cruz"). cp(16,"Santiago del Estero"). cp(17,"Tucuman").

Page 427: Antropologia y Programacion Logica

427

4) SIMULA.PRO

Este modelo de simulación, a diferencia de los otros pro-

gramas del apéndice, despliega prestaciones gráficas originadas en los propios predicados del lenguaje Prolog. Los objetivos del modelo ya fueron expuestos en la sección correspondiente; aquí sólo cabe describir a grandes rasgos las estrategias de resolución y las heurísticas que más tienen que ver con las propiedades de la signatura. El listado adjunto no se refiere al modelo definitivo sino a una especie de modelo de un modelo de simulación posible, a los efectos de familiarizarnos con la especie y con las capacidades específicas del lenguaje.

El usuario que interactúa con un modelo de simulación (a) presencia las consecuencias de su descripción del estado de cosas y de las leyes que rigen el sistema, (b) participa del comportamiento del pro-grama modulando en tiempo de ejecución algunas variables incidentes y (c) obtiene información que puede ser la misma que se introdujo al principio, variadamente interrelacionada o recalculada, o que puede ser también información nueva, producida por los algoritmos computa-cionales. Estos algoritmos son por ahora aproximativos o directamente aleatorios, aunque el modelo es plenamente funcional. El núcleo algorít-mico del programa es el procedimiento que hemos llamado proyeccion, pues esa función predictiva es, en último análisis, la finalidad genérica del modelo. Con escasas alteraciones se puede adaptar el motor del mo-delo a otros conjuntos de datos y a otros principios algorítmicos de com-portamiento e interacción.

Debido a que la tipificación de las instancias modélicas se encuentra aún en estado incipiente, nos ha parecido adecuado proponer cuatro modalidades de simulación, entre las que puede optarse conforme al predicado menu. Llamamos a esas modalidades simulación concep-tual, gráfica, analógica e icónica, y esta es la formulación donde se las caracteriza con vistas a su explotación futura.

La simulación conceptual es aquí, dada la orientación del modelo, equivalente a un comportamiento puramente cuantitativo: en ella el programa arroja cifras resultantes de las operaciones de cálculo, a lo largo de ciclos que corresponden a las magnitudes periódicas que se especifiquen. Se puede graduar linealmente la escala del tiempo real, a fin de que un lapso de ejecución corresponda a tiempos virtuales más o menos largos, acelerando o deteniendo la sucesión de los ciclos, cuya naturaleza (años, días, siglos) es asimismo mutable. De más está decir que, por una curiosa inversión, el tiempo real es el de la computación del sistema, en tanto que el tiempo virtual es el tiempo transcurrido en la realidad que el sistema encarna.

La simulación gráfica se inspira en el uso computacional de ese término, que no se refiere en general a representaciones plásticas si-no a modalidades convencionales de graficación estadística populariza-das por las planillas electrónicas de tipo Lotus 123: esquemas de co-ordenadas XY, pasteles, barras, barras superpuestas, campos y líneas. Una ligera modificación de los procedimientos permite derivar a un ar-chivo de texto ASCII los resultados, a fin de tratarlos en spreadsheets o en programas graficadores como Quattro Pro o Harvard Graphics, respectivamente. Los mismos datos se pueden volcar en un gráfico de las características que se quieran. Al final del programa y en su carátula se incluyen tres planillas gráficas obtenidas de este modo, que ilustran la excelencia de la calidad de edición que puede lograrse con una modesta impresora de puntos. Esta parte del programa produce gráficos de barras laterales, que son los que permiten apreciar las diferencias cuantitativas más sutiles, habida cuenta de la relación entre ancho y alto del display. La pantalla de simulación gráfica incluye una especie de reloj esque-mático (proyectado por el predicado pieslice, literalmente "tajada de pastel") que trasunta, junto con los eductos del procedimiento tiempo, la relación entre el minuto real y el tiempo virtual transcurrido. Una estrecha franja de pantalla denota, mediante puntos de color codificado, la depositación o desaparición de los elementos.

La simulación analógica genera, al lado de las cifras básicas, campos de puntos gráficos o pixels ("picture elements"), cada cual con un color codificado de acuerdo con los tipos a los que representen. A ese efecto se han previsto dos secciones de pantalla, la una amplia y dispersa y la otra estrecha y concentrada, que permiten evaluar intuitivamente la evolución del sistema en dos escalas simultáneas.

La simulación icónica representa cada entidad conceptual con un símbolo gráfico distinto (círculos, elipses, semicírculos, rectán-gulos, barras, polígonos), que pueden incluso intentar aproximarse a la configuración corporal de los elementos en juego. Este tipo de sistema permite acceder a una escenificación bastante realista de los procesos, incluyendo por ejemplo tramas de topografía, sedimentación, erosión paulatina, etcétera. En el listado que sigue los dibujos son sencillos, y se satisfacen con predicados preconstruidos tales como bar, circle, ellipse, pieslice o polygon. Nada impide trazar pinturas más complejas, asocia-das a procedimientos paramétricos que posean por clave el nombre del elemento denotado. Existen algunas limitaciones impuestas por el uso de la interface BGI: no se puede, entre otras cosas, obtener una copia im-presa de la pantalla móvil; para ello hay que utilizar un programa exter-no de captura de imágenes, y procesar los datos capturados fuera del programa. Es de esperar que estas limitaciones se esfumen al compás de la evolución tecnológica.

Hemos procurado que las secciones y heurísticas del progra-ma se atengan a rótulos de valor conceptual. Las cláusulas nombradas con el prefijo conmuta, en las secciones gráficas del programa, por e-jemplo, están asociadas a la intervención activa del usuario para trans-formar cierto estado de cosas o para obtener determinada información apenas pulsada una tecla. Si el usuario presiona el caracter "D" obtiene una tabla de densidades que se superpone a los dibujos sin alterarlos; si presiona "R", en cambio, produce efectos de desaparición de elementos al azar. El resto de las funciones se explica por sí solo.

Es de hacer notar que el presente modelo de simulación, comparable a otros que son corrientes en la bibliografía especializada, corresponde al estado de un sistema computacional emergente de unas pocas horas de programación efectiva (digamos unas diez, con generosos interludios). Por lo que nos consta, en ningún otro lenguaje podría lograrse lo mismo en un tiempo semejante.

% Modelo de simulación SIMULA.PRO % Programado por Carlos Reynoso, 1990-91 % Incluye prestaciones gráficas según interface BGI code=1600 nowarnings domains caso,mne,periodo,ftit,coltit,fres,colres = integer dens = real def = symbol n = integer include "tdoms.pro" include "tpreds.pro" include "menu.pro" include "grapdecl.pro" database t(n,n,n) tx(n,def,dens) tt(n,def,dens) predicates analogica

Page 428: Antropologia y Programacion Logica

428

bucledens(n) cambio cambio2 ciclo(n,n) cicloconc(periodo,caso) cicloicon(n,n) cicloanalog(n,n) conmuta(char,n,n) conmutagraf(char,n,n) conmutanalog(char,n,n) d(caso,def,mne) densidad dur(dens,periodo) figura(n,n,n) grafica iconica inicio(periodo) menues p(def,ftit,coltit,fres,colres) pantalla pantalla2(caso) per(caso,periodo) prepara proceso(integer) proyeccion(periodo,caso) simbolos tiempo(integer,integer) goal menues. clauses menues :- makewindow(1,7,14," Modelo de Simulación ",0,0,24,80), menu(6,26,7,4, ["C. Simulación conceptual ", "G. Simulación gráfica", "A. Simulación analógica", "I. Simulación icónica", "-------------------------", "T. Tratamiento de datos", "Q. Finalizar"], " Procesos ",1,OPCION), proceso(OPCION),!, menues. menues :- clearwindow, removewindow(1,1), exit. proceso(1) :- inicio(1). proceso(2) :- prepara, grafica, ciclo(1,1). proceso(3) :- prepara, analogica, cicloanalog(1,1). proceso(4) :- prepara, iconica, cicloicon(1,1). proceso(5). proceso(6). % falta programar proceso(7) :- clearwindow, exit. inicio(Z) :- clearwindow, write(" d = modula densidad"), write(" / p = pausa "), write("/ q = finalizar"), pantalla, densidad, cursor(17,40), write("Caso (1/2) : "), readint(CASO), pantalla2(CASO), cursor(18,40), write("Proyección : ",Z), readchar(_),

cicloconc(Z,CASO). pantalla :- p(DEF,FTIT,COLTIT,_,_), cursor(FTIT,COLTIT), write(DEF), fail. pantalla. pantalla2(CASO) :- p(DEF,_,_,FINI,CINI), d(CASO,DEF,INI), cursor(FINI,CINI), write(INI), fail. pantalla2(_). densidad :- p(DEF,_,_,FINI,CINI), tx(_,DEF,DENSI), FDENS = FINI, CDENS = CINI-6, cursor(FDENS,CDENS), writef("%-1.2",DENSI), fail. densidad. cicloconc(Z,CASO) :- not(keypressed), proyeccion(Z,CASO), Y=Z+15, !, cicloconc(Y,CASO). cicloconc(Z,CASO) :- readchar(C), upper_lower(CC,C), CC='D', cambio,!,cicloconc(Z,CASO). cicloconc(Z,CASO) :- readchar(C), upper_lower(CC,C), CC='P',readchar(_), !,cicloconc(Z,CASO). cicloconc(Z,CASO) :- !,menues. proyeccion(Z,CASO) :- d(CASO,B,X), tx(_,B,De), per(CASO,N), Y = (X*Z) / N, H = (0.57 * Z) / (De * 180), W = Y - H, p(B,_,_,FRES,COLRES), cursor(FRES,COLRES), WW = trunc(W), write(WW), cursor(18,53), write(Z), fail. proyeccion(_,_). cambio :- tx(N,DEF,DENS), DENSNU = DENS*0.9, retract(tx(N,DEF,DENS)), assert(tt(N,DEF,DENSNU)), fail. cambio :- retractall(tx(_,_,_)), cambio2.

Page 429: Antropologia y Programacion Logica

429

cambio2 :- tt(N,DEF,DENS), assert(tx(N,DEF,DENS)), fail. cambio2 :- retractall(tt(_,_,_)), densidad. % preparacion general para todos los modelos bgi prepara :- initgraph(detect,0,GraphDriver,GraphMode,"..\\bgi"), settextstyle(small_font,0,0), line(98,0,98,291), line(601,0,601,291), line(624,0,624,291), outtextxy(5,0,"Mandibula"), outtextxy(5,10,"Atlas"), outtextxy(5,20,"Axis"), outtextxy(5,30,"Cervical"), outtextxy(5,40,"Toracica"), outtextxy(5,50,"Lumbar"), outtextxy(5,60,"Sacro"), outtextxy(5,70,"Costillas"), outtextxy(5,80,"Escapula"), outtextxy(5,90,"Humero px"), outtextxy(5,100,"Humero distal"), outtextxy(5,110,"Radioulna px"), outtextxy(5,120,"Radioulna distal"), outtextxy(5,130,"Carpo"), outtextxy(5,140,"Metacarpo px"), outtextxy(5,150,"Metacarpo distal"), outtextxy(5,160,"Pelvis"), outtextxy(5,170,"Femur px"), outtextxy(5,180,"Femur distal"), outtextxy(5,190,"Tarso"), outtextxy(5,200,"Tibia px"), outtextxy(5,210,"Tibia distal"), outtextxy(5,220,"Metatarso px"), outtextxy(5,230,"Metatarso distal"), outtextxy(5,240,"f1"), outtextxy(5,250,"f2"), outtextxy(5,260,"f3"), outtextxy(5,270,"Astragalo"), outtextxy(5,280,"Calcaneo"), rectangle(545,313,692,342), outtextxy(550,316,"Tiempo real > Ciclo"), rectangle(0,0,700,292). grafica :- settextstyle(default_font,0,1), % letra mediana outtextxy(0,300, "SIMULA ** COMANDOS: Q=quit B=blanquear P=pausa D=densidad"), settextstyle(default_font,0,2), % letra grande para carteles line(645,0,645,291), outtextxy(0,320,"* Modelo de Simulacion Grafica *"). analogica :- settextstyle(default_font,0,1), outtextxy(0,300, "SIMULA ** COMANDOS: Q=quit S|B=blanquear P=pausa D=densidad R=random"), settextstyle(default_font,0,2), outtextxy(0,320,"* Modelo de Simulacion Analogica *"). iconica :- settextstyle(default_font,0,1), outtextxy(0,300,

"SIMULA ** COMANDOS: Q=quit S|B=blanquear P=pausa D=densidad R=random"), line(120,0,120,291), simbolos, settextstyle(default_font,0,2), outtextxy(0,320,"* Modelo de Simulacion Iconica *"). % simulacion de ciclos graficos ciclo(N,Z) :- not(keypressed), random(500,XX), X=XX+100, t(N,Y,FS), YY=Y+10, NN=N+1,NN<31, setfillstyle(0,0), bar(100,Y,600,YY), setfillstyle(FS,4), bar(100,Y,X,YY), settextstyle(small_font, 0,0), str_int(XXX,XX), YB=Y+10, setfillstyle(0,0), bar(604,Y,620,YB), outtextxy(604,Y,XXX), YN=YB-Y, % pixels random(19,RX),random(YN,RY),random(15,COLOR), PX=625+RX, PY=Y+RY, putpixel(PX,PY,COLOR), !,ciclo(NN,Z). ciclo(NN,Z) :- not(keypressed), settextstyle(default_font,0,1), ZZ=Z+1, tiempo(ZZ,S), setfillstyle(0,0), fillellipse(670,30,20,20), setfillstyle(9,4), SSS=175-((S*6)+90), pieslice(670,30,90,SSS,20), settextstyle(small_font,0,0), !, ciclo(1,ZZ). ciclo(NN,Z) :- readchar(C), upper_lower(CC,C), conmutagraf(CC,NN,Z). conmutagraf('B',NN,Z) :- setfillstyle(0,0), bar(625,1,644,290), !, ciclo(1,Z). conmutagraf('P',NN,Z) :- readchar(_), !, ciclo(NN,Z). conmutagraf('D',NN,Z) :- settextstyle(small_font,0,0), getimage(102,1,128,290,Buffer), setfillstyle(0,0), bar(102,1,128,290), bucledens(1), readchar(_), putimage(102,1,Buffer,0), !, ciclo(NN,Z). conmutagraf(_,_,_) :- closegraph,!,menues. tiempo(ZZ,S) :- str_int(ST,ZZ), time(H,M,S,_), str_int(SH,H),

Page 430: Antropologia y Programacion Logica

430

str_int(SM,M), str_int(SS,S), concat(SH,":",HH), concat(HH,SM,HM), concat(HM,":",HMM), concat(HMM,SS,HMS), concat(HMS," -> ",PRE), concat(PRE,ST,FIN), setfillstyle(0,0), bar(550,330,690,340), outtextxy(550,330,FIN). % simulacion analogica cicloanalog(N,Z) :- not(keypressed), random(500,XX), X=XX+100, t(N,Y,FS), YY=Y+10, NN=N+1,NN<31, settextstyle(small_font, 0,0), str_int(XXX,XX), YB=Y+10, setfillstyle(0,0), bar(604,Y,620,YB), outtextxy(604,Y,XXX), random(497,RX), random(290,RY), PX=103+RX, PY=RY+2, putpixel(PX,PY,N), random(73,CONX), CX=625+CONX, % antes 625 putpixel(CX,PY,N), !,cicloanalog(NN,Z). cicloanalog(NN,Z) :- not(keypressed), settextstyle(default_font,0,1), ZZ=Z+1, tiempo(ZZ,S), settextstyle(small_font,0,0), !, cicloanalog(1,ZZ). cicloanalog(NN,Z) :- readchar(C), upper_lower(CC,C), conmutanalog(CC,NN,Z). conmutanalog('B',NN,Z) :- setfillstyle(0,0), bar(625,1,698,290), !, cicloanalog(1,Z). conmutanalog('S',NN,Z) :- setfillstyle(0,0), bar(99,1,600,290), !, cicloanalog(1,Z). conmutanalog('P',NN,Z) :- readchar(_), !, cicloanalog(NN,Z). conmutanalog('R',NN,Z) :- random(450,X),random(270,Y), XX=X+122,YY=Y+2,X20=XX+20,Y20=Y+20, setfillstyle(0,0), bar(XX,YY,X20,Y20), !, cicloanalog(NN,Z). conmutanalog('D',NN,Z) :- settextstyle(small_font,0,0), getimage(102,1,128,290,Buffer), setfillstyle(0,0), bar(102,1,128,290), bucledens(1),

readchar(_), putimage(102,1,Buffer,0), !, cicloanalog(NN,Z). conmutanalog(_,_,_) :- closegraph,!,menues. bucledens(N) :- t(N,Y,_), tx(N,_,D), str_real(ST,D), outtextxy(104,Y,ST), NN=N+1,!,bucledens(NN). bucledens(_). % simulacion iconica cicloicon(N,Z) :- not(keypressed), random(498,XX), X=XX+120, t(N,Y,FS), YY=Y+10, NN=N+1,NN<31, settextstyle(small_font, 0,0), str_int(XXX,XX), YB=Y+10, setfillstyle(0,0), bar(604,Y,620,YB), outtextxy(604,Y,XXX), random(470,RX), random(286,RY), PX=124+RX, PY=RY+2, figura(N,PX,PY), random(67,CONX), CX=628+CONX, figura(N,CX,PY), !,cicloicon(NN,Z). cicloicon(NN,Z) :- not(keypressed), settextstyle(default_font,0,1), ZZ=Z+1, tiempo(ZZ,S), settextstyle(small_font,0,0), !, cicloicon(1,ZZ). cicloicon(NN,Z) :- readchar(C), upper_lower(CC,C), conmuta(CC,NN,Z). conmuta('B',NN,Z) :- setfillstyle(0,0), bar(625,1,698,290), !, cicloicon(1,Z). conmuta('S',NN,Z) :- setfillstyle(0,0), bar(121,1,600,290), !, cicloicon(1,Z). conmuta('D',NN,Z) :- settextstyle(small_font,0,0), getimage(102,1,128,290,Buffer), setfillstyle(0,0), bar(102,1,128,290), bucledens(1), readchar(_), putimage(102,1,Buffer,0), !, cicloicon(NN,Z). conmuta('R',NN,Z) :- random(450,X),random(270,Y), XX=X+122,YY=Y+2,X20=XX+20,Y20=Y+20, setfillstyle(0,0), bar(XX,YY,X20,Y20),

Page 431: Antropologia y Programacion Logica

431

!, cicloicon(NN,Z). conmuta('P',NN,Z) :- readchar(_), !, cicloicon(NN,Z). conmuta(_,_,_) :- closegraph,!,menues. figura(N,X,Y) :- N<5, circle(X,Y,3). figura(N,X,Y) :- N>4,N<9, setfillstyle(1,1), pieslice(X,Y,0,180,3). figura(N,X,Y) :- N>8,N<18, X3=X+3,Y3=Y+3, rectangle(X,Y,X3,Y3). figura(N,X,Y) :- N>17,N<25, random(15,CO), setfillstyle(1,CO), X3=X+3,Y3=Y+3, bar(X,Y,X3,Y3), setfillstyle(0,0). figura(N,X,Y) :- N>24, Y3=Y-3, settextstyle(small_font,0,0), outtextxy(X,Y3,"x"). simbolos :- t(N,Y,_), figura(N,108,Y), fail. simbolos :-!. /*********************** Base de conocimientos *********************/ % pantalla grafica n,y,fs t(1,1,1). t(2,10,2). t(3,20,3). t(4,30,4). t(5,40,5). t(6,50,6). t(7,60,7). t(8,70,8). t(9,80,9). t(10,90,10). t(11,100,11). t(12,110,1). t(13,120,2). t(14,130,3). t(15,140,4). t(16,150,5). t(17,160,6). t(18,170,7). t(19,180,8). t(20,190,9). t(21,200,10). t(22,210,11). t(23,220,1). t(24,230,2). t(25,240,3). t(26,250,4). t(27,260,5). t(28,270,6). t(29,280,7). % caso d(1,mandibula,3). d(1,atlas,9). d(1,axis,5). d(1,cervical,12). d(1,toracica,3). d(1,lumbar,6). d(1,sacro,4). d(1,costillas,8). d(1,escapula,9). d(1,humero_px,5). d(1,humero_distal,7). d(1,radioulna_px,6). d(1,radioulna_ds,2). d(1,carpo,2). d(1,metacarpo_px,2). d(1,metacarpo_ds,0). d(1,pelvis,4). d(1,femur_px,2).

d(1,femur_ds,4). d(1,tarso,4). d(1,tibia_px,2). d(1,tibia_ds,8). d(1,metatarso_px,2). d(1,metatarso_ds,0). d(1,f1,2). d(1,f2,0). d(1,f3,0). d(1,astragalo,4). d(1,calcaneo,5). d(2,mandibula,1). d(2,atlas,0). d(2,axis,1). d(2,cervical,5). d(2,toracica,0). d(2,lumbar,1). d(2,sacro,1). d(2,costillas,5). d(2,escapula,0). d(2,humero_px,0). d(2,humero_distal,2). d(2,radioulna_px,1). d(2,radioulna_ds,3). d(2,carpo,1). d(2,metacarpo_px,0). d(2,metacarpo_ds,0). d(2,pelvis,1). d(2,femur_px,1). d(2,femur_ds,1). d(2,tarso,1). d(2,tibia_px,1). d(2,tibia_ds,0). d(2,metatarso_px,0). d(2,metatarso_ds,0). d(2,f1,3). d(2,f2,0). d(2,f3,0). d(2,astragalo,0). d(2,calcaneo,0). % tabla de densidad tx(mandibula,0.57). tx(atlas,0.13). tx(axis,0.16). tx(cervical,0.19). tx(toracica,0.24). tx(lumbar,0.29). tx(sacro,0.19). tx(costillas,0.40). tx(escapula,0.36). tx(humero_px,0.24). tx(humero_distal,0.39). tx(radioulna_px,0.42). tx(radioulna_ds,0.43). tx(metacarpo_px,0.56). tx(metacarpo_ds,0.49). tx(pelvis,0.27). tx(femur_px,0.36). tx(femur_ds,0.28). tx(tarso,0.39). tx(tibia_px,0.30). tx(tibia_ds,0.50). tx(metatarso_px,0.55). tx(metatarso_ds,0.46). tx(f1,0.42). tx(f2,0.25). tx(f3,0.25). tx(astragalo,0.47). tx(calcaneo,0.64). % periodo per(1,15). per(2,15). % duracion dur(0.57,180). % pantalla(elemento,ftit,coltit,fres,colres) p(mandibula,2,2,2,23). p(atlas,3,2,3,23). p(axis,4,2,4,23). p(cervical,5,2,5,23). p(toracica,6,2,6,23). p(lumbar,7,2,7,23). p(sacro,8,2,8,23). p(costillas,9,2,9,23). p(escapula,10,2,10,23). p(humero_px,11,2,11,23). p(humero_distal,12,2,12,23). p(radioulna_px,13,2,13,23). p(radioulna_ds,14,2,14,23). p(carpo,15,2,15,23). p(metacarpo_px,16,2,16,23). p(metacarpo_ds,17,2,17,23). p(pelvis,18,2,18,23). p(femur_px,19,2,19,23). p(femur_ds,20,2,20,23). p(tarso,2,40,2,61). p(tibia_px,3,40,3,61). p(tibia_ds,4,40,4,61). p(metatarso_px,5,40,5,61). p(metatarso_ds,6,40,6,61). p(f1,7,40,7,61). p(f2,8,40,8,61). p(f3,9,40,9,61). p(astragalo,10,40,10,61). p(calcaneo,11,40,11,61).

Page 432: Antropologia y Programacion Logica

432

5A) AGENI3.PRO

/* Maquina de inferencia c/base de datos dinamica para sistema experto Programada por C. Reynoso, febrero de 1988 - Revision dic/1990 Incluye inferencias aproximadas, seguimiento de casos sin solución, omisión de reglas excluyentes, tratamiento de similitudes explicación de hipótesis y consulta por menúes. */ % Definir stack=1500 diagnostics nowarnings nobreak code = 3310 % con trace 5600 DOMAINS Historia = Rnumero* Rnumero, Bnumero, FNO = INTEGER Factor = REAL Categoria = SYMBOL archivo_datos = string file = maniobra slist = string* numlista = integer* include "tdoms.pro" include "tpreds.pro" include "menu.pro" include "longmenx.pro" DATABASE - principal archivo_datos(archivo_datos) asunto(string) cons(Categoria,STRING) cond(Bnumero,STRING) excluyentes(integerlist) regla(Rnumero,Categoria,Categoria,integerlist) similares(integerlist) DATABASE - maniobra confianza(Bnumero,real) e(string,integerlist) grama(string) interm(Bnumero,STRING) no(Bnumero) posible(Bnumero,Factor) preframe(integer,string) si(Bnumero) reglalimbo(Rnumero,Categoria,Categoria,integerlist) tabla(integer,Categoria) toggle yacaso(integer,Categoria) yanum(integer) yasim(Categoria) database - setup v(integer,integer,integer) predicates /* Comandos, heurísticas y procedimientos */ abducciones(Categoria) actual(integer)

actualiza alarma asertsim(Bnumero) borrar bucle(string,string,integer,Categoria) buclecons(string,string,Categoria,Categoria) calculo(integerlist,Factor,Real) carga_conoc chance ciclalarma(integer) compara(string,string,string,integer,Categoria) comparacons(string,string,string,Categoria,Categoria) comparar(integer) componer(integerlist) condiciones(integer) correcto(string) cuestion(integer,string) derivaciones(Categoria) desc dev(integer,string) elegida(integer,string) errocons esclista(integerlist) evalrespu(integer,Categoria) evaluar(real,string) expresion(string) frames frase(string) hacelis(integer,integerlist) helper imagen imposible imprime ingresa(Categoria) insert(integer,integerlist,integerlist) interrogatorio limpieza listafinal longlista(integerlist,integer) loop memoria(Categoria,integerlist) miembro(integer,integerlist) miembresp(integer,integerlist) ok parecidos(Categoria) precomparar preframes(integer) preframes_2 pregunta_inicial(string) procedimiento proceso(integer) proselec(integer,Categoria) proselesp(integer,Categoria) prosetup(integer) purificar(Bnumero) raya(integer) recomparcial recomponer relacionadas relaciones reverse(integerlist,integerlist) reverse1(integerlist,integerlist,integerlist) rutoken(string) rusubtoken(string) ruconsetoken(string) rucontoken(string) setup sintagma(integer,string) sintesis(Categoria) subraya(integer) superconjuntos(Categoria)

Page 433: Antropologia y Programacion Logica

433

tokenizar totalizar(real) vacio /* Mecanismos de inferencia */ abduccion(Historia,Categoria) dudas(Categoria) generar_respuesta(Historia,Rnumero,STRING,Bnumero,INTEGER) incertidumbres(Categoria) inpq(Historia,Rnumero,Bnumero,STRING) notest(Bnumero) verificacion(Rnumero,Historia,integerlist) /* Explicaciones */ mostrar_cond(Bnumero,string) mostrar_condiciones(integerlist,string) mostrar_regla(Rnumero,string) pregunta(Categoria,integer,integer,Categoria) sub_cat(Categoria,Categoria,Categoria) trayectoria(Historia,string) /* Actualizar el conocimiento */ edicion guarda_basecon leercondl( integerlist ) obten_rnumero(Rnumero,Rnumero) obten_bnumero(Bnumero,Bnumero) obt_condic(Bnumero,STRING) salva(integer) salvar_s(integer,string,archivo_datos) goal trace(off), consult("setup.dbx", setup), v(1,A,B), makewindow(1,A,B, " Sistema experto con base dinámica - (c) C.Reynoso 1990", 0,0,24,80), v(2,C,D), makewindow(2,C,D," Explicaciones ",10,1,13,78), v(3,E,F), makewindow(3,E,F, " Actualización de Conocimientos (Esc:fin - ?:help) ", 1,1,22,78), v(5,G,H), makewindow(5,G,H, " Casos no resueltos - Soluciones parciales ",1,1,22,78), v(6,I,J), makewindow(6,I,J, " Definiciones (PgUp, PgDn, Ctl-PgDn, Ctl-PgUp, Ctl- F3=Search, Esc=Quit) ", 1,1,22,78), v(7,K,L), makewindow(7,K,L," Diagnosis y evaluación ",1,1,22,78), v(8,M,N), makewindow(8,M,N, " Listados (PgUp, PgDn, Ctl-PgDn, Ctl-PgUp, Ctl-F3=Search, Esc=Quit)", 1,1,22,78), v(9,O,P), makewindow(9,O,P," Mensajes ",19,8,4,65), v(13,Q,R), makewindow(13,Q,R," Help (PgUp, PgDn, Ctl+PgDn, Ctl+PgUp, Ctl+F3=Search, Esc=Quit) ",1,1,22,78), procedimiento. clauses

/* Interface usuario */ procedimiento :- shiftwindow(1), clearwindow, menu(2,21,7,4, ["X. Cargar conocimiento", "C. Consulta *", "S. Salvar conocimiento", "M. Imagen interpretada de memoria", "A. Actualizar conocimiento *", "B. Blanquear conocimiento en memoria ", "E. Editar base", "R. Metarreglas *", "I. Imprimir base de conocimientos", "D. Describir y comparar entidades *", "T. Tokens y palabras", "-------------------------------------", "H. Help", "W. Switch alarma", "U. Setup colores", "Q. Finalizar"], " Operaciones ",1,OPCION), proceso(OPCION),!, procedimiento. procedimiento :- proceso(16). proceso(1):-!,limpieza, borrar, carga_conoc, shiftwindow(OLD),shiftwindow(9), storage(_,H,_), clearwindow, write(" >> Base de conocimientos activa en memoria. "),nl, write(" >> Quedan ",H," caracteres libres para datos."), readchar(_), shiftwindow(OLD),!. proceso(2):-!, ok, recomponer, interrogatorio. proceso(3):-!, ok, limpieza, recomponer, guarda_basecon. proceso(4):-!, ok, limpieza, recomponer, imagen. proceso(5):-!,limpieza, recomponer, actualiza. proceso(6):-!, ok, limpieza, borrar, shiftwindow(OLD),shiftwindow(9), storage(_,H,_), clearwindow, write(" >> La memoria del sistema ha sido blanqueada "),nl, write(" >> Hay ",H," caracteres libres para datos."), readchar(_), shiftwindow(OLD),!. proceso(7):-!,limpieza, edicion. proceso(8):-!,ok, limpieza, relaciones. proceso(9):-!,ok, limpieza, recomponer, imagen, imprime. proceso(10):-!,ok, limpieza,recomponer, openwrite(maniobra,"compara.dba"), closefile(maniobra),precomparar. proceso(11) :-!,ok, limpieza,recomponer, tokenizar. proceso(12):-!. proceso(13) :-!,helper. proceso(14) :-!,desc. proceso(15) :-!,setup. proceso(16):-!, removewindow(1,1), removewindow(2,1), removewindow(3,1), removewindow(5,1), removewindow(6,1), removewindow(7,1), removewindow(8,1), removewindow(9,1), removewindow(13,1), exit. /* Mecanismo de inferencia */ interrogatorio:-

Page 434: Antropologia y Programacion Logica

434

!,abducciones(Hipotesis), % corte nuevo nl,nl,abduccion([],Hipotesis),!. vacio :- !,shiftwindow(OLD), shiftwindow(9), clearwindow, write(" >> No hay información en memoria."),nl, write(" >> Cargar o actualizar base de conocimientos. "), alarma, readchar(_), shiftwindow(OLD). abducciones(Hipotesis):- !,limpieza, clearwindow, repeat,nl,nl,nl,nl, assert(tabla(1,"fin de consulta"),maniobra), proselec(1,Hipotesis),!. proselec(N,Hipotesis) :- regla(_,Categoria,_,_), not(tabla(_,Categoria)), NN=N+1, assert(tabla(NN,Categoria), maniobra), proselec(NN,Hipotesis). proselec(_,Hipotesis) :- findall(X, tabla(_,X), ESQ), longmenu(1,1,20,7,7,ESQ," Objetos ",1,OP), tabla(OP,Hipotesis). proselesp(N,Hipotesis) :- findall(Cate, regla(_,_,Cate,_), ListaCat), longmenu(1,1,20,7,15, ListaCat, " Elegir entidad ",0,Opcion), regla(Opcion,_,Hipotesis,_). evalrespu(1,Hipotesis):- write(" si."), nl,nl, retractall(yanum(_),maniobra), shiftwindow(7), openwrite(maniobra,"eval.txt"), writedevice(maniobra), sintesis(Hipotesis),nl, dudas(Hipotesis), retractall(yanum(_),maniobra), incertidumbres(Hipotesis),nl, recomponer, parecidos(Hipotesis),nl, derivaciones(Hipotesis),nl, subraya(78),nl, write("\t\t\t*** Proceso terminado ***"),nl, subraya(78), closefile(maniobra), file_str("eval.txt",ST), writedevice(screen), display(ST), shiftwindow(1),clearwindow, superconjuntos(Hipotesis),nl, limpieza, clearwindow. evalrespu(2,Hipotesis):- write(" no."), imposible, !, limpieza, procedimiento. evalrespu(_,_) :- !,proceso(2).

/* Eleccion más probable */ abduccion(_, "fin de consulta") :- limpieza, !, procedimiento. abduccion(_, Hipotesis ):- not(regla(_,Hipotesis,_,_)),!,nl, write("Es posible que sea ",Hipotesis),nl,nl, alarma, write("Es la respuesta correcta?"), menu(19,60,7,7,["Si (o posible) ","No (o dudoso)"], " Diagnóstico ",1,OP), evalrespu(OP,Hipotesis). abduccion(Historia, Hipotesis) :- regla(Rnumero,Hipotesis,NY,COND), verificacion(Rnumero,Historia, COND), abduccion([Rnumero|Historia],NY). /* Casos con respuestas positivas incompletas */ abduccion(_,_) :- imposible. imposible :- openwrite(maniobra,"manio.dba"), writedevice(maniobra), write("El sistema no puede resolver el caso."),nl, write("Actualice o modifique la base de conocimientos."), nl,nl, si(Asertado), regla(_,Hipotesis,_,Condiciones), miembro(Asertado,Condiciones), cond(Asertado,Texto), not(yacaso(Asertado,Hipotesis)), assert(yacaso(Asertado,Hipotesis),maniobra), write("El caso ",Hipotesis),nl, write(" satisface la condicion ",Asertado,":"),nl, write(" -> ",Texto),nl,nl, fail. imposible :- si(Asertado), regla(_,_,Hipotesis,Condiciones), miembro(Asertado,Condiciones), cond(Asertado,Texto), not(yacaso(Asertado,Hipotesis)), assert(yacaso(Asertado,Hipotesis),maniobra), write("El caso ",Hipotesis),nl, write(" satisface la condicion ",Asertado,":"),nl, write(" -> ",Texto),nl,nl, fail. imposible :- nl, closefile(maniobra), file_str("manio.dba",ST), shiftwindow(5), display(ST), shiftwindow(1), !,procedimiento. verificacion(Rnumero, Historia, [Bnumero|RESTO]):- si(Bnumero), !, verificacion(Rnumero, Historia, RESTO). verificacion( _, _, [Bnumero|_] ):- no(Bnumero), !,fail. verificacion(Rnumero, Historia, [Bnumero|RESTO]):- cond(Bnumero,NCOND), fronttoken(NCOND,"no",_COND), frontchar(_COND,_,COND), cond(Bnumero1,COND), notest(Bnumero1), !,

Page 435: Antropologia y Programacion Logica

435

verificacion(Rnumero, Historia, RESTO). verificacion(_,_, [Bnumero|_] ):- cond(Bnumero,NCOND), fronttoken(NCOND,"no",_COND), frontchar(_COND,_,COND), cond(Bnumero1,COND), si(Bnumero1), !,fail. verificacion(Rnumero, Historia, [Bnumero|RESTO]):- cond(Bnumero,TEXTO), inpq(Historia,Rnumero,Bnumero,TEXTO), verificacion(Rnumero, Historia, RESTO). verificacion( _, _, [] ). notest(Bnumero):-no(Bnumero),!. notest(Bnumero):-not(si(Bnumero)),!. inpq(Historia,Rnumero,Bnumero,TEXTO):- !,pregunta_inicial(Frase), write(Frase," ",TEXTO,"? : "), menu(1,65,7,7,["si","es posible ","no","por qué?"], " Resp ",1,OPCION), generar_respuesta(Historia,Rnumero,TEXTO,Bnumero,OPCION). pregunta_inicial(Frase) :- !,random(5,Azar), cuestion(Azar,Frase). cuestion(0,"¿Es verdad que"). % preguntas variables cuestion(1,"¿Puede asegurar que"). cuestion(2,"¿Es cierto que"). cuestion(3,"¿Afirmaría que"). cuestion(4,"¿Es correcto que"). generar_respuesta(_,_,_,_,0) :- limpieza,!,procedimiento. generar_respuesta(_,_,_,Bnumero,1):- assert(si(Bnumero),maniobra), asertsim(Bnumero), shiftwindow(1),write(si),nl, purificar(Bnumero). generar_respuesta(_,_,_,Bnumero,2):- assert(si(Bnumero),maniobra), asertsim(Bnumero), shiftwindow(1),nl,write(" ",posible), menu(1,24,7,7, ["1. Altamente improbable", "2. Improbable", "3. Dudoso", "4. Algo dudoso", "5. Certidumbre intermedia", "6. Alguna certidumbre ", "7. Cierta seguridad", "8. Muy seguro", "9. Casi totalmente seguro", "10. Probabilidad casi absoluta "], " Magnitud de Posibilidad ",1,Factint), Factor = Factint/10,write(" ",Factor), assert(posible(Bnumero,Factor)),nl, purificar(Bnumero). generar_respuesta(_,_,_,Bnumero,3):- assert(no(Bnumero),maniobra), shiftwindow(1),write(no),nl,fail. generar_respuesta(Historia,Rnumero,TEXTO,Bnumero,4):- !, shiftwindow(2), regla( Rnumero, Hipotesis1, Hipotesis2, _ ), sub_cat(Hipotesis1,Hipotesis2,Lstr), concat("Se intenta demostrar que ",Lstr,Lstr1), concat(Lstr1,"\nUsando la regla número ",Ls1), str_int(Str_num,Rnumero), concat(Ls1,Str_num,Ans), mostrar_regla(Rnumero,Lls1), concat(Ans,Lls1,Ans1),

trayectoria(Historia,Sng), concat(Ans1,Sng,Answ), display(Answ), shiftwindow(1), menu(1,65,7,7,["si","es posible ","no","por qué?"], " Resp ",1,OPCION), generar_respuesta(Historia,Rnumero,TEXTO,Bnumero,OPCION). asertsim(Bnumero) :- similares(Conjunto), miembro(Bnumero,Conjunto), miembro(Otro,Conjunto), Bnumero<>Otro, assert(si(Otro),maniobra), fail. asertsim(_). purificar(Bnumero) :- excluyentes(Lista), miembro(Bnumero,Lista), miembro(X,Lista), X <> Bnumero, cond(X,Datos), assert(interm(X,Datos),maniobra), retract(cond(X,_),principal), fail. purificar(_). /* Mecanismo de explicacion */ trayectoria([],""). trayectoria([Rnumero|RESTO],Strg) :- regla( Rnumero, Hipotesis1, Hipotesis2, _), sub_cat(Hipotesis1,Hipotesis2,Lstr), concat("\nYa se ha demostrado que ",Lstr,L1), concat(L1,"\nUsando regla número ",L2), str_int(Str_Rnumero,Rnumero), concat(L2,Str_Rnumero,L3), concat(L3,":\n ",L4), mostrar_regla(Rnumero,Str), concat(L4,Str,L5), trayectoria(RESTO,Sigte_strg), concat(L5,Sigte_strg,Strg). sub_cat(Hipotesis1,Hipotesis2,Lstr):- concat(Hipotesis1," es ",Str), concat(Str,Hipotesis2,Lstr). mostrar_regla(Rnumero,Strg):- regla(Rnumero, Hipotesis1, Hipotesis2, CONDINGELSER), str_int(Rnumero_str,Rnumero), concat("\n Regla ",Rnumero_str,Ans), concat(Ans,": ",Ans1), sub_cat(Hipotesis1,Hipotesis2,Lstr), concat(Ans1,Lstr,Ans2), concat(Ans2,"\n si ",Ans3), reverse(CONDINGELSER,CONILS), mostrar_condiciones(CONILS,Con), concat(Ans3,Con,Strg). mostrar_condiciones([],""). mostrar_condiciones([COND],Ans):- mostrar_cond(COND,Ans),!. mostrar_condiciones([COND|RESTO],Ans):- mostrar_cond(COND,Text), concat("\n y ",Text,Nstr), mostrar_condiciones(RESTO,Next_ans), concat(Next_ans,Nstr,Ans). mostrar_cond(COND,TEXTO):-cond(COND,TEXTO). /* Sintesis del diagnostico */

Page 436: Antropologia y Programacion Logica

436

sintesis(Hipotesis) :- write("La entidad es ",Hipotesis),nl, regla(_,_,Hipotesis,Condiciones), memoria(Hipotesis,Condiciones). memoria(Hipotesis,Condiciones) :- miembro(X,Condiciones), cond(X,TEXTO), write(X," -> ",TEXTO),nl, fail. memoria(_,_). /* Conocimiento imperfecto y respuestas variadas */ dudas(Hipotesis) :- si(Asertado), regla(_,Clase,Hipotesis,Condiciones), regla(_,_,Clase,Cond_clase), not(miembro(Asertado,Condiciones)), not(miembro(Asertado,Cond_clase)), cond(Asertado,STRING), not(yanum(Asertado)), assert(yanum(Asertado)), expresion(Frase), write(Frase),nl, write(" * ",STRING," *"),nl, write("es inespecífica, redundante o no aparece en definiciones"),nl, write("alternativas del mismo caso."), nl,nl,fail. dudas(Hipotesis):- si(Asertado), regla(_,Clase,Hipotesis,Condiciones), regla(_,_,Clase,Cond_clase), not(miembro(Asertado,Condiciones)), miembro(Asertado,Cond_clase), cond(Asertado,STRING), not(yanum(Asertado)), assert(yanum(Asertado)), expresion(Frase), write(Frase),nl, write(" * ",STRING," *"),nl, write("se deriva por herencia de la clase"), write(" a la que pertenece el ejemplar."), nl,nl,fail. dudas(_). expresion(Frase) :- random(4,S), sintagma(S,Frase). sintagma(0,"Se señala que la regla asertada siguiente :"). sintagma(1,"Se advierte que la regla asertada que se indica :"). sintagma(2,"Tener en cuenta que esta regla :"). sintagma(3,"Obsérvese que la regla :"). incertidumbres(Hipotesis) :- posible(Asertado,Factor), cond(Asertado,Texto), not(yanum(Asertado)), assert(yanum(Asertado),maniobra), frase(Frase), write(Frase," ",Factor," posible:"),nl, write(" -> ",Texto,","),nl, regla(_,_,Hipotesis,Condiciones), calculo(Condiciones,Factor,RES), write("no es segura y otorga "), writef("%-4.2",RES), write(" de certidumbre al diagnóstico."), retract(posible(Asertado,_),maniobra), assert(confianza(Asertado,RES),maniobra),

nl,nl, !,incertidumbres(Hipotesis). incertidumbres(_) :- totalizar(1). parecidos(Hipotesis) :- similares(Lista), miembro(A,Lista), miembro(B,Lista), A<>B, regla(_,_,Hipotesis,Condiciones), regla(_,_,Otrahip,OtraCond), Hipotesis<>Otrahip, miembro(A,Condiciones), miembro(B,OtraCond), not(yasim(Otrahip)), assert(yasim(Otrahip), maniobra), write("El caso ",Otrahip), write(" satisface una condición similar:"),nl, cond(A,T1), write("Orig.: ",A," -> ",T1),nl, cond(B,T2), write("Caso : ",B," -> ",T2),nl,nl, fail. parecidos(_). frase(Frase) :- !,random(5,Azar), elegida(Azar,Frase). elegida(0,"La siguiente regla, definida como"). elegida(1,"Se advierte que la condición siguiente, especificada"). elegida(2,"La regla que se indica, a la cual se definió como"). elegida(3,"La expresión condicional que se especifica, definida"). elegida(4,"La siguiente condición incierta, especificada"). totalizar(TOT) :- confianza(AS,CONF), TOTAL=TOT*CONF, retract(confianza(AS,_),maniobra), !,totalizar(TOTAL). totalizar(TOTAL) :- evaluar(TOTAL,TEXTO), write("Confianza total del diagnóstico : "), writef("%-4.2",TOTAL), write(" - ",TEXTO),nl. evaluar(TOTAL,"altísima.") :- TOTAL > 0.95. evaluar(TOTAL,"muy alta.") :- TOTAL > 0.9. evaluar(TOTAL,"alta.") :- TOTAL > 0.75. evaluar(TOTAL,"intermedia.") :- TOTAL > 0.5. evaluar(TOTAL,"baja.") :- TOTAL > 0.25. evaluar(TOTAL,"muy baja.") :- TOTAL > 0.10. evaluar(TOTAL,"bajísima."). calculo(Condiciones,Factor,RES) :- !,longlista(Condiciones,Longitud), RES = ((Longitud-1) + Factor)/Longitud. /* Actualizar la base de conocimientos */ actualiza:- menu(7,25,7,7,["A. Definiciones Condicionales ", "B. Consecuentes de clases", "C. Consecuentes específicos", "Q. Fin"], " Actualizar ",1,OP), limpieza, actual(OP). actualiza. actual(1) :- shiftwindow(3), clearwindow,

Page 437: Antropologia y Programacion Logica

437

write("\n Actualizar datos\n "), subraya(16), cursor(1,20), write("Categoría : "), raya(41), cursor(3,20), write("Subcategoría: "), raya(41), cursor(1,34), readln(KAT1),KAT1><"", pregunta(KAT1,1,34,KAT), cursor(3,34), readln(SUB1),SUB1><"", pregunta(SUB1,3,34,SUB), leercondl(CONDL), obten_rnumero(1,Rnumero), assert(regla(Rnumero,KAT,SUB,CONDL)), actual(1). actual(1) :- menu(7,27,7,7,["Si ","No"], " Guarda los datos? ",1,OP), salva(OP). actual(2) :- !,assert(tabla(1,"fin de proceso"),maniobra), proselec(1,Hipotesis), ingresa(Hipotesis). actual(3) :- !,assert(tabla(1,"fin de proceso"),maniobra), proselesp(1,Hipotesis), ingresa(Hipotesis). actual(4). ingresa("fin de proceso"). ingresa(Hipotesis) :- write("Escribir texto y <enter>, o <enter> para fin : "),nl, readln(T), T<>"", assert(cons(Hipotesis,T),principal), !,ingresa(Hipotesis). ingresa(_) :- clearwindow. salva(1) :- chance. salva(2). salva(3). pregunta(Q,X,Y,Q2):- Q = "?", shiftwindow(2),clearwindow, write("Las categorías y subcategorías son objetos. P.ej.:\n"),nl, write("categoríaÃ-----´subcategoríaÃ---´[condición 1 Ã-----´ condición 2]\n"), write("---------Å-----Å------------Å---Å-------------Å-----Å------------"),nl, write("animal ³es un³ mamífero ³si ³tiene pelo ³y si ³ da leche\n"), write("animal ³es un³ pájaro ³si ³tiene plumas ³y si ³ pone huevos"),nl, write("mamífero ³es un³ perro ³si ³ladra ³ ³"), readchar(_),clearwindow, shiftwindow(3), cursor(X,Y), readln(Q2). pregunta(Q,_,_,Q). obten_rnumero(N,N):-not(regla(N,_,_,_)),!. obten_rnumero(N,N1):-H=N+1,obten_rnumero(H,N1). obten_bnumero(N,N):-not(cond(N,_)),!. obten_bnumero(N,N1):-H=N+1,obten_bnumero(H,N1).

leercondl([Bnumero|R]):- nl,write(" Condición: "), cursor(A,B), raya(63), cursor(A,B), readln(COND), COND >< "", !, obt_condic(Bnumero,COND), leercondl( R ). leercondl([]). obt_condic(Bnumero,COND):-cond(Bnumero,COND),!. obt_condic(Bnumero,COND):-obten_bnumero(1,Bnumero), assert(cond(Bnumero,COND)). /* Edicion de la base de conocimientos */ edicion :- makewindow(11,7,7,"",1,1,22,78), dir("","*.dba",Base,1,1,1), file_str(Base,Datos), edit(Datos,Nuevosdat,"Editor interno","", "",1,"",1, 0,1,1,_,_), menu(10,20,7,7,["Si ","No"], "¿Resguarda Base de Conocimientos?",1,Respu), salvar_s(Respu,Nuevosdat,Base), removewindow. edicion:- existwindow(11),removewindow(11,1). edicion. salvar_s(1,D,Base):- openwrite(maniobra,Base), writedevice(maniobra), write(D), closefile(maniobra). salvar_s(_,_,_). /* Comandos usuario */ recomparcial :- interm(A,B), assert(cond(A,B), principal), retract(interm(A,B),maniobra), fail. recomparcial. recomponer :- interm(A,B), assert(cond(A,B), principal), retract(interm(A,B),maniobra), fail. recomponer :- reglalimbo(A,B,C,D), assert(regla(A,B,C,D)), retract(reglalimbo(A,B,C,D)), fail. recomponer. carga_conoc :- makewindow(10,7,7,"",10,8,10,64), retractall(regla(_,_,_,_),principal), retractall(cond(_,_),principal), dir("","*.dba",Base,1,1,1), trap(consult(Base,principal),_,errocons), removewindow. carga_conoc :- removewindow(10,1),!,procedimiento.

Page 438: Antropologia y Programacion Logica

438

errocons :- !,nl, attribute(OLD), attribute(15), % antes sin corte clearwindow, nl,nl, write(" *** Error de consulta en base de datos *** "),nl, write(" **** Verificar estructura del archivo **** "),nl, alarma, readchar(_), attribute(OLD), clearwindow, !,procedimiento. guarda_basecon :- archivo_datos(Datos), bound(Datos),!, save(Datos,principal),clearwindow, shiftwindow(OLD), shiftwindow(9), writef(" La base % ha sido resguardada ",Datos), readchar(_),clearwindow, shiftwindow(OLD). guarda_basecon :- chance. chance :- makewindow(4,7,7," Nombre del archivo ",10,20,4,45), correcto(Datos), assert(archivo_datos(Datos)), save(Datos,principal),clearwindow,nl, writef("La base % ha sido resguardada",Datos), readchar(_), removewindow, clearwindow. correcto(Datos) :- write("Ingrese Nombre de Base de Conocimientos : "),nl, readln(Datos), str_len(Datos,L), L<13. correcto(Datos) :- !,correcto(Datos). borrar:- !,retractall(_,principal), retractall(_,maniobra). limpieza:- !,retractall(grama(_), maniobra), retractall(preframe(_,_), maniobra), retractall(yacaso(_,_),maniobra), retractall(yasim(_),maniobra), retractall(tabla(_,_),maniobra), retractall(si(_),maniobra), retractall(no(_),maniobra), retractall(confianza(_,_),maniobra), retractall(posible(_,_),maniobra), retractall(yanum(_),maniobra), retractall(e(_,_),maniobra). /* Imagen interpretada de las reglas en Memoria */ imagen :- !, attribute(OLD),Blink=OLD+128, attribute(Blink), nl,write(" ** Se están interpretando los datos ** "), attribute(OLD), openwrite(maniobra,"manio.dba"), writedevice(maniobra), loop,nl, derivaciones(Categoria), storage(S,H,T),nl, write("Stack : ",S," caracteres"),nl, write("Heap : ",H," caracteres"),nl, write("Trail : ",T," caracteres"),nl, closefile(maniobra), file_str("manio.dba",ST),

writedevice(screen), shiftwindow(VIE),shiftwindow(8), display(ST), shiftwindow(VIE), !. loop :- regla(Rnumero,Cate1,Cate2,Condiciones),nl, write("Regla Nº ",Rnumero," -> "), write(Cate1," es ",Cate2," si :"),nl, miembro(X,Condiciones), cond(X,STRING), write(" ",X," <- ",STRING),nl, fail. loop :- excluyentes(Lista),nl, write("Condiciones excluyentes :"),nl, miembro(Cond,Lista), cond(Cond,Texto), write(" ",Cond," -> ",Texto,"."),nl,fail. loop :- similares(L),nl, write("Condiciones similares : "),nl, esclista(L), fail. loop. derivaciones(Cat) :- cons(Cat,Texto), write(Cat," >> ",Texto),nl,nl, fail. derivaciones(_). /* Relaciones entre reglas */ relaciones :- recomponer, clearwindow, menu(4,19,7,7, ["1. Lista de relaciones entre reglas", "2. Definición de condiciones excluyentes ", "3. Definición de condiciones similares", "4. Eliminar relaciones de exclusión", "5. Eliminar relaciones de similitud", "6. Frames", "Q. Menú principal"], " Reglas y condiciones ",1,OPCION), condiciones(OPCION),!,relaciones. condiciones(1) :- !,openwrite(maniobra,"manio.dba"), writedevice(maniobra), relacionadas. condiciones(2) :- !,findall(REG, cond(_,REG), LISTAREG), longmenu_mult(1,1,20,7,7,LISTAREG, " EXCLUYENTES -- Sel/Dsel <Enter> -- OK <F10> -- Quit <Esc> ", [],Talis), longlista(Talis,Long), Long>0, reverse(Talis,Lista), memoria(_,Lista), menu(1,61,7,7,["Si","No"], " ¿Confirma? ",1,SN), SN=1, assert(excluyentes(Lista),principal), clearwindow. condiciones(3) :- !,findall(REG, cond(_,REG), LISTAREG), longmenu_mult(1,1,20,7,7,LISTAREG,

Page 439: Antropologia y Programacion Logica

439

" SIMILARES -- Sel/Dsel <Enter> -- OK <F10> -- Quit <Esc> ", [],Talis), longlista(Talis,Long), Long>0, reverse(Talis,Lista), memoria(_,Lista), menu(1,61,7,7,["Si","No"], " ¿Confirma? ",1,SN), SN=1, assert(similares(Lista),principal), clearwindow. condiciones(4) :- !,retractall(excluyentes(_),principal), shiftwindow(OLD),shiftwindow(9), clearwindow, write(" >> Se ha desactivado la exclusión de reglas."),nl, write(" >> La consulta considerará todas las opciones. "), readchar(_),clearwindow, shiftwindow(OLD),clearwindow. condiciones(5) :- !,retractall(similares(_),principal), shiftwindow(OLD), shiftwindow(9), clearwindow, write(" >> Se ha desactivado la asimilación de reglas."),nl, write(" >> La consulta no producirá indicaciones de similitud. "), readchar(_),clearwindow, shiftwindow(OLD), clearwindow. condiciones(6) :- !, menu(1,61,7,7,["Si","No"], " ¿Confirma? ",1,SN), SN=1, retractall(excluyentes(_)), write(" >>> Seleccionar exclusiones con <Enter> y fin con <F10>"), preframes(0). condiciones(7) :- !,procedimiento. relacionadas :- excluyentes(L), write("Reglas excluyentes : "),nl, esclista(L),nl, fail. relacionadas :- similares(L), write("Reglas similares : "),nl, esclista(L),nl, fail. relacionadas :- closefile(maniobra), writedevice(screen), file_str("manio.dba",ST), shiftwindow(OLD),shiftwindow(8), display(ST), shiftwindow(OLD), clearwindow. /* Frames */ preframes(N) :- cond(_,Texto1), fronttoken(Texto1, Token1, _), not(preframe(_,Token1)), Num=N+1, assert(preframe(Num,Token1)), !,preframes(Num). preframes(N) :- preframes_2. preframes_2 :- findall(Token, preframe(_,Token), Listoken),

longmenu_mult(2,2,18,7,7,Listoken," Slots ",[],Listagrama), componer(Listagrama), frames. componer(Listagrama) :- miembresp(X,Listagrama), preframe(X,Token), assert(grama(Token)), fail. componer(_). frames :- cond(N1,Texto1), fronttoken(Texto1, Token1, _), not(e(Token1,_)), not(grama(Token1)), assert(yanum(N1)), hacelis(N1,L1), assert(e(Token1,L1),maniobra), fail. frames :- cond(N2,Texto2), fronttoken(Texto2, Token, _), e(Token,N), not(yanum(N2)), assert(yanum(N2)), insert(N2,N,L2), retract(e(Token,N)), assert(e(Token,L2)), fail. frames :- openwrite(maniobra,"manio.dba"), writedevice(maniobra), listafinal. listafinal :- e(Token,N),nl, write("Frame : ",Token),nl, esclista(N), assert(excluyentes(N)), fail. listafinal :- closefile(maniobra), writedevice(screen), file_str("manio.dba",ST), shiftwindow(OLD),shiftwindow(8), display(ST),shiftwindow(OLD), clearwindow. hacelis(Token1,[Cabeza]) :- Cabeza=Token1,!. /* Descripcion y comparacion de entidades */ precomparar :- menu(8,25,7,7,["A. Categorías generales", "B. Categorías específicas ", "Q. Menú principal"], " Nivel ",1,NIV), comparar(NIV). precomparar. comparar(1) :- shiftwindow(6), findall(Cate, regla(_,Cate,_,_), ListaCat), longmenu(1,1,20,7,15, ListaCat, " Elegir entidad ",0,Opcion), regla(Opcion,Catdef,Subcate,Listacond), openappend(maniobra,"compara.dba"), writedevice(maniobra),

Page 440: Antropologia y Programacion Logica

440

write("La entidad ",Catdef," es ", Subcate," <",Opcion,"> si :"),nl, esclista(Listacond),nl, derivaciones(Catdef), closefile(maniobra), file_str("compara.dba",ST), writedevice(screen), display(ST), shiftwindow(1), !,comparar(1). comparar(1) :- shiftwindow(1). comparar(2) :- shiftwindow(6), findall(Cate, regla(_,_,Cate,_), ListaCat), longmenu(1,1,20,7,15, ListaCat, " Elegir entidad ",0,Opcion), regla(Opcion,_,Catdef,Listacond), openappend(maniobra,"compara.dba"), writedevice(maniobra), write("La entidad es ",Catdef," <",Opcion,"> si :"),nl, esclista(Listacond),nl, derivaciones(Catdef), closefile(maniobra), file_str("compara.dba",ST), writedevice(screen), display(ST), shiftwindow(1), !,comparar(2). comparar(2) :- shiftwindow(1). comparar(3). /* Tokenizar */ tokenizar :- !,write("Indicar slot o palabra : "), cursor(RR,CC), raya(30), cursor(RR,CC), readln(Tokin),nl, attribute(OLD),Blink=OLD+128, attribute(Blink), write(" *** Se están procesando los datos *** "), attribute(OLD), openwrite(maniobra,"manio.dba"), writedevice(maniobra), write("Reglas categoriales :"),nl, subraya(78),nl, rutoken(Tokin),nl, write("Reglas subcategoriales :"),nl, subraya(78),nl, rusubtoken(Tokin),nl, write("Condiciones :"),nl, subraya(78),nl, rucontoken(Tokin),nl, write("Consecuencias :"),nl, subraya(78),nl, ruconsetoken(Tokin), closefile(maniobra), file_str("manio.dba",ST), writedevice(screen), shiftwindow(VIE),shiftwindow(8), display(ST),shiftwindow(VIE), clearwindow. rutoken(Tokin) :- regla(Numero,Categoria,_,_), upper_lower(Mayutok,Tokin),

upper_lower(Mayucat,Categoria), bucle(Mayutok,Mayucat,Numero,Categoria), fail. rutoken(_). rusubtoken(Tokin) :- regla(Numero,_,Categoria,_), upper_lower(Mayutok,Tokin), upper_lower(Mayucat,Categoria), bucle(Mayutok,Mayucat,Numero,Categoria), fail. rusubtoken(_). rucontoken(Tokin) :- cond(Numero,Categoria), upper_lower(Mayutok,Tokin), upper_lower(Mayucat,Categoria), bucle(Mayutok,Mayucat,Numero,Categoria), fail. rucontoken(_). ruconsetoken(Tokin) :- cons(Madre,Categoria), upper_lower(Mayutok,Tokin), upper_lower(Mayucat,Categoria), buclecons(Mayutok,Mayucat,Madre,Categoria), fail. ruconsetoken(_). bucle(Mayutok,Mayucat,Numero,Categoria) :- fronttoken(Mayucat, Token, Resto), compara(Token,Mayucat,Mayutok,Numero,Categoria), bucle(Mayutok,Resto,Numero,Categoria). bucle(_,_,_,_). buclecons(Mayutok,Mayucat,Madre,Categoria) :- fronttoken(Mayucat, Token, Resto), comparacons(Token,Mayucat,Mayutok,Madre,Categoria), buclecons(Mayutok,Resto,Madre,Categoria). buclecons(_,_,_,_). compara(Token,Mayucat,Mayutok,Numero,Categoria) :- Token=Mayutok, write(" Nº ",Numero," -> ",Categoria),nl. compara(_,_,_,_,_). comparacons(Token,Mayucat,Mayutok,Madre,Categoria) :- Token=Mayutok, write(" Madre : ",Madre),nl, write(" -> ",Categoria),nl,nl. comparacons(_,_,_,_,_). /* Superconjuntos */ superconjuntos(Hipotesis) :- menu(18,48,71,14,["Si (otras soluciones) ", "No (menú principal)"], " ¿Prosigue la búsqueda? ",1,SN), SN=2. superconjuntos(Hipotesis) :- regla(Num,Madre,Hipotesis,Condiciones), assert(reglalimbo(Num,Madre,Hipotesis,Condiciones)), retract(regla(Num,Madre,Hipotesis,Condiciones)), recomparcial, !,interrogatorio. /* Ok */ ok :- regla(_,_,_,_). ok :- vacio, !, procedimiento.

Page 441: Antropologia y Programacion Logica

441

/* Help */ helper :- file_str("ageni.hlp",ST), shiftwindow(13), display(ST), shiftwindow(1). helper. /* Impresión */ imprime :- !,clearwindow, menu(7,30,7,7,["LPT1","LPT2","COM1","PRN","KBPRINT.PRN "], " Dispositivo ",5,DEV), dev(DEV,DISPO), concat("COPY MANIO.DBA ",DISPO,UNO), concat(UNO," > NUL",COMA), system(COMA,0,_). dev(1,"LPT1"). dev(2,"LPT2"). dev(3,"COM1"). dev(4,"PRN"). dev(5,"KBPRINT.PRN"). % Setup setup :- miembro(X, [1,2,3,5,6,7,8,9,13]), prosetup(X), fail. setup :- save("setup.dbx", setup), shiftwindow(1). prosetup(X) :- shiftwindow(X), clearwindow, write("\t\t\t\t*** Set up window ",X," ***"),nl, write("\t\t\t\t*** Seleccione y <Enter> ***"), colorsetup(0), clearwindow, write("\t\t\t\t*** Set up frame ",X," ***"),nl, write("\t\t\t\t*** Seleccione y <Enter> ***"), colorsetup(1), makewindow(Z,Y,W,_,_,_,_,_), retractall(v(Z,_,_)), assert(v(X,Y,W)), clearwindow. prosetup(X). /* Sonidos */ alarma :- toggle. alarma :- random(6,P), PA=P+1, ciclalarma(PA). desc :- toggle, retract(toggle). desc :- assert(toggle). ciclalarma(PA) :- random(400,S),SO=S+40, sound(15,SO), PAA=PA-1,PAA>0, !,ciclalarma(PAA). ciclalarma(_). raya(A) :-

A>0, write("°"), AA=A-1,!,raya(AA). raya(_). subraya(A) :- A>0, write("-"), AA=A-1,!,subraya(AA). subraya(_). /* Procesamiento de listas */ longlista([],0). longlista([_|Cola],K):- longlista(Cola,J),K=J+1. miembro(X,[Cabeza|_]) :- Cabeza=X. miembro(X,[_|Cola]) :- miembro(X,Cola). miembresp(X,[Cabeza|_]) :- Cabeza=X. miembresp(X,[_|Cola]) :- miembresp(X,Cola). reverse(X,Y):- reverse1([],X,Y). reverse1(Y,[],Y). reverse1(X1,[U|X2],Y):-reverse1([U|X1],X2,Y). esclista([]):-!. esclista([H|T]) :- cond(H,Texto), write(" ",H," -> ",Texto),nl, !,esclista(T). insert(X,[],[X]). insert(X,[Y|Ys],[Y|Zs]) :- X>Y, insert(X,Ys,Zs). insert(X,[Y|Ys],[X,Y|Ys]) :- X<=Y.

5B) BASE DE CONOCIMIENTOS DE PRUEBA

archivo_datos("ageni.dba") asunto("ceramica") regla(1,"diagnosis","ceramica peruana",[1]) regla(2,"diagnosis","ceramica argentina",[2]) regla(3,"diagnosis","ceramica boliviana",[12]) regla(4,"ceramica peruana","Inca",[5]) regla(5,"ceramica peruana","Chimu",[6,10]) regla(6,"ceramica peruana","Chimu",[6,11]) regla(7,"ceramica peruana","Mochica",[7,10]) regla(8,"ceramica peruana","Mochica",[7,11]) regla(9,"ceramica boliviana","Tiawanaco",[13,14]) regla(10,"ceramica boliviana","Tiawanaco",[13,15]) regla(11,"ceramica argentina","Cienaga",[46,8,3,4]) regla(12,"ceramica argentina","Cienaga",[46,3,4]) regla(13,"ceramica argentina","Santa Maria",[74,8,9]) regla(14,"ceramica argentina","Llajta Mauca o Sunchituyoc", [16,17,18,19,20]) regla(15,"ceramica argentina","Llajta Mauca o Sunchituyoc", [16,17,18,19,20]) regla(16,"ceramica argentina","Calingasta",[21,22,23]) regla(17,"ceramica argentina","Sanagasta, Aimogasta o Angualasto", [24,8,25,26,27]) regla(18,"ceramica argentina","Sanagasta, Aimogasta o Angualasto", [24,28,25,26,27]) regla(19,"ceramica argentina","Sanagasta, estilo San Jose", [29,8,30,31,32]) regla(20,"ceramica argentina","Sanagasta, estilo San Jose", [29,8,30,31,33]) regla(21,"ceramica argentina","Belen",[34,17,8,27,35,36,37]) regla(22,"ceramica argentina","Tafi",[38,39]) regla(23,"ceramica argentina","Tafi",[38,40])

Page 442: Antropologia y Programacion Logica

442

regla(24,"ceramica argentina","La Candelaria",[41,8,42,43,44,45]) regla(25,"ceramica argentina","San Francisco",[47,48,49,50]) regla(26,"ceramica argentina","Condorhuasi Policromo",[34,51,52,53]) regla(27,"ceramica argentina","Condorhuasi Monocromo Rojo",[34,54,55]) regla(28,"ceramica argentina","Condorhuasi Tricolor",[34,56,57,58]) regla(29,"ceramica argentina","Condorhuasi Rojo sobre Ante", [34,44,59]) regla(30,"ceramica argentina","El Alamito",[60,61,62]) regla(31,"ceramica argentina","Las Mercedes",[16,3,4]) regla(32,"ceramica argentina","La Aguada",[63,22,64]) regla(33,"ceramica argentina","La Aguada Bicolor",[63,64,65]) regla(34,"ceramica argentina","La Isla",[66,67,68,70]) regla(35,"ceramica argentina","La Isla",[66,69,68,70]) regla(36,"ceramica argentina","La Isla",[66,71,68,70]) regla(37,"ceramica argentina","Alfarcito Policromo",[66,71,72]) regla(38,"ceramica argentina","Alfarcito Policromo",[66,67,72]) regla(39,"ceramica argentina","Alfarcito Policromo",[66,73,72]) regla(40,"ceramica argentina","Famabalasto",[74,75,76]) regla(41,"ceramica argentina","Yavi",[66,19,77]) regla(42,"ceramica argentina","Yocavil Policromo o Rojo sobre Blanco", [74,73,78,79]) regla(43,"ceramica argentina","Mancapa o Averias",[16,80,81,82]) regla(44,"ceramica argentina","Mancapa o Averias",[16,80,81,83]) cons("ceramica argentina","Fuente: Rex Gonzalez y J. Perez, passim.") cons("Condorhuasi Monocromo Rojo","Cf. Ethnos, v.22, n.4, pp.18-21") cond(1,"la pieza procede de los andes centrales") cond(2,"la pieza procede de territorio argentino") cond(3,"la superficie es de color gris") cond(4,"posee decoración incisa") cond(5,"tiene forma de aríbalo") cond(6,"la superficie es de color negro") cond(7,"posee representaciones figurativas") cond(8,"la forma es la de una urna funeraria") cond(9,"la decoración incluye motivos ornitomorfos") cond(10,"posee asa en forma de estribo") cond(11,"posee asa vertedera") cond(12,"la pieza procede del altiplano") cond(13,"tiene fondo plano") cond(14,"incluye representaciones de cóndores") cond(15,"incluye representaciones de máscaras") cond(16,"procede de la provincia de Santiago del Estero") cond(17,"la pasta es rojiza o amarillenta, cocida en horno abierto") cond(18,"la superficie es amarillenta, muy brillante y bien pulida") cond(19,"los motivos decorativos están pintados en negro") cond(20,"los motivos consisten en una o más aves estilizadas") cond(21,"procede de la provincia de San Juan") cond(22,"la pieza es de color gris, con decoración incisa") cond(23,"el motivo prevaleciente es en espina de pescado o espigado") cond(24,"se localiza entre La Rioja y el SO de San Juan") cond(25,"la decoración es pobre, sin figuras zoomorfas ni antropomorfas") cond(26,"los motivos se disponen en paneles") cond(27,"la decoración está pintada en negro sobre el rojo del fondo") cond(28,"la forma es de puco con boca amplia y base pequeña") cond(29,"procede del valle de Abaucán") cond(30,"incluye motivos de serpientes y pisadas de puma") cond(31,"el cuello de la urna es muy largo") cond(32,"hay caras en relieve en el cuello de la pieza") cond(33,"en el cuello hay personajes en relieve tocando flautas de pan") cond(34,"se localiza en Catamarca y La Rioja")

cond(35,"la base es un cono truncado, el cuerpo es globular y el cuello cilíndrico") cond(36,"tiene asas horizontales eventualmente con figuras antropomorfas") cond(37,"los motivos son geométricos, dispuestos en tres bandas") cond(38,"procede de la provincia de Tucumán") cond(39,"la cerámica es de tipo tosco, sin decoración y paredes alisadas") cond(40,"está pintada de rojo, sin decoración") cond(41,"procede del este y sur de Salta o norte de Tucumán") cond(42,"la decoración no es pintada; hay guardas geométricas en torno al cuello") cond(43,"el color de la superficie es gris rojizo o negrusco") cond(44,"las paredes de la pieza son sumamente delgadas") cond(45,"hay aplicaciones o saliencias bulbosas") cond(46,"procede de valles calchaquíes, Catamarca, Rioja o San Juan") cond(47,"procede del este de Jujuy o de la provincia de Salta") cond(48,"las piezas son gris-negras con decoración incisa") cond(49,"las formas son troncocónicas o globulares") cond(50,"las asas están modeladas con motivos zoomorfos") cond(51,"la superficie es pulida, de color rojizo") cond(52,"hay guardas geométricas pintadas en negro con orla blanca") cond(53,"la forma es de figura humana, sentada o gateando") cond(54,"el color es rojo uniforme, eventualmente morado") cond(55,"la forma es de cuerpo globular con cuello cilíndrico") cond(56,"la forma es cilíndrica o subcilíndrica") cond(57,"la superficie está cubierta por engobe blanco-crema") cond(58,"los motivos son figuras geométricas y escalonados") cond(59,"hay lineas o triángulos rojos; la técnica sugiere pintura negativa") cond(61,"la cerámica es tosca") cond(60,"procede de la provincia de Catamarca") cond(62,"la decoración consiste en bandas verticales rojas, violaceas o negras") cond(63,"procede de Catamarca, La Rioja o San Juan") cond(64,"los motivos son geométricos o representan figuras felínicas") cond(65,"los dibujos son negros sobre fondo amarillento rojizo") cond(66,"procede de la Puna o de la Quebrada de Humahuaca") cond(67,"es un jarro en forma de reloj de arena") cond(68,"hay caras con ojos oblicuos modeladas en las paredes de los vasos") cond(69,"es un timbal con asa lateral") cond(70,"está pintada de blanco con decoración en negro") cond(71,"la pieza es una olla de cuerpo globular con asas verticales") cond(72,"hay triángulos negros con orla blanca, sobre fondo rojizo oscuro") cond(73,"posee forma de puco o kero") cond(74,"procede de Tucumán, Salta o Catamarca") cond(75,"la forma es de puco, olla de cuerpo globular o kero cilíndrico") cond(76,"la decoración consiste en manos pintadas en negro sobre rojo") cond(77,"hay reticulados, círculos, triángulos o espirales de líneas muy finas") cond(78,"la decoración interior está dividida en cuatro paneles en cruz") cond(79,"los colores son rojo y negro subido sobre blanco espeso") cond(80,"la forma es de puco, kero o bol semiglobular") cond(81,"está pintada en negro o rojo brillante sobre engobe blanco") cond(82,"hay líneas oblicuas paralelas en series rojas y negras") cond(83,"hay manos pintadas con un triángulo y lineas paralelas") excluyentes([46,74,16,21,24,29,34,38,41,47,60,63,66]) excluyentes([3,17,43]) similares([74,38,41])

SISTEMA DE AYUDA (Help)

Sistema Experto AGENI3 - Programado por Carlos Reynoso, 1990.

Page 443: Antropologia y Programacion Logica

443

------------------------------------------------------------------------------ Consulta del sistema de Help ---------------------------- PgUp, Ctl-PgUp : scroll hacia arriba, posicionamiento al inicio. PgDn, Ctl-PuDn : scroll hacia abajo, posicionamiento al final. Esc : fin de consulta. Ctl-F3 : búsqueda de ristra de caracteres o frases. Shift-F3 : repite búsqueda. F5 : Zoom, un-zoom. Shift-F10 : Redimensionar y posicionar ventana. Indice (H) ---------- Actualización del conocimiento (A) Alarma (W) Carga de base de conocimientos en memoria (X) Consulta (C) Descripción y comparación de entidades (D) Diagnóstico y evaluación (C) Edición de la base de conocimientos (E) Frames (R) Impresión de la base de conocimientos (I) Metarreglas (R) Tokens y palabras (T) Especificaciones técnicas Actualización del Conocimiento (A) ---------------------------------- Existen tres niveles de actualización de la base de conocimientos. En el primero se introducen las categorías y subcategorías y las condicio- nes que las definen. En el segundo se agrega información adicional re- ferida a las categorías o clases. En el tercero se añaden especifica- ciones referidas a las entidades terminales. La segunda y tercera op- ción pueden interpretarse como una especificación de consecuencias (acciones a seguir, comentarios, tratamientos). La estructura de los diferentes niveles responde a la siguiente configu- ración: regla(número, categoría gral, categoría particular, [cond1, ... condn]) condición(número, descripción) cons(clase, [ especificación_1, ... especificación_n ]) cons(cat.particular, [ especificación_1, ... especificación_n ]) Se puede acceder a la descripción de consecuencias mediante el menú de comparaciones (D), haciendo un mapa interpretado de la memoria (M) o como resultado de un diagnóstico o consulta (C). Nunca es necesario preocuparse por la asignación de los números identi- ficatorios. El sistema maneja internamente dichas funciones. Cada nombre de categoría, subcategoría o condición puede medir hasta 127 caracteres. Si se introduce una condición idéntica a otra ya ingresada, el sistema considera que se trata de la misma y le asigna el mismo número. Se pueden introducir cláusulas mutuamente negadas, y es conveniente hacerlo para ajustar las relaciones entre entidades: afirmar la condición "tiene esqueleto interno", por ejemplo, desactiva la cláusula "no tiene esqueleto interno". En general, si existe la cláusula afirmada correspondiente, el sistema no pregunta por la versión negada. Se sugiere introducir datos organizados jerárquicamente, de modo que toda categoría (a excepción de la primera) haya sido subcategoría en una definición anterior. La sesión de actualización agrega reglas y condiciones a las que ya estuvieran asertadas en la memoria, numerán- dolas consecutivamente. Al final de la sesión (que se comanda introdu-

Page 444: Antropologia y Programacion Logica

444

ciendo una categoría en blanco) el sistema permite optar por el res- guardo o no de la información actualizada. Si la nueva definición no se resguarda, se puede consultar de todas maneras en la misma sesión de diagnosis, en tanto no se blanquee la memoria o no se cargue una base de conocimientos adicional. En la presente versión del programa no es posible eliminar ni modificar condiciones o reglas, salvo manualmente, editando la base de conocimien- tos (Opcion "E" del Menú Principal). Si se interviene manualmente sobre dichas bases, se deberá preservar la numeración secuencial de reglas y condiciones, ya que debido a su tratamiento recursivo no es conveniente que falte ningún número entre el primero y el último. Al guardar la base de conocimientos se deberá indicar un nombre acepta- ble por DOS, de ocho dígitos de nombre y tres de extensión (DBA), sepa- rados por un punto. El sistema controla solamente la longitud de la ca- dena (nombre + "." + extensión). Alarma (W) ---------- El aviso de alarma advierte con un patrón sonoro aleatorio la ejecución de comando contextualmente impropios. El mismo patrón se produce cuando el proceso de diagnóstico da con una respuesta. La alarma puede desacti- varse y activarse desde el menú principal. En estado normal la alarma se encuentra activada. Carga de base de conocimientos en memoria (X) --------------------------------------------- El sistema permite escoger bases de conocimiento cuyo nombre de archivo DOS finalice con extensión DBA. El programa verifica la adecuación de la estructura de los datos. Antes de cargar una base de conocimientos en memoria, los datos que hubiere anteriormente son eliminados. No es posible cargar bases heterogéneas simultáneamente, ya que la referencia interna entre sus entidades se realiza en base a su numeración. El proceso de carga de base de conocimientos muestra los archivos dis- ponibles que poseen la extensión .DBA en el directorio local. Se puede recorrer todo el directorio del disco subiendo por los indicadores \.. Es posible asimismo presionar <F4> para modificar disco, path y máscara de extensión del nombre del archivo. Consulta (C) ------------ La consulta se encuentra totalmente orientada por menúes. En el primer menú se agrega "fin de consulta" como dominio elegible, a fin de enfa- tizar la correspondencia lógica entre estructuras de inferencia y pro- cedimientos en el lenguaje PROLOG. Si en una consulta el sistema responde que carece de información sufi- ciente, habrá que cargar una base de conocimientos en la memoria (X) o actualizar la información en forma manual (A). Cada consulta de una condición admite cuatro respuestas: "si", "no", "es posible" y "por qué?". Se pueden seleccionar las respuestas con el cursor o la letra inicial. Si se indica al sistema que "es posible", se deberá indicar la posibilidad, probabilidad o factor de confianza de la respuesta, tanto sea sobre una ponderación numérica como en base a una aproximación cualitativa. Si se pregunta al sistema "por qué?", el programa presenta una explica- ción de la hipótesis que se está tratando de demostrar y de los pasos ya establecidos por la consulta, en caso que los hubiere. Con la tecla <F5> se realiza o se desactiva el Zoom sobre la ventana de explicacio- nes, así como sobre toda otra ventana del programa. Con <Esc> se termina la lectura de la explicación.

Page 445: Antropologia y Programacion Logica

445

Descripción y comparación de entidades (D) -------------------------------------------------------- Se selecciona con menú el nombre de una entidad, finalizándose la tota- lidad de la consulta con la tecla <Esc>. Con las teclas de cursor puede accederse a entidades u objetos que no alcanzan a representarse en la pantalla del menú o en la ventana de descripciones. En caso de seleccionar otra entidad sin salir de la rutina, el sistema agrega la descripción resultante al final del archivo de maniobra, de manera que las descripciones de las sucesivas entidades pueden verse si- multáneamente en pantalla. Se puede escoger un número indefinido de en- tidades en tanto haya lugar en el soporte para escribir el archivo correspondiente. Cada nueva sesión global de consulta borra las compara- ciones anteriormente acumuladas. Dentro de la pantalla de descripción están activadas las mismas teclas y funciones de scrolling, zoom, un-zoom, redimensión de ventanas y bús- queda que valen para este archivo de Help. Diagnóstico y evaluación (C) ------------------------------------ En caso de no poder formalizar un diagnóstico, el sistema señala si existe alguna condición positiva cumplida por alguna entidad. Las res- puestas posibles equivalen lógicamente a las afirmativas, por más que su probabilidad sea baja. El sistema calcula el factor de confianza para cada condición por sepa- rado en función del número total de condiciones de la categoría especí- fica, presuponiendo una confianza absoluta en las restantes (hipótesis de independencia), y luego evalúa el arrastre de las posibilidades en el conjunto del proceso de diagnosis (hipótesis de interdependencia). De este modo, la posibilidad menor al 100% de una condición aislada se di- suelve conforme aumenta el número de condiciones, mientras que la proba- bilidad o confianza de un diagnóstico se decrementa de acuerdo con el número de condiciones inciertas y su margen de probabilidad. Edición de la base de conocimientos (E) -------------------------------------------------- El sistema incluye un poderoso sistema de edición, incorporando las funciones del editor de Borland adaptadas a la gestión sobre los archi- vos de conocimiento. Si se desea utilizar el editor sobre otros archi- vos, modificar provisionalmente el nombre de la extensión del archivo a editar como *.DBA, o presionar <F4> en la ventana correspondiente para modificar disco, path y máscara de nombre del archivo. La edición de la base no implica modificación de los contenidos de memo- ria. En la pantalla de edición (que se puede ampliar con <F5> o mover y redimensionar con <Shift-F10>) los datos aparecen tal cual están guarda- dos, sin interpretación alguna. Para observar los datos interpretados se deberá escoger la opción de Imagen de Memoria ("M") del Menú Principal. Teclas Funciones de edición ------------------------------------------------------------------------ F1 : Help y funciones automáticas. Ctl-F3 : Buscar. Shift-F3 : Repetir búsqueda. F4 : Reemplazar Shift-F4 : Repetir reemplazo. Ctl-F5 : Copiar bloque. F6 : Ver otras ventanas del programa. Alt-F6 : Mover bloque. F7 : Editor auxiliar (para copiar bloques de otro archivo). Shift-F10 : Redimensionar y posicionar ventana de edición.

Page 446: Antropologia y Programacion Logica

446

Frames (R) -------------- Un frame es una estructura de representación del conocimiento en la cual cada item de una entidad está categorizado. Cada categoría de una enti- dad se denomina slot. El sistema de tratamiento de frames se ha incorporado como parte de la definición de metarreglas. Para transformar el conjunto de datos repre- sentados en un frame se deben especificar las condiciones con una pala- bra clave en el momento de actualizar la base de conocimientos. Luego debe ejecutarse la opción "Frames" del menú de metarreglas, con lo cual se eliminan otras modalidades de interexclusión fuera de los que deter- minan los nombres de los slots. La rutina de construcción del frame aniquila las definiciones de reglas excluyentes comunes y construye un esquema transitorio utili- zando la primera palabra de cada condición como token de clave. Este esquema puede resguardarse luego junto con la totalidad de la base de conocimientos, de manera que el agregado de nuevas reglas y condiciones puede integrarse al frame volviendo a ejecutar la rutina correspondiente. Por ejemplo, si se agrega al frente de la condición una palabra-token (especie, origen, período, clase) y luego se ejecuta la rutina para la construcción del frame, las condiciones precedidas por la misma palabra quedan automáticamente interexcluidas en caso de aserción posi- tiva de cualquiera de ellas. Dado que el tratamiento de frames modifica radicalmente las estrategias de diagnóstico, se aconseja especial cuidado en la escritura de las con- diciones, evitando diferencias de puntuación y ortografía entre tokens correspondientes al mismo slot o categoría. El programa considera que el primer token de una condición es la ristra de caracteres que precede al primer espacio. El procedimiento de generación de frames incluye un menú de elecciones múltiples que permite excluir condiciones que comienzan con palabras que no se desea asociar a un slot. Si se escoge una o más palabras iniciales, esta(s) no será(n) considerada(s) interexcluyente(s). La exclusión se ac- tiva o desactiva con <Enter> y la totalidad de la lista se indica con la tecla de función <F10>. Si no se desea excluir ningún slot, presionar <Esc> o <F10>. Se aconseja asimismo no repetir los nombres de slot en distintos nive- les de la organización jerárquica. Por ejemplo, si se prefija una enti- dad de alto nivel con el token "origen", no es conveniente repetir la misma palabra en la caracterización de un hipónimo o subordinado, aunque se refiera a una especificación de detalle del mismo concepto. Impresión de la base de conocimientos (I) ----------------------------------------------------- La base de conocimientos que está cargada en memoria se puede escribir sobre una impresora en forma interpretada. Un menú permite seleccionar entre LPT1, LPT2, COM1, PRN y un archivo convencionalmente llamado KBPRINT.PRN. Si el dispositivo de impresión no está disponible, el sistema operativo de encarga de presentar opciones para cancelar, re- intentar, ignorar o seguir. Para imprimir la base de conocimientos en formato real, copiar (fuera del programa) el archivo *.DBA correspondiente sobre un dispositivo de impresión (LPT1, PRN, etc). Metarreglas (R) -------------------- Hay dos tipos de relaciones entre reglas: interexclusión (la afirmación de una condición, con cualquier grado de certidumbre, excluye las condi- ciones que pertenezcan al mismo conjunto) y similitud (el sistema indica

Page 447: Antropologia y Programacion Logica

447

la existencia de entidades que posean una o más condiciones similares a la de la respuesta correcta en modalidad de consulta). Lógicamente no es necesario crear otras formas de interrelación. La aserción de conjuntos de reglas excluyentes tiene por efecto evitar que el sistema realice preguntas que quedan sistemáticamente negadas por una consulta positiva anterior. Son excluyentes, por ejemplo, las condiciones "es originario de América" y "es originario de Asia"; si no se indica que lo son, el sistema preguntará por la segunda aún cuando se haya respondido positivamente a la primera. Las reglas excluyentes que complementan a la asertada se eliminan transitoriamente de la memo- ria en un proceso de consulta, restaurándose cuando el mismo finaliza. Las reglas interexcluyentes se seleccionan mediante un menú múltiple marcando o desmarcando con <Enter> las diversas entidades y definiendo cada conjunto con <F10>. La especificación de conjuntos de reglas similares ofrece al sistema la posibilidad de realizar una indicación aproximativa de casos simi- lares en la eventualidad de un diagnóstico acertado. Esta indicación no altera el curso de los procesos de inferencia, sino que simplemente proporciona indicios sobre la articulación del dominio. El proceso de selección de reglas similares es el mismo que para el caso de las re- glas interexcluyentes. Se ha previsto un tratamiento especial para las condiciones excluyentes articuladas en forma de Frame. Véase el item correspondiente en este sistema de Help. Tokens y palabras (T) --------------------------- Esta rutina permite rastrear palabras sueltas a través de toda la base de conocimientos, ya sea entre las reglas, las condiciones o las conse- cuencias. La palabra o token puede introducirse en mayúscula o minúscu- la, con o sin acentos. Se admiten también números, en tanto figuren en alguno de los textos especificados. Las palabras siguientes al primer espacio no serán tenidas en cuenta. Se considera que los signos no al- fabéticos (paréntesis, guiones, barras, asteriscos) delimitan tokens diferentes. Especificaciones técnicas --------------------------------- Diseño y Programación: Carlos Reynoso (CONICET-U.B.A.) Lenguaje fuente: PROLOG (Borland Turbo Prolog, v.2.0, 1989). Requerimiento mínimo de memoria: 512 Kb (programa + base). Uso máximo de memoria: 640 Kb menos Sistema Operativo. Archivo máximo de Help o Edición: 64 Kb. Longitud máxima de línea de texto: 127 caracteres. Tamaño máximo de base de conocimientos: ca. 384 Kb.