Programación Lógica
Programación Lógica
sistemas computacionales
ateria: Programacin Lgica y Funciona
PROFESOR:
Horacio Escobar Rodrguez
Grupo: M4
Horario: de 11:00 a.m. a 12:00 p.m.
PROGRAMACIN LGICA
La programacin lgica es un tipo de paradigmas de programacin dentro del
paradigma de programacin declarativa. El resto de los subparadigmas de
programacin dentro de la programacin declarativa son: programacin
funcional, programacin con restricciones, programas DSL (de dominio especfico)
e hbridos. La programacin funcional se basa en el concepto de funcin (que no
es ms que una evolucin de los predicados), de corte ms matemtico. La
programacin lgica gira en torno al concepto de predicado, o relacin entre
elementos.
La programacin lgica encuentra su hbitat natural en aplicaciones de
inteligencia artificial o relacionada: Sistemas expertos, donde un sistema de
informacin imita las recomendaciones de un experto sobre algn dominio de
conocimiento.
Etc.
PROGRAMACIN PARALELA
La programacin paralela es el uso de varios procesadores trabajando en conjunto
para dar solucin a una tarea en comn, lo que hacen es que se dividen el trabajo
y cada procesador hace una porcin del problema al poder intercambiar datos por
una red de interconexin o a travs de memoria.
La programacin paralela permite resolver problemas que no caben en un solo
procesador y que no se resuelven en un tiempo razonable, se pueden ejecutar
problemas con mayor complejidad ms rpidamente.
El rendimiento de las computadoras tradicionales secuenciales est saturndose
porque las aplicaciones de hoy en da necesitan realizar trabajo ms complejo, por
lo cual la solucin es tener varios procesadores en sistemas paralelos, al as
obtener ganancia de eficiencia siempre y cuando los algoritmos se diseen
adecuadamente.
Tecnologa en la que una vez que los datos estn escritos en el sitio de
almacenamiento primario, los nuevos datos a este sitio son aceptados, sin tener
que esperar que el sitio de almacenamiento secundario o remoto termine su
escritura.
Espero que mi explicacin les sirva, si tienen algn comentario acerca de esta
entrada, espero me digan ya que estoy abierto a cualquier error.
PROGRAMACIN DISTRIBUIDA
La programacin distribuida es un paradigma de programacin enfocado en
desarrollar sistemas distribuidos, abiertos, escalables, transparentes y tolerantes a
fallos. Este paradigma es el resultado natural del uso de las computadoras y las
redes.
Casi cualquier lenguaje de programacin que tenga acceso al mximo al hardware
del sistema puede manejar la programacin distribuida, considerando una buena
cantidad de tiempo y cdigo.
La programacin distribuida tpicamente cae en alguna de las varias arquitecturas
bsicas o arquitecturas: cliente-servidor, 3-tier, n-tier, objetos distribuidos, entre
otras adems de ser base para la pragmatisidad. Los lenguajes especficamente
diseados para programacin distribuida son: Ada, Alef, E, Erlang, Limbo y Oz.
Multicomputadoras
Caractersticas generales y tipos:
RSD
Warmr
La programacin lgica inductiva se define como la interseccin entre el
aprendizaje inductivo y la programacin lgica. Esto es as porque utiliza tcnicas
de ambos campos:
Del aprendizaje inductivo en los ordenadores hereda su objetivo: desarrollar
herramientas y tcnicas para inducir hiptesis a partir de observaciones (ejemplos)
y sintetizar nuevo conocimiento a partir de la experiencia.
De la programacin lgica hereda bsicamente el formalismo de representacin y
su orientacin a la semntica. La ILP utiliza la programacin lgica como
mecanismo para representar las hiptesis y las observaciones, superando as dos
de las principales limitaciones de las tcnicas clsicas de aprendizaje en
ordenadores: la rigidez en la representacin del conocimiento (lgica de
proposiciones, rboles de decisin, etc.) y la dificultad para expresar conocimiento
de base (background knowledge).
En los sistemas de aprendizaje de orden-0 el conjunto de entrenamiento consta de
vectores de valores, cada uno perteneciente a una clase conocida. El
conocimiento inducido permite definir clases en funcin del valor de los atributos,
siendo representable con expresiones de la lgica de proposiciones. En
ocasiones, se representa en forma de rbol de decisin: ID3, C4.5, etc. y a veces
en forma de reglas: PRISM, C4.5rules, etc.
Por el contrario, en los sistemas de aprendizaje de primer orden, el conjunto de
entrenamiento lo forman relaciones definidas de forma extensional, y el
conocimiento de base lo constituyen otras relaciones, definidas intencionalmente.
El objetivo del aprendizaje es, en estos sistemas, la construccin de un programa
lgico que defina de forma intencional una relacin objetivo (extensional) del
conjunto de entrenamiento. En este tipo de definiciones lgicas se permite la
recursin y algunos cuantificadores, muy tiles cuando se trabaja con objetos
estructurados, difciles de describir en un formato objeto-atributo-valor.
El inconveniente de usar representaciones tan expresivas como la lgica de
predicados de primer orden es que, aunque las descripciones que se construyen
tienden a ser ms sencillas que las obtenidas en lgica de proposiciones, el
espacio de bsqueda de las mismas es mucho mayor. Esto hace que la bsqueda
de la mejor descripcin sea una difcil y costosa tarea, que slo puede realizarse
mediante mtodos heursticos de bsqueda.
HERENCIA MULTIPLE
EFICIENCIA
ASIGNACION DE TIPOS
Manejo de memoria
Encapsulacin
Polimorfismo:
Uniformidad
Comprensin
Tanto los datos que componen los objetos, como los procedimientos
que los manipulan, estn agrupados en clases, que se corresponden
con las estructuras de informacin que el programa trata.
Flexibilidad
Estabilidad
DESVENTAJAS:
A pesar de que las ventajas de la programacin orientada a objetos superan
a las limitaciones de la misma, podemos encontrar algunas caractersticas
no deseables en sta. Limitaciones para el programador. No obstante que
la tecnologa orientada a objetos no es nueva, un gran porcentaje de
programadores no estn familiarizados con los conceptos de dicha
tecnologa. En otras palabras, la lgica de la programacin estructurada
sigue siendo predominante en la mayora de los desarrolladores de
software, despus de haber revisado de forma breve los principios de la
programacin orientada a objetos, nos es claro que en sta se requiere una
lgica de pensamiento totalmente diferente a la lgica comnmente
utilizada para la programacin estructurada. Tamao excesivo en las
aplicaciones resultantes. La gran mayora de los equipos de cmputo
cuentan con capacidades tanto de almacenamiento como de memoria lo
suficientemente buena como para ejecutar la mayora de las aplicaciones
que puedan desarrollarse con la tecnologa orientada a objetos, sin
embargo existen casos en los que lo anterior no se cumple.
PROGRAMACIN FUNCIONAL
La programacin funcional es un paradigma de programacin declarativa basado
en la utilizacin de funciones aritmticas que no maneja datos mutables o de
estado. Enfatiza la aplicacin de funciones, en contraste con el estilo
de programacin imperativa, que enfatiza los cambios de estado. La programacin
funcional tiene sus races en el clculo lambda, un sistema formal desarrollado en
los aos 1930 para investigar la definicin de funcin, la aplicacin de las
funciones y la recursin. Muchos lenguajes de programacin funcionales pueden
ser vistos como elaboraciones del clculo lambda.
BIBLIOGRAFA
http://es.slideshare.net/karlabarriosalejo/savedfiles?
s_title=lenguaje-de-programacin-orientada-aobjetos&user_login=jona_1994
http://es.wikipedia.org/wiki/Programaci%C3%B3n_distribuida
http://indalog.ual.es/WWW/prolog2005.pdf
http://ccc.inaoep.mx/~emorales/Papers/2006/capilp.pdf