martes, 25 de agosto de 2015

Casa nueva!

Nuestro nuevo portal es:
https://proauge.wordpress.com/
Este seguirá existiendo, pero el que se actualizara sera el que les acabamos de pasar, las notas se pasaron todas al nuevo portal, ya esta todo más organizado, y bueno esten preparados porque apenas viene el auge de esto!
Gracias totales!

domingo, 23 de agosto de 2015

Introducción a Prolog

Hoy les comparto una breve introducción al lenguaje de Programación Prolog.

La palabra PROLOG proviene del acrónimo (PROgrammation LOGique) o programación lógica.

Es un lenguaje de programación que fue introducido por la Universidad de Aix-Marseille (Marsella, Francia) por los profesores Alain Colmerauer y Philippe Roussel al inicio de los 70's.

Sabiendo lo anterior, pasemos a la sintaxis. Prolog se compone por los siguientes elemento:

-Constantes
-Variables
-Hechos
-Relaciones
-Reglas
-Consultas

Constantes
Pueden ser números enteros o flotantes, cadenas de caracteres en minúsculas o cadenas de caracteres entre comillas ("").

Ejemplos: 56, 873.123, hola, adiós, "Hola"

Variables
Cadena de caracteres que comienza con mayúscula o con "_". 

Ejemplos: X, Juan, _hola, _  

Hechos
Un hecho es una afirmación y se conforma por un predicado, seguido de unos paréntesis, entre los que se coloca un sujeto y posterior a los paréntesis se coloca un punto. 

    predicado(sujeto). 

Ejemplo: hombre(luis).

Y se lee, Pedro es hombre.

Relaciones
Las relaciones dentro de prolog se conforman de un predicado, seguido de unos paréntesis, entre los que se coloca un sujeto seguido de una coma "," y seguido de otro sujeto. Posterior a los paréntesis se coloca un punto.

    predicado(sujeto1,sujeto2).

Ejemplo: progenitor(luis,juan).

Reglas
Las reglas son suposiciones en base a lo que ya sabemos (hechos) y se componen de un hecho sin punto al final, seguido de dos puntos y un guión medio (":-") que significa "entonces" o "si", seguido de un uno o mas hechos o reglas separados por comas (",") o punto y coma (";"), donde la coma es el operador lógico "and" y el punto y coma es el operador lógico "or".

    predicado(sujeto1,...,sujetoN) :- predicado1(sujeto1,...,sujetoN) , predicado2(sujeto1,...,sujetoN) ; predicado3(sujeto1,...,sujetoN).

Ejemplo: padre(luis,juan) :- progenitor(luis,juan) ,  hombre(luis).

El ejemplo anterior se lee, Luis es padre de Juan si, Luis es progenitor de Juan y Luis es hombre.

Consultas
Una consulta en prolog se compone de el predicado de una regla, seguido de paréntesis, que contienen los sujetos o variables requeridas por dicha regla, y los un punto posterior a los paréntesis.

    regla(sujeto1,sujeto2,variable1).

Ejemplo: padre(luis,juan).  padre(X,Y). padre(luis,X). padre(X,juan).

Y se lee, ¿Es Luis, padre de Juan?

Hay dos maneras de realizar una consulta:

1- Mandando como parámetro valores específicos como en el ejemplo 1, donde se obtendrá como resultado "True" o "False", True si es verdad según los hechos y reglas establecidas y False en caso contrario.

    padre(luis,pedro).
    False 
 
2- Mandando una o mas variables como en los ejemplos posteriores, donde se obtendrá como resultado todos los posibles valores que pueden llegar a tomar dichas variables:

    padre(luis,X).
    X=juan

Dato extra
 
Los comentarios van antecedidos del símbolo "%".

    % Esto es un comentario.

Cuando se utiliza el operador lógico AND (","), se debe cumplir la condición tanto de la izquierda como de la derecha del signo para que sea verdadero el resultado.

Cuando se utiliza el operador lógico OR (";"), el resultado solo es falso cuando la condición tanto de la izquierda como la de la derecha son falsas.

Si queremos comparar dos elementos utilizaremos "==", si ambos elementos son iguales, retorna verdadero, si no es así, retorna falso.

El operador "not" nos sirve para negar una comparación, un hecho, una regla, etc. Y va antes de cualquiera de estos elementos.

    not(X==Y)

Donde se indica que esa condición sera verdadera si X es diferente de Y.

Esto es todo por este tutorial, espero que les sea de mucha utilidad, cualquier cosa no duden en comentarla y de antemano muchas gracias.

Fuente:
http://www.itnuevolaredo.edu.mx/takeyas/apuntes/Inteligencia%20Artificial/Apuntes/IA/Prolog.pdf Consulta el 23 de Agosto del 2015.

http://ce.azc.uam.mx/profesores/mjm/pub/prolog.pdf Consulta el 23 de Agosto del 2015.

Instalar SWI-Prolog en Linux

Hoy les comparto un mini tutorial sobre como instalar SWI-Prolog en Linux.

Pero antes que comenzar. ¿Qué es SWI-Prolog?
SWI-Prolog es una implementación en código abierto del lenguaje de programación Prolog, comúnmente utilizado para la enseñanza y aplicaciones web semánticas.

Sabiendo eso, comencemos.

Abrimos nuestra terminal y escribimos el siguiente comando para instalar software-properties-common ya que lo requiere SWI-Prolog:
sudo apt-get install software-properties-common
Una vez hecho esto, generamos un repositorio con:
sudo apt-add-repository ppa:swi-prolog/stable
Nos pedira que oprimamos la tecla "Enter" para continuar.

Ya que se genero el repositorio lo siguiente es actualizar el sistema para que se considere el cambio en el repositorio que generamos:
sudo apt-get update
Actualizar el sistema puede tomar un tiempo.

Y por ultimo instalamos SWI-Prolog con el siguiente comando:
sudo apt-get install swi-prolog
Nos pedira seleccionar la tecla "Enter" para continuar la instalación.

Y con esto, SWI-Prolog estara listo para utilizarse, podemos comprobar si se instalo correctamente con el siguiente comando:
swipl --version
Este comando nos mostrara la versión de nuestro SWI-Prolog.

Para ejecutar SWI-Prolog basta con escribir en nuestra terminal:
swipl
Para utilizarlo de manera sencilla, recomiendo generar nuestro archivo de Prolog (.pl), con cualquier editor de texto y guardarlo con la extensión .pl

Una ves que contemos con nuestro archivo .pl basta con acceder en la terminar a la ubicación de nuestro archivo .pl y ejecutar el siguiente comando:
swipl -f archivo.pl
Y solo sustituimos la palabra "archivo" por el nombre de nuestro archivo y con esto ya podemos hacer consultas y probar nuestro programa.

Espero y este mini tutorial les sea de mucha utilidad para instalar y utilizar SWI-Prolog.

Cualquier duda o aclaración no duden en comentarla, y de antemano muchas gracias.

Fuente:
https://www.nuigalway.ie/information-solutions-services/servicesforstaff/software/softwarea-z/s-t/swi-prolog/ Consultado el 23 de Agosto del 2015.

miércoles, 12 de agosto de 2015

Carta a los estudiantes de informática y computación.

Se habrán dado cuenta de que su ciencia tiene un impacto directo en todas las sociedades del mundo  y que no es fácil el generar soluciones,como también de que en la escuela no encuentran la solución a dudas muy puntuales sobre el día a día de su carrera, cosa contraria de lo que sucede en otras carreras.

 Les tengo que decir algo, la escuela solo es un encaminador de algo mucho mas grande, pero es solo una pequeña probadita de su carrera , que en ocasiones puede que esa probadita este ya algo obsoleta, lo cual ocasiona la frustración y decepción de algunos. Algo que deben comprender es que ustedes están en una carrera que avanza mas rápido que todas las demás, están en el auge de algo tremendo que esta cambiando la manera con la que viven las personas en todo el mundo y prácticamente cada semana hay algo nuevo que ha desplazado a otra tecnología que no lleva mas de un año de existir, es una ciencia diferente y que para poder adentrarse hay que comprender su naturaleza e historia.

¡Ustedes le están dando la forma a esta ciencia!

Que sean ustedes los seres que están dándole forma a esta ciencia los convierte en automático en participes principales de esta historia de la informática,  y aquí es donde se pone a prueba la frase que alguna vez dijo Sir Isaac Newton, nuestro trabajo sera:
"A hombros de gigantes" 
 Ya que su esfuerzo y cada cosa que hagan tendrán forzosamente que mirar hacia atrás ver trabajos como el de Linus Torlvals, Bill Gates, Larry Page, Serguéi Brin , Steve Jobs, Richard Stallman, Jon "maddog" HallDennis Ritchie, entre muchos otros. Deben de mirar el trabajo de las personas que trabajaron en el desarrollo de la informática  para saber hacia donde debe de ir encaminado su trabajo y que es lo que sigue. Se tiene que comprender muy bien que es lo que se vive en la actualidad y ver que es lo que llevo a esto, en alemán la expresión se llama "Zeitgeist".

He pensado que al seguir las reglas que vienen en la imagen es tan solo los requerimientos básicos para desarrollar cualquier actividad en nuestra vida,  y que la informática no es la excepción.
Jamas deben de estar alejados de estas reglas, considero que fundamental es la humildad.

En las escuelas de ciencias e ingenierías se da algo muy común debido a la alta exigencia que en estas se practica, se cae en una falta de humildad tremenda en los estudiantes. Esto conlleva a que se caerá tarde o temprano en una que otra zona de confort, y por lo tanto la joven promesa para el futuro de la sociedad queda totalmente cerrada a nuevas ideas y practicas por creer que se sabe todo. Los invito a jamas caer en esto, siempre sean humildes, y mas con su conocimiento, nunca le cierren la puerta a nuevo conocimiento, ya que ustedes vivirán en constante cambio e innovación, cerrar la puerta al cambio debe de ser una aberración natural.

Nunca dejen de prepararse, aun cuando consigan un buen trabajo o estén en un proyecto que sea la meta al trabajo de muchos años, no significa que deben dejar el estudio de lado, todo lo contrario es lo que los debe motivar a prepararse más, que es lo que hace la diferencia entre lo mediocre y lo profesional.

!Están afectando al mundo entero!
Recuerden que su trabajo puede tener un impacto global, lo cual significa que su preparación tiene que ser integra. Aprender idiomas, entablar relaciones, poder sostener una conversación productiva y una amplia cultura general son  cosas que deben de tener muy presentes. 

Tengan amigos, salgan, diviértanse, y nunca descuiden el aspecto humano, que todos lo somos. Todos los grandes en esta ciencia estuvieron rodeados de verdaderos amigos que los ayudaron siempre.

Steve Jobs y Wozniak :http://www.apple5x1.es/wp-content/uploads/2014/12/steve-jobs-and-wozniak-1977_1024x796_91966.jpg

Los amigos se cuentan con la mano, y es difícil encontrarlos, pero cuando uno hace lo que le gusta, la vida siempre nos ayuda a encontrarlos.

¡Latinoamerica cuenta contigo!
Joven latinoamericano, te pido un favor, no temas ser líder, latinoamerica necesita más lideres que guíen, inspiren y enseñen. Nuestra sociedad, esta habida de gente a quien seguir, que guíen por el buen camino a este pueblo, que ayuden a abrir los ojos con el ejemplo. Te pido por favor que tu lo seas. Ser líder demanda mucha energia, mucha empatia, don de gente, entre muchas otras cosas, pero la recompensa trascenderá entre muchas generaciones y es la necesidad de tu tiempo y de tu pueblo.

El conocimiento demanda una responsabilidad social.
Cada que obtenemos algún tipo de conocimiento considero que adquirimos de inmediato la responsabilidad social de ayudar a nuestro pueblo con el saber que acabamos de adquirir ya sea enseñando o haciendo. Amigo, amiga, tu tienes esta responsabilidad al estar dentro de esta ciencia de la informática y más aun si estas en una universidad publica, es necesario que sepas que el trabajo que realizas en la universidad publica no te representa a ti, ni a tu facultad, mucho menos a tu universidad, representa a todas aquellas personas que han pagado sus impuestos para que tu estés ahí,  sin lugar a dudas esto motiva y empuja, y te debe de dar una idea de la calidad que se espera que tengas en tus trabajos, que claro estará bien que te equivoques es normal ya que es el tiempo de que lo hagas, lo que si sera imperdonable es que no des lo mejor de ti, que no seas profesional.


Seni düşünürüm (Pienso en ti)

Leer a Orhan Pamuk ha aumentado mi pasión por la literatura, poesía, música, y en sí, mi aprecio y cariño por la cultura turca. Gracias a él descubrí a otros escritores y poetas turcos destacados, como es el caso de Nâzım Hikmet Ran, quien es considerado como el poeta más importante de lengua turca del siglo XX. Les presento uno de sus más representantes poemas, traducidos al inglés y al español.


Seni düşünürüm (Pienso en ti)


Seni düşünürüm 
anamın kokusu gelir burnuma 
dünya güzeli anamın. 
Binmişin atlıkarıncasına içimdeki bayramın 
fır dönersin eteklerinle saçların uçuşur 
bir yitirip bir bulurum al al olmuş yüzünü. 
Sebebi ne 
seni bir bıçak yarası gibi hatırlamamın 
sen böyle uzakken senin sesini duyup 
yerimden fırlamamın sebebi ne? 
Diz çöküp bakarım ellerine ellerine
dokunmak isterim 
dokunamam 
arkasındasın camın. 
Ben bir şaşkın seyircisiyim gülüm 
alacakaranlığımda oynadığım dramın. 
---------------------------------------------------------------------------------------------------------
I think of you
and I feel the scent of my mother 
my mother, the most beautiful of all. 
You are on the carousel of the festival inside me 
you hover around, your skirt and your hair flying 
Mere seconds between finding your beautiful face and losing it. 
What is the reason, 
why do I remember you like a wound on my heart 
what is the reason that I hear your voice when you are so far 
and I can't help getting up with excitement? 
I kneel down and look at your hands
I want to touch your hands 
but I can't 
you are behind a glass. 
Sweetheart, I am a bewildered spectator of the drama 
that I am playing in my twilight.
-------------------------------------------------------------------------------------------------
Pienso en ti
me llega hasta la nariz el olor de mi madre
de mi preciosa madre.
Montada en un carrusel, eres la belleza que llevo dentro
vuela tu cabello y gira tu ropa a toda velocidad
tu rostro ruboroso aparece y desaparece.
¿Cuál es el motivo para que tu recuerdo sea como una puñalada,
cuál es el motivo de que estando tan lejos oiga tu voz
y de un salto me levante?
Arrodillado contemplo tus manos
quisiera acariciarlas
pero no puedo
estás tras un cristal. Rosa mía, soy un confundido espectador
del drama que represento en mi crepúsculo.
Nâzım Hikmet Ran




"Estambul" de Sonia Pérez Romero

martes, 11 de agosto de 2015

En ti la tierra - Pablo Nerudo

Y sigo con los poemas de Pablo Neruda, en esta ocasión les comparto este bello poema titulado En ti la tierra, otro bello poema dedicado a resaltar y admirar la belleza de la mujer. Espero y sea de su agrado tanto como lo es para mi.

En ti la tierra

PEQUEÑA
rosa,
rosa pequeña,
a veces,
diminuta y desnuda,
parece
que en una mano mía
cabes,
que así voy a cerrarte
y a llevarte a mi boca,
pero
de pronto
mis pies tocan tus pies y mi boca tus labios,
has crecido,
suben tus hombros como dos colinas,
tus pechos se pasean por mi pecho,
mi brazo alcanza apenas a rodear la delgada
línea de luna nueva que tiene tu cintura:
en el amor como agua de mar te has desatado:
mido apenas los ojos más extensos del cielo
y me inclino a tu boca para besar la tierra.


"Madre Tierra" Elvira Margalef - 2007 Óleo