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
Russell, S; Norvig, P. 2008. Inteligencia Artificial Un Enfoque Moderno. Segunda Edición. Pearson Education. España
JSMHub launches mobile casino slots and - KC Metro
ResponderEliminarIn partnership 김제 출장안마 with Microgaming, JSM Hub is providing mobile 제주도 출장마사지 casino slots 평택 출장샵 and live 대전광역 출장안마 casino games 양주 출장안마 with both a mobile and desktop client.