Colorear un grafo con 4 colores

viernes, 23 de abril de 2010 11:04 By Hernan Figueroa



El problema de coloración de grafos, es considerado uno de los más interesantes en lo que respecta a la teoría de grafos. Este problema consiste en usar la menor cantidad posible de colores para poder colorear un grafo, de tal forma que los nodos adyacentes nunca tengan el mismo color, se intenta con todos los colores uno a la vez sucesivamente asta encontrar la coloración que sea valida.


Es un problema de tipo NP-completo.
Este algoritmo en su forma básica nos lleva un tiempo O(v²).
Gracias a la teoría de grafos se pueden resolver diversos problemas como por ejemplo la síntesis de circuitos secuenciales, contadores o sistemas de apertura.
Los grafos se utilizan también para modelar trayectos como el de una línea de autobús a través de las calles de una ciudad, en el que podemos obtener caminos óptimos para el trayecto aplicando diversos algoritmos como puede ser el algoritmo de Dijkstra.
Para la administración de proyectos utilizamos técnicas como PERT, en las que se modelan los mismos utilizando grafos y optimizando los tiempos para concretar los.
Los grafos como una nueva manera de organizar la información en una base de datos.


Comentario.
Por medio de los grafos se ha logrado dar solución a problemas cotidianos de nuestras vidas, sin que nos percatemos de esto, gracias a ellos contamos con medios de transporte, comunicación, programación de actividades. Ayudando a organizarnos.

Link de Interes.
http://www.dma.fi.upm.es/gregorio/grafos/paginagrafos.html

Bibliografía.
Joomla.Coloracion Grafos.23 abril 2010
http://www.algovidea.cl/index.php?option=com_content&view=article&id=49&Itemid=62
Pedro Bello López.Primavera 2007.Grafos.23 abril 2010
http://www.cs.buap.mx/~pbello/grafos.pdf

Apuntadores

miércoles, 21 de abril de 2010 7:13 By Hernan Figueroa


Los apuntadores son variables que guardan direcciones de memoria. Son muy útiles al programador para accesar y manipular datos, de formas que no son posibles con otros lenguajes de programación. Tambien son utiles para pasarle parámetros a las funciones de modo que les permiten modificar y regresar valores a la rutina que las llama.

Se utilizan para manejar datos alojados en la zona de memoria dinámica o heap (aunque también se pueden manipular objetos en la zona estática).

Tipos de apuntadores: a tipos primitivos, arreglos, apuntadores, estructuras y funciones.


Comentario.
Si no se saben usar, son fuente tanto de fallas en el programa como de frustración para el programador:


Bibliografía.
eztigma.19 agosto 2004.Apuntadores.21 abril 2010
http://eztigma.brinkster.net/apuntadores.html

viernes, 16 de abril de 2010 15:34 By Hernan Figueroa




Algoritmos Recursivos.

Un algoritmo recursivo es un algoritmo que da una solución de un problema llamándose a sí mismo. Se debe tener en cuenta que debe tener una condición que lo pare y que no se haga infinito evitando que se generen mas llamadas recursivas.
Ventajas.
Proporciona simplicidad en la comprensión de los problemas.
Es un método natural de resolver problemas.
Permite una gran potencia de cálculo.
La corrección de los algoritmos se comprueba fácilmente.

¿Cuándo utilizar la recursión?
Algunos lenguajes de programación no admiten la recursividad por ejemplo Fortran, se emplea cuando no hay una solución iterativa clara a simple vista. Aunque parezca mentira es más fácil escribir un programa recursivo que uno iterativo.
Ejemplos de Recursividad.
• Factorial
• Sucesión de Fibonacci
• Números de Catalán
• Las Torres de Hanói
• Función de Ackermann
• Ocho reinas

Comentario.
Es muy ventajoso para al momento de construir un programa pero es caro en cuanto a consumo de recursos de nuestro equipo.

Bibliografía
Universidad politécnica de Madrid. Algoritmos recursivos. 16 abril 2010.
http://asignaturas.diatel.upm.es/prog2/doc/teoria/Programaci%C3%B3n%20II_Tema%204_05_06.pdf
ALGORITMIA. 01 julio 2003. Algoritmos Recursivos. 16 abril 2010.
http://www.algoritmia.net/articles.php?id=11
Wikipedia.25 mar 2010. Algoritmos Recursivos. 16 abril 2010.
http://es.wikipedia.org/wiki/Recursi%C3%B3n

miércoles, 14 de abril de 2010 12:02 By Hernan Figueroa


Volker Strassen

Biografía.

Strassen nació el 29 de abril de 1936 en Düsseldorf-Gerresheim.2 Después de estudiar música, filosofía, física y matemáticas en muchas universidades alemanas,2 recibió su doctorado en matemáticas en 1962 en la Universidad de Göttingen bajo la supervisión de Konrad Jacobs.3 Entonces ocupó un puesto en el departamento de estadística de la Universidad de California, Berkeley mientras llevaba a cabo su habilitación en la Universidad de Erlangen-Nuremberg, a donde Jacobs se había trasladado. En 1968, se trasladó al Instituto de Matemática Aplicada de la Universidad de Zúrich, donde permaneció durante 20 años antes de trasladarse a la Universidad de Constanza en 1988. Se jubiló en 1998.
Aportes más importantes.
Volker Strassen su trabajo vino a tener un enorme impacto en la teoría y el diseño de algoritmos. Él descubrió la mayoría de algoritmos que son usados por millones de ordenadores en todo el mundo. Sus algoritmos incluyen rápida multiplicación de matrices, multiplicación de enteros, y una prueba para la primalidad (determina si un numero es primo) de números enteros. En 1969 Strassen descubierto una nueva forma de multiplicar dos por n matrices en O (n ^ (2,81)) tiempo. Con este algoritmo se pueden realizar multiplicaciones de matrices de 30 X 30 o más en las máquinas de hoy en día. Con esta nueva rutina de multiplicación de matrices, fue capaz de demostrar que la eliminación gaussiana no es óptima. Con Bob Solovay desarrolló el primero método demostrablemente rápido aleatorios test de primalidad.
La prueba de primalidad abrió el mundo de los algoritmos probabilísticos para los profesionales informáticos. Por su labor en las pruebas de primalidad y el algoritmo aleatorio que fue el productor de la ACM Paris Kanellakis Teoría y Premio a la Práctica. El entero Schonhage-Strassen, este algoritmo método de multiplicación que mantiene el récord mundial para el algoritmo más rápido de multiplicación de los treinta y cinco años. En la práctica, sigue siendo una herramienta estándar para la computación. Además de su trabajo muy práctico, Strassen también ha demostrado teoremas fundamentales en materia de estadísticas, incluida la "ley de Strassen del logaritmo iterado" y el principio de invariancia fuerte. Se le considera el padre fundador de la teoría de la complejidad algebraica con su trabajo sobre el grado de la envolvente, la conexión de la complejidad de la geometría algebraica, e introdujo nociones fundamentales y los resultados en cuanto a complejidad y rango bilineal tensor.
Bibliografía.
wikipedia.28 mar 2010.Volker Strassen 14 abril 2010
http://es.wikipedia.org/wiki/Volker_Strassen#Biograf.C3.ADa
sigact.Volker Strassen.14 abril 2010
http://www.sigact.org/prizes/knuth/2008.html

Informacion Personal.

11:46 By Hernan Figueroa

Trabajo para una empresa de telecomunicaciones Alcatel-Lucent en el área de soporte de sitio, trabajo y estudio de lunes a sábado y los fines de semana los dedico a practicar bien sea taekwondo o natación.

Me encanta el anime especialmente: Samurái X, Final Fantasy VII, Dragon ball Z y todo lo que se relaciones con mucha acción y que los efectos visuales sean de otro mundo.


Deseo graduarme de Ingeniero en informática, con una certificación en cisco y dominar bien el Ingles.