Mostrando entradas con la etiqueta zen python. Mostrar todas las entradas
Mostrando entradas con la etiqueta zen python. Mostrar todas las entradas

jueves, 19 de enero de 2012

Redes Neuronales Artificiales y Algoritmos Genéticos

Para empezar a programar el Ajedrez inteligente en Python, estoy comenzando a profundizar un poco más en el campo de la Inteligencia Artificial (IA), estudiando Redes Neuronales Artificiales (RNA) y Algoritmos Genéticos (AG).

¿Porqué se llaman Redes Neuronales Artificiales?, básicamente porque se intenta representar artificialmente al conjunto de celulas nerviosas de nuestro cerebro.

¿Porqué se llaman Algoritmos Genéticos?, como sabemos, un algoritmo es un conjunto de pasos que se deben realizar para cumplir "x" objetivo, al añadirle la palabra "genéticos", estamos diciendo que se tratara de un algoritmo capaz de evolucionar.

Las RNA, se encargan de decidir el comportamiento en este caso del ordenador, mientras que los AG, ayudaran al aprendizaje del ordenador.
Es decir que se necesitan mutuamente, para realizar movimientos, con ayuda de las RNA que luego si son erróneos serán corregidos para futuras partidas por el AG.

martes, 3 de enero de 2012

Ajedrez en Python [2]


Hoy me senté frente al monitor, con un ajedrez al lado, y me puse  a hacer movidas aleatorias, con sus posibles contraataques.
Lo que intento hacer es que el código responda con la mejor movida, sin que esta sea al azar ("que piense").
Por el momento lo que se me ocurre es utilizar un sistema de if-else, pero también lo que necesito es guardar las movidas en variables, para que se sepa cuando un casillero esta ocupado o no, si esa pieza ya se movió y esta en otra parte, o si ya no esta sobre el tablero.
Por ahora, solo hice muy pocas movidas, y estas no quedan registradas, el siguiente paso sera registrarlas para evitar desplazamientos imposibles.

Se viene una noche bastante larga...con café al lado.

lunes, 19 de septiembre de 2011

Caracteristicas de Python

En la entrada anterior, dimos un poco de historia de python y también comparamos un grande de la programación; C, con Python. que apesar de haber sido inventado ya hace unos 20 años, su explendor comenzo hace muy poco tiempo.
Lo que voy a hacer, es presentarles una lista de las caracteristicas más destacables de Python.
  • Es muy fácil de aprender y tipear.
  • Es de codigo abierto.
  • Lenguaje de alto nivel.
  • Es portable (puede ser utilizado en sistemas...Linux, Windows, Macintosh, Android y Simbyan OS)
  • Es orientado a objetos.
  • Se puede combinar con otros lenguajes, como C.
  • Extensas librerias.