martes, 9 de mayo de 2017

prolog

que es prolog
Prolog es un propósito general de la programación lógica idioma asociado a la inteligencia artificial y la lingüística computacional . 
Prolog tiene sus raíces en la lógica de primer orden , una lógica formal , ya diferencia de muchos otros lenguajes de programación , Prolog es declarativa : la lógica del programa se expresa en términos de relaciones, representada como hechos y reglas . Un cálculo se inicia mediante la ejecución de una consulta sobre estas relaciones. 
El lenguaje fue concebida por un grupo de alrededor de Alain Colmerauer en Marsella , Francia , a principios de 1970 y el primer sistema Prolog fue desarrollado en 1972 por Colmerauer con Philippe Roussel.
Prolog fue uno de los lenguajes de programación lógica de primera, y sigue siendo el más popular entre dichas lenguas hoy en día, con varias implementaciones libres y comerciales disponibles. El lenguaje se ha utilizado para demostración de teoremas ,  sistemas expertos , la inferencia de tipos de sistemas,  y de planificación automática ,   así como su campo original prevista de uso, procesamiento del lenguaje natural .  Modern Prolog entornos admite la creación de interfaces gráficas de usuario , así como aplicaciones administrativas y en red.
Prolog es muy adecuado para las tareas específicas que se benefician de consultas lógicas basadas en reglas, tales como bases de datos de búsqueda, sistemas de control de voz, y las plantillas de llenado.

4)cual es la relacion entre prolog y logica de predicados

Con las formas mínimas anteriormente descritas se pueden construir las relaciones, base del conocimiento en Prolog.

Ejemplos de relaciones: padre(pepe, maria). // en esta relación se denota una existencia de parentesco entre pepe y maria, prolog en este punto no conoce //quien es el padre de quien, somos nosotros quienes le damos esa interpretación, prolog solamente se encarga de //crear una relación en su base del conocimiento. Obsérvese la sintaxis de la relación descrita: Nótese que los nombres de las personas empiezan por letras minúsculas indicando que son átomos de información y variables.
El nombre de la relación es también un átomo de información y no debe ser una cantidad numérica.
Número de objetos relacionados: sin son cero irán entre paréntesis y si son mas de uno, irán separados por comas. Los hechos terminan siempre en punto. (.)


martes, 2 de mayo de 2017

Ensayo

1)forma normal de skolem
El punto álgido a la hora de encontrar la forma normal de Skolem de una fórmula es la eliminación de los cuantificadores existenciales, esta eliminación es conocida como skolemización. Las reglas básicas para realizar la skolemización son:
  1. Si un cuantificador existencial no se encuentra dentro del ámbito de ningún cuantificador universal, se sustituye la variable cuantificada existencialmente por una constante que aún no haya sido utilizada y el cuantificador existencial es eliminado. La constante utilizada no puede volver a ser reutilizada. Por ejemplo,  puede ser cambiado a P(c), donde c es una nueva constante.
  2. Si un cuantificador existencial se encuentra dentro del ámbito de un cuantificador universal, se ha de sustituir la variable cuantificada existencialmente por una función de la variable cuantificada universalmente y se elimina el cuantificador existencial. La función no puede haber sido utilizada previamente ni podrá utilizarse posteriormente. Por ejemplo, la fórmula  no está en forma normal de Skolem porque ella contiene un cuantificador existencial . La skolemización reemplaza  con , donde  es una nuevo símbolo de función, y elimina la cuantificación existencial sobre . La fórmula resultante es . El término Skolem  contiene  pero no  porque el cuantificador a ser eliminado  está en el ámbito de  pero no en el ámbito de ; debido a que la fórmula está en forma normal prenexa, esto es equivalente a decir que, en la aparición de los cuantificadores,  precede  mientras  no. La fórmula obtenida por esta transformación es satifactible si y solo si la fórmula original lo es.
  3. Si un cuantificador existencial se encuentra dentro del ámbito de más de un cuantificador universal se sustituirá la variable cuantificada existencialmente por una función de todas las variables afectadas por estos cuantificadores universales y se elimina el cuantificador existencial. La función no puede haber sido utilizada previamente ni podrá utilizarse posteriormente.
2)Sustitucion
En lógica, las reglas de reemplazo o reglas de sustitución son reglas de transformación que pueden ser aplicadas únicamente a un segmento particular de una expresión.
Un sistema lógico puede ser construido de manera que utilice axiomas, reglas de inferencia, o ambos, como reglas de transformación de expresiones lógicas en el sistema. Mientras que una regla de inferencia se aplica siempre a una expresión lógica general, una regla de reemplazo puede ser aplicada solamente a un segmento particular.
En el contexto de una prueba lógica, expresiones lógicamente equivalentes pueden sustituirse unas por otras. Las reglas de reemplazo se usan en la lógica proposicional para manipular proposiciones y efectuar estas sustituciones.

3)conjunto de diferencias
OPERACIONES  ENTRE CONJUNTOS Diferencia  de Conjuntos Dado dos conjuntos A y B , se tiene :  A  -  B = { x/ x    A    x ...OPERACIONES  ENTRE CONJUNTOS Propiedades de la  Diferencia de Conjuntos
4)unificacion
Cuando se tienen sentencias compuestas por predicados y conectivos lógicos, se debe evaluar la veracidad de cada uno de sus componentes para determinar si toda la sentencia es verdadera o falsa. Para ello, se busca en el conjunto de axiomas la forma de establecer la veracidad de los predicados componentes. Un predicado componente se dice que es verdadero si se identifica con un axioma de la base de información. En la lógica de predicados, este proceso es algo complicado ya que las sentencias pueden tener términos variables. A los predicados que tienen variables por argumentos, se los denomina patrones.

La unificación es el proceso de computar las sustituciones apropiadas que permitan determinar si dos expresiones lógicas, ya sean predicados o patrones, coinciden.

El proceso de unificación involucra los siguientes pasos:
  • Todo predicado que no contenga variables en sus argumentos, deben tener un axioma que se identifique totalmente, para considerarlo como verdadero.
  • Si un predicado contiene una variable, esta debe ser asociada a un valor determinado. Esta asociación se realiza buscando en la base de axiomas y seleccionando todos aquellos que se identifican con el patrón en todo, excepto por la variable. La variable es asociada con el valor en la posición correspondiente del axioma. Si más de un axioma se identifica con el predicado dado, todos los valores asociados son considerados y son tratados separadamente.
  • El proceso de identificación continua asumiendo que el valor de la variable es el valor asociado, en cualquier lugar que esta aparezca.
  • Los conectivos lógicos son aplicados a todos los predicados, para determinar la veracidad de la sentencia dada.
5)Resolucion

Es una regla de inferencia utilizada sobre cierto tipo de proposiciones lógicas y es especialmente utilizada para los demostradores automatizados de teoremas. Utilizando resolución se puede construir un demostrador que sea completo (por contradicción) y correcto para la lógica proposicional y de primer orden supuesto que un conjunto de proposiciones son insatisfacción.

martes, 25 de abril de 2017

ensayo

1)
Variable libre y ligada
La expresión a la cual el cuantificador se aplica es el dominio del cuantificador; y una ocurrencia de una variable individual x está ligada  si aparece como  o  o dentro del dominio de un o . Cualquier otro tipo de ocurrencia de una variable es una ocurrencia libre.
    Inductiva conjunto de VL(A) conjunto de variables libres de A.
1. Si A es atómica VL(A):= conjunto de todas las variables que aparecen en un A. 
2. Si A es ¬B entonces VL(A):= VL(B) 
3. Si A es (B*C) donde * es cualquier conectivo binario, entonces VL(A):= VL(B) U VL(C) 
4. Si A es B o B entonces VL(A):= VL(B) - {x}
    Si  es una proposición; sino es una forma proposicional.

Ejemplo. 1)
2) Equivalencias lógicas

Dos formas proposicionales P y Q se dicen lógicamente equivalentes, y se escribe P ≡ Q, si sus tablas de verdad coinciden.

Ejemplos:
1. Las dos sentencias siguientes son lógicamente equivalentes:

Si Lisa está en Francia, entonces ella está en Europa (en símbolos, {\displaystyle f\rightarrow e} {\displaystyle f\rightarrow e}).
Si Lisa no está en Europa, entonces ella no está en Francia (en símbolos, {\displaystyle \neg e\rightarrow \neg f} {\displaystyle \neg e\rightarrow \neg f}).
Sintácticamente, (1) y (2) son derivables cada una de la otra a través de la regla de contraposición y doble negación. Semánticamente, (1) y  (2) son verdaderas en exactamente los mismos modelos (interpretaciones, valuaciones); a saber, aquellos en que Lisa está en Francia es falso o bien Lisa está en Europa es verdadero.
2. El programa está bien escrito y bien documentado.
El programa está bien documentado y bien escrito.

~ (p ∨ q) ≡~ p∧ ~ q
3.
3) Forma rectificada
F esta en forma rectificada si ninguna variable aparece libre y ligada y cada cuantificador se refiere a una variable diferente.
Ejemplo:


4)

En lógica de primer orden, una fórmula bien formada tiene forma normal prenexa si está escrita encabezada por una cadena de cuantificadores existenciales o universales, seguidos por una fórmula sin cuantificadores lógicos, designada como «matriz».
Toda fórmula es equivalente en lógica clásica a una fórmula en forma normal prenexa. Por ejemplo, si , y  son fórmulas sin cuantificar con las variables libres mostradas, luego
está en forma normal prenexa, con la matriz , mientras que
es lógicamente equivalente pero no en forma prenexa.
El término «prenexa» viene del latín praenexuspasado participio de praenectere, que significa «atado» o «atado en el frente».1
Cuando una fórmula en forma normal prenexa sólo posee cuantificadores universales, se dice que está en forma normal de Skolem. Toda fórmula en forma normal prenexa es lógicamente equivalente a una en forma normal de Skolem, y la manera de llegar de una a otra se denomina skolemización.
Ejemplos:

Supóngase que , y  son fórmulas sin cuantificar y no comparten variable libre alguna. Considerese la fórmula
.
Aplicando recursivamente las reglas empezando por las subfórmulas internas, la siguiente secuencia de fórmulas lógicamente equivalentes pueden obtenerse:
,
,
,
.
Esta no es la única forma prenexa equivalente a la fórmula original. Por ejemplo, abordando el consecuente antes que el anecedente en el ejemplo, la forma prenexa
Puede ser obtenida:
,
,

ejercicios propuestos de proposicion

1) no toda persona tiene un hermano

h:hermano
p:persona
q:padre
m:madre

∃x∃y{q(x,p)∧m(y,p)∧-h(p)}

2)Julia es abuela de Ana

g:abuela
j:julia
a:ana

g(j,a)     ∃x{j(x,a)-> g(j,a)}

3)Ana tiene un unico hermano hombre

h:hombre
p:hermano
a:ana

∀x∀y{a(x,p)∧p(y,h)}

4)ana y ernesto son hermanos o medio hermanos
z:medio hermanos
A:ana
E:ernesto
p:padre
m:madre
q:padrastro
r:madrastra

h(a,b)
∃x∃y{p(x,a)∧m(y,a)∧p(x,e)∧m(y,e)}
∃x{a(y,x)∧e(x,y)V(a(y,q) ∧e(x,r)->h(x)Vz(x,y))}

5)Todo nuemro tiene un secesor

n:numero
s:sucesor

∀x{N(x,s)}

martes, 18 de abril de 2017

Formaliaciones

1)Todos los actores son famosos
D = los actores
F(-): - es famoso
∀xF(x)

2)algunos padres son responsables
D = los padres
R(-): - es responsable
∃xR(x)

3)Todos los miembros son padres o maestros
D = los miembros
P(-): - es padre
MA(-): - es maestro
∀x[P(x) ∨ MA(x)]

4)algunos polticos son incompetentes
 D = los polıticos
I(-): - es incompetente
C(-): - es corrupto
∃x[I(x) ∨ C(x)]

5) las manzanas y los platanos son nutritivos
D1 = las manzanas (x)
D2 = los platanos (y)
N(-): - es nutritivo
∀xN(x) ∧ ∀yN(y)

6)algunas frutas y verduras son nutritivas
D1 = las frutas (x)
D2 = las verduras (y)
N(-): - es nutritivo
∃xN(x) ∧ ∃yN(y)

7)si algo anda mal todos se quejan
D1 = las cosas (x)
D2 = las personas (y)
M(-): - anda mal
Q(-): - se queja
∃xM(x) −→ ∀yQ(y)

8)pedro es amigo de todos
D = las personas
A(-,-): - es amigo de -
∀xA(p, x)

9)algunos son amigos de pedro
D = las personas
A(-,-): - es amigo de -
∃xA(x, p)

10)Todos son amigos de todos
 D = las personas
A(-,-): - es amigo de -
∀x∀yA(x, y)

11)solo los ejecutivos llevan cartera
D = las personas
E(-): - es ejecutivo
C(-): - lleva cartera
∀x[C(x) −→ E(x)] ∀x[¬E(x) −→ ¬C(x)]

12)hay por lo menos una cosa que es humana y es mortal
D = las cosas
 H(-): - es humana
 M(-): - es mortal
∃x[H(x) ∧ M(x)]

martes, 4 de abril de 2017

sintaxis de logica de predicados

Los lenguajes formales, como el de la lógica proposicional, tienen un componente sintáctico y otro semántico. En esta lección veremos la sintaxis del lenguaje de la lógica proposicional. La sintaxis de la lógica proposicional está formada por una gramática y un alfabeto. El primero consta de símbolos, los cuales se dividen en tres categorías: signos lógicos, no lógicos y signos de puntuación. Estos últimos pueden ser prescindibles, los símbolos lógicos y los no lógicos son necesarios.

La gramática, por su parte consiste en un conjunto de reglas que nos permite generar fórmulas del lenguaje a partir de otras fórmulas. Para entender la noción de fórmula hemos de introducir previamente los símbolos del alfabeto del lenguaje de la lógica proposicional. Este consta de:

1. Letras proposicionales (símbolos no lógicos). No hay un número determinado. Para los fines de este curso de lógica, estipularemos las letras “p”, “q”, “r” y “s” como nuestras letras proposicionales.

2. Conectivas (símbolos lógicos). ̚ , →, ↔, ˄, ˅

3. Signos de puntuación. Paréntesis ( ).


De las conectivas, la primera se llama negación y es una conectiva monaria. El resto son conectivas binarias. A continuación veremos el nombre de cada una y cómo se leen.
“ ̚ “ se llama negación y se lee “no”
“→” se llama condicional y se lee “si…entonces”.
“↔” se llama bicondicional y se lee “si y solo si”.
“˄” se llama conjunción y se lee “y”.
“˅” se llama disyunción y se lee “o”.

Un alfabeto para un lenguaje de primer orden de tipo consiste de los siguientes símbolos: – Símbolos de relación: P1 , P2 , … , Pn , =‘ 

– Símbolos de función: f1 ,f2 ,… , fm
 – Símbolos de constantes: ci tal que i∈I y | I |= k
 – Variables: x1 , x2 , x3 ,.. 
– Conectivos : →, ↔, ¬, ∧, ∨, ⊥ 
– Cuantificadores: ∀, ∃ 
– Auxiliares : ( ) ,


Una FBF es una tautología si toma el valor de verdad bajo cada una de las posibles asignaciones de valores de verdad a las variables de enunciado que aparecen en ella.

 a una FBF en la que intervengan n variables de enunciado diferente (siendo n cualquier número natural) le corresponderá una función de verdad de n argumentos, y la tabla de verdad tendrá 2n filas, una para cada una de las posibles combinaciones de valores de verdad para las variables de enunciado. Nótese además que existen funciones de verdad distintas de n argumentos, que corresponden a las maneras posibles de disponer los 1’s y los 0’s en la última columna de una tabla de verdad de 2n filas. Esta claro que el número de formas enunciativas que se pueden construir utilizando n variables de enunciados es infinito, así que formas enunciativas distintas pueden corresponder a una misma función de verdad.

Las tautologías son lógicamente necesarias. Las contradicciones son lógicamente imposibles. Las contingencias son lógicamente posibles, pero se clasifican en: 
a) posibles o imposibles empíricamente y
b) posibles o imposibles técnicamente. Lo empíricamente imposible en el pasado puede llegar a ser posible en el futuro, dependiendo del desarrollo de la ciencia.

1. Todos los actores son famosos. 
a) D = las personas A(-): - es acto
r F(-): - es famoso
 ∀x[A(x) −→ F(x)] 
b) D = los actores
 F(-): - es famoso
 ∀xF(x) 

2. Algunos padres son responsables.
a) D = las personas 
P(-): - es padre
R(-): - es responsable 
∃x[P(x) ∧ R(x)] 
b) D = los padres
 R(-): - es responsable ∃xR(x) 

3. Todos los miembros son padres o son maestros. 
a) D = las personas 
M(-): - es miembro
P(-): - es padre 
MA(-): - es maestro 
∀x[M(x) −→ P(x) ∨ MA(x)]
b) D = los miembros 
P(-): - es padre 
MA(-): - es maestro 
∀x[P(x) ∨ MA(x)] 

4. Algunos polıticos son incompetentes o son corruptos. 1 
a) D = las personas
P(-): - es polıtico
I(-): - es incompetente 
C(-): - es corrupto 
∃x[P(x) ∧ (I(x) ∨ C(x))] 
∃x[(P(x) ∧ I(x)) ∨ (P(x) ∧ C(x))] 
∃x¬[P(x) −→ ¬(I(x) ∨ C(x))] 
b) D = los polıticos 
I(-): - es incompetente 
C(-): - es corrupto 
∃x[I(x) ∨ C(x)] 

5. Las manzanas y los platanos son nutritivos.
a) D = las frutas 
M(-): - es manzanza 
P(-): - es platano 
N(-): - es nutritivo 
∀x[M(x) ∨ P(x) −→ N(x)] 
∀x[(M(x) −→ N(x)) ∧ (P(x) −→ N(x))] 
b) D1 = las manzanas 
(x) D2 = los platanos
(y) N(-): - es nutritivo 
∀xN(x) ∧ ∀yN(y) 

6. Algunas frutas y verduras son nutritivas. 
a) D = los alimentos 
F(-): - es fruta 
V(-): - es verdura 
N(-): - es nutritivo 
∃x∃y[F(x) ∧ V (y) ∧ N(x) ∧ N(y)] 
∃x[F(x) ∧ N(x)] ∧ ∃x[V (x) ∧ N(x)] 
∃x[(F(x) ∨ V (x)) ∧ N(x)] 
b) D1 = las frutas 
(x) D2 = las verduras (y) N(-): - es nutritivo 
∃xN(x) ∧ ∃yN(y)

 7. Si algo anda mal, entonces todos se quejan. 
D1 = las cosas (x) 
D2 = las personas (y) 
M(-): - anda mal 2 
Q(-): - se queja 
∃xM(x) −→ ∀yQ(y) 

8. Luis es Guapo. 
D = las personas 
G(-): - es guapo G(l) 

9. a) Pedro es amigo de todos
b) Algunos son amigos de Pedro. 
c) Todos son amigos de todos. 
D = las personas 
A(-,-): - es amigo de -
 a) ∀xA(p, x) 
b) ∃xA(x, p) 
c) ∀x∀yA(x, y) 

10. Solo los ejecutivos llevan cartera. 
D = las personas 
E(-): - es ejecutivo 
C(-): - lleva cartera 
∀x[C(x) −→ E(x)] ∀x[¬E(x) −→ ¬C(x)]