modelizacion logica de procesos de solucion de problemas y...

26
1 MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ASPECTOS COMPUTACIONALES Rodolfo Fernández González Departamento de Lógica Facultad de Psicología Universidad Complutense

Upload: doankhuong

Post on 21-Sep-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

1

MODELIZACION LOGICA DE PROCESOS DE SOLUCION DEPROBLEMAS Y SUS ASPECTOS COMPUTACIONALES

Rodolfo Fernández González

Departamento de Lógica Facultad de Psicología Universidad Complutense

Page 2: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

2

En este estudio se pretende ofrecer, en primer lugar, una presentación de losfundamentos metodológicos que, en el ámbito de la Ciencia del Conocimiento,justifican la adopción de metodologías de formalización lógica de las hipótesis quetratan de ofrecer explicaciones científicas de un amplio rango de procesos cognitivos,así como de las correspondientes implementaciones computacionales de esosmodelos lógicos, En segundo lugar, se trata de recoger los elementos más básicos dedichos instrumentos metodológicos, tanto desde el punto de vista clásico como desdelas teorías formales desarrolladas específicamente para el tratamiento de aspectosespecíficos del razonamiento natural. En este respecto, se hace especial énfasis en losformalismos orientados a la modelización del razonamiento no monotónico en general,al razonamiento temporal y al razonamiento epistémico, áreas cuyo estudiodesempeña un papel central en el actual desarrollo no sólo de la Ciencia delConocimiento sino también en Inteligencia Artificial.

1. Una Metodología para la Ciencia del Conocimiento

De acuerdo con una formulación ampliamente aceptada, el método científicopara explicar un fenómeno dado consiste en formular una hipótesis o conjeturaexplicativa que, de forma coherente con el resto del conocimiento científico aceptado,haga explícitos los principales parámetros descriptivos de ese fenómeno, y susrelaciones mutuas. La descripción de esas relaciones adoptará una forma normalmentecuantitativa, como relaciones funcionales que el modelo teórico explícita y que nosdicen en qué medida o en qué forma cambian los valores de unos parámetros enfunción del cambio de los valores de otros. La ciencia física contiene muchos y muyconocidos ejemplos de dichos modelos matemáticos, cuyo estatuto teórico es el de unahipótesis que se contrasta empíricamente mediante observaciones o experimentosdirigidos no a la validación de la hipótesis, sino a su refutación1. La hipótesis seconvierte en una pieza aceptada del conocimiento científico en tanto que no se cuentao bien con pruebas empíricas contrarias o bien con hipótesis más simples o de mayoralcance.

La psicología teórica2 adopta la misma estrategia de investigación y desarrollode teorías que las demás ciencias de la naturaleza. No obstante, las características de 1 Véase [1]. Esta esquematización del proceso de construcción de teorías en ciencia es, a pesarde su claridad lógica, sólo una descripción parcial del fenómeno científico. Aspectos tanrelevantes como la dependencia de la experimentación respecto de las teorías [2], loscondicionamientos "externos" del proceso de sustitución de unas teorías por otras en el seno deun grupo científico [3] o la relativa "arbitrariedad" que constituye la fuente de la ideación dehipótesis [4] quedan fuera de dicha esquematización. No obstante, para los propósitos delpresente estudio es suficiente contar con ella como marco de referencia general.2 Y la Ciencia del Conocimiento -o "Cognitiva"- como su núcleo más desarrolladocientíficamente. Evidentemente, todo lo que sigue resulta relevante para la teoría psicológica.Resulta bastante claro hoy en día que la demanda de intervención psicológica ha generado, enprimer lugar, un acervo considerable de técnicas de variada eficacia y, en segundo lugar,doctrinas justificadoras de dichas técnicas. Desgraciadamente, pocas de ellas pueden serconsideradas auténticas hipótesis científicas, y un número aún menor ha llegado a alcanzar elestatuto de teoría científica. La práctica psicológica constituye una rica fuente de problemaspara la teoría psicológica, pero para que esta teoría pueda, a su vez, proporcionar recursoseficaces de intervención -tal y como sucede en la Medicina actual, que se sirve no sólo delsoporte proporcionado por las Ciencias Médicas específicas (Anatomía y Fisiología) sinotambién de las Ciencias básicas de la Naturaleza (Física y Biología)- se requiere unconsiderable desarrollo teórico basado en estrategias científicas fiables -esto es, respaldadaspor el éxito-.

Page 3: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

3

su objeto -y algunos condicionamientos externos- le han impuesto algunaspeculiaridades. Así, ha sido típico de la metodología psicológica una hipertrofia de losmétodos estadísticos, justificada desde la estrategia conductista de extraer "de loshechos mismos" los elementos de la teoría, cosa a todas luces imposible, y que hapoblado la psicología hasta hace pocos años de microteorías que adoptaban la forma,en la mayor parte de los casos, de generalizaciones estadísticas. En esta perspectiva,la pobreza de las hipótesis formuladas ha sido notoria. En muy raros casos3 se hacontado con modelos matemáticos que tuvieran la complejidad y el rigor suficientespara explicar fenómenos del comportamiento tan ricos como los que exhiben losorganismos superiores. La estrategia científica habitual de modelización matemáticamediante herramientas analíticas se ha limitado hasta ahora a aquellos pocos gruposque contaban con el suficiente entrenamiento en estas técnicas, y a aquellas áreas enlas que parecía más adecuado elaborar modelos de procesamiento no simbólico.

No obstante, en la Ciencia del Conocimiento contemporánea la hipótesisgenérica de que el comportamiento de los organismos superiores -y en concreto de laespecie humana- puede ser explicada por la existencia de un sistema de símbolosfísicos4 se ha revelado especialmente fecunda para la teorización. Desde este punto devista, los procesos mentales se constituyen como una colección de procesos queoperan sobre expresiones para producir otras expresiones, siendo estas expresionesestructuras formadas por entidades físicas que podemos conceptualizar comosímbolos. Independientemente de cuál sea el estatuto físico de dicho sistema desímbolos, la potencia explicativa de esta hipótesis básica ha sido extraordinaria, en lamedida en que su adopción ha permitido elaborar de forma rigurosa, y someter acontrastación empírica, numerosas hipótesis complejas en campos tan dispares comoel aprendizaje en sus distintas formas -incluyendo la adaptación progresiva a loscambios del entorno en contextos que requieren respuestas complejas-, la memoria -almacenamiento y recuperación de información y conocimiento-, el reconocimiento depatrones, el procesamiento del lenguaje natural tanto su comprensión como sugeneración-, el razonamiento y sus variedades - deducción de nuevas creencias apartir de las anteriores, descubrimiento analógico o inductivo de reglas generales-, ytoda la gama de procesos de solución de problemas: interpretación, clasificación de lainformación y planificación respecto a metas, toma de decisiones, etc.5.

3 En los estudios de la Percepción -especialmente, Visión- y de Aprendizaje.4 Véase [5]5 Puede hacerse la hipótesis -que en este caso equivale a la formulación de un "plan deinvestigación" [6]-, de que todos estos procesos, denominados "cognitivos", han de servir comoelementos constructivos de hipótesis más complejas, de nivel "más alto", cuyo objetivo será elproporcionar explicaciones a procesos motivacionales y emocionales -teniendo en cuenta loscorrespondientes componentes biológicos y sociales- y éstas hipótesis, adecuadamentesometidas a contrastación, podrían dar lugar a la elaboración de hipótesis generales en elterreno de la personalidad. Resulta obvio que, por ahora, esto no es más que una ilusión, apesar de que la adecuación de la estrategia utilizada en los niveles más bajos -los de losprocesos cognitivos- sugieran que la tarea es factible: recuérdese que, si algún paralelismoentre desarrollos científicos distintos es creíble, en Psicología nos encontramos en un nivelparecido al de Kepler en el desarrollo de la Física (siendo Chomsky nuestro Copérnico).

Page 4: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

4

2. La Lógica como herramienta de modelización formal en la Ciencia delConocimiento: Alcance y límites de la modelización lógica clásica.

En esta perspectiva metodológica -y bajo este "plan de investigación"-, laelaboración de hipótesis adopta la forma de modelos que, de acuerdo con la tradicióncientífica, han de ser de carácter formal, esto es, matemáticos. No obstante, comohemos referido, las herramientas analíticas sólo se han aplicado hasta ahora en unospocos campos y la explicación de la generación de conducta como un procesosimbólico ha favorecido la adopción de lenguajes y teorías matemáticas de caráctercualitativo y discreto, que se aplican a la construcción de modelos formales del mismotipo. La más importante teoría matemática de este tipo es la Lógica6, disciplina decarácter algebraico, pero en cuyo tratamiento puede obviarse la metodologíaalgebraica estricta.

En el proceso de diseño de un modelo cognitivo, el primer paso consistenormalmente en llevar a cabo un análisis funcional de las distintas tareas implicadas enel proceso. Por lo general, dicho análisis resulta en una estructura multinivel, en la queuna tarea puede descomponerse en varias tareas que se ejecutan de forma secuencialo paralela, o incluso de forma recursiva o iterativa. Cada uno de los subprocesos(subsistemas) funciones o tareas se describe en términos de sus entradas y salidas,cada una de las cuales se expresará como un parámetro de nuestro modelo. En estafase de análisis, por tanto, la descomposición funcional se completa con una tarea deconceptualización, esto es, de generación de conceptos teóricos7.

Superada esta primera fase de análisis, el modelizador debe considerar dosaspectos del problema que trata de explicar mediante el modelo: el aspectorepresentacional y el computacional. Los resultados del análisis le ofrecen algunaindicación acerca de algunos de los componentes computacionales más elementales:cuál es la secuencia de tareas, o qué grado de paralelismo se da entre ellas, cuálesparecen requerir más recursos de proceso (tiempo o cantidad de información -esto es,espacio de memoria-), etc. De hecho, un modelo computacional elemental, formuladoen términos de la teoría de autómatas formales, puede generarse a partir de dichoanálisis. En dicho modelo -que puede llegar a incluir aspectos temporales del procesoformalizables bajo la estrategia de Redes de Petri-, la solución al problema planteadose formula como un conjunto de transiciones ordenadas en un espacio de estados, enel que cada uno de dichos estados se encuentra todavía descrito a un nivel degranularidad muy alto. Normalmente, dicha descripción no suele ser suficiente ni paraobtener una explicación completa ni, lo que resulta esencial, para obtener a partir delmodelo una versión observacional que pueda someterse a contrastación empírica. Porello, una vez terminada la descomposición funcional, es necesario definir los elementosdel problema que, en su nivel más bajo, nos permitirán alcanzar una solución. La

6 El hecho de que el presente estudio se centre en el papel de la Lógica como herramienta demodelización cognitiva no equivale a negar que otros instrumentos formales puedan serutilizados -y de hecho lo sean- con éxito. Además de las herramientas analíticas que ya hemencionado, otros enfoques como la teoría de redes neuronales o los algoritmos genéticos sesitúan en un nivel "subsimbólico". En la tarea de modelización parece conveniente, en realidad,aplicar a cada tarea o proceso modelizado la estrategia de modelización más adecuada, lo que,en la modelización de sistemas complejos, resulta en modelos que pueden ser formalmentehíbridos. Diré algo más sobre esto un poco más adelante.7 No entro en la cuestión -que el modelizador tendrá que plantearse- de si la descomposiciónfuncional que se lleva a cabo ha de guardar alguna correspondencia, y de qué tipo -estructuralo funcional- [7], con el fenómeno que se trata de explicar.

Page 5: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

5

experiencia obtenida en la modelización cognitiva durante los últimos años, junto con laaceptación de la hipótesis básica relativa al carácter de manipulación simbólica queasignamos a los procesos que tratamos de modelizar, nos indican que los formalismosdeclarativos de la Lógica completan adecuadamente a este nivel los elementalesanálisis procedurales (o computacionales) a los que antes me he referido8.

La primera defensa de esta concepción, clásica ya, se encuentra en [8], y esgeneralmente aceptada hoy en virtud de sus ventajas [9]:

a) El conocimiento declarativo puede ser utilizado -al menos, en principio-,para usos que ni siquiera han sido previstos por el modelizador. Este rasgoes relevante para explicar la versatilidad de la conducta de los organismos.

b) Puesto que cada enunciado es una unidad cognitiva independiente, unmodelo compuesto por enunciados es altamente modular, por lo que puedeser modificado con facilidad.

c) Las formulaciones declarativas del conocimiento resultan fácilmenteinteligibles y comunicables.

d) La naturaleza de los mecanismos deductivos que manipulan enunciadospermite comprobar fácilmente la validez formal de los procesosmodelizados.

Efectivamente, el formalismo lógico nos permite describir de forma natural losfenómenos que tratamos de explicar -el dominio de la explicación- en términos deobjetos individuales; conjuntos, clases o categorías de objetos; propiedades deindividuos o clases; relaciones entre individuos, entre clases, o entre individuos yclases. Si caracterizamos a algunos de los objetos como "agentes", podemoscaracterizar una acción como una relación entre unos agentes y unos objetos. A partirde ello, podemos obtener una descripción de un suceso como una secuencia deacciones. Asimismo, podemos conceptualizar una situación como una relación entreobjetos, etc. El formalismo lógico nos ofrece, por tanto, un instrumento valioso pararesolver, en especial, el problema representacional de la modelización cognitiva.Efectivamente, de acuerdo con las hipótesis básicas de la Ciencia del Conocimiento, elcomportamiento de un sistema viene determinado por lo que dicho sistema conoceacerca del mundo, esto es, por el conjunto de sus creencias, por lo que sabe acerca desí mismo, es decir, por lo que sabe acerca de lo que sabe, por su metaconocimiento, ypor la forma en que aplica tanto su conocimiento como su metaconocimiento a lasolución de sus problemas. Obviamente, el conjunto de creencias de un sistema puedeser modelizado formalmente mediante las expresiones declarativas de una teoríalógica:

Def. de término y fórmula: Dados los siguientes elementos del lenguajeformal: variables individuales (x,y,z), constantes individuales (a,b,c), símbolosfuncionales (f,g,h), símbolos predicativos (P,Q,R,...), conectivas (¬, ∧, ∨, →, ↔) ,cuantificadores (∀,∃), un término se define como una constante individual, una variableindividual, o un símbolo funcional n-ádico seguido de n términos. Un término cerrado

8 Más adelante me referiré a otros aspectos computacionales más complejos, que desempeñanun importante papel metodológico en la Ciencia del Conocimiento contemporánea.

Page 6: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

6

es un término sin variables individuales, y una fórmula bien formada se define de lasiguiente forma:

1. Un símbolo predicativo n-adico seguido de n términos es una fórmula(atómica)

2. Si A es una fórmula, también lo es ¬A.3. Si A Y S son fórmulas, también lo son A ∧ B, A v B, A→B, A↔B.4. Si A es una fórmula y C un cuantificador, entonces Cv(A) es una fórmula. El

paréntesis que sigue al cuantificador, y su contenido, se denomina matrizcuantificacional, y denota el alcance del cuantificador (donde v es la variable índice delcuantificador).

Una variable está ligada en una fórmula si se encuentra dentro del alcance deun cuantificador, y aparece como variable índice de éste. En otro caso se dice que estálibre. Una fórmula está cerrada si no contiene variables libres. Las fórmulas cerradasse denominan enunciados. Los conjuntos de creencias se modelizan medianteenunciados. Asimismo, formalismos representacionales tradicionales, como las reglasde producción (A1...An => B), redes semánticas9 o marcos10 pueden ser expresadosmediante el lenguaje lógico.

Ciertamente, la semántica asociada, en principio, al lenguaje de la teoría lógicaclásica es una semántica conjuntista:

Def.: Sea U un universo o dominio de individuos, no vacío. Sea σ una función(semántica) tal que11 11:

1. A cada constante individual del lenguaje lógico le asigna un elemento de U.2. A cada término de la forma f(t1... tn) le asigna el elemento de U fσ(t1σ... tnσ),

donde F denota una operación en el conjunto U.12

3. A cada fórmula de la forma P(t1... tn), σ le asigna el valor de verdad T si<t1σ... tnσ>∈ Pσ, donde Pσ denota una relación en U. En otro caso, le asignael valor de verdad ⊥.

4. ¬ Aσ = T sii Aσ = ⊥. En otro caso, ¬ Aσ = ⊥.5. (A ∧ B)σ = T sii Aσ = T y Bσ = T. En otro caso, (A ∧ B)σ = ⊥.6. (A ∨ B)σ = T sii Aσ = T o Bσ = T. En otro caso, (A ∨ B)σ = ⊥.7. (A → B)σ = T sii Aσ = ⊥ o Bσ = T. En otro caso, (A → B)σ = ⊥.8. (A ↔ B)σ = T sii Aσ = Bσ . En otro caso, (A ↔ B)σ = ⊥.9. ∀v(A) σ =Aσ (v/u), donde σ(v/u) es la asignación que resulta de cambiar el

individuo mencionado por v por otro individuo u cualquiera.

Vemos, por tanto, que σ es una función semántica que asigna valores en ununiverso de dos objetos < T, ⊥ >. Se trata, por tanto, de una lógica bivalente.

9 Véase [10],[11] y [12]10 Frames: ver [13] y [14].11 En rigor, no todas estas cláusulas son necesarias: si se recogen todas ellas es,exclusivamente, para mayor claridad.12 Recuérdese que, en tanto que constantes y variables individuales refieren a nombres simplesde individuos, los símbolos funcionales constituyen nombres complejos. Un ejemplo conocidode enunciado en el que aparecen nombres de los dos tipos es: 'Cervantes' (nombre simple) es'el autor del Quijote' (nombre compuesto, en el que interviene el símbolo funcional "ser el autorde").

Page 7: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

7

Además, como teoría matemática, el lenguaje de la Lógica (clásica) secomplementa con un aparato deductivo que constituye el mecanismo procedural (ocomputacional) mediante el cual se define dentro de dicha teoría la noción de"inferencia", Como ejemplo de regla de inferencia mencionaremos aquí únicamente elclásico esquema Modus Ponens:

A → BA

B

Este aspecto procedural se organiza en Lógica bien bajo la forma matemáticatradicional de sistema axiomático, bien bajo la forma de sistemas de reglas (cálculo dededucción natural), de árboles lógicos, u otras. En un enfoque "fuerte" de lamodelización formal de los procesos cognitivos podría identificarse la inferenciaformalizada en los sistemas lógicos con los procesos de razonamiento deductivo queen ocasiones se estudian bajo la forma de Psicología del Razonamiento. No obstante,no asumimos aquí esta postura, no sólo por consideraciones de divergencias en losmecanismos estudiados, sino también porque no queremos suponer que los procesoscomputacionales mediante los que los organismos resuelven sus problemas sean denaturaleza inferencial13.

Cuando el lenguaje lógico se utiliza para modelizar un conjunto de creencias, ala semántica conjuntista básica del lenguaje se le superpone una semántica donde elnuevo universo U' es el dominio de interpretación del lenguaje formal: el conjunto deobjetos, conceptos, clases, etc. que constituyen la materia de los procesos mentales, yque tienen o bien realidad conceptual, o bien forman parte del entorno con el queinteractúan los organismos cuya conducta tratamos de modelizar.

Parecería, según lo expuesto, que con la teoría lógica clásica (completada, ensu caso, con las teorías de autómatas y de la computabilidad) dispondríamos de unaherramienta formal potente para la generación de modelos rigurosos de los procesosmentales cuyas características deseamos estudiar. No obstante, hay algunos rasgosde esta teoría que no dan cuenta de algunos fenómenos que encontramos en losprocesos mentales, aun cuando renunciemos a identificar a priori la inferencia lógicacon la natural. En primer lugar, la teoría lógica clásica asigna a los enunciados sólo unode dos valores de verdad, en tanto que los enunciados que constituyen un conjunto decreencias se manejan con grados de certidumbre, probabilidad o validez intermedios, y

13 En el mismo sentido en que antes hemos admitido la posibilidad de utilizar otras herramientasformalizadoras (redes neuronales, algoritmos genéticos o herramientas analíticas o algebraicascualesquiera), de forma alternativa o conjunta, para la construcción de modelos. La afinidadintuitiva entre los mecanismos que una teoría matemática define y los que observamos en losorganismos no basta para justificar la adopción de una tesis "metafísica" acerca de lo que losorganismos hacen: las herramientas utilizadas para "explicar" no nos fuerzan a suponer nadaacerca de la naturaleza de los objetos explicados. De la misma manera que asumimos que losplanetas no "calculan" sus órbitas de acuerdo con las ecuaciones de la mecánica celestenewtoniana, la mente no "calcula (=infiere)": suponemos que hay procedimientoscomputacionales, y los explicamos mediante nuestras teorías matemáticas, pero no asumimosnada acerca de su naturaleza. "Explicar" consiste sencillamente, en este caso, en describircómo cambia un conjunto de creencias desde un estado inicial hasta un estado final en funcióndel suministro de nueva información y del efecto de mecanismos que describimos hipotética-mente mediante el lenguaje lógico (u otros).

Page 8: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

8

en los procesos de toma de decisiones se adopta un curso de acción, y no otro,manejando adecuadamente dichos grados de verosimilitud o certeza de nuestrascreencias. Por otro lado, si deseamos utilizar este formalismo para generar modelosdel lenguaje natural, advertimos que, por un lado, nos faltan muchos operadores y, porotro, algunos de los que tenemos y que podríamos interpretar como operadores"naturales" (el "o" disyuntivo, el "si... entonces...") no se comportan en la teoría lógicaclásica de una forma "natural". En las sección 4 veremos cómo se puede abordar esteproblema desde un punto de vista lógico. No obstante, antes de pasar a ello, vamos aexaminar otro aspecto de la metodología de la ciencia cognitiva en el que laaproximación lógica resulta también relevante.

3. La Programación Lógica como realización Computacional de la LógicaClásica

La hipótesis de que el comportamiento, en sus distintos aspectos, puedeexplicarse en función del conocimiento que poseen los organismos, de la nuevainformación que reciben del medio, y de los procedimientos que manipulan dichoconocimiento y esa información ha llevado de forma natural en la Ciencia delConocimiento a formular los modelos explicativos como programas de ordenador 14. Enesta aproximación metodológica, el primer modelo formal, formulado en términosestrictamente lógico-matemáticos, se traduce, ya desde las fases iniciales de lamodelización, en un programa que, en este caso, no es procedural, sino declarativo.

El aspecto procedural del programa quedará escondido bajo la superficie delformalismo de representación, en los algoritmos (en el motor inferencial) quemanipulan las expresiones declarativas para generar nuevas conclusiones. En el casode la Programación Lógica, el mecanismo inferencial es el de la demostración porresolución 15, investigada en el terreno de la demostración automática de teoremas, eimplementada en el lenguaje Prolog en sus distintas versiones 16.

La estrategia de resolución es una generalización de la regla Modus Ponenscon el mecanismo de unificación, que constituye un potente recurso de "comparaciónde patrones". La resolución es el único proceso inferencial que necesitamos paraconstruir un sistema de deducción que pueda operar sobre expresiones de Lógica dePredicados en forma clausal.

14 Manténgase siempre presente la concepción "débil" expresada anteriormente, y quedesemboca, en este caso en una forma aún más debilitada de la Inteligencia Artificial "débil",contraria a la "metáfora computacional".15 véase [15] y [16].16 La primera implementación de la estrategia de resolución fue llevada a cabo por Green [17].Implementaciones más eficientes se estudiaron en la Universidad de Edinburgh [18].Incorporando algunas ideas de Loveland [19], Kowalski diseñó finalmente un sistema deinferencia orientado a metas, resolución lineal con función de selección (SL-resolution), con unaceptable nivel de eficiencia [20]. El grupo de A. Colmerauer en Marsella mejoró de forma muyimportante la eficiencia al adoptar una estrategia de búsqueda por backtrackinq paraimplementar la técnica de resolución-SL (Ver [21] y [22]). Rápidamente se consiguieronimplementaciones con eficiencia comparable a la del LISP [23]. Los trabajos de Hayes ([24] y[25]) y de Kowalski [26] consagraron definitivamente la programación lógica como una de lasherramientas más importantes de la Inteligencia Artificial y la Ciencia del conocimientocontemporánea.

Page 9: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

9

Sabemos que cualquier fórmula del lenguaje de enunciados puede reducirse asu forma normal conjuntiva (una conjunción de disyunciones elementales, o unadisyunción elemental), y que si en cada disyunción elemental de una fórmula en formanormal conjuntiva aparece una fórmula atómica y su negación, entonces dicha fórmulaes una tautología.

En lo que sigue llamaremos "literal" a una fórmula atómica o a su negación. Alas disyunciones elementales las llamaremos "cláusulas".

Def.: Un literal (positivo) es un símbolo proposicional. Si el símbolo proposicional estánegado, decimos que tenemos un literal negativo.

Def. Una cláusula es una disyunción finita L1 ∨ L2 ∨ ...∨ Ln de literales, donde L1 ≠ L2

≠... Ln. Una cláusula es positiva si consta sólo de literales positivos, y negativa si todossus literales son negativos. En una cláusula positiva, al menos uno de los literales esverdadero. En algunas ocasiones, resulta conveniente hablar también de una "cláusulavacía", ⊥, que aparece en la inferencia cuando las premisas son incompatibles

Def. Una cláusula de Horn es una cláusula que tiene, como máximo, un literal positivo.Son ejemplos de cláusulas de Horn: ¬ L1 ∨ ¬ L2 v... v ¬ Ln-1 ∨ LnEsta cláusula es equivalente al condicional:

L1 ∧ L2 ∧ ...∧ Ln-1 ⇒ Ln . Es un ejemplo de "cláusula de Horn" con cabeza",

Otro ejemplo de cláusula de Horn: ¬ L1 ∨ ¬ L2 v... v ¬ Ln-1 , constituyendo un ejemplode "cláusula de Horn sin cabeza",Para obtener todas las posibles consecuencias derivables a partir de un conjunto dadode cláusulas que se toman como premisas, utilizamos la regla de resolución aplicadasegún la estrategia de búsqueda exhaustiva.

Def. Una inferencia por resolución es una inferencia en la que se aplica la siguienteregla:

A v B

¬ A v C

B v C

Es decir, dadas dos cláusulas "generatrices" que contienen el mismo literal, afirmadoen una y negado en otra, podemos construir otra cláusula, llamada "resolvente", queestará formada por la disyunción de todos los literales de las generatrices, excepto elcompartidoLa regla de resolución es inmediatamente justificable mediante cualquiera de losmétodos habituales.

Def. Estrategia de búsqueda exhaustiva para aplicar la regla de resolución: dadas npremisas en forma de cláusulas, se aplica la regla de resolución a todas las parejasposibles de cláusulas, se añaden las resolventes al conjunto de cláusulas, se aplica laregla a todas las nuevas parejas, y así sucesivamente, hasta que se agoten todas lasposibilidades de obtener nuevos resolventes.Si lo que queremos no es generar todas las posibles consecuencias de un conjunto decláusulas, sino meramente comprobar si una determinada conclusión es válida o no,

Page 10: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

10

procedemos por refutación, de acuerdo con la estrategia utilizada en árboles lógicos.En este caso, añadimos al conjunto de premisas la negación de la cláusula cuyavalidez deseamos probar. Si obtenemos una contradicción, diremos que la nuevacláusula es una consecuencia válida. En otro caso, no lo será.

Las definiciones de cláusula y cláusula de Horn en Lógica de Predicados son igualesque hasta ahora, pero adoptando en este caso la siguiente definición de "literal"

Def.: Un literal es una fórmula atómica Pt1...tn, donde t1...tn son términos simples(constantes o variables) o complejos (expresiones funcionales) .

Teorema. Para cualquier enunciado de la Lógica de Primer Orden existe un enunciadocorrespondiente en forma clausal. Demostración constructiva mediante especificaciónde un procedimiento de reducción a forma clausal que es una ampliación delcorrespondiente dado para la Lógica de Enunciados:

1. Reducción de las conectivas a ∧ y ∨.2. Interiorización de negadores. Además de De Morgan, se utilizan las siguientes

equivalencias específicas de la lógica cuantificacional:¬∃xA ⇔ ∀x ¬A¬∀x A ⇔ ∃x ¬A

3. Independización de las variables cuantificadas, de forma que cada cuantificadorse refiera a su propia variable. Se utilizará para ello la regla de mutación devariable ligada.

3a. Eliminación de los cuantificadores existenciales, de la siguienteforma:

3b. Si la subfórmula bajo el alcance del cuantificador existencial quese elimina no está dentro de! alcance de ningún cuantificadoruniversal, sustituimos la variable ligada mediante el cuantificadorexistencial por una constante nueva (constante de Skolem), queno puede coincidir con ninguna otra en la fórmula.

4. Si la subfórmula está bajo el alcance de un cuantificador universal, se sustituye lavariable ligada por el cuantificador existencial que se elimina por una función deSkolem, cuyo argumento es la variable ligada por el cuantificador universal. Aeste paso se le suele dar el nombre de skolemización.

5. Eliminación de los cuantificadores universales,6. Obtención de la forma normal conjuntiva.7. Redenominación de variables, de forma que cada cláusula tenga las suyas.

El mismo mecanismo de resolución empleado en la Lógica Clausal de Enunciadospuede utilizarse también aquí. Pero hay que igualar (o unificar) los argumentos que seeliminan.

Def. Una meta (goal) es un literal.

Def. Una cláusula definida es una cláusula de Horn de la forma: L0 ⇐ L1, L2, ..., Ln.

donde L0 , L1, L2, ..., Ln. son literales (o átomos) afirmados o negados. LO es la cabezade la cláusula, mientras que L1, L2, ..., Ln es el cuerpo de la cláusula,

Page 11: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

11

Las comas que separan las secuencias de literales en el antecedente de las cláusulasse leen como conjunciones. Resulta habitual en Prolog invertir el orden de antecedentey consecuente del condicional.Si el número de literales es 0, la cláusula definida es un hecho. En cualquier otro caso,se trata de una regla.Un hecho tiene implícitamente la forma lógica A ⇐. Un hecho es algo que es asertadocomo verdadero, que pertenece al conjunto de creencias. Una regla, que tiene siemprela forma básica B ⇐ A, es un criterio para la deducción de nuevos hechos o creencias.

Def. Un programa lógico es un conjunto finito de cláusulas definidas.

Def. Al conjunto de cláusulas definidas que tienen la misma cabeza P lo llamamosdefinición de P.

Def. Una cláusula meta es una cláusula de Horn de la forma: ⇐ L1, L2, ..., Ln, es decir,es una cláusula definida, pero sin cabeza. Por tanto, las cláusulas metas siempretienen implícita la forma lógica ⇐ A.

La cláusula vacía (∅), que no tiene cabeza ni cuerpo, también se suele considerarcomo una cláusula meta.

Def. Cada átomo o literal L1, L2, ..., Ln del cuerpo de la cláusula es una submeta(subgoal). Podemos interpretar proceduralmente cada subgoal como una llamada a unprocedimiento.

Def. Una sustitución σ es un conjunto {V1/t1, ..., Vn/tn} en el que:

V1 ≠...≠ Vn son variablest1, ..., tn son términosCada Vi es distinto de cada tiCada Vi/ti es una ligadura para Vi

Def. Una expresión es un término, un literal, o una conjunción o disyunción de literales

Def. Sea σ la sustitución {V1/t1, ..., Vn/tn}, y sea E una expresión. Entonces la instanciade E por σ (E/σ) es la expresión obtenida a partir de E sustituyendo cada aparición deVi en E por ti. Si E0 = {E1, ..., En}, donde E1, ..., En son expresiones, entonces E/σ (lainstancia de E por σ) es: E/σ = {E1/σ, ..., En/σ}Los términos de la sustitución no pueden contener constantes ni símbolos funcionalesque ya estén en E.

Def. Si en E/σ no aparece ninguna variable, diremos que es un caso terminal de E.

Def. E es una variante alfabética de F si hay sustituciones σ y τ tales queE = F/σ y F = E/τ. En este caso, ninguna variable ha sido sustituida por una constante.

Def. Sea σ = {U1/s1, ..., Um/sm} y sea τ = { V1/t1, ..., Vn/tn }.La composición στ de σ y τ es la sustitución obtenida a partir del conjunto {U1/s1, ...,Um/sm, V1/t1, ..., Vn/tn} borrando cualquier ligadura Ui/si/τ para la cual Vj ∈ {U1, ..., Um}.

Page 12: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

12

Es decir, la composición de dos sustituciones σ y τ es una composición στ tal queE/στ= (E/σ)/τ. La composición de sustituciones es asociativa pero, en general, no esconmutativa.

Def. Un conjunto de literales E = {L1, L2,..., Ln} es unificable si existe una sustitución σtal que: L1/σ = L2/σ =...= Ln/σ. Diremos en este caso que E es unificable mediante σ, oque los literales {Li} (= E) se unifican en Li /σ (en E/σ)

Def. Sea E un conjunto finito de expresiones simples o literales. σ es un unificador paraE si E/σ es unificable mediante σ

Def. Sea E un conjunto finito de expresiones simples o literales Li que es unificable. Ununificador es un unificador máximamente general (umg) o unificador mínimo, µ, para Etal que,

a) para cada unificador τ de E existe una sustitución π tal que τ = µπ. Es decir,Li/τ es un caso de Li/µ.b) Li/µ es único

Demostración: constructiva, por definición del algoritmo para encontrar el unificadormás general de cualquier conjunto de literales que sea unificable:

Def. Sea E un conjunto finito de expresiones simples. El conjunto conflicto de E es elconjunto de subexpresiones de cada expresión de E que comienza en la mismaposición de símbolo pero que no comienza con el mismo símbolo.Es decir, el conjunto conflicto D(E) correspondiente a un conjunto finito E deexpresiones es tal que:

1) si E es unitario, D(E) = ∅2) si E no es unitario, se elige la primera posición desde la izquierda en la cualno todas las expresiones de E lleven el mismo símbolo, y se forma D(E) comoel conjunto de las subexpresiones de las expresiones de E que comienzan enesa posición.

Algoritmo de unificación. Para calcular el unificador máximamente general de unconjunto finito E de expresiones simples (donde σi son los unificadores de E):unifica(E);

1. Hacer k = O y σ0 = { }2. Si E/σk es unitario, entonces devolver(σk), en otro caso:

formar_conjunto_conflicto(E/σk) → Dk ; asignación3. Si existen en Dk una variable v y un término t tales que v no aparece en t,

entonces:

uk{v/t} -> uk + 1incrementar kir a 2.en otro caso, devolver(falso) ; stop con el mensaje "no unificable"

Def. Regla de resolución: Sean dos cláusulas C1 y C2 compuestas por conjuntos deliterales:

Page 13: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

13

C1 = {L11 v L12 ∨...} = {L1i}C2 = {L21 v L22 ∨...} = {L2i}

Sean {I1i} ⊂ {L1i} y {I21} ⊂ {L21} aquellos subconjuntos de literales de ambas cláusulastales que {I1i} ∪ {¬ I21} forma un conjunto unificable en el unificador mínimo µ.

Entonces {L1i} y {L21} se resuelven en I1i y de ambas cláusulas se sigue el resolvente:

({L1i} - {I1i})/µ ∪ ({L2i} - {I2i})/µ

lo que se consigue considerando las leyes de inferencia de la alternativa:

∀xi...∀xn((¬Px...xn v A) ∧ (Px1...xn V B)) ⇒ A v B

(al unificar, {I1i} se reduce a un solo literal, que tomamos como Px1...xn, y {I21} sereduce a otro literal, que tomamos como ¬Px...xn

El procedimiento de refutación de árboles lógicos se aplica para obtener respuestasacerca de una meta propuesta al sistema. No obstante, en este caso, como sabemos,el procedimiento no es algorítmico, por lo que se recurre a otras estrategiasadicionales.

Def. Una sustitución de respuesta σ para una meta G es una sustitución para lasvariables de G.

Def. Sea C un conjunto de cláusulas y G una cláusula meta. σ es una sustitución derespuesta correcta si la instancia de G por σ (G/σ) es una consecuencia lógica de C.Es decir, cada refutación genera un conjunto de ligamientos de variables σ tal que:C├ G/σ.

Podemos obtener sustituciones de respuesta utilizando resolución lineal con unafunción de selección para cláusulas definidas. Definimos este tipo de resolución (al quese le da el nombre de "SLD-resolution") mediante una regla de computación y unaregla de búsqueda.

Def. Una regla de computación R es una función de conjuntos de metas a átomos oliterales tal que el valor de R para una meta es un átomo seleccionado.

Def. Sean:Gi la cláusula meta ⇐ A1, ..., Am, ..., Ak,Ci+1 la cláusula A ⇐ B1, ..., BqR la regla de computación.

Entonces Gi + 1 se deriva a partir de Gi y de Ci+1utilizando el proceso de unificaciónpara obtener el unificador máxima mente general (umg) σi + 1 mediante R si:

(1) Am es el átomo seleccionado a partir de Gi utilizando R(2) Am/σi + 1 = A/σi + 1

Page 14: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

14

(3) Gi + 1 es la meta ⇐ A1, ..., Am, B1, ..., Bq, Am + 1,..., Ak)/ σi + 1

Esta meta recibe el nombre de resolvente.

Def. Una derivación SLD de un programa P y una meta G mediante una regla Rconsiste en una secuencia finita o infinita GO = G, G1, ...de metas, una secuencia C1,C2... de variantes de cláusulas de programa de P, y una secuencia σ1, σ2,... deunificadores máximamente generales (umg's) tales que cada Gi + 1 se deriva a partir deGi y de Ci+1 utilizando σi + 1 mediante R.

Def. Una sustitución de respuesta computada σ para P ∪ {G} es la sustitución que seobtiene restringiendo la composición de σ1, σ2...σn a las variables de G, donde σ1,σ2...σn es la secuencia de umg's utilizados en una derivación finita de P ∪ {G} cuyaúltima meta sea la cláusula vacía. Cada derivación corresponde a una rama de unárbol SLD para P ∪ {G} que cruza el espacio de búsqueda. Las ramas quecorresponden a derivaciones acertadas, infinitas Y falladas reciben el nombre de ramasacertadas, infinitas y falladas.

Def. Una regla de búsqueda es una estrategia de búsqueda en el árbol SLD, quepuede ser primero en vertical o primero en horizontal. La regla de búsqueda determinaen qué orden se examina cada nodo, mientras que la regla de computación determinael tamaño y la forma del árbol SLD.

Def. Una refutación posible para una meta G0 es una secuencia de cláusulas meta G0,G1,..., Gn, cada una de las cuales se deriva de su predecesora mediante un paso deresolución, de la siguiente forma:

a) Gn es la cláusula vacíab) Gi + 1 se obtiene resolviendo G1 con alguna cláusula de C cuya cabeza unifica

con el literal más a la izquierda de GiCada procedimiento de refutación SLD viene especificado mediante una regla decomputación y una regla de búsqueda.

Algoritmo. Procedimiento abstracto de refutación que utiliza una regla de computaciónde izquierda a derecha, y una regla de búsqueda que procede primero en vertical:

adelante(G);1. Sea G el conjunto {A1, ..., Ak, }2. Si G = {} entonces ACIERTO; devuelve()3. Sea {q1, ..., qn} la definición de un predicado q tal que q es el predicado de A1 (elátomo seleccionado),

Comentario: es la aplicación de la regla de computación R que selecciona elliteral más a la izquierda de la meta. El orden de las cláusulas q1, ..., qn vienedado por el orden en que aparecen en el programa

4. 0 --> i ; asignación5. mientras i ≤ n, hacer:6. incrementar i7. renombrar las variables de qi, obteniendo qi'8. sea qi' la cláusula A ⇐ B1, ..., Bm,

Page 15: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

15

9. si unifica({A1, A}) entonces:10. poner σ como umg11. poner G como (B1, ..., Bm, A1, ..., Ak)/σ12. adelante(G).

Def. Un intérprete PROLOG es un demostrador de teoremas sobre cláusulas de Hornque trabaja top-down, y que emplea resolución lineal con función de selección (ver[18]), de acuerdo con el anterior procedimiento abstracto de refutación. La entrada a unintérprete PROLOG es un conjunto de cláusulas definidas C, junto con laespecificación de una meta G0. El proceso de un intérprete PROLOG es el de unabúsqueda incremental por backtracking en el espacio (organizado en forma de árbol)de refutaciones posibles a G0.El bucle "mientras" es un caso de shallow backtracking: se van probando cláusulasalternativas de la definición de un predicado. Si ninguna cabeza de cláusula de ladefinición de un predicado consigue unificar con el literal seleccionado (es decir, fueradel bucle "mientras"), se producira un deep backtracking. Se utiliza implícitamente lapila de procedimientos de un lenguaje de programación subyacente para volver a laanterior llamada a adelante. Cuando se vuelve atrás, se deshace la aplicación de σ, yse considera la siguiente cláusula alternativa.

Escribir un programa en PROLOG es una tarea bastante distinta a la de especificar unalgoritmo en un lenguaje de programación convencional. En este último caso, seprocede proceduralmente, es decir, se va indicando cuáles son todos y cada uno de lospasos que el proceso debe ir ejecutando para obtener la solución. Desde este punto devista hacemos explícitos los mecanismos de control asociados al proceso de resoluciónde un problema, fijando prescripciones de procedimientos.En PROLOG, los mecanismos de control no son considerados explícita- mente en elprograma, aunque sí son tenidos de hecho en cuenta en su diseño. El programador dePROLOG se limita a declarar en su código cuáles son los objetos del dominio de suproblema, cuáles son los atributos y valores de esos objetos, qué relaciones formalesexisten entre ellos, y cuáles son las relaciones que deben darse en la solución final ometa (goal). Este enfoque no es, evidentemente, el enfoque procedural o prescriptivoclásico, sino uno que llamamos descriptivo o declarativo.Muchos de los programas PROLOG pueden ser considerados como una base dedatos, es decir, como un depósito de información acerca de un dominio determinado,que está organizado de acuerdo con una estructura determinada. El programa no sólocontiene información acerca de los objetos del dominio y de sus relaciones (hechos),sino también definiciones acerca de los objetos y de sus relaciones (reglas). El formatode estos hechos y reglas es el formalismo de la Lógica de Predicados. La capacidaddeductiva del motor inferencial de PROLOG nos permitirá hacer consultas (preguntas oqueries) a la base de datos, y obtener respuestas acerca de los objetos representados.Esas respuestas pueden ser directas -a partir de la información explícitamenterepresentada-, pero lo interesante es que pueden ser deducidas, utilizando losmecanismos inferenciales de la Lógica de Predicados para obtener nueva informacióna partir de la información representada explícitamente en el programa.El paradigma de computación presentado más arriba constituye, no obstante, sólo unode entre las posibles estrategias de solución de problemas formuladas en términos dela Lógica de Primer Orden. En la actualidad, las modelizaciones lógicas pueden

Page 16: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

16

procesarse utilizando algoritmos de resolución de restricciones, bastante máseficientes que los tradicionales de unificación y resolución17, y bajo el paradigma deprocesamiento en paralelo, se cuenta con algoritmos de procesamiento para dichosmodelos lógicos18. En todos los casos, la implementación computacional del modelo seconvierte, en el ámbito de la ciencia cognitiva en la estrategia óptima19 al menos para:

a) Extraer de la hipótesis teórica sus consecuencias observables cuya adecuación hade someterse a estudio experimental

b) Comprobar la computabilidad a priori del proceso modelizadoc) Comprobar la consistencia interna de la hipótesis formulada.

4. Extensiones de la lógica (Clásica) de Primer Orden, y su computación.

Tal y como se ha señalado final de la sección 2, la lógica (Clásica) de PrimerOrden -y su correspondiente implementación computacional-, no constituye unmecanismo suficiente para cubrir los requerimientos de modelización que la Ciencia delConocimiento presenta. Por ello, veremos en esta sección algunas extensiones dedicha estrategia - tanto desde el punto de vista formal como desde el computacional-que satisfacen nuestros requerimientos.

4.1. Lógica Modal

En tanto que la Lógica Clásica de Primer Orden basta para construir modelosde procesos de razonamiento en los que intervienen hechos y reglas que resultan serverdaderos o falsos en el mundo real, esta formalización no alcanza a cubrir el caso enel que es necesario distinguir entre hechos y reglas que simplemente son verdaderos ofalsos, y hechos y reglas que no pueden ser otra cosa que eso. Intuitivamentedistinguimos los hechos "contingentes" (simplemente verdaderos), -por ejemplo, que elamable lector ahora resulta que está leyendo estas líneas- de los hechos necesarios(que no pueden ser falsos) -que 2 + 2 = 4 en la aritmética usual- o imposibles (que nopueden ser verdaderos) -que llueva y no llueva a la vez-. La idea de posibilidad seemplea habitualmente asociada a todos los fenómenos de razonamiento hipotético, yposeemos una clara intuición acerca de las relaciones que existen los enunciados que

17 En el paradigma de computación por resolución de restricciones, el problema se formulaestableciendo los parámetros que describen la solución, el rango de valores que cada uno deellos puede tomar, y las restricciones (constraints) en las que se definen, normalmente paracada par de parámetros, los valores de cada uno de ellos que resultan o bien compatibles, obien, según el algoritmo que se utilice, incompatibles. Véase [27]18 Ver [28]. En este caso, sólo se obtiene un completo rendimiento de modelos implementadosbajo arquitecturas de multiproceso en paralelo. No obstante, dicho rasgo sólo resulta relevantesi las hipótesis computacionales modelizadas lógicamente contienen elementosrelativos a medidas de complejidad temporal de unos submodelos respecto a otros. Lo mismosucede con cualquier decisión respecto al paradigma de procesamiento de se adopte(secuencial/paralelo, unificación/resolución, o resolución de restricciones, etc.).19 En [29], [30], [31] y [32] pueden encontrarse adecuadas introducciones al uso del lenguajeProlog para la modelización computacional desde el punto de vista lógico.

Page 17: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

17

son necesariamente verdaderos, los que sólo posiblemente lo son -o los que sólo loson desde determinado "punto de vista", bajo determinados "supuestos", y los que sonfalsos, imposibles, etc.

Con el objeto de formalizar estas estrategias naturales de razonamiento secuenta con una extensión de la Lógica Clásica de Primer Orden denominada "LógicaModal", y cuyos nuevos operadores enunciativos son el operador de posibilidad (◊A selee "es posible que A") y el operador de necesidad (□A se lee "es necesario que A).Aunque la teoría tiene origen -como casi todo- en Aristóteles, y fue ampliamentedesarrollada por los medievales, su recuperación moderna se debe a MacColl y, enespecial, a C. l. Lewis, cuyo empeño iba dirigido, fundamentalmente, a la resolución delas "paradojas de la implicación"20.

La relación entre el proceso de razonamiento hipotético y las estructurasformales de la Lógica Modal resulta especialmente evidente si consideramos lasemántica modal. De acuerdo con ella21, el universo dominio de interpretación de losenunciados modales no es único, sino múltiple. En esta "semántica de mundosposibles", cada uno de los dominios es internamente consistente y, según sea laformalización que se adopte para la lógica modal, los enunciados de cada uno de esosmundos mantendrán una relación determinada ("de accesibilidad"), formalmentecaracterizada, con los enunciados de los mundos restantes.

El paradigma computacional de la programación lógica ha sido extendido paracubrir el modelo formal de la Lógica Modal, implementaciones que, en cualquier caso,entrañan un aumento de la complejidad computacional22. Otro modelo computacionalde la manipulación de diversos mundos posibles tales que cada uno de ellos estáformado por conjuntos consistentes de enunciados cerrados por la relación dededucibilidad es el proporcionado por los sistemas de mantenimiento de la consistencia"basados en supuestos"23. Estos sistemas no adoptan la forma completa de una lógica(o un "demostrador de teoremas lógicos), sino de un mecanismo subsidiario de un"motor inferencial" o generador de inferencias que se encarga de mantener, dentro delmodelo computacional, la coherencia de los distintos conjuntos de enunciadosgenerador por dicho motor. El mantenimiento de la consistencia se hace de acuerdocon el principio clásico de monotonicidad, y registrando los nexos de dependencialógica que unen unos hechos con otros en cada uno de los mundos, lo que facilita suuso en la modelización de procesos de razonamiento hipotético (por ejemplo,generación de planes alternativos) o procesos de razonamiento causal (medianteabducción).

El interés de la Lógica Modal no se limita, no obstante, a su uso directo en lamodelización cognitiva, sino que permite, además múltiples interpretaciones que hacenposible la formalización de hipótesis en los dominios del razonamiento temporal y delrazonamiento epistémico.

20 Véase [33]. Una presentación sencilla de un gran número de sistemas modales puedeencontrarse en [32]. Para un estudio matemático de dichos sistemas, véase [35].21 Ver [36], [37] y [38].22 Véase [39].23 Véase [40]. La expresión "TMS" refiere a "Truth-Maintenance System"

Page 18: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

18

4.2. Modelos de Razonamiento Temporal

Cuando hablamos de razonamiento temporal nos queremos referir a lacapacidad humana de hacer inferencias acerca de la conducta cambiante en el tiempode las entidades de un dominio determinado, por ejemplo cuando tratamos de predeciro de anticipar una situación. En este tipo de razonamiento razonamos acerca de eltiempo, o de los componentes temporales de la información que procesamos, y sehace una explícita apelación a la manipulación de "operadores temporales" ("antes","después", "durante", "hasta", "desde", ...).

Los primeros intentos de expresar la flexión temporal dentro de la Lógica dePrimer Orden mantienen el paradigma matemático de fijar la validez de una expresióndada dependiendo del valor de un término que se refiere a un punto del eje temporal24.Lo que tenemos en realidad expresado en este caso es el valor atemporal de verdadde la proposición f(x,t), y no el valor de verdad de f(x) en t. Manteniendo la mismabásica perspectiva atemporal, esta idea de que las propiedades deben construirsecomo relaciones entre entidades y puntos temporales se sustituye en Ouine25 por lareconstrucción de las propiedades como propiedades de fases temporales de laspropiedades. Así, en vez de hablar, como Russell, de la verdad o falsedad de f(x, t),Ouine construirá sus expresiones flexionadas temporalmente como f(x-en-t), donde "x-en-t" es un "aspecto" del objeto tetradimensional "x" en un punto del eje temporal. Deesta forma, el enunciado temporal "Juan nunca está enfermo" es reconstruido porOuine como ¬∃x(Tx ∧ Ejx), de forma que los elementos temporales del enunciadoreciben un tratamiento en todo semejante al dispensado a los no-temporales.

La primera formalización de los elementos temporales del lenguaje natural quese aparta del canon de la LCPO es la Lógica del tiempo gramatical de Prior,desarrollada entre 1955 y 1967, como una interpretación temporal de la estructura dela Lógica Modal26. Este formalismo modal pronto se reveló como un potenteinstrumento para estudiar las consecuencias de algunas hipótesis acerca de laestructura del tiempo, al hacer posible la construcción de sistemas que sonextensiones suyas. Así, podemos obtener un modelo temporal T1 en el que el tiempotenga una estructura ramificada hacia delante, y lineal hacia atrás. Es decir, sólo puedehaber un pasado, pero el futuro permanece abierto. Para obtener un sistema T2 detiempo absoluto lineal (N. Cochiarella), tenemos que excluir además la ramificación enel futuro. Si damos un paso más (T3), y deseamos que nuestro eje temporal lineal noconsidere ningún punto como primero o último (D. Scott), añadiremos restriccionesadecuadas, estableciendo que el tiempo no tiene principio ni fin.Si queremos dar al ejetemporal la estructura de los racionales (T4), es decir, si consideramos que entre dospuntos dados siempre hay otro, esto es, que el eje temporal es denso (A. N. Prior).Podemos, por último, establecer que el tiempo no sólo es denso, sino también continuo(T5), siendo el conjunto de puntos del eje temporal equivalente al de los reales.

La discusión entre los partidarios de los modelos clásicos y los de los modelosmodales para la reconstrucción lógica de los conceptos temporales sigue abierta hoyen día. La decisión a favor de unos u otros se basa en cada caso en distintos criterios.

24 Ver [40], par. 44225 Ver [42], p. 9126 Ver [43], [44] y [45].

Page 19: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

19

Si la finalidad pretendida es la obtención de un modelo formal comprehensivo, quesirva para soportar una explicación teórica de un fenómeno, por ejemplo, lingüístico(Ver [44]), en general se prefiere el modelo modal. Sin embargo, este modelo, aunqueresulta más flexible a la hora de proporcionar representaciones adecuadas deconceptos temporales de alto nivel, no resulta inadecuado cuando, en el modelo quese desea obtener, los objetivos fundamentales no se orientan a tareas deprocesamiento temporal -por ejemplo, de planificación o de toma de decisiones-, y elrazonamiento temporal constituye sólo una subtarea o subproceso más. En estoscasos, la alternativa a considerar consiste en adoptar como formalismo derazonamiento temporal alguna de las reconstrucciones formales clásicas de lasnociones temporales básicas. En este caso, siempre será el problema a tratar el quedetermine, en primer lugar, el enfoque ontológico y la topología temporal relevante y,en último caso, el formalismo a adoptar. Por ejemplo, a partir de la noción de suceso27,que podemos asociar a un instante temporal dado, podemos definir estados opropiedades persistentes a lo largo de un intervalo28 determinado de tiempo,relacionando dichos intervalos mediante operadores temporales.

El cálculo de sucesos es un formalismo lógico temporal que utiliza el lenguajede cláusulas de Horn y los mecanismos computacionales de la programación lógica. Elcálculo de sucesos nos permite inferir qué propiedades son válidas en un tiempodeterminado a partir de la afirmación de que se ha producido un suceso en un tiempodado, suponiendo que hay propiedades cuya validez persiste hasta que tiene lugar unsuceso que pone fin a dicha validez. Esto es, dado un conjunto de sucesos, podemosdeducir en qué intervalo son válidas unas propiedades determinadas.

Las primitivas básicas del cálculo son sucesos, propiedades, instantes eintervalos (pares de instantes). Una propiedad P vale realmente al ser iniciada por unsuceso E si este suceso se produce en realidad. Esto es lo que señala el predicadohappens:

happens(E).

El predicado time relaciona un suceso E con el instante en que dicho suceso seproduce:

time (E, T)

Los predicados initiates y terminates asocian una propiedad P con el suceso E queinicia o pone fin a su validez:

initiates(E, P)terminates(E,P).

Utilizamos el predicado iholds-for para asociar una propiedad con el intervalo duranteel cual dicha propiedad se cumple:

iholds-for(p, <Init,Fin>)⇐mholds-for(P, <X, Y>), Init ≥ X, Fin ≤ Y.

27 Ver [47].28 Ver [48], [49].

Page 20: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

20

iholds-for se define en función de otro predicado, mholds-for, que asocia una propiedadcon el intervalo máximo en el que dicha propiedad vale de forma continua:

mholds-for(p, <Init,Fin>)⇐happens(E), time (E, Init),initiates(E, P),happens(E'), time (E', fin), terminates(E',P),Fin > Init,not broken-during(p, <Init,Fin>).

El predicado broken-during asocia el final de la validez de una propiedad con unintervalo determinado:

broken-during(P, <Init,Fin>)⇐happens(E), time(E, T),Init <T, Fin> T,terminates(E,P).

También puede definirse iholds-for como:

iholds-for(P, <Init,Fin>) ⇐holds-forever-from(P, T), Init ≥ T, Init < Fin.

donde el predicado holds-forever-from establece que una propiedad valecontinuamente a partir de un momento determinado:

holds-forever-from(P, T) ⇐happens(E), time (E, T),initiates(E,P), not broken-after(P, T).

El predicado holds-at es semejante a iholds-for, pero asocia la propiedad P a uninstante temporal:

holds-at(P, T).

Por último, el predicado broken-after considera el caso en el que no tomamos ningúnpunto final:

broken-after(P, T) ⇐happens(E), time(E, T'),T < T', terminates(E,P).

Para describir los tipos de sucesos que se dan en un dominio concretodebemos escribir una serie de cláusulas "initiates" y "terminates". La historia desucesos se representará mediante un conjunto de cláusulas "happens" y "time". Apartir de esta estructura básica pueden definirse mecanismos que implementen lasnociones de proceso, entendido como un macro-suceso, y de cambio continuo, asícomo procedimientos para modelizar los cambios de granularidad temporal. Asimismo,

Page 21: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

21

pueden introducirse los operadores temporales modales como derivados de losoperadores temporales ya introducidos como primitivos.

4.3. Razonamiento Epistémico

En muchas modelizaciones, los científicos cognitivos desearían poderreproducir estrategias de razonamiento en las que la materia sobre la que se razona esel conocimiento, esto es, lo que el sistema sabe o ignora. Como Moore ha señalado29,no basta con razonar exclusivamente acerca del estado actual del mundo, sino quetambién es preciso razonar acerca de sus estados posibles y acerca de lo quesabemos acerca de él. Al igual que sucede en el caso del razonamiento hipotético y delrazonamiento temporal, contamos con intuiciones suficientes como para formalizar elcomportamiento de operadores tales como "se sabe que A" o "se cree que A". En rigor,la lógica correspondiente no es sino una lógica modal en el que el operador modal queconstruye la expresión "□A " ("es necesario que A") se interpreta como "se sabe queA"30. Esta formalización basta reproducir en nuestro modelo las creencias de unagente, y para satisfacer el supuesto cognitivo según el cual el comportamiento decualquier sistema está determinado por el conjunto de las creencias que dicho sistemaposee, tanto acerca de su entorno como acerca de sí mismo.

No son las interpretaciones epistémica y temporal las únicas estudiadas paralos operadores modales. De especial relevancia pueden llegar a ser en la modelizacióncognitiva de los procesos de toma de decisiones las interpretaciones deónticas, en lasque los operadores modales adoptan las interpretaciones "es obligatorio ", "estápermitido" o "está prohibido"31. No obstante, vamos a limitarnos en este estudio aconsiderar brevemente en el siguiente apartado un rasgo de especial interés cognitivoque exhiben tanto el razonamiento temporal como el razonamiento epistémico: la no-monotonicidad.

4.4. Razonamiento No-Monótono

El razonamiento en el tiempo32 es un tipo de razonamiento esencialmente no-monótono, es decir, la adquisición de nueva información acerca de la conducta de losobjetos del dominio puede llevar a modificar la validez de conclusiones anteriores. Ennuestra formalización del razonamiento temporal mediante el cálculo de sucesos deKowalski y Sergot, hemos utilizado un recurso de programación lógica, la negación por

29 Ver [50], [51].30 Ver [52].31 Ver [53]. La Lógica de las Normas ha recibido bastante atención en los ámbitos ético yjurídico, pero muy poca en el ámbito cognitivo. Entre nosotros, son especialmente valiosos lostrabajos de Miguel Sánchez Mazas.32 No todo el razonamiento temporal es necesariamente razonamiento no-monótono. De hecho,razonar temporalmente es algo distinto de razonar "en el tiempo". Utilizando esta expresión nosreferimos a aquella situación en la cual un sistema razona a la vez que intercambia informacióncon su entorno. Esta información puede ser temporalmente dependiente, de manera que lo queresulta verdadero en un momento determinado, puede ya no serlo dentro de media hora.Nuestros modelos deben tener en cuenta esta circunstancia.

Page 22: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

22

fallo33, para suponer que las propiedades valen de forma ininterrumpida en el intervalo,sobre la base de que no conocemos ninguna interrupción, introduciendo de esta formael razonamiento por defecto. En las implementaciones habituales de la programaciónlógica, el operador not se define de la siguiente forma:

not(P):- call(P),!,fail.not(_).

mediante lo que se indica que not(P) es verdadero si el intérprete Prolog noencuentra P en su base de datos, y falso si P aparece como una cláusula. Estainterpretación se basa en una hipótesis de modelización que habitualmente se conocecon el nombre de "Supuesto del Mundo Cerrado"34, y que se puede formular como laafirmación de que si no podemos demostrar que A, esto es, si podemos creer de formacoherente ¬A, entonces podemos suponer que es cierto que ¬A es verdadero. Estanegación no es, evidentemente, el mismo operador de negación que tenemos en laLógica (Clásica) de Primer Orden, e introduce muchos e interesantes problemas en laactividad de modelización lógica.

Por ejemplo, consideremos la aserción (1) "soltero(X) sii no casado(X)". Dichaaserción parece equivalente a (2) "casado(X) sii no soltero(X)". Pero si utilizamos (1)bajo el Supuesto del Mundo Cerrado con un individuo X de cuyo estado nadasabemos, podemos concluir que X es soltero, mientras que si utilizamos (2), podemosinferir que está casado. Dificultades como ésta son las que encontramos normalmentecuando tratamos de reproducir en nuestros modelos las estrategias de razonamientopor defecto que utilizan los humanos, y que se pueden resumir en la siguiente regla:"Si A es coherente con lo que sabemos, entonces A es verdadero", o bien "C esverdadero si sabemos que al menos uno de A1...An (Precondiciones) es verdadero y,en la medida en que sabemos, ninguno de B1...Bn (Condiciones Refutadoras) esverdadero ";

A1...An | B1...Bn

C

Estas reglas parecen exhibir un comportamiento regular y su aplicación pareceresultar cognitivamente adecuada en la resolución cotidiana de problemas. Por otrolado, son estas reglas las que parecen justificar el carácter no-monótono de nuestrosprocesos inferenciales, en los que la nueva información recibida del entorno nos puedellevar a revisar nuestras creencias anteriores, dando por malas conclusiones que anteseran válidas. De acuerdo con la regla anteriormente formulada, ello equivaldría areconocer en un tiempo t+i la validez de una aserción que no era válida (pero era unacondición refutadora) en un tiempo t -o dicho en términos epistémicos, y no temporales,a "saber" la condición refutadora cuya validez antes era ignorada.

La sistematicidad de este comportamiento inferencial ha inducido a laconstrucción de sistemas lógicos que puedan dar cuenta del razonamiento nomonótono. Las dos teorías más relevantes al respecto son la Lógica del Razonamiento

33 La negación de broken-durinq predicado o axioma mholds-for.34 Closed-World Assumption (CWA).

Page 23: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

23

por Defecto de Reiter (véase [52]) y la Teoría de la Circumscripción de McCarthy(véase [53]). En la lógica de Reiter tenemos una teoría básica, compuesta por unconjunto de enunciados normales de la Lógica Clásica de Primer Orden, y un conjuntode reglas de razonamiento por defecto. La aplicación de estas reglas genera múltiplesextensiones de la teoría básica, cada una de las cuales es consistente ydeductivamente cerrada. El problema aparece en la caracterización de lo que es unademostración. En este caso, la teoría resulta carecer de procedimientos decidibles, loque, a pesar de resultar decepcionante, no impide su utilización práctica en muchoscasos.

En la teoría de McCarthy se parte de un supuesto semejante al del MundoCerrado, según el cual, en un proceso de resolución de problemas, no se requiere parasolucionarlo nada que no sea explícita- mente mencionado en la formulación delmismo. Lo que se intenta es "circunscribir" o limitar la aplicación de los predicados quese utilizan en la descripción del problema, de la siguiente forma: "los únicos elementosque satisfacen la propiedad P (comprobación que puede resultar difícil) son aquellos delos que sabemos explícitamente que satisfacen la propiedad P', (cuya comprobacióndebe ser más fácil)", intentando de esta forma reducir un problema complejo queentraña todo tipo de improbables -e impredecibles- circunstancias a otro más simple enel que sólo se pueden dar los casos normales. La teoría utiliza un "operador decircunscripción", CIRCp(A), que circunscribe el predicado P dentro de la fórmula A,limitando el conjunto de objetos que satisfacen el predicado. Esto implica que elproceso de circunscripción es, también, un proceso ad hoc para cada problema que,sin embargo, puede ser aplicado con éxito en muchos casos.

Pero no sólo se cuenta con teorías lógicas para la modelización delrazonamiento no-monótono. Nos hemos referido, en la sección dedicada a la LógicaModal, a un mecanismo computacional, el ATMS, que permite manejar una estructurade "mundos posibles". En tanto que ese mecanismo funcionaba monotónicamente,existen algoritmos que permiten modelizar el comportamiento no-monótono de unconjunto de creencias. El JTMS de Doyle35, asociado a un generador clásico deinferencias permite modelizar la revisión de creencias y el mantenimiento de unconjunto coherente de enunciados vinculados por un nexo deductivo. Recientemente,el estudio de estos sistemas ha llevado al desarrollo de algoritmos de revisión deconjuntos de creencias en múltiples contextos. Su aplicación en la modelizacióncognitiva se ve restringida por la complejidad computacional inherente a su uso. Noobstante, el diseño de mecanismos limitadores de la explosión combinatoria puederesolver estos problemas.

35 Ver [56]. JTMS = Justification-Based Truth Maintenance System.

Page 24: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

24

5. Referencias

[1] Popper, K. (1982): La Lógica de la Investigación Científica, Tecnos.[2] Hanson, N. R. (1977): Patrones de Descubrimiento. Observación y Explicación.

Alianza.[3] Kuhn, T. S. (1970): La Estructura de las Revoluciones Científicas. FCE.[4] Feyerabend, P.K. (1982): Contra el Método. Tecnos.[5] Newell, A., Simon, H. (1976): "Computer Science as Empirical Enquiry: Symbols

and Search". Communications of the A CM, 1976.[6] Lakatos, I (1982): Historia de la Ciencia y sus Reconstrucciones Racionales.

Tecnos.[7] Fodor, J. A. (1984): La Explicación Psicológica. Cátedra.[8] McCarthy, J. (1958): "programs with Common Sense", reimpr. en Readings in

Knowledge Representation (R. Brachman y H. Levesque, eds.), M. Kaufmann,1985.

[9] Smolensky, P.: "On the Proper Treatment of Connectionism", en Behavioral andBrain Sciences, 11, 1-74.

[10] Ouillian, R. (1968): "Semantic Memory", en Semantic Informarían Processing (M.Minsky, ed.), MIT Press.

[11] Raphael, B. (1968): "A Computer Program for Semantic Information Retrieval", enSemantic Informarían Processing (M. Minsky, ed.), MIT Press.

[12] Sowa, J. F. (1984): Conceptual Structures: Informarían Proces- sing in Mind andMachine, Addison-Wesley.

[13] Minsky, M. (1975): "A Frameworkfor Representing Knowledge", en ThePsychology of Computer Vision, (P. Winston, ed.), McGraw- Hill.

[14] Kuipers, B. J.(1975): "A Frame for Frames", en Representation and Understanding(D. G. Bobrow yA. Collins, eds.), Academic Press.

[15] Robinson, J. A. (1965): "A machine-oriented logic based on the resolutionprincipie", J. of the ACM, 12, 1, Jan., pp. 23-41.

[16] Robinson, J. A. (1979): Logic: form and function, Edinburgh U. P.[17] Green, C. C. (1969): "Theorem Proving by Resolution as a Basis for Ouestion-

Answering Systems", en Machine Intelligence, 4, Edinburgh U. P., 183-205.[18] Boyer, R. S., Moore, J. S. (1972): "The Sharing of Structure in Theorem Proving

Programs", in Machine Intelligence, 7, Edinburgh U. P.[19] Loveland, D. W. (1968): Automated Theorem Proving, North-Holland.[20] Kowalski, R. A., Kuehner (1971): "Linear Resolution with Selection Function",

Artificial lntelligence, 2, 3-4, 227-260.[21] Colmerauer et al. (1973): "Un Systéme de Communication Homme-Machine en

Français". Res. Rep. Groupe Int. Art., Univ. Aix- en-Marseille 11.[22] Roussel, P. (1975): PROLOG, Manuel de Reference et d'Utilisation. Groupe

Intelligence Artificielle, Univ. Aix-en-Marseille 11, Sept.[23] Warren, D. et al. (1977): "PROLOG -the language and its implementation

compared with LISP". Proc. Symp. on Al and Programming Languages, SIGPLANNot., 12, 8; SIGART Newsletter, 64, 1 09-11 5.

[24] Hayes, P. J. (1973): "Computation and Deduction", Proc. 2nd MFCS Symp.,Czekoslovak Acad. of Sc.

Page 25: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

25

[25] Hayes, P. J. (1977): "In Defence of Logic", IJCAI5, 559-565.[26] Kowalski, R. A. (1974): "Predicate Logic as a Programming Language", Proc. IFIP

74, 569-574.[27] Van Hentenryck, P. (1989): Constraint Satisfaction in Logic Programming, MIT

Press.[28] Tick, E. (1991): Parallel Logic Programming, MIT Press.[29] Bratko, l. (1986): Prolog Programming for Artificial lntelligence. Addison-Wesley.[30] Kowalski, R. A. (1979): Logic for Problem Solving. Elsevier. Trad. cast.: Díaz de

Santos.[31] Sterling, L., Shapiro, E. (1986): The Art of Prolog. MIT Press.[32] Clocksin, W. F., Mellish, C. S. (1981): Programmingin PROLOG. Springer.[33] Lewis, C. l., Langford, C. H. (1932): Symbolic Logic, Dover.[34] Hughes, G. E., Cresswell, M. J. (1968): An Introduction to Modal Logic, Methuen.

Trad. cast., Tecnos, 1963.[35] Jansana, R. (1990): Una Introducción a la Lógica Modal, Tecnos.[36] Kripke, S. (1959): "A Completeness theorem in Modal Logic", Journal of Symbolic

Logic, 24, 1-14.[37] Kripke, S. (1963): "Semantical Considerations on Modal Logic", Acta Philosophica

Fennica, 6, 83-94.[38] Kripke,S. (1963a): "Semantical Analysis of Modal Logic 1: Normal Propositional

Calculi", Zeitschrift für Math. Logik und Grund. d. Arith., 9, 67-96.[39] Gabbay, D. (1987): "Modal and Temporal Logic Programming", en Temporal

Logics and their Applications, Academic Press.[40] de Kleer, J. (1986): "An assumption-based TMS", Artificial Intelligence, 28, 127-

162.[41] Russell, B. (1903): The PrincipIes of Mathematics. Trad. cast., Espasa-Calpe,

1948.[42] Quine, W. O. (1965): Elementary Logic, Harper.[43] Turner, R. (1984): Logics forArtificial lntelligence, Ellis Horwood.[44] van Benthem, J. (1983): The Logic of Time, Reidel.[45] Rescher, J., Urquhart, A.(1971): Temporal Logic, Springer.[46] McArthur, J. (1979): Tense Logic, Reidel.[47] Kowalski, R., Sergot, M. (1986): "A Logic-Based Calculus of Events", New

Generation Computing, 4, 67-95.[48] Allen, J. F. (1983): "Maintaining Knowledge about Temporal Intervals", Comm.

ACM, 26.[49] Allen, J. F. (1984): "Towards a General Theory of Action and Time", Artificial

lntelligence, 23.[50] Hintikka, J. (1962): Knowledge and Belief, Cornell U. P. Trad. cast., Tecnos, 1979.[51] Moore, R. C. (1984): "A Formal Theory about Knowledge and Action", en Formal

Theories of the Commonsense World, (Hobbs, Moore, eds.), Ablex Pub. Co., 319-358.

[52] Moore, R. C. (1988): "Autoepistemic Logic", en Non-Standard Logics forAutomated Reasoning (Smets, Mamdani, Dubois, Pradé, eds.), Academic Press,105-136.

[53] Kalinowski, G. (1974): La Logique des Normes, PUF. Trad. cast., Tecnos, 1975.[54] Reiter, R. (1980): "A Logic for Default Reasoning", Artificial Intelligence, 13, 81,

132

Page 26: MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y ...webs.ucm.es/info/pslogica/modelizacion.pdf · MODELIZACION LOGICA DE PROCESOS DE SOLUCION DE PROBLEMAS Y SUS ... el aprendizaje

26

[55] McCarthy, J. (198): "Circumscription: A Form of Non-Monotonic Reasoning",Artificial lntelligence, 13, 27-39.

[56] Doyle, J. (1980): "A Truth-Maintenance System", Artificial Intelligence, 12, 231-272.