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

martes, 21 de febrero de 2012

Linux From Scratch

Paralelamente al proyecto de inteligencia artificial, hace unos días empece a trabajar con Linux From Scratch (Linux desde 0).
Para lo que no lo conocen, LFS, es un manual que tiene los pasos para crear un sistema Linux desde cero, compilando e instalando paquetes, los que nosotros queramos, para finalmente crear nuestro SO, también dispone de un Live CD, que pueden encontrar en Linux From Scratch, al igual que su manual.

Ya desde hace un tiempo quería empezar con un sistema operativo o modificar alguna distro de Linux, pero...la documentación que encontraba se basaba en hacer solo algunos cambios. En cambio con LFS, empezamos desde 0, instalando compiladores C, etc, más adelante también podemos incluir Python :)!
Con el tiempo, seguro subo algunos avances ;), estoy haciendo todo en una Pentium II con 168mb de RAM y les digo...que hay que tener paciencia a la hora de compilar grandes paquetes como el GCC (el compilador de C) y Glibc (las librerías de C).

domingo, 12 de febrero de 2012

¿Donde aplicar la Inteligencia Artificial?

En los post anteriores hable sobre la inteligencia artificial e hice una breve descripción de las RNA y de los AG. Pero lo que todavía no dije, fue en dónde o en que situación se puede aplicar un agente1.
Un agente puede ser utilizado en toda situación en la que se necesite resolver un problema, ¿un problema?, si, por ejemplo, supongamos que tenemos que ir de "x" lugar a "y", tenemos una sola posibilidad de hacer el viaje, pero la trampa esta en que el recorrido tiene que ser el más corto. Podemos hacer dos cosas en esta situación, la primera es tirarnos al azar por cualquier camino y llegar sin saber durante el recorrido si ese fue el trayecto más corto, o podemos programar un agente que por medio de un mapa pueda seleccionar el camino más adecuado, en nuestro caso, el más corto.
Si alguna vez leyeron sobre la inteligencia artificial, el ejemplo que les di antes, es uno de los más usuales, por lo general, muchos se quedan con ese ejemplo, y solamente se imaginan usar la IA para realizar un recorrido, pero se puede aplicar en muchas otras cosas.
Entonces...¿dónde podemos aplicar el uso de un agente?, el limite esta en nuestra imaginación, en nuestro desempeño y en las leyes de la física :p.

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.

viernes, 23 de septiembre de 2011

Sentencias condicionales Python

Ahora que ya sabemos como funcionan las variables y los operadores, vamos a empezar a trabajar con las sentencias condicionales, un tipo de control de flujo.
Una sentencia condicional, se basa en una "regla" que cumplir, si se cumple, se realiza una cosa, si no se cumple, se realiza otra. Antes de empezar a programar, lo bueno es en una hoja de papel, hacer un esquema, partiendo de la primer instrucción a realizar, utilizando un lenguaje no necesariamente de programación, si no uno que pueda ser interpretado por nosotros para luego pasarlo a Python, vamos a ver un ejemplo, lo que quiero hacer, es que mi programa me diga si el número es mayor o menor a 10, empecemos...

jueves, 22 de septiembre de 2011

Operadores en Python

Para que un programa funcione haciendo operaciones aritméticas/logicas, lo que se necesita es contar con los operadores.
Los operadores, hay varios, los más normales son los que todos conocemos en la vida cotidiana:
  • + = Suma
  • - = Resta
  • * = Multiplicación
  • /  = División
  • ** = Potenciación
Estos operadores son binarios, es decir necesitan dos números para funcionar, es algo logico, ya sabemos que para sumar se necesitan por lo menos dos valores, al igual que para restar, potenciar...etc.
Su funcionamiento es demasiado simple, así que no van a tener problemas.

martes, 20 de septiembre de 2011

Variables en Python

En las entradas anteriores hablamos sobre de que se trata y las herramientas necesarias para comenzar con Python, pero ahora que ya sabemos todo eso, vamos a meternos en el codigo. Voy a intentar ser lo más claro para que entiendan bien lo que es una variable.
Una variable es una porción de la memoria a la cual le asignamos un nombre y un valor que puede variar. En esa oración resumimos totalmente el concepto de variable.
Voy a mostrarles un gráfico, para que lo entiendan mejor:

lunes, 19 de septiembre de 2011

Herramientas para el desarrollo en Python

Ya hablamos en las entradas anteriores de: de que se trata el lenguaje de programación Python. Pero lo que nos falta para emepezar son las herramientas necesarias para empezar a programar. Lo principal es descargar e instalar el interprete, pueden descargarlo desde su Web Oficial:
http://www.python.org/getit/releases/3.2/, en este caso se trata de la última versión, Python 3.2. Una vez instalado el interprete, podemos empezar a escribir codigo en cualquier bloc de notas, como el de windows, el gedit de linux, etc., con el cual guardamos nuestro codigo con la extensión ".py", para luego ejecutarlo desde el interprete.
Por ejemplo, abran el bloc de notas, escriban la siguiente linea:

Ahora guarden el documento como "hola.py", en este caso estoy utilizando Windows asi que lo que voy a hacer es ejecutar la cmd (van a inicio-ejecutar-cmd), esta ventana negra que se nos abrio es la consola, por ahora nos manejaremos desde aca (si usan linux, se llama terminal). Una vez que abrieron la consola lo principal es indicarle donde tenemos instalado el interprete, en mi caso esta en el C:\, asi que se lo indicamos de la siguiente forma:

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.

Programando en Python


Después de varios días sin escribir, vuelvo, esta vez hablandoles del excelente lenguaje de programación Python, una introducción.
Empecemos con un poco de historia, Python es un lenguaje de programación de codigo abierto y de alto nivel (esto quiere decir que su escritura es más natural y más entendible que el lenguaje maquina que es de bajo nivel), creado en 1991, por Guido van Russum, actualmente se encuentra en su versión 3.2, y es compatible con Linux, Windows y Macintosh.