lunes, 25 de enero de 2016

ESTRUCTURA DE PROLOG


TEMA: Estructura de Prolog
Fecha: Jueves 21 de Enero del 2016

INTRODUCCIÓN

En Prolog la estructura se utilizan básicamente para poder simplificar lo que se hacía con los hechos y las reglas, estas nos bridan un mayor beneficio  puesto que nos ahorran  declaraciones innecesarias, ya que las lista también pueden contener a su vez sablistas. Cuando se considera a las propias clausulas como estructuras nos da las posibilidad de poderlas crear, modificar, eliminar elementos de dichas listas.
Conforme se valla viendo cada uno de los conceptos acerca de este lenguaje, se consiguiera definirlo como un lenguaje muy potente y flexible, ampliamente utilizado dejando atrás a otros lenguajes de programación.

MARCO TEÓRICO

¿QUÉ ES UNA ESTRUCTURA EN PROLOG?

Una estructura es un único objeto que está compuesto de una colección de otros objetos, llamados componentes, facilitando su tratamiento. En Prolog una estructura se escribe especificando su nombre  y sus componentes es decir los argumentos. Estos componentes están encerrados entre paréntesis y separados por una coma; el nombre siempre va a estar adelante del paréntesis:  
                                    nombre (comp1, comp2,…compn)  
Por ejemplo se puede tener una estructura con el nombre libro, que está compuesto por tres elementos: título, autor, y año de edición. A su vez el autor puede ser una estructura con dos componentes: nombre y apellido.  
libro (estadística, autor(juan, cuena), 1869)
Como se puede observar las estructuras utilizan las mismas sintaxis como lo hacen los hechos.
  
LISTAS EN PROLOG

En Prolog no hay matrices, en su lugar se usan Listas.
Las listas son consideradas estructuras simples, empleadas en la programación no numérica. Pueden tener cualquier longitud y estos pueden ser: Constantes, Variables, Estructuras y otras listas. Una lista en si es una secuencia de varios elementos tales como:
Juan, Manuel, Jorge, Oscar
[ ] %lista vacía
La sintaxis de Prolog para las listas consiste en englobar las secuencias de elementos entre corchetes  [Juan, Manuel, Jorge, Oscar]
La manera en que se representan las listas internas en Prolog es con árboles binarios, siendo la rama de la izquierda el primer elemento o como generalmente conocida la cabeza de la lista y la rama de la derecha el resto o cola de la lista. De la rama que contiene el resto de la lista también se distingue dos ramas: la cabeza y la cola .Y la lista vacía es representada por [].
Ejemplo de cómo sería la representación de la cabeza y la cola de una lista.

[Juan, [Manuel, Jorge, Oscar] en donde Juan representa la cabeza y los demás la cola. La cabeza y la cola de una lista se pueden separar con el símbolo “|”.

Ejemplos:
[a, b, c]       [a|[b, c]]      [a, b| c]]       [a, b ,c|[]]    [a| X],[Y|[b, c]
Todas estas son expresiones válidas y se refieren a la misma lista, no obstante hay que tener en cuenta el orden de los elementos.


LAS LISTA COMO EXPRESIONES LÓGICAS
El conjunto de hechos y reglas constituye lo se denomina una descripción, que llega a ser un programa donde combinado con un procedimiento de inferencia independiente de la aplicación hace posible a la computadora sacar conclusiones acerca del área de aplicación y responder preguntas aun cuando estas respuestas no estén explícitamente registradas en la descripción. Esta capacidad es la base de la tecnología de la programación lógica.
Representación de operadores lógicos como listas.
La negación se puede representar como una lista de dos elementos: la palabra neg y una expresión lógica.
Las conjunciones, disyunciones, implicaciones y equivalencias se pueden representar como una lista de tres elementos: el alcance izquierdo, la conexión lógica y el alcance derecho.
Se supone que todo lo que no se puede demostrar es considerado como falso por definición.
Ejemplo de una operación con lista:
Este es un predicado que permite saber si una lista está ordenada ascendentemente; si una lista tiene un solo elemento esta ordenada. 

Consulta realizada



CONCLUSIONES
Prolog está preparado para poder responder a cada pregunta que se le plantee ya que utiliza una base de conocimiento, misma que es primordial cuando nos referimos a la Inteligencia Artificial.
A la hora de realizar una búsqueda de las posibles soluciones se lo puede representar mediante un árbol porque este busca las respuesta de la preguntas de forma similar, si la respuesta a la pregunta es éxito esta será la respuesta del sistema caso contrario si no satisface a lo requerido seguirá buscando. 

BIOBLIOGRAFÍA

Amo, A; Villalobos, M. 2012. Programación lógica: Un enfoque para desarrollar aplicaciones. México. Revista Redalyc.Num.14.p.4

Llorens, F; Castel, M.2011.Prácticas de Lógica Prolog. (En línea).Consultado, 15 de ene. 2016. Formato PDF. Disponible en: http://sistemasumma.com/2011/11/02/estructuras-en-prolog/

Pacheco, J.2013.El lenguaje de Programación Prolog. (En línea). Consultado, 14 de ene. 2016. Formato PDF. Disponible en: ttp://mural.uv.es/mijuanlo/PracticasPROLOG.pdf

Rodríguez, O.2010. Programación Lógica Prolog. (En línea).Consultado, 14 de ene. 2016. Formato PDF. Disponible en: http://www.oldemarrodriguez.com/yahoo_site_admin/assets/docs/Programacion_PROLOG_VStrawBerryV2.223100300.pdf

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



1 comentario:

  1. JSMHub launches mobile casino slots and - KC Metro
    In partnership 김제 출장안마 with Microgaming, JSM Hub is providing mobile 제주도 출장마사지 casino slots 평택 출장샵 and live 대전광역 출장안마 casino games 양주 출장안마 with both a mobile and desktop client.

    ResponderEliminar