domingo, junio 07, 2015

Inteligencia Artificial



El deseo de crear nuestra propia invención, con el fin de no sentirnos solos, iniciando con títeres, marionetas, pasando por las maquinas basadas en mecanismos de reloj capaces de reproducir movimientos torpes pero al fin humanos, y no paramos, hasta que llego la primer computadora con la capacidad de realizar cálculos, dando paso a la aparición del robot y así una carrera de estudio e investigación para lograr la evolución de las maquinas.


Hoy en día el cine, televisión, revistas y otros medios como la internet nos hacen creer en prototipos hasta hoy inalcanzables, pero fascinantes, una realidad que es acompaña de la capacidad imaginativa del ser humano, donde cada vez con mayor frecuencia se nos  presenta un panorama futurista, con personajes mecánicos o digitales que son capaces de pensar, interactuar, aprender y resolver problemas, a esta capacidad la conocemos como inteligencia y aplicada a un ente no vivo se da el nombre de Inteligencia Artificial el cual es el tema central de este texto.


La Inteligencia Artificial



Según la Real Academia Española la Inteligencia Artificial (IA) se define como el desarrollo y utilización de ordenadores con los que se intenta reproducir los procesos de la inteligencia humana.

Aunque la definición es corta el campo de estudio es amplio ya que “es un área multidisciplinaria, que a través de ciencias como las ciencias de la computación, la lógica y la filosofía, estudia la creación y diseño de entidades capaces de resolver problemas cotidianos por sí mismas utilizando como paradigma la inteligencia humana.” [1]


Categorías

  • Sistemas que piensan como humanos: Tratan de emular el pensamiento humano, implica interpretar y almacenar el funcionamiento neuronal.
  • Sistemas que actúan como humanos: Tratan de actuar como humanos, implica los movimientos y procesos físicos, como ejemplo los robots.
  • Sistemas que piensan racionalmente: Tratan de emular el pensamiento lógico racional del ser humano, implica el cálculo y razonamiento, percibir, razonar, actuar.
  • Sistemas que actúan racionalmente: Tratan de emular de forma racional el comportamiento humano, comparado con la capacidad de toma de decisiones.



Escuelas de pensamiento


  • Inteligencia artificial convencional: Se basa en la toma de decisiones a través de una recolección estadística y análisis formal del comportamiento del ser humano. Es decir en base a una fuente finita de datos, comportamientos o patrones se realiza un cálculo que conlleva una acción de reacción.

  • Inteligencia artificial computacional: Además de contar con los elementos de la IA convencional, esta implica el aprendizaje, es decir que mejora su programación y en base a nuevas entradas no predefinidas genera experiencia para la toma de decisiones, lo cual implica una evolución del propio sistema.



La IA tiene múltiples áreas de trabajo y aplicación, desde sistemas físicos como robots de una planta de producción así como lógicos o computacionales como sistemas de cálculos y procesamiento de datos, todo parece bueno para la IA, sin embargo el estudio implica también una contraparte, que son los riesgos a lo que “El laureado físico Stephen Hawking no ha dudado en calificar a la Inteligencia Artificial, o I.A. como el peor error que podría cometer la humanidad, y probablemente el último.”[2]


En conclusión la Inteligencia Artificial es la capacidad de un ente no vivo de pensar, aprender, razonar y tomar decisiones, basada en un paradigma de la inteligencia humana, que tiene múltiples campos capaces de ayudar a la vida cotidiana pero también ponerla en riesgo.


Referencias






Seleccione este tema porque soy un desarrollador, y me gusta conocer más, fue enriquecedor leer más a profundidad sobre la Inteligencia Artificial.


sábado, junio 06, 2015

Horario


viernes, mayo 29, 2015

Aprendizaje Autónomo


sábado, mayo 16, 2015

¿Qué es ser un estudiante en línea?


“Estudiar no es un acto de consumir ideas, sino de crearlas y recrearlas.” Paulo Freire

El presente tecnológico presenta una cantidad interminable de vertientes, una de las cuales provee una herramienta poderosa llamada internet, la cual da paso a un excelente herramienta denominada educación a distancia, y lo que conlleva a sus partes, asesores, plataformas y estudiantes, que es en el punto que me he de enfocar ¿Qué es ser un estudiante en línea?

Etapas de la modalidad abierta y a distancia

La evolución de este modo de aprendizaje ha sido continua, dando inicio con la Enseñanza por correspondencia. La cual  surge a finales del siglo  XIX y principios del siglo XX donde el conocimiento era repartido a través de los servicios postales en medios impresos, cuya mayor limitante era el no contar con apoyo de un instructor.

La segunda etapa conocida como Enseñanza Multimedia (a partir 1960), se apoyó en los medios de comunicación como el teléfono, televisión y recursos audiovisuales disponibles, todo ello basado en un paquete de instrucciones que contaba con material impreso, audiovisual y cada vez más electrónico.


Tercera etapa, Telemática la cual surge a partir de 1970, se encuentra ligada a la evolución de las tecnologías de la información y la comunicación, cuya característica principal es la inserción de herramientas más avanzadas como el CD-ROM.

Ya en los años 90 con la propagación del internet surge la etapa 4 y actual modo de aprendizaje a distancia. Enseñanza colaborativa basada en internet la cual aprovecha los beneficios de medios asíncronos y síncronos, lo que significa el uso de salas de chat, videoconferencias así como el uso del correo electrónico y foros de discusión; cambiando el enfoque tradicional del estudiante que ahora toma un papel activo y autogestor y del docente que ahora es un guía y facilitador del aprendizaje.


 


La cuarta etapa es magistral, realiza un cambio en el paradigma tradicional transformado al alumno en estudiante, lo que es fascinante ya que se convierte en el arquitecto de su conocimiento, dejando atrás la dependencia del conocimiento absoluto del profesor.


Características:
  • Actitud proactiva. 
  • Compromiso con el propio aprendizaje.
  • Consciencia de las propias actitudes, destrezas, habilidades y estrategias propias.
  • Actitud para trabajar en entornos colaborativos.
  • Metas propias.
  • Aprendizaje autónomo y autogestión.
Retos:
  • Dejar atrás el aprendizaje dirigido.
  • Evitar memorizar y repetir el conocimiento.
  • Dejar atrás los entornos competitivos.
  • Gestión y administración del tiempo.
  • Destrezas comunicativas. 
  • Alfabeto digital.
Entonces ser un estudiante en línea conlleva un cambio de paradigma, dónde el limite lo establece uno mismo, creando metas y expectativas propias, dejar de acumular conocimiento y fabricar sabiduría con base al análisis y debate de ideas y procesos en un entorno colaborativo, por lo cual es importante conocer capacidad y adaptación para mejorar el resultado.

El reto más importante es aprender a distinguir la información de calidad existente en el internet, de tal forma que se invierta el tiempo en ejes verdaderos evitando naufragar en la red.

Resumen del texto original ¿Qué es ser un estudiante en línea?, de Millán Martínez, S. (2014)

sábado, mayo 09, 2015

Mi experiencia con la UNADM, matemáticas vengan a mí.



Quiero contar un poco sobre esta gran experiencia que se me permite vivir, como sabrán he enfocado mi vida profesional al mundo tecnológico pero siempre con ese deseo profundo de saber más, y porque no aprovechar la oportunidad que mi país ofrece a través de la UNADM y en la carrera que siempre desee Licenciatura en Matemáticas.

Los retos:
Adaptarse a un ambiente virtual de aprendizaje (AVA), interactuar con los compañeros del curso y poner en práctica la afición y empeño para mejorar el resultado personal y grupal.

Objetivo:
Aprender de los profesores en línea, compañeros y aportar, aportar es muy importante para generar un grupo sólido y dedicado.

viernes, abril 11, 2014

ProgrammingFest 2014

En esta ocasión les invito a participar en el ProgrammingFest2014 #PF2014 #Programmingfest

Gana un viaje a Las Vegas, Cancún o Acapulco, Hasta $15,000 MXN en certificado de regalo de El Palacio de Hierro y un iPad.

https://www.programmingfest.com





Gracias por su lectura, agradecere tu comentario.

martes, enero 24, 2012

CSS Inquebrantable

Hola, cumpliendo lo antes dicho aquí me encuentro escribiendo, gracias a que estoy de vacaciones en la espera de mi primer hija, ojala que ya nazca que me tiene con ansias.
En fin, el tema de hoy esta basado en crear una maquetación lo más estable posible para todos los navegadores. La suma de los mismo da la dimensión total real del objeto en navegadores estandar (Firefox, Chrome, Safari) con una cierta variación en IE6, o IE7+ variación no estandar, esto lo comentaremos en el uso de padding y margin.

Un objeto tiene Padding, Margen y Borde, así como ancho y alto, elementales para poder mantener todo en su lugar. Como se muestra en la siguiente imagen.

Fig1. Distribución de un objeto en CSS
Uso de Margen

Descripción: es el espacio que separa a un objeto de otro.
propiedad CSS: margin
Formas de Uso:
margin: arriba derecha abajo izquierda;
ejem: margin:5px 2px 3px 6px;

margin: arriba izquierda abajo. ejem: margin:3px 2px 5px; margen superior 3px, margen izquierdo 2px y margen inferior 5px.
margin: arribaabajo izqder; ejem: margin:5px 7px; Esto indica que el margin superior e inferior sera de 5px mientras que el izquierdo y derecho de 7px.

margin: todos; ejem; 5px; Indica que el margen en todos lados será de 5px; 
Además se puede manipular de manera independiente.
margin-left, margin-right, margin-top. margin-bottom. izquierdo, derecho, superior e inferior respectivamente.
Comportamiento: Se suma al Ancho ó Alto del objeto en todos los navegadores.

Notas. El margen es tomado doble por IE6 ó IE7+ con variacion no estandar, así que se debe tener mucho cuidado pues el margen es tomado doble, por lo cual existen varios metodos para contrarestar este comportamiento, en lo personal hago uso de las siguientes:

Suponiendo un margen izquierdo de 6px;

display:inline-block;
margin-left:6px;

En el ejemplo anterior, agrego un display:inline-block; indica el comportamiento del objeto, en su mayoría esto siempre funciona, pero si acaso falla existe el siguiente:


display:inline-block;
margin-left:6px;
_margin-left:3px;


Además de incluir el display: Se agrega el _margin-left. esto indica que solo en IE6 será leida dicha regla, así que ahí ajustamos para que se vea de la misma manera que en Firefox.


Uso de Padding

Descripcion: Es el espacio que existe entre el limite del objeto y donde inicia el contenido del mismo.
Propiedad CSS: padding
Formas de Uso:
margin: arriba derecha abajo izquierda;
ejem: margin:5px 2px 3px 6px;

padding: arriba izquierda abajo. ejem: padding:3px 2px 5px; margen superior 3px, margen izquierdo 2px y margen inferior 5px.
padding: arribaabajo izqder; ejem: padding:5px 7px; Esto indica que el margin superior e inferior sera de 5px mientras que el izquierdo y derecho de 7px.
padding: todos; ejem; 5px; Indica que el margen en todos lados será de 5px; 
Además se puede manipular de manera independiente.
padding-left, padding-right, padding-top. padding-bottom. izquierdo, derecho, superior e inferior respectivamente.

Comportamiento: Se suma en Ancho ó Alto en navegadores estandar (Firefox, Chrome y Safari, IE7+), y se Resta en IE6 y IE7+ variacion no estandar. 

Notas: El padding resulta ser un poco más estable, son objetos de bloque o de línea, no así con tablas, Expliquemos su uso en los diferentes navegadores. supongamos que necesitamos un div de 350 x 220 px, con 10px de padding en cada lado.


Para Navegadores Estandar:
width:330px;
height:200px;
display:inline-block;
padding:10px;


Para IE6 ó IE7+ variación no estandar:
width:330px;
_width:350px;
height:200px;
_height:220px;
display:inline-block;
padding:10px;


Uso de Bordes 

Descripción: Muestra una franja visible al rededor del objeto.   
Propiedad CCS: border
Formas de uso
border: ancho tipo color;
ejem: border:5px solid #FF0000;
El resultado es un borde de 5px con el estilo solido en color rojo.
A diferencia de los margenes y paddings; los bordes se definen solamente de dos formas: todos o uno especifico, así como sus propiedades por separado.
border-left: 5px solid #FF0000; borde izquierdo
border-right: 5px solid #FF0000; borde derecho
border-top: 5px solid #FF0000; borde superior.
border-bottom: 5px solid #FF0000: borde inferior.
border-top-style: solid; estilo del borde superior.
border-bottom-style: solid; estilo del borde inferior.
border-left-style:solid; estilo del borde izquierdo.
border-right-style:solid; estilo del borde derecho.
border-top-color: #FF0000; color del borde superior.
border-bottom-color: #FF0000; color del borde inferior.
border-left-color: #FF0000; color del borde izquierdo
border-right-color: #FF0000; color del borde derecho.
Los diferentes estilos de borde que son aceptados en todos los navegadores son:

  • solid
  • dotted
  • double
  • dashed
  • groove
  • ridge
  • inset
  • outset

Comportamiento: inestable con tablas pero muy estable en todos los navegadores en objetos de bloque como los divs.


Notas. Recuerda que el borde se suma al tamaño definido en width y height del objeto.


Si queremos que un objeto mida 750px por 580px, ancho alto respectivamente, y es necesario un padding izquierdo de 10px y un borde de 3px, además de un margen derecho de 2px, y padding general de 5px. Como se hará el CSS. Tomando en cuenta las notas anteriores esto se definiría así:


Para Navegadores estándar:
ancho=ancho total - padding izquierdo - padding derecho - borde izquierdo - borde derecho- margen izquierdo - margen derecho.
width=750px-10px - 5px -3px - 3px - 0px -2px;
width:727px;


Para IE6 ó IE7+ variación no estándar.
ancho= 750 - borde-izquierdo - borde - derecho - margen izquierdo - margen derecho.
width=750px - 3px - 3px - 0px - 2px;
width:742px;


Mientras que el alto estará de la siguiente manera para navegadores estandar:
alto= alto total - borde superior - borde inferior - margen superior - margen inferior - padding superior - padding inferior;
height=580px - 3px - 3px - 0px  - 0px - 5px - 5px;
height:564px;


En tanto que en IE6 ó IE7+ variación no estándar:
alto=alto total - alto total - borde superior - borde inferior - margen superior - margen inferior;
height=580px - 3px - 3px - 0px - 0px;
height:574px;


Una vez calculado el ancho y alto aremos el css general.


Navegadores estándar:
div.contenido { 
 width:727px; _width:742px;
 height:564px; _height_574px;
 display:inline-block;
 overflow:hidden;
 padding:5px; padding-left:10px;
 margin: 0px; margin-right:2px;
 border:3px solid #FF0000;
}
En esta ocasión el overflow: hidden; nos sirve para mantener el contenido dentro, y que si este excede el tamaño definido en ancho y alto no se muestra, es optimo para evitar desbordamientos.


Uso de Overflow
El overflow indica el comportamiento que tendrá el objeto contenedor respecto al contenido del mismo, si se fuerza y solo se muestra en un ancho y alto establecido, o si mostrará barra de desplazamiento, también ayuda a contener a objetos flotantes (aquellos con propiedad float). Los tipos de comportamiento son:


visible. El contenido se sale del contenido si este excede el tamaño, valor default.
hidden: El contenido solo se muestra dentro del contenedor, sin exceder el tamaño, también ayuda a contener a elementos flotantes.
scroll: Siempre se muestran las barras de desplazamiento.
auto: Muestra las barras según sea necesario; es decir si el contenido no se excede se muestra normal, si se excede en ancho se muestra la barra inferior. Y si se excede en alto se muestra la barra derecha de desplazamiento. Finalmente si se excede en ancho y alto se muestran ambas barras de desplazamiento.


Uso de float
La propiedad float permite, flotar elementos, hacia la derecha o hacia la izquierda o quizás eliminar un float que esta por herencia.
float: left;  /*Flota el elemento a la izquierda*/
float:right; /*flota el elemento a la derecha*/
float:none; /*Elimina el float*/


Nota: Esto puede ser útil cuando tenemos varios objetos seguidos uno de otro.
digamos que tenemos un espacio de 750px y queremos dos objetos seguidos uno de 400px y otro de 300px, con una separación de 50px. Esto lo podemos resolver de dos formas.



objeto uno


objeto dos


Forma 1.
div.contenedor { width:750px; overflow:hidden; }
div.contenedor .uno { width:400px; float:left; oveflow:hidden; }
div.contenedor .dos { width:300px; float:left; oveflow:hidden; display:inline-block; margin-left:50px; }


Forma 2

div.contenedor { width:750px; overflow:hidden; }
div.contenedor .uno { width:400px; float:left; oveflow:hidden; }
div.contenedor .dos { width:300px; float:right; oveflow:hidden; }



Ambas formas dan el mismo resultado, depende del acomodo que tenga el encargado de la maquetación, ahora veremos el clear, esté nos permite trabajar en casos más específicos combinando el float


Uso de clear
El clear como su traducción literal lo dice sirve para limpiar. Pero, ¿Qué limpia?. Limpia los objetos flotantes, supongamos que en el ejemplo anterior no importa que sobre los 50px, y queremos un objeto de 50px en la parte inferior junto con otro de 650px, Los objetos flotantes por si solos mientras que haya espacio tienden a colocar uno tras otro los objetos, solo hay salto de línea cuando ya no alcance el tamaño. Para resolver dicho problema usaremos una de las siguientes tres opciones que nos presenta el clear.
left. limpia el flotante en izquierda.
right. limpia el flotante en derecha
both. limpia el flotantes en ambos lados.
none. no limpia nada, esto en caso de eliminar la propiedad por herencia.


Entonces tendremos una estructura de la siguiente manera:




objeto uno


objeto dos


objeto dos


objeto dos







div.contenedor { width:750px; overflow:hidden; }
div.contenedor .uno { width:400px; float:left; oveflow:hidden; }
div.contenedor .dos { width:300px; float:left; oveflow:hidden; }
div.contenedor .dos { width:50px; float:left; oveflow:hidden; clear:left; }
div.contenedor .dos { width:700px; float:left; oveflow:hidden; }




Uso de display
El display indica como se comporta el objeto a la hora de mostrarse. Los distintos valores son:

  • inline
  • block
  • list-item
  • run-in
  • inline-block
  • table
  • inline-table
  • table-row-group
  • table-header-group
  • table-footer-group
  • table-row
  • table-column-group
  • table-column
  • table-cell
  • table-caption
  • none
  • inherit












Sin embargo las más usadas son:
none. no se muestra el objeto.
inline. para listas
block. para que objetos que se comportan como objeto de línea, se comporten como un blouqe, tales como las a, p, span, label, etc.
inline-bloque. Objetos que tienen un comportamiento de bloque, en listas, además sirve para igualar el margen en todos los navegadores.


Uso de position
La propiedad position ayuda a establecer el enfoque del objeto, como sera su posición, por default estatica. Estas son las diferentes posiciones.
Fig2. Posiciones. Elemento tomado de www.cssblog.es. click a imagen para mayor referencia.
Bien tomando en cuenta esta tabla, debo mencionar que los objetos que están en relative sirven de base para un objeto que esta en absolute. Además que las posiciones deben establecerse con las propiedades left, top, botttom o right.





hey




Veamos que pasa con estas dos versiones de CSS
Forma 1
div.contenedor { width:750px; height:350px;  }
div.contenedor .absoluto { width:50px; height:50px; background:red; color:#FFF; line-height:50px; font-size:14px; font-family:Arial, Verdana, "Times New Roman", font-weight:bold; position:absolute: left:10px; top:10px;  }


Forma 2

Forma 1
div.contenedor { width:750px; height:350px; position:relative;  }
div.contenedor .absoluto { width:50px; height:50px; background:red; color:#FFF; line-height:50px; font-size:14px; font-family:Arial, Verdana, "Times New Roman", font-weight:bold; position:absolute: left:10px; top:10px;  }



Como veras el comportamiento deseado se encuentra en la forma dos, y es la correcta.


Notas Finales. Recuerda todos estos tips, son muy valiosos y si tienes dudas, pregunta y con gusto te respondo, no olvides agregarme.


Por ultimo estas propiedades utiles.
font-size. tamaño de la fuente
font-family. estilo de la fuente (verdana, arial u otra)
font-weight. Estable si estará negrita (wight), normal u 700, 300 la fuente en grosor.
line-height. El tamaño del interlineado.
text-align. la alineación del contenido. left, right, center o justify.
background. relleno del objeto
background: color imagen repetir-imagen posición-horizontal posición-vertical;
background: #FFF img(../img/fondo.png) no-repeat left top;
background-position. posición del fondo si es imagen
background-color. color de fondo
background-image. fondo de imagen
background-repeat. comportamiento al repetir imagen


Si deseas alinear un objeto te recomiendo esta forma.



hola mundo



div.contenedor { width:1200px; overflow:hidden; text-align:center; font-size:12px; font-family:Arial, Verdana, Tahoma; }
div.contenedor centrar { margin:0px auto; width:960px; height:800px; background:red; }


Saludos.


Sigueme: @dzipiri
o en http://www.facebook.com/JulianTunKu
http://www.linkedin.com/in/juliantun

Gracias por su lectura, agradecere tu comentario, atte The Dzip.