UBA Facultad de Ciencias Económicas Lógica Algunos conceptos sobre Prolog

Tamaño: px
Comenzar la demostración a partir de la página:

Download "UBA Facultad de Ciencias Económicas Lógica Algunos conceptos sobre Prolog"

Transcripción

1 UBA Facultad de Ciencias Económicas Lógica Algunos conceptos sobre Prolog Autor: Carlos Lombardi Índice Algunos conceptos sobre Prolog... 1 Índice... 1 Capítulo 1 Lógica para sistemas... 3 Sistemas de información... 3 Razonamiento, información, inferencia... 4 Lógica de predicados de primer orden... 6 Y si la inferencia no se puede hacer?... 8 Objetos genéricos distintas visiones de una misma entidad... 8 En resumen... 9 Capítulo 2 El mundo de Prolog...10 El lenguaje Prolog...10 Átomos y nombres...10 Ausencia de código...11 Moléculas y variables...11 Limitaciones...13 Programa Prolog...15 Apuntar a los objetivos...16 La concesionaria en Prolog...16 Qué se describe en un programa...18 Consultas e intérprete Prolog...20 Necesidad de respetar las decisiones sobre predicados y constantes...21 Consultas existenciales...22 Las respuestas son siempre constantes...24 Distintas consultas con el mismo predicado inversibilidad...25 Variables cuantificadas existencialmente...26 Algunos existenciales menos visibles...28 Desigualdades...28 Capítulo 3 Algunos ejemplos...30 Gustos literarios...30 Empezar por las consultas...30 Representamos condiciones para gustar...31 Algunos errores comunes...32 El resto de los enunciados...33 Conclusiones...34 Punto b El programa entero...36 Animales en movimiento...37 Análisis de la consulta...37 Dos enunciados complicados...38 Página 1 de 49

2 Capítulo 4 Negación...40 Sintaxis...40 Comportamiento negación por falla...40 Consultas con variables...41 Uso en cláusulas...42 Alcance...43 Comentario final características no deductivas...44 Anexo 1 sintaxis de Prolog...45 Estructura del programa...45 Nombres...45 Conectivas...45 Cuantificación de las variables...46 Otros símbolos...46 Comentarios...47 Anexo 2 operación del SWI Prolog...48 Instalación...48 Funcionamiento...48 Página 2 de 49

3 Capítulo 1 Lógica para sistemas Sistemas de información Como profesionales de sistemas, vamos a participar en la concepción, definición, desarrollo y mantenimiento de sistemas de información. Pensemos un poco, entonces, en qué es un sistema de información visto (un poco) "desde adentro", o sea, desde la perspectiva de los que participan en su construcción. Un sistema de información trata información: la adquiere u obtiene de alguna forma, la manipula, y a partir de ella obtiene ciertos resultados, que son los resultados del sistema. Aquí la palabra "información" lleva el sentido de lo que se define como "Información pragmática" en el apunte sobre Diferentes sentidos del concepto de información; la información puede ser organizada y manipulada de formas muy distintas en distintos sistemas. En muchos sistemas, aunque no en todos, la información adquirida se registra en alguna forma explícita y bien definida, y los procesos de manipulación actúan sobre esta representación. Un ejemplo sencillo de sistema de información son las marcas que hace un preso de los días que lleva encerrado. El preso, cuando sabe que empezó otro día, registra esta información en la pared con una codificación bien conocida. El proceso de manipulación consiste en contar las marcas, y el resultado es saber cuántos días faltan para su liberación. Otro ejemplo, más clásico, es el sistema de liquidación de sueldos de una empresa. 1. El sistema obtiene la información a partir de la carga que hacen operadores sobre los eventos que le interesan al sistema: incorporaciones de empleados, vacaciones y licencias, recategorizaciones, etc.. A esto podría sumarse la obtención de información en forma automática (p.ej. las horas trabajadas por cada empleado pueden ser informadas por la máquina donde fichan), y por interacción con otros sistemas (p.ej. la ANSES publica un Web Service al que se pueden consultar las modificaciones en los descuentos de ley). 2. Toda la información adquirida es registrada, típicamente en una base de datos. 3. Los distintos procesos de manipulación consultan la información representada para obtener los resultados esperados, p.ej. la impresión de recibos y libros legales, reportes sobre sueldos a pagar, etc.. Un ejemplo bastante distinto consiste en considerar al cerebro humano como un sistema de información; adquiere información a través de sus sentidos y su medio cultural, la manipula por intermedio de la interacción neuronal, y obtiene los resultados que necesita para llevar adelante su vida. En este caso la representación de la información no es explícita, está imbricada dentro del mismo cerebro. Los tres ejemplos mencionados tienen características muy distintas entre sí. En general, hay muchos posibles "puntos de partida" a partir de los cuales se pueden construir sistemas. En los ejemplos tenemos: pared y piedra para marcar, computadora y base de datos, neuronas e impulsos eléctricos. En este apunte estaremos interesados en los sistemas cuya representación de la información es explícita y está dada en la forma de proposiciones o enunciados; es lo que en el apunte sobre Diferentes sentidos del concepto de información se define como información proposicional. Cualquier combinación entre una forma de representar información más mecanismos para manipular la información representada, puede servir como base para construir sistemas de este tipo. Página 3 de 49

4 Si quiero que el "agente manipulador" sea una computadora, tanto el formato en el que se representa la información como las formas de manipularla tienen que poder ser implementados en software. En particular, esto impone (en principio) una restricción de formalidad: debe haber reglas bien definidas que gobiernen la representación y la manipulación; respectivamente son las reglas de formación (gobiernan la representación) y reglas de transformación o inferencia (que gobiernan la manipulación). Queda claro que el cerebro, entendido físicamente, queda fuera de los sistemas que vamos a estudiar, porque no se maneja con lo que llamamos información proposicional. Razonamiento, información, inferencia Con el objetivo de construir sistemas de información en mente, revisemos conceptos que aparecieron en la cursada. Buena parte del contenido de la materia puede estructurarse a partir del concepto razonamiento. Recordamos que un razonamiento es un conjunto de enunciados, de los cuales a uno lo destacamos y lo llamamos conclusión; el resto son las premisas. Cada enunciado es exactamente una unidad de información, aquello que enuncia un enunciado es información 1. Veamos algunos ejemplos de enunciados: 1. Sócrates es mortal. 2. Todos los hombres son mortales. 3. Ana y Luisa son amigas. 4. Todos los amigos de Ana conocen a Tomás. 5. Lucas obtuvo un 5 en el 1er parcial, y un 7 en el 2do. 6. Para aprobar, hay que obtener al menos 4 en cada parcial. 7. Petrobrás es una empresa petrolera que cotiza en la Bolsa de Buenos Aires. 8. El patrimonio neto de Petrobrás es de 2150 millones de euros. 9. Las empresas cuyo patrimonio neto excede los 1000 millones de euros se consideran grandes. 10. Las acciones de las empresas petroleras grandes tienen tendencia al alza. 11. Cualquier auto que tenga ABS y aire acondicionado le puede interesar a Mirna. 12. El auto del Sr. Gómez tiene ABS, levantavidrios eléctrico y estéreo con MP El auto del Sr. Galíndez tiene aire acondicionado, cierre centralizado y ABS. La información incluida en cada uno de estos enunciados puede ser de interés para distintos sistemas. Tal vez eso no es tan evidente intuitivamente para los enunciados 1 a 4, no es información que manejen los sistemas que habitualmente asociamos a la idea de "sistema de información". Para el resto de los enunciados sí podemos imaginar sistemas en donde son pertinentes: enunciados 5 y 6 son ejemplos típicos de información que maneja un sistema de administración de una unidad educativa. enunciados 7 al 10: pueden aparecer en un sistema de administración de carteras bursátiles. enunciados 11 al 13: pueden aparecer en el sistema que manejan los vendedores de una concesionaria de autos. 1 en el apunte sobre Diferentes sentidos del concepto de información se indica explícitamente que "Las unidades de información que se toman en consideración son proposiciones o enunciados de algún lenguaje (ya sea una lengua histórica o un lenguaje formal)" Página 4 de 49

5 Es posible que la representación de estos enunciados en un sistema difiera de cómo los estamos expresando, p.ej. en el enunciado 11 Mirna podrá estar representada por su número de cliente, y en el 12 el auto del Sr. Gómez por su patente. Eso no quita que la información representada es la que estamos describiendo, independientemente de las decisiones sobre cómo elegimos representarla. Pasemos ahora al concepto de inferencia. Este concepto se refiere, en general, a los distintos aspectos de la relación entre las premisas y la conclusión de un razonamiento. Ahora bien, si queremos usar este concepto como base para construir sistemas de información, nos interesará la forma que tome el "agente manipulador" que produce los resultados (que serán las conclusiones) a partir de la información con que contamos (que serán las premisas). Por lo tanto en este apunte, nos interesarán los procesos de inferencia, entendiendo como proceso de inferencia cualquier proceso por el cual se obtiene una conclusión a partir de un conjunto de premisas. P.ej. a partir de los enunciados 11 a 13 podemos concluir que a Mirna le puede interesar el auto del Sr. Galíndez, pero no el del Sr. Gómez; el proceso que lleva a obtener esa conclusión, y por lo tanto a armar un razonamiento (uniendo la conclusión obtenida a las premisas de la que se partió) es lo que entenderemos como proceso de inferencia en el contexto de este apunte. Otra vez, nos referimos al apunte sobre Diferentes sentidos del concepto de información, que termina así: La inferencia lógica, en general, puede ver como una manera de procesar información proposicional. El input está constituido por lo que se llaman premisas (de un razonamiento) y el output es su conclusión. Nótese que este sentido de información puede verse como un caso especial de que se adopta en el ámbito de sistemas de información. Retomemos ahora el objetivo de construir sistemas de información, tomando como ejemplo a la concesionaria de autos que quiere un sistema que ayude a los vendedores a encontrar autos adecuados para sus clientes a partir de las preferencias de cada cliente. El resultado que esperamos del sistema es que nos diga qué autos conviene ofrecerle a un determinado cliente. La información que debemos manejar, tomando un contexto muy simplificado, es la referente a gustos de cada cliente y características de cada auto 2. Entonces, usando los conceptos de razonamiento y proceso de inferencia, podemos concebir este sistema de información. La información es la que expresan los enunciados, que van a ser de la forma de los enunciados 11 a 13; vamos a usar esta información como premisas. La forma de manejar la información será generar inferencias sobre los enunciados, para obtener conclusiones. P.ej. a partir de los enunciados de ejemplo, puedo obtener estas conclusiones a. conviene recomendarle a Mirna el auto del Sr. Galíndez. b. no conviene recomendarle a Mirna el auto del Sr. Gómez. Estos enunciados de la forma "conviene recomendarle al cliente X el auto Y" o "no conviene recomendarle al cliente X el auto Y" serán los resultados del sistema. Son resultados útiles, que le sirven a los vendedores en el trato con sus clientes. 2 En un análisis más detallado, podríamos incluir el precio que cada cliente está dispuesto a pagar, las condiciones de pago que se pueden armar, los gustos de las personas por franja etaria u otras características generales, etc.. Página 5 de 49

6 Hasta aquí, podemos imaginar un "sistema manual" armado así: para cada auto se arma una ficha con sus características cuando llega un cliente, el vendedor que lo atiende le pregunta qué auto quiere; para saber qué autos se le pueden recomendar, el vendedor se comunica con una oficina de recomendaciones donde están las fichas, le cuenta qué está buscando el cliente, y el empleado de la oficina de recomendaciones le dice qué autos conviene ofrecerle. Observamos que la oficina de recomendaciones no necesita conocer a los clientes ni a los autos directamente, puede obtener sus resultados usando sólo la información que tiene representada,.las fichas para los autos, lo que le cuenta el vendedor para los clientes. Notamos también que la información que incluimos es la que resulta pertinente para el sistema, p.ej. de cada auto no registramos el peso del eje delantero, y de los clientes no nos importa el color de pelo. La información que elegimos incluir en un sistema es la que necesitamos para obtener los resultados buscados; el recorte de la información a incluir en un sistema es un factor crítico para su construcción. Aunque no estamos usando computadoras, tenemos todos los elementos de un sistema de información del estilo deseado: información representada explícitamente (fichas más indicaciones de los vendedores), manejo de la información representada (las inferencias que hace la oficina de recomendaciones), resultados concretos (qué autos pueden o no recomendarse). Resumiendo, si tomamos representación de la información: mediante enunciados. manipulación: proceso de inferencia que nos permite armar razonamientos. resultados del sistema: conclusiones de los razonamientos construidos. entonces a partir de estos conceptos podemos armar sistemas de información. Para que este sistema pueda ser implementado en una computadora no nos sirven el castellano en el que se escriben las fichas, ni la inferencia intuitiva del empleado de la oficina de recomendaciones. Necesitamos 1. un formalismo de representación de información 2. una descripción formal de cómo realizar inferencias. Este es el rol de la Lógica de predicados de primer orden La lógica de predicados de primer orden nos provee con los dos elementos que necesitamos a. un lenguaje formal, con reglas bien definidas, en el que puede describir la información; o sea, las premisas y las posibles conclusiones de los razonamientos. b. sistemas de inferencia deductiva (p.ej. el sistema de deducción natural) que define reglas que nos permiten saber, en algunos casos, si un razonamiento es correcto o no, o sea, si es correcto obtener una determinada conclusión a partir de un conjunto de premisas. Entonces, usando la lógica de predicados de primer orden, podemos construir sistemas de información basados en los conceptos de razonamiento e inferencia. Hagámoslo para la agencia de autos; transcribamos los tres enunciados que tomaremos como premisas. 1. El auto del Sr. Gómez tiene ABS, levantavidrios eléctrico y estéreo con MP3. 2. El auto del Sr. Galíndez tiene aire acondicionado, cierre centralizado y ABS. 3. Cualquier auto que tenga ABS y aire acondicionado le puede interesar a Mirna. Necesitamos hacer varias cosas. Página 6 de 49

7 Primero, elegir un código para los predicados y constantes de individuo que aparecen. Elijamos este: a Mirna b auto del Sr. Gómez c auto del Sr. Galíndez d ABS e levantavidrios eléctrico f estéreo con MP3 g cierre centralizado h aire acondicionado Pxy a x le puede interesar el auto y Qxy el auto x tiene el accesorio y Ahora podemos escribir las premisas El auto del Sr. Gómez tiene ABS, levantavidrios eléctrico y estéreo con MP3. 1 (Qbd Qbe) Qbf El auto del Sr. Galíndez tiene aire acondicionado, cierre centralizado y ABS. 2 (Qch Qcg) Qcd Cualquier auto que tenga ABS y aire acondicionado le puede interesar a Mirna 3. 3 x ((Qxd Qxh) Pax) Si queremos saber si a Mirna le puede interesar el auto del Sr. Galíndez, analizaremos la corrección del razonamiento que tenga las tres fórmulas anteriores como premisas, y esta conclusión Pac Este razonamiento es correcto, veámoslo usando deducción natural 4 Qcd 2, E 5 Qch Qcg 2, E 6 Qch 5, E 7 Qcd Qch 4, 6, I 8 (Qcd Qch) Pac 3, E 9 Pac 8, 7, MP Entonces, si al sistema le pregunto si a Mirna le puede interesar el auto del Sr. Galíndez, va a responder que sí. Ya tenemos una forma de interacción, o de uso, de un sistema de información basado en lógica. Observamos que la interacción con este sistema consiste en hacerle preguntas, a las que responde por "sí" o por "no" 4. Ya sabemos cuándo responde que sí: cuando el razonamiento cuyas premisas son la información representada y la conclusión es la pregunta es correcto; visto de otra forma, cuando el sistema puede inferir la pregunta a partir de la información que tiene. En el ejemplo: el sistema "sabe" (o sea, maneja conocimiento) sobre los gustos de Mirna y las características de los autos. Le pregunto si a Mirna le puede interesar el auto del Sr. Galíndez; como puede inferirlo, responde que "sí". 3 Este enunciado podría haber sido descripto de otra forma por la persona que nos indica cómo funciona la concesionaria; p.ej. "Mirna lo que busca en un auto es ABS y aire"; a partir de la forma en que los expertos del dominio nos dscriben la información, debemos elegir cómo representarla. Cuando formalizamos información para un sistema, debemos elegir representaciones que sean adecuadas a los objetivos del sistema; en este caso, obtener las conclusiones que buscamos. Este fenómeno se repite, no sólo en el ámbito de la programación basada en lógica (que es el tema de este apunte), sino en los sistemas de información basados en computadoras en general. Encontrar representaciones adecuadas es un aspecto crítico en el éxito de un sistema. 4 En rigor, nos gustaría algo más poderoso: poder preguntarle al sistema p.ej. qué autos le pueden interesar a Mirna, en lugar de preguntar uno por uno. Usando Prolog sí podemos hacer eso, como lo veremos más adelante. Página 7 de 49

8 Y si la inferencia no se puede hacer? Pasemos al auto del Sr. Gómez; la conclusión para este caso es Pab A partir de las premisas, no puedo demostrar esta conclusión, ni tampoco la contraria Pab Qué debería decir el sistema en este caso? El criterio generalmente asumido en los sistemas de información basados en estas ideas es que: si el sistema no puede inferir lo que se pregunta a partir de la información que maneja, entonces responde "no". Por lo tanto, la respuesta del sistema para el auto del Sr. Gómez será "no", lo que se corresponde con lo esperable intuitivamente. Más adelante volveremos a este tema. Objetos genéricos distintas visiones de una misma entidad Al plantear el código que usamos para el sistema de la concesionaria, hay algo respecto de la elección de las constantes que puede resultar extraño. Se supone que las constantes de individuo se corresponden con, exactamente, individuos. Las constantes que representan a Mirna y a cada auto son claras en este sentido, tengo una constante y un objeto concreto que es representado por la constante. Tomemos ahora la constante d qué es "ABS"? Claramente no se refiere al ABS de un auto en particular, p.ej. al del Sr. Gómez. Observemos que en los átomos que enuncian "el auto del Sr. Gómez tiene ABS" y "el auto del Sr. Galíndez tiene ABS" estamos representando el "ABS" con la misma constante, que es d. Podríamos haber elegido representar "ser ABS" con un predicado R, entonces el enunciado "el auto del Sr. Gómez tiene ABS" se representaría así x (Qbx Rx) (1) o sea "existe un accesorio tal que el auto del Sr. Gómez lo tiene y que es ABS". Si hubiéramos representado todos los accesorios de esta forma, entonces el enunciado sobre los gustos de Mirna quedaría así (S : ser aire acondicionado): x (( y z (Qxy Qxz Ry Sz)) Pax) Para modelar el mismo problema, tengo que recurrir a una representación más compleja. Además, como veremos, en el lenguaje Prolog no podemos escribir una fórmula como (1). Desde otro punto de vista, analicemos qué entidades manejan las personas que trabajan en la sección de ventas de la concesionaria, p.ej. los vendedores. Si un vendedor sabe que un auto tiene ABS, lo más probable es que no esté pensando en el objeto físico ABS del auto. Si dos autos tienen ABS, en la visión del vendedor a los dos autos "les pasa lo mismo" que es tener ABS, y esta información es relevante para el objetivo del sistema. Los objetos físicos que son el sistema de ABS de cada auto no son de interés para este sistema. Si por otro lado le preguntamos a un vendedor " qué accesorios tiene el auto del Sr. Gómez?" la respuesta será "ABS, levantavidrios y estéreo con MP3" (veremos más adelante que sí podemos hacer una consulta de esta forma en Prolog) Entonces, para el vendedor existe algo que se llama ABS, pero que no es un objeto físico, es algo que llamaremos "objeto genérico". Página 8 de 49

9 Podemos hacer una analogía con los componentes de un plato, p.ej. tanto la salsa bolognesa como una empanada llevan carne picada. Está claro que no estamos hablando de una porción determinada de carne picada, sino de un objeto genérico, el mismo que me permite preguntarle a alguien " tenés carne picada?". Respecto de los objetivos del sistema, los equipos individuales de ABS no son relevantes; en el dominio que manejan las personas que obtienen los resultados que se le pedirán al sistema no aparecen estas entidades. Si tomamos "ABS" como un objeto genérico, este sí es relevante para el sistema; por lo tanto, es el que amerita estar representado con una constante de individuo. En conclusión: la constante d está representando al objeto genérico ABS, al accesorio ABS, que sí es, conceptualmente, el mismo para todos los autos que tienen ABS. Al elegir qué entidades denotaré con constantes en un sistema, debo analizar, a partir de los resultados que deben obtenerse, en qué casos es pertinente referirnos a objetos individuales (como Mirna o el auto del Sr. Gómez en el ejemplo) y en qué casos es conveniente referirnos a objetos genéricos (como ABS o levantavidrios). Está claro que si construyéramos un sistema para el taller de la concesionaria, sería más probable que los objetos físicos ABS sí tuvieran relevancia, y por lo tanto ameritaran ser representados individualmente. Qué se representa y cómo va en función de los resultados esperados del sistema y de qué visión están atrapando; la visión de un auto que tiene un vendedor es distinta a la que tiene un mecánico. En resumen Veamos cómo quedó configurado nuestro sistema de información: información representada: enunciados expresados en fórmulas del lenguaje de predicados. manejo de la información: ante una consulta, expresada también como una fórmula, tomar la información representada como premisas, la consulta como conclusión, y usar un sistema de deducción para elucidar si puede demostrarse la corrección del razonamiento construido. resultados: ante cada consulta, se responde "sí" si de pudo demostrar que el razonamiento construido es correcto, y "no" en caso contrario. Tomando el ejemplo clásico de la mortalidad de Sócrates, un sistema de información basado en lógica: tendrá como información representada "Sócrates es hombre" y "todos los hombres son mortales", y ante la consulta "Sócrates es mortal" responderá que sí. Estas ideas (representación en un lenguaje formal, usar procesos de inferencia como manipulación, interacción mediante consultas) son la base de sistemas de información que realmente se usan, p.ej. los llamados "sistemas expertos". En el curso vamos a ver un ejemplo muy sencillo, que es la construcción de pequeños sistemas (p.ej. alguno análogo al de Sócrates) usando un lenguaje de programación llamado Prolog. El Prolog es una herramienta que permite construir sistemas que responden a las ideas que presentamos en este capítulo, porque acepta información representada en un lenguaje que es una variación restringida del lenguaje de predicados. acepta consultas representadas por fórmulas en el mismo lenguaje. intenta demostrar la corrección del razonamiento, y responde por "sí" o por "no" ante cada consulta según el criterio recién indicado. Página 9 de 49

10 Capítulo 2 El mundo de Prolog Aunque no conocemos los detalles acerca de cómo es Prolog, ya sabemos varias cosas de él. En primer lugar su objetivo: ser una herramienta que nos permita construir sistemas de información basados en los conceptos de razonamiento e inferencia. También algunas características: La información se describe en un lenguaje que tiene relación con el de la lógica de predicados de primer orden. La forma de obtener resultados es mediante consultas; una consulta es una fórmula expresada en el mismo lenguaje en el que se describe la información. Usa algún sistema de deducción para saber si el razonamiento cuyas premisas son las información descripta, y la conclusión es la consulta, es correcto. Veamos ahora al Prolog un poco más en detalle. El lenguaje Prolog Átomos y nombres Comencemos con el lenguaje. Dijimos que es una variación restringida del lenguaje del cálculo de predicados. Vamos a ver la sintaxis de Prolog a partir de ejemplos; una descripción más ordenada aparece en el anexo 1. Por qué variación? Porque la sintaxis es distinta. Hay muchas diferencias: Los símbolos de predicado, variable y constante de individuo, en realidad no son símbolos sino que son secuencias de símbolos, o sea, pueden tener varias letras. P.ej. si quiero representar el predicado monádico "ser un gato", puedo asignarle a ese predicado la secuencia de letras gato, en lugar de tener que designar una letra predicativa. Lo mismo pasa con constantes de individuo y con variables. A la secuencia de símbolos que denota un predicado la llamaremos el nombre del predicado, y análogamente para constantes de individuo y variables. La palabra "nombre" se usa extensamente en sistemas para referirnos a la palabra que denota una unidad de un lenguaje de programación: nombres de función, de procedimiento, de módulo, etc.. Para distinguir qué nombra cada nombre, en Prolog: los nombres de predicado empiezan con minúscula. los nombres de variable empiezan con mayúscula. los nombres de constante de individuo empiezan con minúscula. Un átomo tiene esta forma predicado(argumento-1,..., argumento-n) en lugar de la forma que tiene en lógica Pa 1...a n La traducción de una fórmula a Prolog se llama cláusula. Todas las cláusulas tienen que terminar con punto (si no "no anda"). Con estas reglas ya podemos escribir cláusulas (equivalente a fórmulas) atómicas en Prolog. Página 10 de 49

11 P.ej. tenemos que decir que Fritz es un gato. En lógica podemos expresarlo así: Pa (con el código: Px : x es un gato, a : Fritz). En Prolog podemos escribirlo de esta forma: gato(fritz). (observar el punto al final de la cláusula). Otro ejemplo: si queremos expresar que Ana y Marcos son amigos mediante un predicado diádico, en Prolog puede quedarnos, p.ej., así: amigos(ana,marcos). en lugar de Qbc (el código para este caso es Qxy : x e y son amigos, b : Ana, c : Marcos). La coma adentro de los paréntesis separa entre argumentos para predicados poliádicos. Los nombres fritz, ana y marcos están en minúsculas, porque denotan constantes de individuo. Ausencia de código La característica de que los nombres puedan tener muchas letras es muy útil, porque elimina la necesidad de tener un código separado de las cláusulas. En la cláusula gato(fritz). no hace falta código, se entiende que el predicado monádico gato(x) representa "X es un gato" y que la constante fritz representa al gato llamado Fritz. Para que no haga falta código, tenemos que elegir los nombres de predicados y constantes de forma tal de que se lean, que leyendo las cláusulas pueda entender qué información están representando sin necesidad de un código separado. En general, elegir buenos nombres es muy importante en la construcción de sistemas de información, vamos a practicar esta habilidad en el curso. Moléculas y variables Hablemos ahora de los temas que nos quedan: fórmulas moleculares y variables. Representemos en Prolog el enunciado "todos los gatos son mamíferos", para introducir el condicional y el cuantificador universal. En Prolog este enunciado se escribe así mamifero(x):- gato(x). en lógica de predicados de primer orden sería (Px : x es gato, Rx : x es mamifero) x Px Rx El símbolo :- es un condicional "al revés", o sea, el consecuente se pone a la izquierda, el antecedente se pone a la derecha. En el enunciado clásico "todos los hombres son mortales" el antecedente es ser hombre, el consecuente es ser mortal. En Prolog queda así: mortal(x):- hombre(x). Las cláusulas moleculares pueden leerse de izquierda a derecha usando la palabra si para el símbolo :- ; así, la primer cláusula puede leerse de la siguiente forma "para todo X, X es mamífero si X es gato" o más resumido "mamífero si gato" OJO que esto es distinto a decir "si es mamífero, es gato" dicho así, está implícito el "entonces", es equivalente a "si es mamífero entonces es gato" que no es lo que dice la cláusula. Página 11 de 49

12 Antes de seguir, tres apuntes sobre la cláusula mamifero(x):- gato(x). 1. Cómo "sabe" Prolog que el argumento es una variable? Porque empieza con mayúscula. P.ej. en esta cláusula mamifero(x):- gato(x). el argumento es la constante de individuo x, no una variable. Recordemos que en Prolog no hay nombres que sean sólo para constante y nombres que sean sólo para variable; el criterio para diferenciar constantes de variables es si empiezan en minúscula o en mayúscula. 2. dónde dice "para todo", cómo sabe que la variable está cuantificada universalmente? Todas las variables en Prolog están cuantificadas; el cuantificador está implícito, no se escribe. Para todas las variables se asume un cuantificador universal, salvo dos casos que veremos más adelante. 3. sobre el nombre de predicado gato Un detalle adicional sobre la cláusula sobre gatos y mamíferos: para decir "X es gato" elegimos gato como nombre de predicado. Además de ser conveniente por la comprensión, es necesario si a partir de esta cláusula más la que ya teníamos gato(fritz). queremos que Prolog pueda inferir que Fritz es mamífero, y por lo tanto responda "sí" a la consulta correspondiente. En general al representar información en Prolog debemos ser coherentes con los nombres que elegimos; si para representar al mismo concepto (predicado o constante) no usamos siempre el mismo nombre, no obtendremos los resultados esperados. Volveremos sobre este tema más adelante. Sigamos con el análisis de las cláusulas moleculares en Prolog. Toda cláusula molecular bien formada tiene que tener exactamente una aparición del símbolo :-, o sea que si en una cláusula no tiene :- entonces tiene que ser atómica en ninguna cláusula puede aparecer el :- más de una vez. Además del :- las únicas conectiva que incluye Prolog son conjunción y negación El tratamiento de la negación en Prolog tiene características bastante particulares, que describiremos en un capítulo dedicado. Veamos ahora la conjunción. La conjunción que se escribe con una coma. Ahora bien, la conjunción solamente puede ir en a la derecha del :- o sea en el antecedente. P.ej. una posible cláusula para representar "los gatos cazan ratones" es caza(x,y):- gato(x), raton(y). en donde las dos variables están cuantificadas universalmente; en lógica sería x y ((Px Qy) Rxy) (Px : x es gato; Qx : x es ratón; Rxy : x caza a y) Resumiendo: toda fórmula molecular va a tener esta forma consecuente :- antecedente. donde en el consecuente va a aparecer un único átomo, y en el antecedente pueden aparecer varios separados por coma que significa conjunción. En Prolog se bautizaron las partes de una cláusula molecular al consecuente se lo llama cabeza al símbolo :- se lo llama cuello al antecedente se lo llama cuerpo Página 12 de 49

13 O sea que las cláusulas moleculares tienen una cabeza y un cuerpo, separados por el cuello. La cabeza tiene un solo átomo, el cuerpo puede tener varios. P.ej. en la cláusula caza(x,y):- gato(x), raton(y). la cabeza es caza(x,y) y el cuerpo es gato(x), raton(y). Las únicas conectivas que hay son el cuello, la coma, y la negación que la vamos a ver más adelante. Las que siguen son cláusulas mal formadas: mamifero(x) :- felino(x) :- gato(x). porque ninguna cláusula puede tener más de un :-. gato(fritz), raton(jerry). porque toda cláusula molecular debe tener un :-. mamifero(x), come(x,y) :- gato(x), raton(y). porque la coma sólo puede ir en el cuerpo; la coma que está mal es la de la cabeza. caza(x,y):- gato(x), raton(y) porque le falta el punto del final ( no olvidarlo!!). Limitaciones Con esto vimos casi toda la sintaxis de Prolog que vamos a usar, y ya vimos por qué lo de variación. También queda claro por qué restringida; hay restricciones en dos aspectos. 1. conectivas, sólo tenemos un equivalente del condicional y la conjunción, y además con limitaciones de uso 2. cuantificadores, está restringido qué cuantificador se corresponde con cada variable y no puedo cambiarlo. Hay muchas fórmulas que pueden escribirse en lógica de predicados de primer orden, y que no pueden traducirse a una cláusula Prolog. En algunos casos, podremos esquivar la limitación traduciendo una fórmula en varias cláusulas; en otros casos esto no es posible. Veamos algunos casos de fórmulas no traducibles directamente 5 : 1. Pa Ta 2. Pa Qa 3. x ((Px Qx) Rx) 4. x (Px (Sx Rx)) 5. x (Px (Sx Rx)) 6. x Px Un posible código común a estas fórmulas es este: a Fritz Px x es mamífero Qx x es reptil Rx x tiene piel Sx x tiene dientes Tx x es adulto Analicemos para cada una si podemos traducirla en Prolog usando muchas cláusulas 5 recordemos que dejamos el tratamiento de la negación para un capítulo posterior Página 13 de 49

14 1 - Pa Ta Este caso es sencillo: separamos en dos cláusulas mamifero(fritz). adulto(fritz). Si analizamos las reglas de introducción y eliminación de la conjunción en el sistema de deducción natural, obtenemos inmediatamente que en un conjunto de premisas es equivalente tener la premisa Pa Ta (las dos juntas) a tener las dos premisas Pa Ta (las dos separadas). Esto se generaliza para conjunciones múltiples, o sea fórmulas de la forma (((f 1 f 2 ) f 3 ) f 4 )... que pueden expresarse en Prolog usando tantas cláusulas como elementos de la conjunción. 2 - Pa Qa En este caso, no hay traducción a Prolog. Podemos armar una cláusula similar a partir de la fórmula lógicamente equivalente Pa Qa pero por las características de la negación de Prolog (que veremos más adelante) el uso de una fórmula de este estilo para obtener resultados es muy limitada; y en general diremos que no podemos expresar en Prolog fórmulas cuya conectiva principal es una disyunción. 3 - x ((Px Qx) Rx) Si fuera conjunción en lugar de disyunción en el antecedente se podría traducir inmediatamente. Cuando tengo disyunción en el antecedente, a partir de esta ley lógica ((a b) c) ((a c) (b c)) puedo obtener que la fórmula es equivalente a la que sigue x ((Px Rx) (Qx Rx)) y distribuyendo el cuantificador (que puede hacerse sin problemas en este caso) nos queda x (Px Rx) x (Qx Rx) Usando lo que ya vimos para el caso 1 (partir en cláusulas las fórmulas cuya conectiva principal es una conjunción), esto se puede traducir a Prolog en dos cláusulas; en el ejemplo son tienepiel(x):- mamifero(x). tienepiel(x):- reptil(x). (recordemos el código P : mamífero, Q reptil, R tiene piel) Observemos que el antecedente va a la derecha, mientras que el consecuente va a la izquierda. 4 - x (Px (Sx Rx)) Este tipo de fórmulas no se puede traducir a cláusulas Prolog; la disyunción del consecuente no se puede separar, y recordemos que en la cabeza de una cláusula puede ir un solo átomo. 5 - x (Px (Sx Rx)) Esta fórmula no se puede traducir directamente, porque habría que poner varios átomos en la cabeza de la cláusula correspondiente; en el ejemplo sería tienedientes(x), tienepiel(x):- mamifero(x). (recordemos P : mamífero; S : tiene dientes ; R : tiene piel) que es una cláusula mal formada. Página 14 de 49

15 Al igual que en el caso 3, hay una ley lógica que nos ayuda a descomponer la fórmula; en este caso es (a (b c)) ((a b) (a c)) Usando esta ley, puedo transformar la fórmula en cuestión en x ((Px Sx) (Px Rx)) y distribuyendo el cuantificador (que puede hacerse sin problemas en este caso) nos queda x (Px Sx) x (Px Rx) en el ejemplo, en Prolog queda tienedientes(x):- mamifero(x). tienepiel(x):- mamifero(x). 6 - x Px Esta fórmula no tiene traducción a Prolog 6 ; en general va a pasar eso con las fórmulas en los que el cuantificador principal sea un existencial. Por lo tanto, no podemos escribir en Prolog fórmulas que enuncien la existencia de un ente con ciertas características sin denotarlo; p.ej. no podemos escribir "el auto del Sr. Gómez tiene un equipo de ABS" sin nombrarlo. Esta es una de las motivaciones para la aparición de constantes que denotan "objetos genéricos", tal cual lo indicado en el capítulo 1. En lugar de expresar "el auto del Sr. Gómez tiene un equipo de ABS" se establece el "objeto genérico" equipo de ABS, y se relaciona a cada auto con las constantes que representan sus accesorios. Programa Prolog Ahora que aprendimos la sintaxis, veamos cómo usar el lenguaje Prolog para construir sistemas de información de la forma planteada en el primer capítulo. En el lenguaje Prolog vamos a escribir, tanto la información disponible, que son las premisas, como las consultas que querramos hacer, que son las posibles conclusiones. Al conjunto de premisas que forman la información relevante para un sistema lo vamos a llamar programa Prolog; dicho de otra forma un programa Prolog es un conjunto de cláusulas que describe la información relevante para un sistema de información. o sea, para cada sistema que construyamos en este curso habrá un programa Prolog que describe la información que necesita analizarse para producir los resultados esperados. En los sistemas de información construidos usando Prolog, el programa es la información representada. Cada pregunta que se le haga al Prolog se hará a partir de un programa, y ante cada pregunta, el Prolog responderá "sí" si puede inferir la pregunta a partir del programa, y "no" en caso contrario. A partir del mismo programa hay varias preguntas que querremos que responda, o sea, conclusiones que se puede querer testear si pueden o no inferirse del programa. 6 de acuerdo a lo que vemos en este curso; hay una herramienta que provee Prolog llamada variable anónima con la que se pueden expresar existenciales en algunos casos. El estudio de la variable anónima excede los contenidos de este curso. Página 15 de 49

16 Retomando el sistema de recomendaciones para la concesionaria de autos, vemos que hay dos consultas posibles: le puede interesar a Mirna el auto del Sr. Gómez? le puede interesar a Mirna el auto del Sr. Galíndez? Para nosotros, construir un sistema consistirá en escribir el programa que describe la información relevante, y probar si se pueden obtener los resultados esperados. Apuntar a los objetivos Cuando se plantea la construcción de un sistema de información (en general, no sólo para los que estudiamos en este curso) se tienen ciertos objetivos, y el sistema construido debe satisfacer esos objetivos. Si un sistema no responde a lo que se espera de él, no es útil, sin importar las características positivas que pueda tener (facilidad de uso, robustez, costo, etc.). Para los sistemas de información basados en lógica, los objetivos son los tipos de pregunta que quiero poder hacer a partir del programa, y qué respuesta espero en distintos casos, que pueden establecerse como casos de prueba. Veámoslo con un ejemplo: en el sistema de recomendaciones de la concesionaria, el objetivo es poder preguntar qué autos pueden recomendarse a qué clientes, y los casos de prueba podrían ser las preguntas respecto de Mirna. Los objetivos de cada sistema influyen en qué información voy a incluir en el programa, y posiblemente también en la forma que tenga de representarla; en particular, qué predicados elijo, qué aridad tiene cada predicado, cuáles van a ser las constantes que voy a usar. Puede haber varias formas en principio correctas de describir cierta información usando el lenguaje Prolog; si una permite hacer a partir del programa construido las consultas que se plantean como objetivo mientras que otra no, entonces el primer programa es adecuado para el sistema que estoy construyendo, mientras que el segundo no. Resumiendo: para que un programa Prolog sea adecuado, no alcanza con que describa la información en forma correcta, también debe servir para hacer las inferencias que se esperan del sistema para el cual se construye. La concesionaria en Prolog Llegó el momento de armar nuestro primer programa Prolog; vamos a describir la información relevante para el sistema de recomendaciones, y testearlo. Mientras se va armando el programa voy a describir algunas cuestiones que conviene tener en cuenta. El objetivo del sistema es poder preguntar, dados una persona y un auto, si a la persona se le puede recomendar o no el auto. Recapitulemos la información introducida antes, y su representación en lógica. El auto del Sr. Gómez tiene ABS, levantavidrios eléctrico y estéreo con MP3. (Qbd Qbe) Qbf El auto del Sr. Galíndez tiene aire acondicionado, cierre centralizado y ABS. (Qch Qcg) Qcd Página 16 de 49

17 Mirna está buscando un auto que tenga ABS y aire acondicionado. x ((Qxd Qxh) Pax) Agreguemos un poco más de información, sin traducirla a lógica: Tanto Juana como Lola está buscando un auto con MP3 y aire acondicionado. Pedro está buscando un auto con ABS. Todos los jóvenes buscan autos con MP3 y levantavidrios eléctrico. Lucas y Francisco son jóvenes. Empecemos por el primer enunciado; vimos que debemos "partirlo" en tres cláusulas, nos queda accesorio(autogomez, abs). accesorio(autogomez, levantavidrios). accesorio(autogomez, mp3). (antes de seguir, ver la relación entre estas tres cláusulas y la fórmula expresada en lógica de predicados de primer orden) Tuvimos que elegir un nombre para el auto del Sr. Gómez, que es la constante autogomez 7. Describamos análogamente al auto del Sr. Galíndez accesorio(autogalindez, aire). accesorio(autogalindez, cierre). accesorio(autogalindez, abs). Para describir a los accesorios de ambos autos usamos el mismo predicado, accesorio. Al describir los accesorios del auto del Sr. Gómez, elegí describir los accesorios de un auto mediante el predicado accesorio, que tiene aridad 2; el primer argumento es el auto, el segundo es el accesorio. Una vez hecha esta elección, debo ser coherente con ella; si usara otro nombre de predicado para los accesorios del segundo auto, no podría armar un programa que responda correctamente. Análogamente, elegí el nombre abs para describir al accesorio ABS; esta elección también debe ser coherente. Esta coherencia ya se ve en la representación en lógica: en las dos fórmulas se usó el mismo símbolo de predicado (Q) para la relación entre cada auto y sus accesorios; y la misma constante (d) para representar al ABS. Vamos ahora a la fórmula que describe los gustos de Mirna puedeinteresar(mirna,x):- accesorio(x,abs), accesorio(x,aire). observamos que el consecuente es la cabeza, y el antecedente es el cuerpo. En este caso la traducción pudo ser directa, porque el Prolog soporta conjunción en el antecedente. Describamos los gustos de Juana y Lola. Pasado a "castellano regimentado", el enunciado quedaría así: si X tiene aire acondicionado y MP3, entonces X le puede interesar a Juana y a Lola tenemos una conjunción en el consecuente; se corresponde con el caso 5 del estudio de las limitaciones del lenguaje Prolog; la fórmula esta estructura x ((Axa Axm) (Ijx Ilx)) (A : tiene accesorio ; I : puede interesar ; a : aire acondicionado ; m : MP3 ; j : Juana ; l : Lola). En Prolog nos queda: puedeinteresar(juana,x):- accesorio(x,aire), accesorio(x,mp3). puedeinteresar(lola,x):- accesorio(x,aire), accesorio(x,mp3). (antes de seguir, entender la relación entre estas dos cláusulas y el enunciado expresado en "castellano regimentado", traducir a lógica de predicados de primer orden si es necesario. Si no se entiende esta relación, va a ser complicado entender lo que sigue en el apunte). Sigue la afirmación sobre el gusto de Pedro, que se traduce fácilmente: puedeinteresar(pedro,x):- accesorio(x,abs). 7 repaso: autogomez es una constante aunque tiene una mayúscula en el medio, para decidir se toma la primer letra que es minúscula Página 17 de 49

18 Pasemos ahora al enunciado sobre los gustos de los jóvenes. Pasado a "castellano regimentado" queda si la persona X es joven y el auto Y tiene MP3 y levantavidrios, entonces a X le puede interesar Y. el objetivo del programa es poder hacer preguntas sobre personas individuales, p.ej. Lucas o Mirna; no sobre "los jóvenes" indistintamente. Entonces, ser joven en este programa es una característica de las personas. Si tengo un enunciado de la forma "a los jóvenes " lo deberé traducir como "si X es joven entonces "; y en el cuerpo de la cláusula aparecerá el átomo joven(x). La cláusula en Prolog queda puedeinteresar(x,y):- joven(x), accesorio(y,mp3), accesorio(y,levantavidrios). Finalmente, describamos las características de Lucas y Francisco. joven(lucas). joven(francisco). excelente, terminamos con el programa. Ahora, responde al objetivo para el cual se construyó? Veamos parece que sí, porque a partir del programa y haciendo preguntas con el predicado puedeinteresar, Prolog podrá indicarnos si a una persona (puntual) puedo o no recomendarle un auto. Por ejemplo, si viene Lucas puedo preguntar puedeinteresar(lucas, autogomez). puedeinteresar(lucas, autogimenez). A la primer pregunta debería responder que sí, mientras que a la segunda debería respondr que no. Efectivamente, ese va a ser el comportamiento de Prolog "cargado" con este programa, como veremos más adelante al analizar cómo se hacen las consultas y cómo responde Prolog. Qué se describe en un programa Resumamos el programa construido en el parágrafo anterior: accesorio(autogomez, abs). accesorio(autogomez, levantavidrios). accesorio(autogomez, mp3). accesorio(autogalindez, aire). accesorio(autogalindez, cierre). accesorio(autogalindez, abs). puedeinteresar(mirna,x):- accesorio(x,abs), accesorio(x,aire). puedeinteresar(juana,x):- accesorio(x,aire), accesorio(x,mp3). puedeinteresar(lola,x):- accesorio(x,aire), accesorio(x,mp3). puedeinteresar(pedro,x):- accesorio(x,abs). puedeinteresar(x,y):- joven(x), accesorio(y,mp3), accesorio(y,levantavidrios). joven(lucas). joven(francisco). Para llegar a este programa tomamos varias decisiones sobre cómo representar la información, veámoslas con algo de detalle. Página 18 de 49

19 1. elegimos qué constantes de individuo necesitamos incluir en el programa. Los entes que identificamos mediante constantes de individuo son: los autos; tenemos una constante para cada auto que está en venta. los posibles compradores. los accesorios de cada auto. La decisión podría haber sido distinta, p.ej. no haber definido constantes para los accesorios, y en cambio haber definido un predicado para cada uno; p.ej. en lugar de las constantes abs y aire, predicados tieneabs y tieneaire. La primer cláusula hubiera quedado así tieneabs(autogomez). y la cláusula sobre los gustos de Mirna tendría esta forma puedeinteresar(mirna,x):- tieneabs(x), tieneaire(x). Al elegir las constantes, es importante tener claro si en cada caso nos conviene trabajar con objetos específicos u objetos genéricos; ver la sección al respecto en el capítulo 1. En este caso, los autos y los posibles compradores serán representados individualmente, mientras que para los accesorios elegimos representarlos en forma genérica, con una constante para cada accesorio, y no p.ej. una para el ABS del auto del Sr. Gómez y otra distinta para el auto del Sr. Galíndez. 2. elegimos qué predicados usar para la descripción. Los predicados que elegimos son accesorio, que relaciona cada auto con los accesorios que tiene. puedeinteresar, que relaciona los posibles compradores con los autos. joven, que indica cuáles de los posibles compradores son jóvenes. Está claro que las decisiones sobre predicados y constantes están muy relacionadas: el cambio en decisión sobre constantes para los accesorios hace aparecer nuevos predicados. 3. decidimos qué información incluir en el programa, lo que da lugar a qué cláusulas lo van a formar. Lo que debemos incluir en el programa para poder obtener los resultados esperados es: los accesorios que tiene cada auto. lo que está buscando cada posible comprador. para que tenga sentido la condición sobre los gustos de los jóvenes, hay que incluir la información sobre quiénes de los posibles compradores son jóvenes. Al escribir las cláusulas que describen la información que se decidió incluir en el programa, hay que respetar las decisiones tomadas sobre predicados y constantes, y ser coherente con ello. P.ej. en todas las cláusulas que hacen referencia a accesorios, usamos el predicado accesorio; no usamos p.ej. en algunas accesorio y en otras otro predicado tieneaccesorio. Lo mismo para las constantes, al aire acondicionado lo llamamos siempre aire; no a veces aire y otras aireacondicionado. Observamos también que las decisiones sobre constantes y predicados de un lado, y sobre información a incluir del otro, son en cierta medida independientes: los predicados y las constantes nos indican cómo representar información, pero no qué información representar. P.ej. estas cláusulas accesorio(autogomez, abs). tieneabs(autogomez). describen la misma información, que el auto del Sr. Gómez tiene ABS. Página 19 de 49

20 Consultas e intérprete Prolog Lógica Algunos conceptos sobre Prolog versión 1.0 Sigamos con el ejemplo del sistema para recomendaciones en la concesionaria de autos. En la sección anterior construimos, usando el lenguaje Prolog, un sistema con el objetivo de poder preguntarle qué autos, entre los que están en venta, pueden interesarle a qué clientes. Cómo hacemos estas preguntas; dicho de otra forma, cómo hacemos "andar" un programa Prolog? Aquí interviene un nuevo elemento, que es el intérprete Prolog. Un intérprete es un programa al que, a la vez, se le puede "cargar" o incorporar un programa Prolog. Una vez "cargado" el programa, se pueden escribir consultas en el intérprete, escritas también en lenguaje Prolog, usando los mismos predicados y constantes usados en el programa. El intérprete responderá "Yes" o "No", según si puede inferir (usando un sistema de deducción análogo aunque de distintas características- que el sistema de deducción natural) la consulta tomando como premisas las cláusulas que componen el programa cargado. De esta forma, el intérprete es el "agente manipulador" del que hablamos en el capítulo 1: ante una consulta, manipula la información relevante, y entrega la respuesta que es el resultado que obtenemos del sistema. Hay varios intérpretes Prolog, para el curso elegimos uno llamado SWI Prolog. Incluimos los detalles sobre cómo usar este intérprete en un anexo de este apunte. Volviendo al ejemplo, supongamos que cargamos el programa que construimos en la sección anterior, y queremos conocer los gustos de Lucas. Podemos escribir la consulta?- puedeinteresar(lucas, autogomez). obteniendo como respuesta "Yes", y también?- puedeinteresar(lucas, autogimenez). obteniendo como respuesta "No". (los símbolos?- los pone el SWI, es la indicación para escribir una consulta) De esta forma, verificamos que el sistema que construimos cumple con sus requisitos, al menos en el caso de prueba que elegimos. Tal como vimos en el capítulo 1, en cualquier caso en el que Prolog no pueda deducir la consulta tomando el programa cargado como conjunto de premisas, va a sancionar "No" como respuesta. Esta característica tiene "nombre propio": hipótesis de universo cerrado: para cada relación que no es indicada explícitamente ni puede deducirse a partir del programa cargado, el Prolog asume que no se verifica; dicho de otra forma, para Prolog el "universo" a partir del cual arma razonamientos se limita a lo indicado explícitamente en el programa cargado. La hipótesis de universo cerrado aparece descripta tanto en literatura sobre programación basada en lógica, como en trabajos sobre lógica, p.ej. puede verse el artículo de R. Reiter, "A Logic for Default Reasoning" (Artificial Intelligence Nro. 13, 1980, North-Holland), página 84. Página 20 de 49

MLM 1000 - Matemática Discreta

MLM 1000 - Matemática Discreta MLM 1000 - Matemática Discreta L. Dissett Clase 04 Resolución. Lógica de predicados c Luis Dissett V. P.U.C. Chile, 2003 Aspectos administrativos Sobre el tema vacantes: 26 personas solicitaron ingreso

Más detalles

UNIDAD I: LÓGICA PROPOSICIONAL

UNIDAD I: LÓGICA PROPOSICIONAL UNIDAD I: LÓGICA PROPOSICIONAL ASIGNATURA: INTRODUCCIÓN A LA COMPUTACIÓN CARRERAS: LICENCIATURA Y PROFESORADO EN CIENCIAS DE LA COMPUTACIÓN DEPARTAMENTO DE INFORMÁTICA FACULTAD DE CIENCIAS FÍSICO MATEMÁTICA

Más detalles

Para representar los conjuntos, los elementos y la relación de pertenencia, mediante símbolos, tendremos en cuenta las siguientes convenciones:

Para representar los conjuntos, los elementos y la relación de pertenencia, mediante símbolos, tendremos en cuenta las siguientes convenciones: 2. Conjuntos 2.1 Introducción El concepto de conjunto, de singular importancia en la ciencia matemática y objeto de estudio de una de sus disciplinas más recientes, está presente, aunque en forma informal,

Más detalles

PROLOG Inteligencia Artificial Universidad de Talca, II Semestre 2005. Jorge Pérez R.

PROLOG Inteligencia Artificial Universidad de Talca, II Semestre 2005. Jorge Pérez R. PROLOG Inteligencia Artificial Universidad de Talca, II Semestre 2005 Jorge Pérez R. 1 Introducción a PROLOG PROLOG es un lenguaje interpretado basado en la lógica de predicados de primer orden. Puede

Más detalles

UNIDAD 1. LOS NÚMEROS ENTEROS.

UNIDAD 1. LOS NÚMEROS ENTEROS. UNIDAD 1. LOS NÚMEROS ENTEROS. Al final deberás haber aprendido... Interpretar y expresar números enteros. Representar números enteros en la recta numérica. Comparar y ordenar números enteros. Realizar

Más detalles

Capítulo VI. Diagramas de Entidad Relación

Capítulo VI. Diagramas de Entidad Relación Diagramas de Entidad Relación Diagramas de entidad relación Tabla de contenido 1.- Concepto de entidad... 91 1.1.- Entidad del negocio... 91 1.2.- Atributos y datos... 91 2.- Asociación de entidades...

Más detalles

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología

Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología Ciclo de vida y Metodologías para el desarrollo de SW Definición de la metodología La metodología para el desarrollo de software es un modo sistemático de realizar, gestionar y administrar un proyecto

Más detalles

Diferenciabilidad. Definición 1 (Función diferenciable). Cálculo. Segundo parcial. Curso 2004-2005

Diferenciabilidad. Definición 1 (Función diferenciable). Cálculo. Segundo parcial. Curso 2004-2005 Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 2004-2005 Diferenciabilidad. 1. Definición de función diferenciable Después del estudio de los ites de funciones

Más detalles

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007

Ingeniería del Software I Clase de Testing Funcional 2do. Cuatrimestre de 2007 Enunciado Se desea efectuar el testing funcional de un programa que ejecuta transferencias entre cuentas bancarias. El programa recibe como parámetros la cuenta de origen, la de cuenta de destino y el

Más detalles

Aproximación local. Plano tangente. Derivadas parciales.

Aproximación local. Plano tangente. Derivadas parciales. Univ. de Alcalá de Henares Ingeniería de Telecomunicación Cálculo. Segundo parcial. Curso 004-005 Aproximación local. Plano tangente. Derivadas parciales. 1. Plano tangente 1.1. El problema de la aproximación

Más detalles

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Datos del autor Nombres y apellido: Germán Andrés Paz Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina Correo electrónico: germanpaz_ar@hotmail.com =========0========= Introducción

Más detalles

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON) 3.1.1 Introducción Este método proporciona un soporte para el diseño creativo de productos de software, inclusive a escala industrial.

Más detalles

5.1. Organizar los roles

5.1. Organizar los roles Marco de intervención con personas en grave situación de exclusión social 5 Organización de la acción 5.1. Organizar los roles Parece que el modelo que vamos perfilando hace emerger un rol central de acompañamiento

Más detalles

Tema 2. Espacios Vectoriales. 2.1. Introducción

Tema 2. Espacios Vectoriales. 2.1. Introducción Tema 2 Espacios Vectoriales 2.1. Introducción Estamos habituados en diferentes cursos a trabajar con el concepto de vector. Concretamente sabemos que un vector es un segmento orientado caracterizado por

Más detalles

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse. TABLA DE DECISION La tabla de decisión es una herramienta que sintetiza procesos en los cuales se dan un conjunto de condiciones y un conjunto de acciones a tomar según el valor que toman las condiciones.

Más detalles

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS Servicio DNS - 1 - Servicio DNS...- 3 - Definición... - 3 - Instalación... - 5 - Configuración del Servidor DNS...- 10 - - 2 - Servicio DNS Definición

Más detalles

Selección de los puntos de montaje

Selección de los puntos de montaje PARTICIONES PARA LINUX Selección de los puntos de montaje Tanto para aquellos que vayan a instalar ahora, como para quienes quieran cambiar el tamaño de una partición o formatear este apunte (resumen de

Más detalles

Redes de área local: Aplicaciones y servicios WINDOWS

Redes de área local: Aplicaciones y servicios WINDOWS Redes de área local: Aplicaciones y servicios WINDOWS 4. Servidor DNS 1 Índice Definición de Servidor DNS... 3 Instalación del Servidor DNS... 5 Configuración del Servidor DNS... 8 2 Definición de Servidor

Más detalles

Resumen. Funcionamiento. Advertencia

Resumen. Funcionamiento. Advertencia Resumen Módulo: Librería: IMPEXP.DLL Acoplable a: FactuCont 5, versiones monopuesto y red Descripción: Permite exportar datos de documentos, clientes, proveedores y artículos en un solo fichero para poder

Más detalles

Lección 24: Lenguaje algebraico y sustituciones

Lección 24: Lenguaje algebraico y sustituciones LECCIÓN Lección : Lenguaje algebraico y sustituciones En lecciones anteriores usted ya trabajó con ecuaciones. Las ecuaciones expresan una igualdad entre ciertas relaciones numéricas en las que se desconoce

Más detalles

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos Francisco José González Gutiérrez Cádiz, Octubre de 2004 Universidad de Cádiz Departamento de Matemáticas ii Lección 1 Conjuntos y Subconjuntos

Más detalles

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES Tema: Cartas de Servicios Primera versión: 2008 Datos de contacto: Evaluación y Calidad. Gobierno de Navarra. evaluacionycalidad@navarra.es

Más detalles

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos

Más detalles

La ventana de Microsoft Excel

La ventana de Microsoft Excel Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft

Más detalles

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie. Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra

Más detalles

MÓDULO 2. LEYES FINANCIERAS DE CAPITALIZACIÓN Y DESCUENTO SIMPLE

MÓDULO 2. LEYES FINANCIERAS DE CAPITALIZACIÓN Y DESCUENTO SIMPLE MÓDULO 2. LEYES FINANCIERAS DE CAPITALIZACIÓN Y DESCUENTO SIMPLE Índice de contenidos: 1. Ley Financiera de capitalización a interés vencido. 1.1. Equivalencia de capitales. 1.2. Tipos de interés equivalentes.

Más detalles

Transcripción completa de la Lección 2 (Pinyin).

Transcripción completa de la Lección 2 (Pinyin). Transcripción completa de la Lección 2 (Pinyin). Anfitriones: Gabriel Arévalo / Kirin Yang Gabriel: Hola, mi nombre es Gabriel. Kirin: Y yo soy Kirin. Gabriel: Nos complace mucho de que haya elegido estar

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Procesos Críticos en el Desarrollo de Software

Procesos Críticos en el Desarrollo de Software Metodología Procesos Críticos en el Desarrollo de Software Pablo Straub AgileShift Imagine una organización de desarrollo de software que consistentemente cumple los compromisos con sus clientes. Imagine

Más detalles

2.3 El Mundo de Tarski. http://cursos.clavijero.edu.mx/cursos/007_cp/modulo2/contenidos/documentos/tarski.zip

2.3 El Mundo de Tarski. http://cursos.clavijero.edu.mx/cursos/007_cp/modulo2/contenidos/documentos/tarski.zip 2.3 El Mundo de Tarski El mundo de Tarski es una herramienta de software desarrollada expresamente para enseñar y mejorar la capacidad del estudiante para describir situaciones en un mundo simple utilizando

Más detalles

CURSO 2010-2011 TECNOLOGÍA TECNOLOGÍA 4º ESO TEMA 5: Lógica binaria. Tecnología 4º ESO Tema 5: Lógica binaria Página 1

CURSO 2010-2011 TECNOLOGÍA TECNOLOGÍA 4º ESO TEMA 5: Lógica binaria. Tecnología 4º ESO Tema 5: Lógica binaria Página 1 Tecnología 4º ESO Tema 5: Lógica binaria Página 1 4º ESO TEMA 5: Lógica binaria Tecnología 4º ESO Tema 5: Lógica binaria Página 2 Índice de contenido 1. Señales analógicas y digitales...3 2. Código binario,

Más detalles

QUÉ SIGNIFICA CREER?

QUÉ SIGNIFICA CREER? 1 QUÉ SIGNIFICA CREER? L La persona es un ser abierto al futuro, es una realidad a hacer. Por lo tanto no es un ser determinado. En Primero medio descubrimos que la persona humana tiene como tarea primera

Más detalles

Apuntes de Matemática Discreta 9. Funciones

Apuntes de Matemática Discreta 9. Funciones Apuntes de Matemática Discreta 9. Funciones Francisco José González Gutiérrez Cádiz, Octubre de 004 Universidad de Cádiz Departamento de Matemáticas ii Lección 9 Funciones Contenido 9.1 Definiciones y

Más detalles

Ingeniería en Informática

Ingeniería en Informática Departamento de Informática Universidad Carlos III de Madrid Ingeniería en Informática Aprendizaje Automático Junio 2007 Normas generales del examen El tiempo para realizar el examen es de 3 horas No se

Más detalles

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones Fracciones. Las fracciones y los números Racionales Las fracciones se utilizan cotidianamente en contextos relacionados con la medida, el reparto o como forma de relacionar dos cantidades. Tenemos entonces

Más detalles

Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera?

Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera? Cómo ayudar a nuestros hijos e hijas en las tareas escolares si no sabemos euskera? Este documento es un resumen de la charla No sabemos euskera, Cómo ayudar a nuestros hijos e hijas en las tareas escolares?.

Más detalles

Las Relaciones Públicas en el Marketing social

Las Relaciones Públicas en el Marketing social Las Relaciones Públicas en el Marketing social El marketing social es el marketing que busca cambiar una idea, actitud o práctica en la sociedad en la que se encuentra, y que intenta satisfacer una necesidad

Más detalles

Biografía lingüística

Biografía lingüística EAQUALS-ALTE Biografía lingüística (Parte del Portfolio europeo de las lenguas de EAQUALS-ALTE) Portfolio europeo de las lenguas: modelo acreditado nº 06.2000 Concedido a Este modelo de Portfolio europeo

Más detalles

Cómo ayudarles con las tareas escolares si no sabemos euskera?

Cómo ayudarles con las tareas escolares si no sabemos euskera? Cómo ayudarles con las tareas escolares si no sabemos euskera? Objetivo: desarrollar la autonomía de aprendizaje Tanto si sabemos euskera como si no sabemos euskera, la pregunta que debemos responder los

Más detalles

Ejercicio de estadística para 3º de la ESO

Ejercicio de estadística para 3º de la ESO Ejercicio de estadística para 3º de la ESO Unibelia La estadística es una disciplina técnica que se apoya en las matemáticas y que tiene como objetivo la interpretación de la realidad de una población

Más detalles

Indicadores para la generación de conocimiento acerca de la evaluación de la calidad de las instituciones educativas

Indicadores para la generación de conocimiento acerca de la evaluación de la calidad de las instituciones educativas Indicadores para la generación de conocimiento acerca de la evaluación de la calidad de las instituciones educativas Por Antonio Millán Arellano Nov 25 de 2006 Resumen El uso de indicadores es cada día

Más detalles

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Especificación algebraica ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS Un tipo abstracto de datos se determina por las operaciones asociadas, incluyendo constantes que se consideran como operaciones sin

Más detalles

IIC 2252 - Matemática Discreta

IIC 2252 - Matemática Discreta IIC 2252 - Matemática Discreta L. Dissett Clase 04 Lógica de predicados. Reglas de inferencia en lógica de predicados. Lógica de predicados Definiciones básicas: Un predicado es una afirmación que depende

Más detalles

ANÁLISIS DE DATOS NO NUMERICOS

ANÁLISIS DE DATOS NO NUMERICOS ANÁLISIS DE DATOS NO NUMERICOS ESCALAS DE MEDIDA CATEGORICAS Jorge Galbiati Riesco Los datos categóricos son datos que provienen de resultados de experimentos en que sus resultados se miden en escalas

Más detalles

Indicaciones específicas para los análisis estadísticos.

Indicaciones específicas para los análisis estadísticos. Tutorial básico de PSPP: Vídeo 1: Describe la interfaz del programa, explicando en qué consiste la vista de datos y la vista de variables. Vídeo 2: Muestra cómo crear una base de datos, comenzando por

Más detalles

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema Sistema de Gestión Portuaria Uso General del Sistema Uso General del Sistema Página 1 de 21 Contenido Contenido... 2 1.Ingreso al Sistema... 3 2.Uso del Menú... 6 3.Visualizar Novedades del Sistema...

Más detalles

Problemas fáciles y problemas difíciles. Cuando a los niños les planteamos problemas de suma y resta, Laura dejó sin resolver el siguiente problema:

Problemas fáciles y problemas difíciles. Cuando a los niños les planteamos problemas de suma y resta, Laura dejó sin resolver el siguiente problema: Problemas fáciles y problemas difíciles Alicia Avila Profesora investigadora de la Universidad Pedagógica Nacional Cuando a los niños les planteamos problemas de suma y resta, Laura dejó sin resolver el

Más detalles

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 Fundamentos de Investigación de Operaciones Investigación de Operaciones 1 1 de agosto de 2003 1. Introducción Cualquier modelo de una situación es una simplificación de la situación real. Por lo tanto,

Más detalles

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales

Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Metodología Orientada a Objetos Clave 43100007 Maestría en Sistemas Computacionales Modulo 03 UML: Vista de Casos de Uso Artefacto: Actores Catedrático MSC. Jose Juan Aviña Grimaldo e-mail josejuan_avina@gmail.com

Más detalles

Nota 2. Luis Sierra. Marzo del 2010

Nota 2. Luis Sierra. Marzo del 2010 Nota 2 Luis Sierra Marzo del 2010 Cada mecanismo de definición de conjuntos que hemos comentado sugiere mecanismos para definir funciones y probar propiedades. Recordemos brevemente qué son las funciones

Más detalles

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros. QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros. Qué significa esto? Decir que una empresa es eficiente es decir que no

Más detalles

Manual para la utilización de PrestaShop

Manual para la utilización de PrestaShop Manual para la utilización de PrestaShop En este manual mostraremos de forma sencilla y práctica la utilización del Gestor de su Tienda Online mediante Prestashop 1.6, explicaremos todo lo necesario para

Más detalles

José M. Castillo. Teología popular. La buena noticia de Jesús. Desclée De Brouwer

José M. Castillo. Teología popular. La buena noticia de Jesús. Desclée De Brouwer José M. Castillo Teología popular La buena noticia de Jesús Desclée De Brouwer Índice Presentación... 11 1. Teología popular... 15 2. Situación de nuestra sociedad... 19 3. Situación de cada uno... 23

Más detalles

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.

Programa diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L. Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.

Más detalles

1.1. Introducción y conceptos básicos

1.1. Introducción y conceptos básicos Tema 1 Variables estadísticas Contenido 1.1. Introducción y conceptos básicos.................. 1 1.2. Tipos de variables estadísticas................... 2 1.3. Distribuciones de frecuencias....................

Más detalles

5. Composer: Publicar sus páginas en la web

5. Composer: Publicar sus páginas en la web 5. Composer: Publicar sus páginas en la web Si nuestras páginas existen únicamente en el disco duro local, sólo nosotros podremos navegar por ellas, pero nadie más podrá hacerlo. Composer nos permite publicarlas

Más detalles

ESTUDIAR MATEMATICA EN CASA

ESTUDIAR MATEMATICA EN CASA ESTUDIAR MATEMATICA EN CASA Sugerencias para docentes Sea cual fuere el enfoque de enseñanza de la matemática adoptado, todos los docentes acuerdan en la importancia del tiempo extraescolar dedicado al

Más detalles

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informática de Sistemas

Más detalles

Ecuaciones de primer grado con dos incógnitas

Ecuaciones de primer grado con dos incógnitas Ecuaciones de primer grado con dos incógnitas Si decimos: "las edades de mis padres suman 120 años", podemos expresar esta frase algebraicamente de la siguiente forma: Entonces, Denominamos x a la edad

Más detalles

Colegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio

Colegio Alexander von Humboldt - Lima. Tema: La enseñanza de la matemática está en un proceso de cambio Refo 07 2004 15 al 19 de noviembre 2004 Colegio Alexander von Humboldt - Lima Tema: La enseñanza de la matemática está en un proceso de cambio La enseñanza de la matemática debe tener dos objetivos principales:

Más detalles

GUÍA PARA LA FORMULACIÓN PROYECTOS

GUÍA PARA LA FORMULACIÓN PROYECTOS GUÍA PARA LA FORMULACIÓN PROYECTOS Un PROYECTO es un PLAN DE TRABAJO; un conjunto ordenado de actividades con el fin de satisfacer necesidades o resolver problemas. Por lo general, cualquier tipo de proyecto,

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Eduardo Kido 26-Mayo-2004 ANÁLISIS DE DATOS

Eduardo Kido 26-Mayo-2004 ANÁLISIS DE DATOS ANÁLISIS DE DATOS Hoy día vamos a hablar de algunas medidas de resumen de datos: cómo resumir cuando tenemos una serie de datos numéricos, generalmente en variables intervalares. Cuando nosotros tenemos

Más detalles

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas. El primer paso en el diseño de una base de datos es la producción del esquema conceptual. Normalmente, se construyen varios esquemas conceptuales, cada uno para representar las distintas visiones que los

Más detalles

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos

Más detalles

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra.

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra. Gestión de la tesorería y del riesgo El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra. En este manual nos

Más detalles

2.2. LA COMPRA. TOMA DE DECISIONES DEL CLIENTE.

2.2. LA COMPRA. TOMA DE DECISIONES DEL CLIENTE. 2.2. LA COMPRA. TOMA DE DECISIONES DEL CLIENTE. En este epígrafe abordaremos el estudio del comportamiento de compra del consumidor, para ello tendremos que estudiar tanto las distintas situaciones de

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

Análisis de los datos

Análisis de los datos Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Análisis de los datos Hojas de cálculo Tema 6 Análisis de los datos Una de las capacidades más interesantes de Excel es la actualización

Más detalles

15 CORREO WEB CORREO WEB

15 CORREO WEB CORREO WEB CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,

Más detalles

La explicación la haré con un ejemplo de cobro por $100.00 más el I.V.A. $16.00

La explicación la haré con un ejemplo de cobro por $100.00 más el I.V.A. $16.00 La mayor parte de las dependencias no habían manejado el IVA en los recibos oficiales, que era el documento de facturación de nuestra Universidad, actualmente ya es formalmente un CFD pero para el fin

Más detalles

CAPITULO V. SIMULACION DEL SISTEMA 5.1 DISEÑO DEL MODELO

CAPITULO V. SIMULACION DEL SISTEMA 5.1 DISEÑO DEL MODELO CAPITULO V. SIMULACION DEL SISTEMA 5.1 DISEÑO DEL MODELO En base a las variables mencionadas anteriormente se describirán las relaciones que existen entre cada una de ellas, y como se afectan. Dichas variables

Más detalles

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Preguntas frecuentes Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes? Atención! Esta opción es de configuración y solamente la prodrá realizar el administrador de la

Más detalles

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones Leandro Marín Dpto. de Matemática Aplicada Universidad de Murcia 2012 1 Números 2 Polinomios 3 Funciones y su Representación

Más detalles

Curso Excel Básico - Intermedio

Curso Excel Básico - Intermedio Curso Excel Básico - Intermedio Clase 4 Relator: Miguel Rivera Adonis Introducción Base de Datos: Definición de Base de Datos Ordenar datos Formulario Filtros Trabajar con Sub-Totales Validación de Datos

Más detalles

6 M. C. J. A G U S T I N F L O R E S A V I L A

6 M. C. J. A G U S T I N F L O R E S A V I L A 2..- DEFINICION DE LIMITES. OBJETIVO.- Que el alumno conozca el concepto de Límite, comprenda la importancia que tiene este concepto en el Cálculo y adquiera habilidad en el cálculo de los Límites más

Más detalles

Informàtica i Comunicacions Plaça Prnt. Tarradellas, 11 17600 FIGUERES (Girona) Tel. 902 88 92 67 Fax 972 671 962 www.cesigrup.es

Informàtica i Comunicacions Plaça Prnt. Tarradellas, 11 17600 FIGUERES (Girona) Tel. 902 88 92 67 Fax 972 671 962 www.cesigrup.es DNS (Domain Name System)...2 La estructura... 2 Servidores DNS e Internet... 3 Dominios... 3 Servidores de nombres... 3 Servidores de nombres Principal y Secundario... 4 Los archivos del DNS... 4 Registro

Más detalles

TPVFÁCIL. Caja Real. Definiciones.

TPVFÁCIL. Caja Real. Definiciones. TPVFÁCIL. Caja Real. TPVFÁCIL incluye desde la versión 3.3.2 la posibilidad de manejar dos cajas, la Caja Real y la Caja normal. La idea es esconder los datos de caja que pueden alcanzar los usuarios no

Más detalles

Resortes y fuerzas. Analiza la siguiente situación. Ley de Hooke. 2do Medio > Física Ley de Hooke. Qué aprenderé?

Resortes y fuerzas. Analiza la siguiente situación. Ley de Hooke. 2do Medio > Física Ley de Hooke. Qué aprenderé? 2do Medio > Física Ley de Hooke Resortes y fuerzas Analiza la siguiente situación Aníbal trabaja en una fábrica de entretenimientos electrónicos. Es el encargado de diseñar algunas de las máquinas que

Más detalles

Profr. Efraín Soto Apolinar. La función lineal. y = a 0 + a 1 x. y = m x + b

Profr. Efraín Soto Apolinar. La función lineal. y = a 0 + a 1 x. y = m x + b La función lineal Una función polinomial de grado uno tiene la forma: y = a 0 + a 1 x El semestre pasado estudiamos la ecuación de la recta. y = m x + b En la notación de funciones polinomiales, el coeficiente

Más detalles

Curso Completo de Electrónica Digital

Curso Completo de Electrónica Digital CURSO Curso Completo de Electrónica Digital Este curso de larga duración tiene la intención de introducir a los lectores más jovenes o con poca experiencia a la Electrónica Digital, base para otras ramas

Más detalles

MANUAL DE AYUDA MODULO TALLAS Y COLORES

MANUAL DE AYUDA MODULO TALLAS Y COLORES MANUAL DE AYUDA MODULO TALLAS Y COLORES Fecha última revisión: Enero 2010 Índice TALLAS Y COLORES... 3 1. Introducción... 3 CONFIGURACIÓN PARÁMETROS TC (Tallas y Colores)... 3 2. Módulos Visibles... 3

Más detalles

Santiago, 11 de Noviembre de 2015

Santiago, 11 de Noviembre de 2015 Discurso de S.E. la Presidenta de la República, Michelle Bachelet Jeria, en el Lanzamiento del Programa Más Capaz Mujer Emprendedora, en comuna de Lo Espejo Santiago, 11 de Noviembre de 2015 Amigas y amigos:

Más detalles

Módulo 9 Sistema matemático y operaciones binarias

Módulo 9 Sistema matemático y operaciones binarias Módulo 9 Sistema matemático y operaciones binarias OBJETIVO: Identificar los conjuntos de números naturales, enteros, racionales e irracionales; resolver una operación binaria, representar un número racional

Más detalles

La suma y la resta. Introducción. Capítulo

La suma y la resta. Introducción. Capítulo Capítulo II La suma y la resta Introducción En el capítulo anterior, vimos que los números permiten expresar la cantidad de objetos que tiene una colección. Juntar dos o más colecciones, agregar objetos

Más detalles

LÓGICA JURÍDICA. Idea preliminar Cap. I. Nicolás Mejía Gómez -Universidad Libre Facultad de derecho

LÓGICA JURÍDICA. Idea preliminar Cap. I. Nicolás Mejía Gómez -Universidad Libre Facultad de derecho LÓGICA JURÍDICA Idea preliminar Cap. I Objetivos Definir y explicar qué es la lógica. Distinguir entre el pensamiento tomado como función y/o facultad y el considerado como producto. Señalar el tipo de

Más detalles

Cómo sistematizar una experiencia?

Cómo sistematizar una experiencia? Cómo sistematizar una experiencia? Una sistematización puede llevarse a cabo de múltiples formas, y además puede ser llevada a cabo por cualquier persona sin necesidad de ser especialista en la materia.

Más detalles

Bases de datos en Excel

Bases de datos en Excel Universidad Complutense de Madrid CURSOS DE FORMACIÓN EN INFORMÁTICA Bases de datos en Excel Hojas de cálculo Tema 5 Bases de datos en Excel Hasta ahora hemos usado Excel básicamente para realizar cálculos

Más detalles

Figure 7-1: Phase A: Architecture Vision

Figure 7-1: Phase A: Architecture Vision Fase A Figure 7-1: Phase A: Architecture Vision Objetivos: Los objetivos de la fase A son: Enfoque: Desarrollar una visión de alto nivel de las capacidades y el valor del negocio para ser entregado como

Más detalles

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 1: Lógica Proposicional

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 1: Lógica Proposicional Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 1: Lógica Proposicional Matemática Discreta - CC3101 Profesor: Pablo Barceló P. Barceló Matemática Discreta - Cap. 1: Fundamentos: Lógica y Demostraciones

Más detalles

MÓDULO 3 HERRAMIENTAS EN LA NUBE: ANFIX

MÓDULO 3 HERRAMIENTAS EN LA NUBE: ANFIX MÓDULO 3: TEMA 1 INTRODUCCIÓN Hemos elegido esta herramienta, por su sencillez de acceso a través de la web, es bastante fácil e intuitiva, tan sólo tienes que registrarte, confirmar tu cuenta y ya puedes

Más detalles

Licencia. Todos los derechos reservados. Este reporte puede ser distribuido libremente pero queda

Licencia. Todos los derechos reservados. Este reporte puede ser distribuido libremente pero queda Licencia copyright www.segurodevidaparapadres.com Todos los derechos reservados. Este reporte puede ser distribuido libremente pero queda estrictamente prohibida cualquier modificación del mismo. El contenido

Más detalles

Contenidos. INFORME ENCUESTA TELEFÓNICA. Curso 2009 10

Contenidos. INFORME ENCUESTA TELEFÓNICA. Curso 2009 10 ENCUESTA DE OPINIÓN DEL ALUMNADO SOBRE LA ACTUACIÓN DOCENTE DEL PROFESORADO UNIVERSIDAD DE SEVILLA Curso 2009-2010 ENCUESTA TELEFÓNICA Contenidos Introducción.... 4 El Cuestionario... 5 El muestreo...

Más detalles

E 1 E 2 E 2 E 3 E 4 E 5 2E 4

E 1 E 2 E 2 E 3 E 4 E 5 2E 4 Problemas resueltos de Espacios Vectoriales: 1- Para cada uno de los conjuntos de vectores que se dan a continuación estudia si son linealmente independientes, sistema generador o base: a) (2, 1, 1, 1),

Más detalles

Aplicaciones lineales continuas

Aplicaciones lineales continuas Lección 13 Aplicaciones lineales continuas Como preparación para el cálculo diferencial, estudiamos la continuidad de las aplicaciones lineales entre espacios normados. En primer lugar probamos que todas

Más detalles

Técnicas de valor presente para calcular el valor en uso

Técnicas de valor presente para calcular el valor en uso Normas Internacionales de Información Financiera NIC - NIIF Guía NIC - NIIF NIC 36 Fundación NIC-NIIF Técnicas de valor presente para calcular el valor en uso Este documento proporciona una guía para utilizar

Más detalles

Sistemas de numeración

Sistemas de numeración Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan

Más detalles

Guía de uso del Cloud Datacenter de acens

Guía de uso del Cloud Datacenter de acens guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar

Más detalles

OPERACIONES ELEMENTALES CON VECTORES

OPERACIONES ELEMENTALES CON VECTORES VECTORES EN 3D (O EN R 3) Presentación: este apunte te servirá para repasar y asimilar que son los vectores en un espacio tridimensional, sólo hablamos de los vectores como se utilizan en Álgebra, para

Más detalles