lunes, 1 de febrero de 2016

OPERADORES PROLOG

INTRODUCCIÓN OPERADORES PROLOG

Los operadores lógicos se definen como aquellas expresiones reservadas para ejecutar alguna acción predeterminada que en conjunción generan reglas.


OPERADORES COMÚN
·         Igual.
·         Entrada y salida básica.
·         Manejo de ficheros.
·         Evaluadores de expresiones aritméticas.
·         Comparación numérica.
·         Generación de nuevas clausulas.
·         Cumplimiento de objetivos y fracasos.
·         Clasificador de términos.
·         Manejos de las clausulas como términos.
·         Elaboración y acceso a componente en su elaboración.
·         Control reevaluación.
·         Metavariables.


DECLARACIÓN DE LAS VARIABLES

Al declarar una variable en PROLOG la primera letra se la deberá declarar con mayúscula para que la reconozca como una variable,





IGUALDAD
Al declarar el operador igualdad “=”
Ejemplo
X=Y.
X\=Y  à operación opuesta.

ENTRADA Y SALIDA BÁSICA.
Lectura
·         read(X),
·         get0(X),
·         get(X)
 Escritura
·         write(X),
·         display(X)
·         put(X)
Formato:
·         nl
·         tab(X)
skip(+Code)
·         skip(a).

MANEJO DE FICHEROS.
Lectura:
·         see(X),
·         seeing(X),
·         seen
Escritura:
·         tell(X),
·         telling(X),
·         told
EVALUADORES DE EXPRESIONES ARITMÉTICAS.
Es es una expresión en la cual consiste en unificar Y con X evaluando todo lo q se encuentra después del “is”.
Ejemplo
X is Y+X.

COMPARACIÓN NUMÉRICA.
·         X=Y.
·         X\=Y.
·         X<Y.
·         X>Y.
·         X>=Y.
·         X=<Y.

GENERACIÓN DE NUEVAS CLAUSULAS.
·         consult(X).
·         ?- consult(fichero1), consult(fichero2).
·         reconsult(X).
·         ?- reconsult(fichero3), reconsult(fichero4).
·         Notación de lista:
·         ?- [fichero1, -’fichero3.pl’, ‘fichero2.pl’, -’fichero4.pl’

CUMPLIMIENTO DE OBJETIVOS Y FRACASOS

el cumplimeinto de de los objetivos viene dado con “true” y por ende cuando se fracasa en “fail”.

CLASIFICADOR DE TÉRMINOS.

Nos ayudad a la clasificación los términos para que sean utilizados en clausulas.
·         Var(X).
·         ?- var(X).
·         yes
·         ?- var(23).
·         no ?- X = Y,
·         Y = 23,
·         var(X).
·         ¿?
·          
MANEJOS DE LAS CLAUSULAS COMO TÉRMINOS.

Gracias a prolog este nos ayuda para poder examinar y modificar progracias para reciclarlo:
·         Construir estructuras que representen cláusulas
  1. ·         Añadir clausulas
  2. ·         Retirar clausulas


Ejemplo
?- [recorrer_fichero].
?- listing(mostrar_fichero).
 mostrar_fichero :- write('Nombre de fichero: '), read(A), see(A), muestra_contenido, seen.

ELABORACIÓN Y ACCESO A COMPONENTE EN SU ELABORACIÓN.

Se pueden elaborar programas con reglas referentes a las escrituras arbitrarias.
Factor (T,F,N).
T: esta es una estrcutas de factor F y aridad N.
Si esta no está instanciada deberán de estar F y N. la variable t devolverara la evaluación de se ejecutó a F y N.

Ejemplos:

·         ?- factor(a+b, F, N).
·         F = +, N = 2
·         ?- factor([a, b, c], F, N).
·         F = ., N = 2
·         ?- factor ([a, b, c], ‘.’, 3).
·         No


METAVARIABLES

call(X)
esta clausula se cumple siempre y cuando se satisface a X como un objetivo.
·         ?- padre(X).
·         ?- call(padre(X)).
·         ?-Meta=..[padre ,X], call(Meta).
not(X)
·         \+ padre(X).
·         not(padre(X)).
X, Y
·         Conjunción de objetivos
 X ; Y
·         Disyunción de objetivos

CONCLUSION

Se concluye que la los operadores en PROLOG ayuda en la generación de clausular y reglas para satisfacer las necesidades del programador.

Por lo cual es muy necesario implementar estos operadores al momento de programar en PROLOG siempre y cuando teniendo un conocimiento previo para obtener el mejor beneficio de este lenguaje.

BIBLIOGRAFIA

INTRODUCION A PROLOG. Consultado el 24 de Enero del 2016. Formato PDF. Disponible en:http://www.infor.uva.es/~calonso/IAI/PracticasProlog/Tema1/Tema%201.%20Introduccion%20PROLOG.pdf

 OPERADORES EN PROLOG. Consultado el 1 de Febrero del 2016. Formato PDF. Disponible en:http://www.infor.uva.es/~calonso/IAI/PracticasProlog/Tema6/Tema%206.%20Operadores%20en%20PROLOG.pdf

lunes, 25 de enero de 2016

Introduccion a PROLOG


INTRODUCCION A PROLOG

PROLOG fue desarrollado con el fin de programación lógica cuya aparición fue en la década de 1970 por Colmerauer en la universidad de Marsella. Este lenguaje está orientado en la consultas para responder relaciones con las premisas que almacena en su base de datos.


QUE ES PROLOG

Lenguaje de programación lógica en con relación a su base de datos cuyo objetivos es la relaciones. Estandarizado ISO desde 1996 fusiona los conjuntos de fórmulas y los motores de inferencias poseyendo clausulas para su correcta solución.
Resuelve problema en base a sus objetivos y relacionan entre ellos.
1.    Los objetos estarán descrito por los hechos.
2.    Las reglas deberán describir relaciones entre los objetos.




Programar en PROLOG

·         Declara hechos obres los objetos.
·         Define sus reglas.
·         Las consultas se las realiza en a sus objetos o relaciones en base al conocimiento.


ELEMENTOS DE PROLOG
·         Hechos
·         Consultas
·         Variables
·         Conjunciones
·         Reglas

HECHOS

Los hechos describen la propiedad de los objetos siendo el orden de la relación importante.
Ejemplo:
·         Hechos
A Mario le gusta beber

·         PROLOG
Le_gusta_a(mario, beber).


CONSULTAS

La consulta se la realiza en base al conocimiento (hecho+reglas).
Ante de la consulta PROLOG realiza una matching en base al conocimiento:
·         Mismo predicado
·         Mismo número de argumentos
·         Mismo argumentos: términos/ variables



VARIABLES

Para generar consultas genéricas se necesita las variables.
Una variable puede hacer referencias a varios objetos en función al contexto.
Pueden estar libre o ligada.
Todas las variables empiezan con mayúscula.
?- le_gusta_a(angelica_X).
?- ?- le_gusta_a(pedro_X), le_gusta_a(angelica_X).

CONJUNCIONES

Permite la expresión de múltiples objetivos que se satisfacen simultáneamente.
?- ?- le_gusta_a(pedro_angelica), le_gusta_a(angelica_pedro).
?- ?- le_gusta_a(juan_angelica), le_gusta_a(angelica_juan).

Esto implica instanciar y desinstanciar, para satisfacer o resastifacer los objetivos.

REGLAS

Estable reglas de dependencias entre los hechos, una regla deberá poseer una cabeza y un cuerpo.
<cabeza>:-<cuerpo>

Ejemplo:
Pedro es amigo de las personas que le gustan beber

PROLOG.
Es_amigo(pedro,Y):- le_gusta_a(Y, beber).


CONCLUSION

PROLOG es un lenguaje de programación orientado a la inteligencia artificial en base al conocimiento de reglas, variables, hechos, etc. Usando así la programación lógica de entre relaciones.
Cualquier usuario puede programar con este lenguaje ya que no posee demasiados comandos en comparación con otros lenguajes, teniendo presente la sociabilidad los operadores que lo conforman.


BIBLIOGRAFÍA

INTRODUCION A PROLOG. Consultado el 24 de Enero del 2016. Formato PDF. Disponible en:http://www.infor.uva.es/~calonso/IAI/PracticasProlog/Tema1/Tema%201.%20Introduccion%20PROLOG.pdf

Ing. López B. 2010 Introducción a PROLOG. Consultado el 24 de Enero del 2016. Formato PDF. Disponible en: http://www.itnuevolaredo.edu.mx/maestros/sis_com/takeyas/Apuntes/Inteligencia%20Artificial/Apuntes/IA/Prolog.pdf

domingo, 6 de diciembre de 2015

ALGORITMO MINIMAX

INTRODUCCIÓN


Como sabemos los juegos está a la vanguardia y por ende deben poseer algoritmos complejos para dar la mejor jugada al contrincante de esta forma maximizara la dificultad del juego a continuación detallemos estos algoritmos de juegos.
Resultado de imagen para algoritmo minimax

MARCO TEÓRICO

QUÉ ES UN ALGORITMO MINIMAX


Este algoritmo trata de dos variables de MAX y MIN en donde trata de maximizar los valores de MAX y minimizar los valores de su contrincante, determinando los roles de juego tomando en cuenta lo siguiente: 



CARACTERÍSTICAS DE MINIMAX
·                     P Su complejidad se determinada en base a sus reglas
·                     Intervienen dos variables MAX y MIN
·                     Cada jugador conocer el estado del otro
·                     Posee una los valores de estado final
·                     Posee carácter recursivo

                                                        ESTRUCTURA MINIMAX


EJEMPLO:

Un clero ejemple es el juego de tres en raya





CONCLUSIONES

Este algoritmo tienen la peculiaridad de siempre ganar y el contrincante llegaría solo a empatar, en el cual existen 2 dos jugadores MAX y MIN en donde busca la necesidad de minimizar los valores del contrincante para aumentar la dificultad.


BIBLIOGRAFÍA

Russell, S; Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. Segunda Edición. Pearson Education. España

Rodríguez, J.2005.Minimax. (En Línea).Consultado 19 de Nov.2015.Formato PDF. Disponible en: http://www.itnuevolaredo.edu.mx/takeyas/Apuntes/Inteligencia%20Artificial/Apuntes/tareas_alumnos/Minimax/Minimax.pdf

  
Sánchez, Ana. 2011. Juegos con Adversario Algoritmo Minimax. (En Línea).Consultado 19 de Nov.2015.Formato PDF. Disponible en:http://www.it.uc3m.es/jvillena/irc/practicas/estudios/minimax.pdf