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