miércoles, 30 de diciembre de 2009

Un regalo de reyes... Juego de ahorcado con algoritmo de fuerza bruta

Osea, ayer apenas escribi un post y ahi voy de nuevo con otro post...

Pero les conviene (creo, jaja)

Como les dije, hable con mi novia y me dijo que no le molestaba que publicara el juego de ahorcado que le hice para su uso abierto (esperemos que no se enoje, ya les andaré diciendo si me toca sofa).

Esto será una gran molestia para los burros maestros de inteligencia artificial que ya no saben que dejar de proyecto final de Prolog y piden cosas que la verdad no van ni al caso... admitamoslo, el prolog lo único que pueden dejarse de proyecto son los juegos de ajedrez, de la ruta de viajero, el árbol genealógico y el de los romanos que en realidad jamas entendí :(

Y es que... como lo había mencionado antes, no requerí inteligencia artificial para este juego, en realidad solo fue un estupido algoritmo de busqueda llamado "Fuerza bruta" (vean esta página cucha de Wikipedia para más detalles), solo que programado a mi manera jaja, pero igual de entendible.

Con esto, pues en mi opinión, tiene de a dos sopas
1) Presumirselo a su maestro de algoritmos computacionales para que les vaya bien en sus calificaciones (obvio, ponganle mas monerias, de perdida, cambienle a la fuente y colores, no hay que ser)
2) Humillen a su maestro diciendole que deja proyectos que ni al caso (mmm que de todas maneras les hará hacer el juego en prolog y quizas los reprueben por represaria, mmm mejor no).

Aqui les va el código, hay partes comentadas respecto al este para que lo tomen en cuenta si le quieren modificar, solo le puse 10 frases (por razones personales, no son las frases del juego de ahorcado que le di a mi novia), por que no se me ocurrió que poner y también deje la sutuación de modificar el número de oportunidades a adivinar en 10 (todo esto, modificable en una línea de código cada una, obvio). El juego puedes desde adivinar letra por letra o toda la frase completa.

Pantalla del juego de ahorcado

Obviamente, está hecho en Java, en lenguaje pseudo-modular (yo dijo pseudo, por que recuerden que Java es puramente orientado a objetos) con el entorno de Netbeans.

Pus... bajense el proyecto con su jar

martes, 29 de diciembre de 2009

Feliz navidad, año nuevo, reyes, y todo eso...

Pues en visperas de año nuevo, pues no queria dejar el blog sin un mensaje conmemorativo respecto a esta jornada Guadalupe - Reyes.

FELIZ NAVIDAD!!!

Ok, algo de humor negro antes no hace nada de daño =D

El árbol que pusieron en la explanada de la UPIICSA, al menos los de control escolar hicieron algo bien (si es que ellos fueron).

Y de noche se veia mas curado =D

Y pues les diré que no he hecho ni mergas de lo de mi servicio social, pura webonada, salir con amigos, novia y jugar con el nintendo 64 de mi sobrino.

No es algo que me de mucho orgullo decir pero, quien juege con este plomerito rojo, sabrá lo que es la obsesión por algo :P

Lo que si... es que les deseo un feliz año nuevo...
Y eso que les falto el aumento del IVA, ISR, predial, metro, tramites... un grandioso regarrote de nuestro gobierno federal y estatal.

Y espero también que los reyes les traigan lindos obsequios... pero, creo que debo de decirles la verdad acerca de los reyes... neee, mejor veanlo en este video.



Nos vemos el siguiente año =D

miércoles, 16 de diciembre de 2009

Una clase sarcástica de simulación de sistemas

Una de las cosas que aprendí en la materia de "Simulacion de sistemas" fue el funcionamiento de los sistemas de colas (sip, como las colas de las tortillas o la cola para comprar los boletos de metro jeje).

Empecemos con las cuestiones teóricas (algo aburridas, lo se)

Un sistema de colas común tiene esta forma:
Un servidor donde clientes, personas, o cosas son atendidas y una cola donde esperan a ser atendidos.

Uno puede apreciar al momento de emular un sistemas en un cierto periodo de tiempo, en las colas pueden pasar 2 eventos.

a) Que alguien llegue al servidor
Si el servidor esta desocupado, pues ese alguien es atendido por un cierto periodo de tiempo de servicio
Sino, tiene que esperar en la cola hasta que sea atendido el que esta en el servidor, mas los que estan adelante de el en la cola
b)Que alguien parta del servidor
Y con ello, si hay gente en la cola, se toma a alguien de la cola a ser atendido, comunmente con metodología PEPS (el primero en entrar a la cola, es el primero en ser atendido).

Ahora, si medimos la situación de la cola en estados, tendremos dos indicadores.
-Estado del servidor (ES).- el cual puede ser ocupado(1) o desocupado(0)
-Clientes en cola (CC) .- las personas formadas en la cola dado a que el servidor esta ocupado.

Cuando se sumila o se mide el funcionamiento, podemos sacar estadísticas. Esto nos sirve dado a que la simulacion de sistemas es parte de la rama de investigación de operaciones y en este caso, se busca la reduccion de costos originados por:
1.- El tiempo ocioso del sistema (el tiempo en que el o los servidores no estan ocupados, osea, ES=0)
2.- El tiempo de espera en la cola (el tiempo en que cada cliente de la cola lleva ahi esperando)
Ambos, suelen generar costos, los cuales, hay q reducir.

Y como saber cada cuando llega a sistema y cuanto tiempo tarda en ser atendido??? Comunmente ya se conoce la naturaleza de esos dos eventos, mediante estadística, conociendo si su naturaleza tiene una distribución sea por ejemplo, normal, exponencial, poisson, geometrica, etc etc etc.

En teoría de colas, no solo se manejan una cola asi de simple, pueden manejarse colas con varios servidores en paralelo, en serie, en forma de sistema de produccion just in time, etc.

Para el fin "cómico" de este post, manejemos un sistema paralelo de 6 servidores.
Sistema de 6 colas en paralelo con una cola

Uno pensaría lo siguiente:
-El tiempo de espera en la cola se reduce dado a que se atiende más gente
-Hay menos gente en la cola

Solo que una simulación no es la vida real, y comunmente una simulación no comprende todos los elementos de un sistema real, por ejemplo, el sistema de atención a clientes en la tesorería del Distrito Federal.

Y pues si hacemos una simulación de su sistema de atención a clientes, hay elementos que no podemos emular como:
1)No todos los servidores funcionan, sea por que no hay quien lo atienda o estan comadreando
2)Algunos de la cola se meten en turno q no le corresponden (una cosa muy diferente al método PEPS)
3) Al atenderse a uno, no se atiende luego luego al siguiente (por comadrear)
4) No se tiene un control directo de quine sigue (tienen q ir a ver quien sigue)

El gobierno sube impuestos, pero no conocen estas maquinitas

Sea comos sea, si sacamos estadísticas, el costo de ese sistema es espantoso :S

Y si no me creen???? Vean lo que les grabé.



Espero que les haya gustado esta clase muy curiosa de simulación de sistemas n_n jeje

lunes, 14 de diciembre de 2009

Sigiendo con la supuesta lucha inutil de un cambio social

Hace como medio mes, una amiga llamada Citlaly (la misma que me mando el podcast del Trujo de lo que es el enamoramiento) me envió un mail que pues la neta me valio madres en ese momento.

Debo de admitir que soy a pesar de todo, un humano mas que luego se enajena en sus ondas, a veces, medio tontas. Pero bueno, es de sabios equivocarse (al menos jaja). Depurando mi mail, lo reencontre el correo y lo leí. Y fue muy interesante.

Es un ensayo de un amigo de esta chava, cuyo nombre no aparece en el mail, pero si su correo (ro.splinter@hotmail.com) y habla de lo que está pasando con nosotros los jovenes.

Les hablaría de mi opinión, pero creo que no es relevante, mejor, que su ensayo de este chavo hable por si solo.
______________________________________________________________

Ensayo que redacté para presentarlo en el Foro Academico (tema 6) de la proxima semana en la ESE IPN, que por causas de fuerza mayor no podré presentar, por eso te la envío, espero comentarios y hate mails.



LA SITUACIÓN ECONÓMICA, CULTURAL, IDEOLÓGICA

Y COGNITIVA DE LOS JÓVENES


A pesar de lo que digan muchos adultos sobre las nuevas generaciones, que por el hecho de que ahora existen computadoras e internet, la vida se ha vuelto fácil para nosotros, la realidad es que no es así. Podemos notar al echar un vistazo al pasado que todas las generaciones han gozado de ciertas ventajas y han padecido desventajas muy particulares que pueden resultar incomprensibles para otras épocas, incluso futuras. Las guerras, las inestabilidades sociales, epidemias, descubrimientos científicos, comunicaciones, periodos de hambruna, etc. Los grandes personajes de la historia de la humanidad fueron resultado de condiciones muy específicas que no se volverán a repetir.


En la actualidad, los jóvenes nos enfrentamos a problemas mucho más sutiles y algunos hasta disfrazados de ventajas, por eso es muy común escuchar que nuestros padres y profesores subestimen nuestros esfuerzos diciendo que “ahora ya todo lo venden hecho” o que “ya todo aparece en internet”, esto es verdad, pero no representan únicamente ventajas.


Hace no muchos años los jóvenes podían emigrar del interior de la república a la capital para trabajar por un sueldo digno que les permitía estudiar y, a base de mucho esfuerzo sin duda, lograr salir adelante. Actualmente el sistema económico ha buscado formas más imperceptibles pero a la vez más depredadoras de garantizar la ganancia de las empresas, hace un par de siglos aumentaban la jornada de trabajo, luego redujeron el tiempo de trabajo necesario en la producción, y después bajaron los sueldos a niveles que hacían necesario que las mujeres también se emplearan formalmente con la ventaja que trae consigo el ‘reconocer’ los derechos de las mujeres al ser tratadas con igualdad y otros conceptos feministas que si bien son loables, buscan que la percepción general sea de aceptación, obviamente a la gente no le iba a parecer que las mujeres salieran a trabajar, no por reconocer sus derechos, sino porque simplemente el proceso de producción necesita de más mano de obra.


Ahora los jóvenes no podemos acceder a puestos de trabajo que nos reafirmen como personas, las únicas opciones son trabajar de manera eventual, por contrato o por horas y sin seguridad social ni prestaciones en un call center, en ventas (de tarjetas de crédito, seguros o afores), atención a clientes, cobranza o los llamados ‘Mc Jobs’ (Ayudante en general de McDonald’s, Blockbuster, Cinépolis, etc.) Todos éstos por sueldos que van del salario mínimo a 4000 pesos mensuales aproximadamente, cantidad que en términos reales resulta muy insuficiente para lograr emanciparnos de nuestras familias y formar una propia. El efecto que se produce con este clase de empleos es una degeneración de la sociedad que provoca que generaciones enteras de jóvenes lleguemos a la edad adulta sin lograr salir a enfrentar la vida independientemente, razón por la que muchos adultos piensen que “ahora los jóvenes somos unos holgazanes que no se quieren ir de la casa”.


Por otro lado, nuestros gustos y deseos han cambiado, o mejor dicho, nos los han cambiado. La enajenación capitalista hace que los bajos sueldos que se reciben, el dinero de los pasajes o de la beca, se destine no para efectos útiles, sino para lo que la cultura del consumismo estúpido demanda: el celular de moda, reproductores de MP3, autos tuneados, la borrachera semanal, ropa irracionalmente cara, etc. Si bien estos artículos producen satisfacción en sus consumidores, su necesidad en gran medida no emana de ellos, sino de la publicidad explícita (como los anuncios de TV) e implícita, ésta última que se manifiesta en los videos musicales, las series, entre otros medios que nos bombardean sin cesar.

Este proceso es aprovechado por los intereses económicos que nos quieren volver agentes de consumo, sin ninguna clase de pensamiento propio para delinear las formas en que nos conocemos, comunicamos, enamoramos y divertimos. Ahora se han vuelto casi imprescindibles los comentarios de hi5 o los mensajes de celular para acercarte a la chica que te gusta, pero en detrimento de las relaciones personales directas. Las conversaciones se tornan áridas al querer hablar de nuestras ideas y reflexiones, pero muy fructífera al hablar de los programas dominicales de Televisa y TV Azteca, el desempeño de la selección mexicana de futbol, los videos de MTV, etc.


Esta estupidización cultural deriva en un pobre desarrollo intelectual que se manifiesta en tomar muy a la ligera el estudio y sobretodo el conocimiento. Por ello resulta difícil que los jóvenes se interesen por generar conocimientos nuevos, sino que “sólo me digan la formulita para resolver el problema” como si aprender fuera inútil, ya que la prioridad es la obtención de recursos ‘limitados’ para continuar solventando las necesidades consumistas ‘ilimitadas’.


Así se fomenta una visión individualista del mundo, que produce un rechazo al interés por el bienestar social, empujando a muchos jóvenes a la delincuencia con la que pueden así, solventar esas necesidades que los medios de comunicación han contribuido a crear. Lo queramos o no, ellos son producto de la sociedad. Otra forma en la que nos volvemos individualistas es, segmentándonos en ‘tribus urbanas’ que alinean a buena parte de la población a consumir ciertas mercancías que definen su ‘tribu’, volviéndonos prejuiciosos y de esa forma el dark ni por error podría compartir ideas con el skinhead, así ni por asomo habrá una juventud organizada y eso a muchos poderes fácticos les conviene enormemente.


Por ello la propuesta de reducir las materias que desarrollan la reflexión y la crítica suelen ser bien aceptadas hasta por muchos jóvenes (quienes detestan leer), y es que todos queremos y necesitamos saber inglés y computación, pero si el programa cambia en este sentido ¿Cuál será la diferencia entre la ESE y el CNCI o el CECATI? Un programa con materias críticas que desarrollen el pensamiento no es apto para estudiantes apáticos, y si el alumno necesita un papel que diga que es licenciado para subir un peldaño de la escala social, desperdicia más de 4 años de su vida pretendiendo obtenerlo en la ESE.

La juventud es quizás la etapa que más se disfruta de la vida pero también, cabe reflexionar respecto que la situación actual de los jóvenes es difícil, muy difícil, pero muchas veces no lo parece si nos dejamos distraer por el estruendoso sonido del reggaetón y del pop comercial.

miércoles, 9 de diciembre de 2009

Hermosos tags

Un día entre la ociosidad y la idea de poner más monerías al blog, mi amiga Tania llegó y me dija que le pusiera un contador de esta página. Y lo hice. Una de estas virtudes es que se revisan que páginas son más visitadas de este blog, y de que palabras clave de los buscadores, la gente llega a este blog.

Hoy antes de pasar por mi novia a su servicio (si verdad!!! ella trabajando y yo de wevón!!! jaja ntc) ví los tags por los cuales uno llega a ver mi página. Vamos a hablar de los más importantes (o al menos de los más curiosos)


1.-diccionario de maestros upiicsa
Quiero aclarar que si suelo dar explicaciones de maestros que he tenido o que me han contado, pero pues, el verdadero diccionario está en http://diccionariomaestros.unlugar.com (bueno, aun no esta listo) o vean la página no oficial de la UPIICSA.

2.-programa de brazo robot en c++
Se los pongo de nuevo a su disposición en esta liga. También de ahí pueden bajar el código que use para mi brazo robot en C y VB.

3.-Graduación de ingeniería en informática de la UPIICSA en el 2010.
Yo no soy organizador de ninguna de las 2 fiestas cabe aclarar también.
Pero cualquier cosa, ambas fiestas tienen su blog propio.
En la fiesta de los de la mañana es esta.
Y los de la tarde es esta otra.
A cual ire yo, a la de la tarde. Por que??? Muchas razones, que la verdad ya ni quiero explicar si quiero cuidar mi bilis.

4.- Conferencias en UPIICSA.
Solo las que dí en la escuela como PIFI, pero ya fueron hace ratín. Cualquier cosa, aqui esta la liga del post sobre las conferencias que dí (también de ahí pueden descargar los artículos de estas).

5.- Gran matraz antro
Eso mis chavos, ya es desmother de los quimicos de la salle. Next.

6.-Juego de ahorcado en prolog
Jajajajaja, esta chido eso. Nop, yo hice un juego de ahorcado en java como regalo para mi novia. Aunque cabe aclarar que no le veo caso hacer un ahorcado en prolog, por que lo único que hice más que nada fué aplicar un algoritmo de fuerza bruta para buscar las palabras o frases que uno creiría que estan en la frase a adivinar. Bueno... ha de haber sido un capricho de un maestro... caprichoso ajjaja.
Pero hagamos esto, mmm hablaré con mi novia para ver si le late que ponga a la disposición del público el juego de ahorcado para su uso, sale????

7.-Caratula UPIICSA
Ok, el colmo de la wevonada. En serio, creo que se tarda uno más buscando una carátula que abrir el word, copiar los escudos del IPN y la UPIICSA y poner uno que otro dato relevante. Next.

8.- Ubicación escuela UPIICSA
Las cuatro maneras más usuales son estas.
a) Yendose por metrobus de la línea de Eje 4 Sur. Tenemos nuestra propia estación =D (UPIICSA, y tiene por logo el edificio de ingeniería).
b) Los que vienen de Circuito Interior, tomen el expresso, tarda un poco pero si llega, se bajan en la parada de "Delegación Iztacalco" y de ahí caminan pasando la delegación y ya estarán en la esquina.
c) Bajense del metro Coyuya y pregunten donde está la parada del camión del Bones y ese los deja a 2 cuadras (cuidado, mmm la colonia donde los deja esta medio chacal).
d) Bajense del metro Boulevard Puerto Aereo y subanse en la combi "UPIICSA" no hay que dar más explicaciones.

9.-Windows 7 gratis
JAAAAAAAAAAAAAAJAJAJA, eso solo los de UPIICSA.
Bueno, creo que hay promociones que si eres estudiante te lo dan a 399 pesos, echense su googlerazo.

10.-ejemplos de diagramas casos de uso de uml sobre un punto de venta de un oxxo
Mmmm, ok, lo que es tener weba para hacer su tarea ¬_¬

11.-castelan en upiicsa
Ese si me dio miedo :-S

12.-mr upiicsa
Mmmm, no se que rayos tengo que ver con eso. Si estoy delgadito jajajja.

13.- informatic enginnering
Ese es el post que más impacto ha tenido mi blog. Les dejo la liga.

14.-ing en informatica es dificil en upiicsa
Depende, si te gusta, estas conciente lo que es la "INGENIERIA EN INFORMATICA" pus no es dificil.
Si crees que te ira bien por que sabes usar el mazinger, quieres ser jefe solamente, te choca programar y le tienes miedo a los cablecitos... mmm si estara cabron jaja.

15.-quiero contactar ingenieros en sistemas computacionales
No soy ingeniero en sistemas computacionales, pero mi carrera comprende varias cosas de esa carrera. Puedes contactarme si quieres jeje.

16.-metodos simplex : con oraciones
.... no comments

17.- UPIICSA
Es emocionante saber que ese tag dirige directamente a mi página actualmente, jeje :P

18.-chat upiicsa
de nuez, en la página no oficial de la UPIICSA.

19.- CURSO DE COMPUTACION EN UPIICSA
Mmm... www.upiicsa.ipn.mx

20.- "administración de proyectos"+"dummies"
Pues espero que les sirva el manual del PMP que nos dieron en ingeniería administrativa (solo que no es para dummies)

Son los mas relevantes hasta el momento, algunos me hicieron reir la neta, espero que a ustedes también.

Nos vemos

miércoles, 2 de diciembre de 2009

Verdadera legislación informática

Este semestre se esta acabando afortunadamente, solo me falta hacer mi exámen de Investigación de Operaciones. Ya en estos días andaré publicando la aportación personal que tuve respecto a este semestre, la verdad, la mayoría fueron buenas jeje.

Como sea, les adelanto una de ellas, que fue legislación informática, la cuál me indujo a muchas cosas respecto a contratos informáticos y sobre todo, las cuestiones del INDAUTOR, algo que debo considerar mucho cuando acabemos en el servicio el software que nos pidieron. Suena un poco contradictorio el hecho de reclamar derechos por ese sistema, dado a que será mi tesis y como toda tesis quedará a la vista del público. Pero mi idea es solo reclamar derechos de propiedad individual, esto es, que si llegasen a publicar algo usando nuestro software, deben darnos crédito.

--Pero Castelán, de todas maneras, no tienes que darlo de alta en el INDAUTOR, ya que solo basta con que en las bibliografías pongan tu tesis y se acabó----

Cierto, cierto, pero el temor que tengo es que ese sistema se va a quedar en la SEPI-UPIICSA, para el uso de este, bajo la autorización de mi jefa del servicio, eso implica que si llega un maestro mañoso de keske informática al área de servidores de la SEPI, toma la base de datos y los archivos del sistema que este contiene, facilmente los puede hacer pasar por suyos.

--NO MANCHES!!! ESO NO PASA!!!---

No???? Ahi les va un relato...
Un maestro de compiladores y teoria de la computación (no dire su nombre... y no se espanten, no es Mortera, jeje) pidió un proyecto de un compilador a sus alumnos. Y uno de ellos entrego un compilador decente. Y le puso 10 obvio. Pero.... ese compilador se iba a usar para otra cosa más... EL PROYECTO DE MAESTRIA DE ESE MAESTRO. Solo que ese maestro olvidó un detalle... quitar el nombre de sus alumnos de código fuente jajajaja. Obvio lo mandaron a la goma (Inspirado en un suceso real de la UPIICSA).

Moraleja: Amigos, si sienten que van a hacer algo chingón, proteganlo.

Y todo esto, respecto a este post, bueno, afortunadamente nuestro maestr admitió que esta materia era como 80% derecho del que todos vemos en la vocacional (lo que es la norma jurídica, el estado, el derecho, contratos, bla bla bla), y 20% derecho informático, incluso admitió que en México, el aspecto de la legislación informática no es algo muy bien protegido en nuestro país.

Pero pues mientras se actualiza el plan de estudios de esta materia y el estado del arte respecto al derecho informático se hace más robusto, nos pasó un compilado de normas y leyes que refieren a aspectos de informática. Son muchos artículos, aun no lo acabo, por lo mismo, pero esta muy interesante. (Espero que el maestro no me la miente por publicarlo jajaja)

Ahi les va, DESCARGELO DE AQUI

miércoles, 18 de noviembre de 2009

Mi upiicsita en este mes

Hola de nuevo. Chin!!! Apenas es el segundo post en el mes. Por que no he escrito??? Mmmm por que no tenia nada que escribir muaca muaca.

En este mes, recordando al desmother de lo de LFC, supuestamente, la UPIICSA estaba apoyando a la causa de los "desamparados" del sindicato. Y supuestamente, el miercoles 11, la escuela iba a abrir, pero los docentes, en apoyo no darían clases.
Fue miercoles, y este fué el panorama...

El revolcadera tan normal como siempre

Muy concurrido el edificio de cultural, y la marcha??? Bien gracias.

No manches, que desastre de marcha!! (sarcasmo)

Un día normal, ya, a UPIICSA no le intereso, que le hacen

Ah caray!!! Ya encontre el paro, pancartas bloqueando la entrada principal (al ladito de una entrada alterna jip)
Eso si estuvo chido, la casa de campaña

Ya me aburri de sacar fotos, esa fue la ultima.

Dejandonos de sarcasmo, esta es mi neta...
1.- La neta yo no se si lo de Luz y Fuerza fue algo correcto o fue un acto tiranico del gobierno. Pero seamos sinceros, habia mucha mafia en esa empresa, y más en su sindicato.
2.-Los paristas en la UPIICSA eran los de siempre, los mismos mugrosos de siempre, los mismos maestros de siempre y los mismos burócratas de siempre (eso si, exigiendo y haciendo su trabajo malhechote tipo "disculpe, vengo a.." - "no estes chingando"), eso fue un intento de "yeah, dia libre, traigamos la casa de acampar".
3.- Ni se les hizo, muchos siguieron su día normal. Yo tuve todas mis clases ese dia jip.
-------------------------------------------------------------------------------------------------
Pero bueno, cambiemos de tema. Ando feliz por que me fue bien en mi exposición de redes. Ya ven que subí hasta un video a youtube. Pues da la casualidad que al maestro NO LE LATIO MI VIDEO, quiso verlo en vivo y a todo color, y pues ni modo, mis compañeros del equipo a traer laptops, y yo a traer mi router de motorola, y mi amigo Jorge de mi salón un access point cisco. Pero nos fue bien, y en realidad fue mas interactiva la clase y mas participativa.
--------------------------------------------------------------------------------------------------
Por otra parte, también ando felíz, pues andamos avanzando en el sistema que nos dejaron hacer en el servicio, a modo que ya tenemos los diagramas uml suficientes para empezar a programar, incluso la base de datos ya esta construida. El sistema ya tiene nombre: @INDEC. ¿Que significa? Luego les dijo

También, para más felicidad, en el servicio social nos mandaron a hacer la página web del proyecto en que estamos.
La página ya la subieron (de hecho hace un mes, pero se me olvidó mencionarlo). Accedan a la página de este proyecto dando click aqui. (Si luego no abre, es por que el fuckin servidor de la SEPI-UPIICSA anda apagado ¬_¬)

El proyecto es acerca del estudio de factibilidad de que el IPN - UPIICSA maneje una planta piloto de composta en Cuemanco. Para empezar, me enorgullece el hecho de estar en un proyecto en el que los resultados sean TANGIBLES!!!! Y lo menciono, por que, o una de dos, o los keske investigadores se hacen patos y lo que keske hacen, jamas lo sacan a la luz, o pues si existen pero... no sirven.

La planta piloto existe, es un hecho, si se van a la sección de fotos, verán la estructura de la planta. Y pues ya andan en la parte de conseguir convenios y acuerdos para conseguir material vegetal para hacer la composta. Despúes a mandarla analizar, y después con un sistema se capturan los datos de esos análisis y aparte con el mismo sistema, obtener los resultados de la satisfacción de los usuarios de la composta (obviamente, esos dos últimos se harán con el @INDEC), y con eso veremos si las muestras son de buena calidad - ok ok ok ya me callo, ando hablando de más.
--------------------------------------------------------------------------------------------------
Ya para acabar, mmm, alguna vez escribí del brazo robot que mis amigos Andrea, Chambe, Carlos, Sino, Botas y yo hicimos. Pero nunca publiqué una prueba de su existencia. Afortunadamente Andy tenía un video de las versiones finales del brazo y.... ^w^ se la robé ñaca ñaca.





Pues bueno. Ya por fin se aproximan las vacaciones, ya ando en examenes finales, como muchos de ustedes, espero que les vaya muy bien, y si de plano hay materias que ya no salvan, pues echenle ganas en el extra. Repasenle, reunanse todos para aclarar cosas que no entienden pero sus amigos probablemente les ayuden, en serio, eso sirve bastante. No recurran a la mordida o cuerpomatico, podemos ser mejor que eso.
------------------------------------------------------------------------------------------------------
SE ME OLVIDABA...

También les hable del desmother de la fiesta de graduación. Pues al final se han definido dos fiestas de graduación. Como era de esperarse, la división de las fiestas se rigue por el turno, por una parte, la fiesta de los de la mañana, y por la otra, los de la tarde.

Opiniones hay y pues se respetan, yo elegí irme a la fiesta de los de la tarde INFORMES AQUI, por que??? Mis razones (daré las no ofensivas para la otra fiesta) son que la mayoría de mis amigos van a estar en esa fiesta, y la ubicación y el salón estan muy chidos.

Y les presumo a las chavas que son el comité organizador (lo siento chavos, todas tienen novio)

Silvia, Lorena, Claudia y Cinthya (mmm falta una chava llamada Ruth, pero no hay pex, ni la conozco =D)

martes, 3 de noviembre de 2009

Iniciamos noviembre con noticias

Hola lectores reales e imaginarios.
Pues por fin dandome un espacio para escribir mis jaladas hecho de mi vida, en realidad no ha pasado mucho tiempo, pero bueno, empecemos.

Pues para empezar, fue la semana interdisciplinaria de mi escuela con el tema de "informática e interdisciplinariedad". La verdad, esperaba más.


En realidad, todos los año han sido de exposicion de herramientas, talleres, innovaciones, investigaciones, cosas así.
Esta ocasión, el itinerario es en resumen el siguiente: microsoft, microsoft, microsoft, empresa privada reclutadora, empresa privada reclutadora, microsoft, empresa privada reclutadora, y así sucesivamente.

No se confundan, no soy enemigo de microsoft, de hecho fui al lanzamiento del windows 7 en México y fue un evento interesante. Pero, mmm ejem, NO ES LO UNICOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!!!!!

Este año, solo se basaron en las certificaciones de microsoft y en consultorias de productos ya hechos (ya saben, SAP, Genexus, y todo eso, ok, de nuevo perdon por la propaganda) y eso si, el juramento de las becas de certificaciones para los upiicsianos, unos choros de este tipo:

"Dado a la competitividad y a la crisis actual, la gente ya no le basta tener solo una licenciatura. Debe de ACUMULAR certificaciones. La misión de UPIICSA es fortalecer la preparacion de sus estudiantes en esos certificados y apoyarlos económicamente para que sea más accesible. AUN NO HEMOS CONCRETADO NADA, pero esperamos hacer proximamente este proyecto de certificaciones"

Incluso, iba a haber una exposición de opensource, y pues si como q me emocione y puse mis ojitos n_n. Pero en eso una de las organizadoras de la semana interdisciplinaria (diria nombres, de hecho lo tenia publicado, pero no, mejor no me hago de enemistades) llega y dice "iba a haber una conferencia de opensource, pero creo que esta conferencia es más interesante". Y era nada mas y nada menos de una empresa de CISCO promocionando las certificaciones de CISCO las cuales son caras, pero eso si, IMPORTANTES PARA NOSOTROS (ya sabran como quedo mi autoestima después).

Pero bueno, ok, no todo fue malo, si habian empresas reclutadoras chidas que te capacitaban con más de una herramienta, como iron people (el año pasado también fue IDS), lo que me interesa es la capacitación que otorgan en Java, sea JSP, J2EE, struts, cosas asi, igual y veo que onda al acabar el servicio.

A su vez, hubo una conferencia del impacto de Twitter, osea, uno diria "bah, igual que el facebook, lo abres para echar desmadre". Pues tambien hay casos de exito (ahorita nomas me acuerdo de Dell) en las cuales sus ventas se incrementaron dado a que se difundieron por twitter y mantuvieron COMUNICACION con sus contactos. Un ejemplo que nos pusieron también fue acerca de que con el twitter, un grupo muy desconocido, que nadie ha escuchado y que ni lo conocn en su casa, creo que se llama Black Eyed Peas (ok, perdon por el sarcasmo) publicaron en twitter una coreografía que sus fans debian aprender. El resultado fue el siguiente:



Que más????? Pues bueno, tenemos que exponer de seguridad de redes inalambricas. Y pues nos dieron un buen de temas a abarcar, tanto así que somos 10 en el equipo. El mero mero que dió ordenes para organizar la expo fué el Chambe, y aca nos mando nuestras labores. A mi me toco algo llamado "protocolos de seguridad de redes inalambricas". En ese momento me quede con cara de "o_O y eso como se come???", y empiezo a buscar en internet y me encuentro con 2 palabras mágicas "WEP y WPA". "Donde las he escuchado antes???? Ah ya se!!!! Cuando le configure la seguridad a mi cable modem de cableaccess".

Este es el hermosisimo cable modem inalambrico que te dan cuando contratas el cableaccess. Marca SBG900 de Motorola

Cuando me lo instalaron, me explicaron como poner seguridad, y ahi vi acerca de los protocolos WPA y WEP. Así que me puse a jugar con ese aparatego, hasta el punto de hacer un tutorial rápido con el cual puedo exponer en esa expo más prácticamente.



A ver que tal me va??? Aun no hay fecha de exposición. Pero pues al menos con eso puedo excusarme de no haber ido el día en que todo el equipo se junto para ver cosas de la expo, todo por salir con mi novia.

Hablando de novia, acabo de cumplir año y nueve meses. Pues bueno, un detallito no hace mal. Empezando por ella, que me dió lo siguiente:

Cubo de papel. Cuando quise abrirlo para ver los chocolates y estrellitas que habian dentro, era un completo desmadre. Al menos debo reconocer que fue una manualidad muy ingeniosa.

Otro peluchin para la colección. Ese es el segundo. Ahi está arriba de mi estereo de mi cuarto jaja (si creen que es cursi, guardense sus comentarios ;-) ).

Diran "woow que bonitos detalles, y tu que mendijo ingrato, que le diste???" Bueno. Pues admito que economicamente hablando no ando muy bien, y pues no tenia idea de alguna manualidad que hacer. En eso pense "ok, te gusta programar??? programale algo". Y pues de ahí me inspire hasta que obtuve la idea de una especie de un juego (primer juego que programo). Es un juego de ahorcado (no saben que es eso??? charros, no tuvieron infancia). Lo peculiar de eso es que las frases a adivinar era frases pues aca lindas, ya saben de que tipo me entienden ;-). Hice un repertorio de 30 frases, con eso tiene rato para entretenerse.

Pantalla del juego de ahorcado que le programe a mi novia.

Al menos con esto les puedo dar la idea a los que le hagan a la programación de que darle a sus novias. Les rolaria el código, pero pues recordando que la aplicación fue regalada y paso a propiedad de otra persona, pues ya valio. Pero bah!!! La creatividad no tiene límites.

martes, 20 de octubre de 2009

Por fin, el día llegó. 5to congreso internacional "Tendecias tecnológicas en computación"

Felicidad, emoción, miedo, escalosfrios, miles de emociones que se sienten cuando estas en un congreso, exponiendo algo que uno hizo. A mi como desarrollador me pone a pensar que tengo a un hijo y lo quiero presentar al mundo. Y pues es algo así, tu creas estas cosas y las expones al mundo. Solo que es más interesante con gente que ni siquiera conocer, pero quieres demostrarles cuando vales, de que eres capaz de hacer y poner en alto a la institución que te formó.

El presntarme junto con mis amigos Charles y Eduard fue una experiencia muy interesante, ya que saber que formaste parte de algo importante, pues es alentador decirlo y mucho más, sentirlo. Creo que esto me gusta. Debería. Ya lo hice antes en mis dos veces de PIFI. Pero pues como sea, eran de chocolate a comparación de este congreso. En PIFI era obligatorio presentarte, y por lo tanto, era obvio que lo harías. Aqui un montón de sujetos leyeron antes de que era la ponencia y decian si tu trabajo valía la pena de exponerse, o solo era una vasilada del montón que no valía la pena.

Pero bueno, a los hechos. ¿Cómo estuvo?

Teniamos que estar una hora antes, y pues de cierta manera los tres nos confiamos del hecho de que no habría mucha gente, dado a que el auditorio donde nos mandaron era muy chico y no llegaba nadie. Oh sorpresa, 5 para las 10, se atasca de alumnos de ESCOM, de los centros de investigación (y me parece que también de chavos de una universidad de Tabasco). Es más, habían otra sala poniendo la ponencia y también en el patio del CIDETEC, ESTABA RETACADO DE GENTE. En un inicio te sientes chiquito, pero luego te pones a pensar "sabes??? muchos sujetos lo hacen, investigadores, maestros, directivos saben hacerlo, igual un día que si llego a ser docente, será rutinario, esto es solo una práctica." Y bueno, empezó el relajo alas 10:15 aproximadamente.

Chambe expuso la parte de análisis del sistema y la fundamentación de este, yo a la parte del funcionamiento técnico (método del representación del conocimiento) y Carlos la implementación y las conclusiones. Mmmm según teníamos 25 minutos, al final, vi 10 para las 11, ups, nos pasamos un poco. Pero no nos dijeron nada, bueno, nos aprovechamos jaja.

Algo que ya tenía clarisimo es que la expo era lo de menos, lo cañón era la sección de preguntas y respuestas. ANDELE!!!! 2 chavos que preguntan, afortunadamente eran cosas que sabíamos responder (no se crean, cuando era PIFI preguntaban cosas bien raras, que ni siquiera sabía por donde empezar). Los tres empezamos a darles las respuestas. Por lo visto si fuimos claros (espero). Ya al final cerramos.

Me ponía feliz como una chava del frente afirmaba con la cabeza todo lo que yo decia, para mí era un "estas bien, oye, no estas tan menso". Uno de los chavos que nos preguntó nos felicitó. Incluso, una chava nos pidió la exposición, y nos dió su correo. Osea, saber que hubo gente al tanto de todo lo que parloteabamos nos hizó sentir super bien. Obvio, mi mamá, el abuelo del chambe y los papás de Carlos estaban orgullosos, nos felicitaron y todo jeje.

Algo muy curioso es que ese día que fuí a la UPIICSA, los chavos que no les había contado de la ponencia, pues te saludan y te hablan como si nada. Nunca se enteraron que un trio de chavos llegaron con un proyectito e hicieron que los de CIDETEC de perdida recordaran que los upiicsianos estamos en el mapa. No es raro, los integrantes del grupo de robótica de UPIICSA saben que es eso, tener un auditorio lleno de estudiantes de los cuales ninguno era de su alma mater. Pero bueno, como dije, lo que importa es dar el valor que tenemos nosotros como personas y que podemos contribuir a una sociedad, y no solo eso, que a pesar de todo, UPIICSA existe, a la mejor ha perdido algo de fama, pero nos defendemos aún y si queremos, podemos llegar a cualquier lado y lograr todo lo que se nos requiera e incluso más.

Ok, basta de choros, FOTOS FOTOS FOTOS




Chambe abriendo la expo. Empieza la acción

La presentación de nuestra ponencia "Sistema Corrector de Jergas y Groserías"


El CIDETEC

Chambe, yop y Carlos. Ok, ok, peinado de a Benito Juárez, bah!!! Una vez cada mil años

Al final de todo, se siente tan bien tener esto en tus manos.

sábado, 10 de octubre de 2009

Me encanta fumarmela con los diseños


En esta semana planeo enseñarle a la que sería mi jefa del servicio social una especie de prototipo de los sistemas que nos encargó. A la mejor muchos de ustedes ya saben el ciclo de vida de software.

Análisis - Diseño - Implementación - Pruebas - Implantación - Mantenimiento post entrega

Ahorita estamos en la parte de análisis y en esta parte, respecto a lo que requieren que hagamos, mostraremos un prototipo.

Pues en este pequeño análisis tengo por ahi fumados unos casos de uso de que cosas harán los usuarios con el sistema. La diagramación es muy simple en realidad.

Caso de uso del capturista de un sistema de comparación de muestras de composta

Pero a pesar de verse muy simple, puede ser algo abstracto y más para los clientes para quienes les vas a desarrollar tu sistema. Para que sea más detallado, pues, podemos hacer las pantallas de como el usuario interactua con estos casos de uso.
Hay varias herramientas para hacer pantallas de prototipos. Para empezar el Visio tiene la opción de diseñar las pantallas de programas.

Pantallas del explotador el sistema CJG hechas en Visio

Si programas en Visual Basic o en Netbeans, podemos armar las interfaces sin necesidad de programarlas.

Entorno de diseño de interfaces en Netbeans para un reproductor de música (juro terminarlo un día)

Incluso, en dreamweaver puedes empezar tu diseño web mientras programas.

Diseño de una consulta de alumnos tutorados de un Sistema Integral de Tutorias (ah q buenos recuerdos de cuando era PIFI)

Incluso, si de plano sienten mucho tedio usando esos programas o sienten el temor de que a la mejor no les gusta sos prototipos y los mandan a cambiarle mil cosas, pueden hacerlas con power point (así de hecho entregaré mis pantallas a mi jefa de servicio). Un conjunto de pantallas pueden ejemplificarte más a detalle un caso de uso

Pantalla que detalla el caso de uso de captura de datos de comparación por un capturista por un sistema de comparaciones

Pantalla que describe el caso de uso de resolución de cuestionario por un evaluador.

Todo esto de hacer pantallas y casos de uso tiene una ventaja. Que cuando te aceptan un análisis, ya el diseño es más relajado y ya tienes una idea de como seguir haciendo los demás diagramas de UML (clases, colaboración, redes) y de diagrama entidad relación (si tu sistema tiene base de datso) y mejor aún, la programación es más fluida. Creanme, yo lo he hecho y cuando programo se por donde empezar y donde terminar.

Este post fue hecho como tip para que esto les dé una idea de como llevar a cabo una metodología de diseño de software. Aparte que ya no había escrito este tipo de post ñoños hace tiempo.

jueves, 8 de octubre de 2009

Nosotros los mexicanos

Tal vez todas mis quejas acerca de la nefasta forma de ser de varios tipos que conozco, se resuma en este video.
Si sienten que no son asi, bueno, me late y los admiro. Si se sienten identificados, no se ofendan, solo tomenlo como critica constructiva, a fin de cuentas, yo no hice el video.

miércoles, 30 de septiembre de 2009

Radio UPIICSA

Antes que nada, gracias Carlos (solo se que te llamas Carlos, jaja) por el mensaje a mi blog.
Da la casualidad que este chavo me hablo de la "Pagina no oficial de la UPIICSA" y dije "orale, vere que hay por aqui".

Empezando, Don Ñoño de Castelán vió primero la sección del diccionario de maestros. Hablando técnicamente, me latió la idea de que aparte de los comentarios de los maestros, pusieran un formulario para calificar su dinamismo, recomendacion y nivel de enseñanza y que tan barco es cada maestro y una sección de comentario abierto. Lo probé con un maestro y me latió que si funciona y refresca luego luego jeje.

Pero después me metí a la Radio UPIICSA. La primera vez que lo ví, eran ayer las 11 de la noche y solo había música, así que pues en ese entonces no le puse atención. Solo que hoy, dado a que mi maestro de redes no vino, pues llegue temprano y cheque la radio, y estaba "El Pollo" transmitiendo, con música muy chida (algunas aca tranquilas, otras muy locochonas jaja), y sobre todo, el chat en linea, hoy fue el tema de la infidelidad, todos comentaban cosas muy maduras, experiencias, recomendaciones, y pues... prometieron un programa el 2 de octubre del desafortunado suceso en Tlatelolco hace 41 años, espero no perdermelo.

Pues bueno, muchos tienen medios para difundirse, llevar a cabo la libre comunicación a la cual tenemos derecho, por ejemplo, yo y otros amigos con sus blogs (si ven a la derecha, hay ligas de blog muy chidos, como los de los pertenecientes al grupo de robótica, a huelum y tankian breath, chequenlos), y pues, este medio como radio upiicsa es muy interesante. Estaré al pendiente de sus transmisiones, yo les recomiendo a ustedes que también se den una vuelta

domingo, 27 de septiembre de 2009

Ok, el blog no esta descuidado, neta jeje.

Ok, ya empecé mi etapa de que ya escribí muchas cosas en el blog y por falta de material, no tiendo a escribir tanto jaja. Hasta si me han dicho "tu blog anda pereciendo vdd??" Pues nop, de hecho hasta lo chido es q acabo de contactar a una chava que licenciatura de informática que me agradece mucho por que lo que he escrito le ha servido al parecer jiji.

Aparte, pues mi vida ha estado medio pesada, mi equipo del servicio social hemos visto de los proyectitos que nos han pedido para el programa de investigación en el que estamos. Incluso, esta semana nos han pedido que fueramos 2 días a asistir a la "Semana de la Ciencia e Innovación" del ICyT llevado a cabo en el Palacio de Minería. Hubieron ponencias muy interesantes, jeje, las que más me interesaron fueron donde se expuso una donde se afirma que el país REALMENTE iría mejor si en vez de andar comprando todo de fuera, mejor evitar la dependencia y desarrollar nosotros nuestras propias necesidades (mmm ok, tal vez ya muchos lo sabían, pero pues que quieren, apenas lo supe jaja). Otras acerca de acelerar la velocidad de diversos dispositivos comunicandose por vía óptica en vez de vía eléctrica (ya saben, como fibra óptica pero en los circuitos, ok, algo fumado), y la tercera que me interesó fue del presidente de IBM México quien relato algunos sistemas inteligentes aplicados en la Ciudad de México.

Bueno, les enseño unas fotitos jiji:





Por ahí tengo planeado tres cosillas que publicar, solo que les dijo, no hay tiempo, aparte de que hay una exposición que daré junto a mis amigos Chambe y Tote. De que??? Mmm, ok, van a decir "chole con el mentado sistema corrector de jergas y groserías", pero pues, de alguna manera, envié una ponencia de la metodología completa que utilizamos para hacerlo, y fué aceptado. me pone felíz dado a que es la primera ponencia decente a la que daré conferencia (no es que no valoré las que he expuesto cuando fuí alumno PIFI, pero la diferencia como les dijo, pasó por un jurado evaluador y fué reconocido como una idea original y que aplica correctamente los métodos de representación de conocimiento e inteligencia artificial). No se crean, le ando echando ganas a mi parte de la ponencia (ya dividimos la exposición y yo explicaré el diseño del sistema), le ando poniendo animación para que al público le quede claro y le guste (casi casi exponerlo con manzanas y palitos).


Vean todo acerca de esta ponencia en esta página


Mmm, que otra cosa les contaré??? Pues nomás que la escuela ando bien, afortunadamente ya pasó la primera época de exámenes. Lo único malo es que troné el ingles, pero espero recuperarme. Consejo de oro, si andan estudiando ingles REPASEN 50MIL VECES LOS JODIDOS PHRASAL VERBS Y EN LOS WRITTINGS, NO ESCRIBAN MÁS DE LO QUE LES PIDEN, YA QUE ENTRE MAS ESCRIBAN, HAY MAS QUE EVALUAR Y MAS POSIBILIDADES DE ENCONTRAR ERRORES.

martes, 15 de septiembre de 2009

La pareja ideal de Trujo

¿Cuando encuentras el amor de tu vida, se sienten mariposas en el estomago?
¿Como saber como es mi pareja ideal?
¿Cuantos problemas tengo que pasar para encontrar al amor de mi vida?


Si lo se lo se, preguntas cursis que muchos se han hecho y que ya ni deberiamos hacerlo. Pero... lo seguimos haciendo, incluso yo mismo, no se crean jaja.

Creo que nos lo han explicado como miles de veces, o lo hemos experimentado, o algo asi, pero seamos vulgarmente honestos, requerimos que nos lo dijan con una conversacion tipo "NO MAMES".

Bueno, la opinión de este señor me latió mucho en lo personal. Gracias Laly por el podcast jeje. Ahora aqui se los compartire: Descargenlo dando click aqui

Por cierto, si alguien me puede pasar el nombre de la canción que ponen al final, se los agradeceré jeje.

viernes, 11 de septiembre de 2009

Project Manager Body Of Knowledge

A ver chavos, aqui esta el PMBOK, el contenido que se requiere para saber las nociones de la certificación de PMP que nos anda enseñando el de ingenieria administrativa, la neta, si me late - y segun me meti a ingeniería por que segun no me entraba nada de administración. Ahora me late jajajaja y espero aplicarlo en mi vida profesional.

Click aqui para descargar el PMBOK

domingo, 6 de septiembre de 2009

Windows 7 Professional

Todos sabemos el fatal fracaso que sufrió la compañia del Don Billy al sacar su producto de Windows Vista. Incompatibilidades, rendimiento con mucho que desear, bluescreens frecuentes. Lo unico en lo que funcionó chido fue en la facilidad de configurar redes caseras, pero aun asi, en nunguna empresa y quiero decir NINGUNA vi una computadora que usara Windows Vista.

Pero bueno, en Octubre de este año saldra a la venta la siguiente versión de Windows en español, el S.O. Microsoft Windows 7. A lo largo de este año has salido versiones Beta para que diversas personas pudieran probarlo y notificar fallas. Actualmente ya esta la versión final listo para su venta.

Este SO ya existe en ingles al público. Y pues ya lo tengo en mi lap :-P (alabada alianza de UPIICSA con Microsoft). Y pues ya lo he probado.

Antes que nada les dire las especificaciones técnicas de mi lap

Procesador Intel Core Duo de a 1.5 GHz
Memoria RAM de 1 GB (para estas fechas, es muy poco)
Disco Duro de a 120 GB (pero la tengo particionada en 80 y 40, no pregunten xq)
Tarjeta de Video NVidia GeForce de a 512 MB

Y por si fuera poco, tengo antivirus McAffe. Eso que tiene que ver?? Es un antivirus muy pesado en cuanto a recursos RAM.

Bueno, a mi parecer, el Windows 7 es una gran mejora. Es más rapido, el inicio no tarda tanto, no se traba tanto como el Vista, cumplieron con su palabra que lo compatible en Vista lo sería también en el 7, muy bonita presentación, incluso, un día sin que yo me diera, el McAffe estaba vacunando mi lap y yo ni en cuenta. En el Vista se hubiera notado una lentitud impresionante. El cierre es más veloz. Lo único que aun no me gusta es el Windows Media Player, sigue algo lento.
Aqui les dejo como lo probé, tomen su decisión. Yo dijo que mejoró un 54% (uy si q exacto). Pero pues aun son fan de Ubuntu :-) no se confundan jeje.


martes, 1 de septiembre de 2009

Prolog, el ancestro de la inteligencia artificial =D

Y neta, le llamo ancestro, por que???? No. 1.- surgio en los 70's, osea, tiene la edad de Fortran casi casi jiji. y No. 2 .- en los tiempos que fué creado, la idea original era crear un lenguaje de programación especializado en lógica y gramáticas.

En inicio, la idea fue buena, pero, después se fue comprobando que en la inteligencia más que nada, se puede representar gramaticalmente, y las gramáticas son formas de representar conocimiento, de las cuales no requieren de un lenguaje especial. Al inicio, eso me decia mi maestra de ingenieria del conocimiento, cuando el sistema corrector de groserias apenas estaba en "ideas". Pensabamos utilizar prolog (es más, ya pensabamos comprar la fuckin licencia pa ligarla con Java, o de perdida, como Visual Basic). Pero incluso, la maestra cuando nos dijo las condiciones del diseño, decia "no se deben usar lenguajes como LISP y Prolog". Fue un espanto ese comentario, pero bueno, ya a la larga nos dimos cuenta de que no era necesario realmente jaja, es más, ustedes pueden verlo por que el sistemas SCJG es una realidad, esta en un video, y me ahorré un varo.

Pero bueno, siempre en esto de las ciencias de la computación hay varias opiniones (igual, a la mejor llega alguien a mentarmela y tacharme de ignorante), osea, no soy la verdad absoluta, pero en realidad, es mi humilde opinión. Es más, no se crean, aprender Prolog es como aprender Pascal, no los vas a usar jamas en la vida real, pero son utiles para aprender dinamica (con Pascal aprendes a programar y con Prolog agarras la onda de la forma que la computadora puede inferir).

Bueno, como a varios de UPIICSA o estudiantes de informática les han de pedir un proyecto en prolog, pues, les paso el mio jaja. No se crean, tampoco es la gran cosa, pero pues si lo suficiente para un 10 jiji

COMO SIEMPRE, OBVIO, CAMBIENLE EL CONTENIDO, MODIFIQUENLE, NO PROMUEVAN LA MEDIOCREZ.

El programa tiene programado un juego de ajedrez previamente iniciado, de hecho, el juego que tengo programado esta configurado de acuerdo a esta imagen:






El objetivo es que selecciones una de esas piezas para ver cual es la jugada más conveniente para dicha ficha (en este caso, la pieza más cercana a comerse y de mayor prioridad, obvio, no es lo mismo comerse a un caballo que a la reina).
En este caso, el comando para comer las piezas será en siguiente
ideal(pieza,(lugar_pieza_X, lugar_pieza_Y),varA,varB).

El programa devolverá como varA la pieza que debe comer, y como varB la posición de dicha pieza
Ahora, ahi les va el código (leanlo, repasenlo, como siempre, si hay dudas, comenten o mandenme un mensaje pa que nos pongamos en contacto jeje).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%MOVIMIENTOS PERMITIDOS DENTRO DE UN TABLERO DE 8 X 8

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

correcto(X,Y):- between(1,8,X), between(1,8,Y).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%SITUACIÓN DE LA PARTIDA DE AJEDREZ (ESTADO DE LAS PIEZAS).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

piezas(eje_negro,[(peon,(4,3)),(dama,(4,2)),(alfil,(4,5)),(rey,(1,7)),(caballo,(1,6)),(torre,(5,3)),(caballo,(3,4)),(peon,(5,2))]).


piezas(eje_blanco,[(peon,(3,3)),(peon,(6,3)),(peon,(6,2)),(dama,(8,1)),(torre,(1,5)),(rey,(4,4)),(alfil,(3,6)),(caballo,(7,5))]).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%EXISTENCIA DE LAS PIEZAS

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

pieza1(torre).

pieza2(caballo).

pieza3(alfil).

pieza4(rey).

pieza5(dama).

pieza6(peon).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Prioridades

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

prioridad(rey,1).

prioridad(dama,2).

prioridad(alfil,3).

prioridad(caballo,3).

prioridad(torre,4).

prioridad(peon,5).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%PROGRAMACION DE MOVIMIENTOS

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%PROGRAMACION DE LA TORRE, SEA AVANCE POR EL EJE X Ó POR EL EJE Y

movimiento_torre((X1,Y1),(X2,Y2)):-

between(-7,7,Z),

ok(Z,0),

(X2 is X1+Z ; X2 is X1-Z),

Y2 is Y1.


movimiento_torre((X1,Y1),(X2,Y2)):-

between(-7,7,Z),

ok(0,Z),

X2 is X1,

(Y2 is Y1+Z ; Y2 is Y1-Z).

%PROGRAMACION DEL CABALLO

movimiento_caballo((X1,Y1),(X2,Y2)):-

X2 is X1+1,Y2 is Y1+2;

X2 is X1+1,Y2 is Y1-2;

X2 is X1-1,Y2 is Y1+2;

X2 is X1-1,Y2 is Y1-2;

X2 is X1+2,Y2 is Y1+1;

X2 is X1+2,Y2 is Y1-1;

X2 is X1-2,Y2 is Y1+1;

X2 is X1-2,Y2 is Y1-1.


%PROGRAMACION DEL ALFIL

movimiento_alfil((X1,Y1),(X2,Y2)):-

between(-7,7,Z),

ok(Z,0),

(X2 is X1+Z ; X2 is X1-Z),

(Y2 is Y1+Z ; Y2 is Y1-Z).


%PROGRAMACION DEL REY

movimiento_rey((X1,Y1),(X2,Y2)):-

between(-1,1,Z),

between(-1,1,T),

ok(Z,T),

(X2 is X1+Z ; X2 is X1-Z),

(Y2 is Y1+T ; Y2 is Y1-T).


%PROGRAMACION DE LA DAMA O REINA, ES LA COMBINACION DE LA TORRE Y EL ALFIL

movimiento_dama(X,Y):-

movimiento_torre(X,Y).

movimiento_dama(X,Y):-

movimiento_alfil(X,Y).


%MOVIMIENTO DEL PEON

movimiento_peon((X1,Y1),(X2,Y2)):-

X2 is X1+1,

Y2 is Y1+1.


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%VALIDACION DE MOVIMIENTOS

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%VALIDACION DE TORRE

movimiento(P,(X1,Y1),(X2,Y2)):-

pieza1(P),

correcto(X1,Y1),

movimiento_torre((X1,Y1),(X2,Y2)),

correcto(X2,Y2).

%VALIDACION DE CABALLO

movimiento(P,(X1,Y1),(X2,Y2)):-

pieza2(P),

correcto(X1,Y1),

movimiento_caballo((X1,Y1),(X2,Y2)),

correcto(X2,Y2).


%VALIDACION DE ALFIL

movimiento(P,(X1,Y1),(X2,Y2)):-

pieza3(P),

correcto(X1,Y1),

movimiento_alfil((X1,Y1),(X2,Y2)),

correcto(X2,Y2).

%VALIDACION DEL REY

movimiento(P,(X1,Y1),(X2,Y2)):-

pieza4(P),

correcto(X1,Y1),

movimiento_rey((X1,Y1),(X2,Y2)),

correcto(X2,Y2).


%VALIDACION DE LA REINA O DAMA

movimiento(P,(X1,Y1),(X2,Y2)):-

pieza5(P),

correcto(X1,Y1),

movimiento_dama((X1,Y1),(X2,Y2)),

correcto(X2,Y2).

%VALIDACION DEL PEON

movimiento(P,(X1,Y1),(X2,Y2)):-

pieza6(P),

correcto(X1,Y1),

movimiento_peon((X1,Y1),(X2,Y2)),

correcto(X2,Y2).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%contra que piezas va una pieza??

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5

contra(X,(Y,Z),P,(Q,R)):- pieza_blanca(X,(Y,Z)),pieza_negra(P,(Q,R)).

contra(X,(Y,Z),P,(Q,R)):- pieza_negra(X,(Y,Z)),pieza_blanca(P,(Q,R)).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Hay piezas en medio???

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

en_medio_diagonal((X,Y),(A,B)):-((

pieza_blanca(_,(U,V)),

(between(X,A,U);between(A,X,U)),

(between(Y,B,V);between(B,Y,V)),

movimiento_alfil((X,Y),(U,V)) );(

pieza_negra(_,(U,V)),

(between(X,A,U);between(A,X,U)),

(between(Y,B,V);between(B,Y,V)),

movimiento_alfil((X,Y),(U,V))

)),U=\=A,V=\=B,!.


en_medio_lineal((X,Y),(A,B)):-(X=A;Y=B),( (pieza_blanca(_,(U,V)),

(between(X,A,U);between(A,X,U)),

(between(Y,B,V);between(B,Y,V)),

movimiento_torre((X,Y),(U,V)) );(

pieza_negra(_,(U,V)),

(between(X,A,U);between(A,X,U)),

(between(Y,B,V);between(B,Y,V)),

movimiento_torre((X,Y),(U,V)) )),((U=A,V=\=B);(U=\=A,V=B)).


en_medio_multi((X,Y),(A,B)):-(en_medio_lineal((X,Y),(A,B));en_medio_diagonal((X,Y),(A,B))).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%busqueda de cual pieza puede comer

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

puedecomer(X,Y,A,B,P):-

(X=alfil,contra(X,Y,A,B),prioridad(A,P),not(en_medio_diagonal(Y,B)),movimiento(X,Y,B),!);

(X=torre,contra(X,Y,A,B),prioridad(A,P),not(en_medio_lineal(Y,B)),movimiento(X,Y,B),!);

(X=dama,contra(X,Y,A,B),prioridad(A,P),not(en_medio_multi(Y,B)),movimiento(X,Y,B),!);

((X=peon;X=caballo;X=rey),contra(X,Y,A,B),prioridad(A,P),movimiento(X,Y,B),!).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%FINAL, el consejo de cual pieza debe comer

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ideal(X,Y,A,B):- (X = rey,

((puedecomer(X,Y,A,B,2),!);

(puedecomer(X,Y,A,B,3),!);

(puedecomer(X,Y,A,B,4),!);

(puedecomer(X,Y,A,B,5),!)));

((puedecomer(X,Y,A,B,1),!);

(puedecomer(X,Y,A,B,2),!);

(puedecomer(X,Y,A,B,3),!);

(puedecomer(X,Y,A,B,4),!);

(puedecomer(X,Y,A,B,5),!)).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Definir between

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

between(N1,N2,N1) :-

N1 =<>

between(N1,N2,X) :-

N1 <>

N3 is N1 + 1,

between(N3,N2,X).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%si los avances son diferentes de cero, es correcto

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

ok(X,_):- X =\= 0.

ok(_,X):- X =\= 0.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Obtención de un elemento de la lista de piezas

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

pieza_negra(X,(Y,Z)):-piezas(eje_negro,L),pertenece((X,(Y,Z)),L).

pieza_blanca(X,(Y,Z)):-piezas(eje_blanco,L),pertenece((X,(Y,Z)),L).

pertenece(E,L):-L=[E_].

pertenece(E,[_T]):-pertenece(E,T).


-------------------------------------------------------------------

Y para acabar, problemos el programa:


?- ideal(dama,(4,2),X,Y).

X = peon

Y = 3 , 3 ;

no

Osea, la dama del 4,2 puede comerse al peon del 3,3


?- ideal(peon,(4,3),X,Y).

no

El peon del 4,3 no puede comer ninguna pieza.


?- ideal(alfil,(4,5),X,Y).

X = alfil

Y = 3 , 6 ;

no

El alfil del 4,5 puede comerse al alfil del 3,6