Si te ha gustado el video puedes escribir un comentario y dejarme un pulgar arriba ðŧ CURSO de Patrones de DiseÃąo en C# y ASP .Net: www.udemy.com/course/aprender-patrones-de-disenos-aplicados-en-asp-net/?referralCode=11528C0122AD145CE970
Excelente forma de resolverlo. Dato curioso, el problema original se plantea en los puentes de KÃķnigsberg resuelto por el matemÃĄtico Leonhard Euler en 1736. Da origen a la teorÃa de grafos. Saludos!
Me encanta que programes temas especÃficos. TambiÃĐn serÃa genial algo de redes neuronales, reinventando la rueda. ð PD. Una mejora interesante para el algoritmo del vÃdeo serÃa usar HashSets en lugar de listas. La ordenaciÃģn y la comprobaciÃģn de existencia serÃan mucho mÃĄs rÃĄpidos, y eso es importante si elevas la cantidad de nodos. Gracias por tus vÃdeos.
Espectacular tu video, me encantÃģ, lo implemente para 5 grafos y algunos detalles mas, ahora ya no tendrÃĐ que usar papel para resolver los problemas de la u relacionados al problema del viajero
Wow amigo me hiciste recordar hace 20 aÃąos mi hobies de programador, estudie Ing. ElÃĐctrica, y por ocio hice aplique estrategias evolutivas y algoritmos genÃĐticos, a un problema parecido al viajante, claro te imaginas hacer eso que hiciste en basic, c, pascal, c++, el problema es tomar un Pais X el cual tiene estados o departamentos, y estos ciudades y pueblos, estos ultimos serian los Nodos y podemos hacer una matriz entre las distancias entre todos los pueblos, adicional a eso estos pueblos tienen un consumo de potencia, de esto se pueden hacer 2 ejercicios.
1ro ubicar en un nodo especifico una planta generadora y de este nodo recorrer todos los demÃĄs nodos pero no en recorrido lineal claro es una soluciÃģn pero seria la peor, la soluciÃģn seria en forma de raÃz o ramas, luego de ramificar todos los nodos aleatoriamente se avalÚan y descartan aquellos que hagan anillos o programas ramificaciÃģn que el "DESDE" puede o no tener conexiÃģn pero el "HASTA" no tenga conexiÃģn porque se crea un anillo.
luego de estar ramificado esta uniones entre nodos puede pensarla como carreteras, en mi caso lÃneas de transmisiÃģn elÃĐctrica, se haria una rutina que tomara la carga (potencia que se consume) de cada nodo "HASTA" final [es decir que ese nodo no sea un "DESDE" de alguna uniÃģn entre ciudades] y la sume a su nodo "DESDE".......... bueno la explicaciÃģn sigue, pero en fin es asignar un conductor que pueda suministrar la potencia a esa rama de nodos, claro otra opcion es que este condutor sea asignado aleatoriamente.
entonces te imaginaras la cantidad de iteraciones para unir la matriz de nodos en ramificaciones, luego asignarle un conductor aleatoriamente a esas uniones, ese conductor tiene un costo por tamaÃąo por distancia, ademÃĄs estas uniones entre nodos son para pasar potencia de un pueblo a otro esto ocasiona perdidas o costos de enviÃģ, cada conductor segÚn su capacidad tiene una caÃda de voltaje, entonces como haces para hallar una soluciÃģn donde quieres usar el conductor mas econÃģmico pero mientras mas econÃģmico las perdidas se incrementan y el voltaje cae, si el conductor es mas grades es mas costoso pero tienes menos perdidas y menos caÃda de tensiÃģn.
bueno luego de tener un programa que aplique estrategias evolutivas o algoritmos genÃĐticos en la bÚsqueda de una soluciÃģn, pensÃĐ en otro planteamiento que es comÚn en todo el mundo, los pueblos o ciudades crecen y crece el consumo de potencia, y las redes colapsan, soluciÃģn construir una planta generadora, donde ubicar usando ES o AG una planta generadora (Nuclear jaja) claro esta se puede ubicar en cada nodo y evaluar el comportamiento de toda la red en cuanto a costos por suministro, y usar el programa para re ramificar de nuevo y esta soluciÃģn compararla con la anterior para buscar la mas parecida y que estas diferencia se tomen como costo de modificar la soluciÃģn anterior para que se parezca a la nueva soluciÃģn, la nueva mejor soluciÃģn seria aquella que cumpla el respeto a los mÃĄximos de caÃda de voltaje, menos perdida por enviÃģ, menor costos de construcciÃģn o menor costo de modificaciÃģn,
esto sin tomar en cuanta que cada ves que se evalÚa la parte elÃĐctrica en cuanto a caÃda de voltajes en los nodos y las corrientes en los conductores o lÃneas de uniÃģn entre nodos, esto se resuelve usando iteraciones, aplicando soluciÃģn de ecuaciones mediante el uso matrices y sus mÃĐtodos, lo cuan lleva muchos "FOR" anidados unos entre otros.
Es interesante que muestres este tipo de problemas de manera prÃĄctica, normalmente el Ãģptimo global se obtiene a travÃĐs de modelos matemÃĄticos de optimizaciÃģn, pero al aumentar el nÚmero de nodos, en ocasiones es mucho mejor aplicar heurÃsticas o metaheurÃsticas para obtener Ãģptimos locales factibles. Saludos desde Chile!
MetaheurÃstica* me gustÃģ tu explicaciÃģn con cervezas jajaja. Si, es muy Útil tener en mente esto cuando desarrollas... yo tuve que crear una para evaluar las transacciones precisas mediante ids (origin vs expected) para optimizar las actualizaciones CRUD en procesos que superaban los 30 seg de navegador (para evitar las clÃĄsicas fallas que hacen todos con EF, delete a todo y vuelven insertar). Al final ese mÃĐtodo sirviÃģ para uso comÚn para procedimientos complejos y que requieren desgastar lo menos posible a la db.
Excelente la explicaciÃģn me gustaria que hagas un video de una funcion ÃĄrbol de bÚsqueda binaria y tambien una red neuronal en programacion c# al Problema del Viajante (Agente viajero).
Hubo un punto en donde me exploto el cerebro, tengo que analizar un poco el cÃģdigo pero me quedo claro lo que se busca y cual fue el camino a seguir, solo me fallo el chip un poco en el for que suma las rutas de los nodos del grafo
una vez hice uno parecido en una pagina de retos, solo que era un poco mas complejo en el sentido que planteaban una cinta de transporte de una fabrica, no se podÃan repisar los caminos y habÃa que elegir la ruta mas corta en una grilla determinada, que pasaba por varios puntos.
Hola Hector, primero quiero agradecerte por tu canal, es exelente, gracias por eso, hermano tengo un problema que no logro resolver y me estÃĄ matando, no encontrÃĐ otra via para escribirte por fa si me dejas algÚn contacto te puedo explicar mejor o si prefieres que te explique de que va el blocker que tengo por aquà mismo no tengo problemas con eso, gracias de nuevo
Me acuerdo que en un psicomÃĐtrico para mis prÃĄcticas me pidieron hacer ese problema. Pero sin referencias de distancias. Era Nadamas con el mapita y los nombres de las calles jsja
tu echale de todo, a mi me hacen un paro tus videos ya que como no estudie sistemas. veo algo y digo a este algoritmo no sabia que pedo ya tengo idea por si me toca usarlos. Saludos
A perro te compilo a la primera.. Hablando en serio se deberia buscar que desde el nodo final, busque la mejor ruta al nodo origen. Para que el primer resultado desde el destino al origen sea el mas optimo y asi sumarlo al primer resultadoâĶ en este caso por ej 13+10 (del nodo c pasando por el d y terminando en el a)
Desde c vuelve mÃĄs rÃĄpido pasando por d que directo a a. Te ha faltado cerrar el camino de vuelta en el algoritmo. Muy bueno tu enfoque de la programaciÃģn. El enfoque del vÃdeo no permite leer el cÃģdigo. LÃĄstima.
Si te ha gustado el video puedes escribir un comentario y dejarme un pulgar arriba
ðŧ CURSO de Patrones de DiseÃąo en C# y ASP .Net: www.udemy.com/course/aprender-patrones-de-disenos-aplicados-en-asp-net/?referralCode=11528C0122AD145CE970
Excelente forma de resolverlo. Dato curioso, el problema original se plantea en los puentes de KÃķnigsberg resuelto por el matemÃĄtico Leonhard Euler en 1736. Da origen a la teorÃa de grafos. Saludos!
Gracias por estos videos maÃąaneros , saludos desde Monterrey !!!
Me encanta que programes temas especÃficos. TambiÃĐn serÃa genial algo de redes neuronales, reinventando la rueda. ð
PD. Una mejora interesante para el algoritmo del vÃdeo serÃa usar HashSets en lugar de listas. La ordenaciÃģn y la comprobaciÃģn de existencia serÃan mucho mÃĄs rÃĄpidos, y eso es importante si elevas la cantidad de nodos.
Gracias por tus vÃdeos.
Espectacular tu video, me encantÃģ, lo implemente para 5 grafos y algunos detalles mas, ahora ya no tendrÃĐ que usar papel para resolver los problemas de la u relacionados al problema del viajero
@hdleon Que men tan duro para la programaciÃģn y le gusta la cerveza buena combi. JAJA
Wow amigo me hiciste recordar hace 20 aÃąos mi hobies de programador, estudie Ing. ElÃĐctrica, y por ocio hice aplique estrategias evolutivas y algoritmos genÃĐticos, a un problema parecido al viajante, claro te imaginas hacer eso que hiciste en basic, c, pascal, c++, el problema es tomar un Pais X el cual tiene estados o departamentos, y estos ciudades y pueblos, estos ultimos serian los Nodos y podemos hacer una matriz entre las distancias entre todos los pueblos, adicional a eso estos pueblos tienen un consumo de potencia, de esto se pueden hacer 2 ejercicios.
1ro ubicar en un nodo especifico una planta generadora y de este nodo recorrer todos los demÃĄs nodos pero no en recorrido lineal claro es una soluciÃģn pero seria la peor, la soluciÃģn seria en forma de raÃz o ramas, luego de ramificar todos los nodos aleatoriamente se avalÚan y descartan aquellos que hagan anillos o programas ramificaciÃģn que el "DESDE" puede o no tener conexiÃģn pero el "HASTA" no tenga conexiÃģn porque se crea un anillo.
luego de estar ramificado esta uniones entre nodos puede pensarla como carreteras, en mi caso lÃneas de transmisiÃģn elÃĐctrica, se haria una rutina que tomara la carga (potencia que se consume) de cada nodo "HASTA" final [es decir que ese nodo no sea un "DESDE" de alguna uniÃģn entre ciudades] y la sume a su nodo "DESDE".......... bueno la explicaciÃģn sigue, pero en fin es asignar un conductor que pueda suministrar la potencia a esa rama de nodos, claro otra opcion es que este condutor sea asignado aleatoriamente.
entonces te imaginaras la cantidad de iteraciones para unir la matriz de nodos en ramificaciones, luego asignarle un conductor aleatoriamente a esas uniones, ese conductor tiene un costo por tamaÃąo por distancia, ademÃĄs estas uniones entre nodos son para pasar potencia de un pueblo a otro esto ocasiona perdidas o costos de enviÃģ, cada conductor segÚn su capacidad tiene una caÃda de voltaje, entonces como haces para hallar una soluciÃģn donde quieres usar el conductor mas econÃģmico pero mientras mas econÃģmico las perdidas se incrementan y el voltaje cae, si el conductor es mas grades es mas costoso pero tienes menos perdidas y menos caÃda de tensiÃģn.
bueno luego de tener un programa que aplique estrategias evolutivas o algoritmos genÃĐticos en la bÚsqueda de una soluciÃģn, pensÃĐ en otro planteamiento que es comÚn en todo el mundo, los pueblos o ciudades crecen y crece el consumo de potencia, y las redes colapsan, soluciÃģn construir una planta generadora, donde ubicar usando ES o AG una planta generadora (Nuclear jaja) claro esta se puede ubicar en cada nodo y evaluar el comportamiento de toda la red en cuanto a costos por suministro, y usar el programa para re ramificar de nuevo y esta soluciÃģn compararla con la anterior para buscar la mas parecida y que estas diferencia se tomen como costo de modificar la soluciÃģn anterior para que se parezca a la nueva soluciÃģn, la nueva mejor soluciÃģn seria aquella que cumpla el respeto a los mÃĄximos de caÃda de voltaje, menos perdida por enviÃģ, menor costos de construcciÃģn o menor costo de modificaciÃģn,
esto sin tomar en cuanta que cada ves que se evalÚa la parte elÃĐctrica en cuanto a caÃda de voltajes en los nodos y las corrientes en los conductores o lÃneas de uniÃģn entre nodos, esto se resuelve usando iteraciones, aplicando soluciÃģn de ecuaciones mediante el uso matrices y sus mÃĐtodos, lo cuan lleva muchos "FOR" anidados unos entre otros.
Buen video sirve para todo tipo de construcciÃģn en cualquier lenguaje felicidades
Me costo llevarlo al video, se me hizo un nudo en la cabeza con tantos mÃĐtodos jaja
ProgramaciÃģn, Cerveza y Rocknroll ðĪðŧ
Es interesante que muestres este tipo de problemas de manera prÃĄctica, normalmente el Ãģptimo global se obtiene a travÃĐs de modelos matemÃĄticos de optimizaciÃģn, pero al aumentar el nÚmero de nodos, en ocasiones es mucho mejor aplicar heurÃsticas o metaheurÃsticas para obtener Ãģptimos locales factibles. Saludos desde Chile!
Excelente video, maestro. ÂĄMuchas gracias!
MetaheurÃstica* me gustÃģ tu explicaciÃģn con cervezas jajaja. Si, es muy Útil tener en mente esto cuando desarrollas... yo tuve que crear una para evaluar las transacciones precisas mediante ids (origin vs expected) para optimizar las actualizaciones CRUD en procesos que superaban los 30 seg de navegador (para evitar las clÃĄsicas fallas que hacen todos con EF, delete a todo y vuelven insertar). Al final ese mÃĐtodo sirviÃģ para uso comÚn para procedimientos complejos y que requieren desgastar lo menos posible a la db.
Excelente la explicaciÃģn me gustaria que hagas un video de una funcion ÃĄrbol de bÚsqueda binaria y tambien una red neuronal en programacion c# al Problema del Viajante (Agente viajero).
Excelente! muy clara la explicaciÃģn :D
Excelente video!
excelente video muchas gracias master!! \m/
Hubo un punto en donde me exploto el cerebro, tengo que analizar un poco el cÃģdigo pero me quedo claro lo que se busca y cual fue el camino a seguir, solo me fallo el chip un poco en el for que suma las rutas de los nodos del grafo
ðšðšðŧ para que corra el programa para ver como funciona!
una vez hice uno parecido en una pagina de retos, solo que era un poco mas complejo en el sentido que planteaban una cinta de transporte de una fabrica, no se podÃan repisar los caminos y habÃa que elegir la ruta mas corta en una grilla determinada, que pasaba por varios puntos.
Excelente video maestro
Hola Hector, primero quiero agradecerte por tu canal, es exelente, gracias por eso, hermano tengo un problema que no logro resolver y me estÃĄ matando, no encontrÃĐ otra via para escribirte por fa si me dejas algÚn contacto te puedo explicar mejor o si prefieres que te explique de que va el blocker que tengo por aquà mismo no tengo problemas con eso, gracias de nuevo
Hno, puta que me caes bien, a final de aÃąo lo cambio por shampoo jajajajajaja, saludos desde Chile
Hola hdeleon
PodrÃas hacer un curso del patrÃģn MVVM en WPF con Sql server
Espero leas mi comentario
Saludos!
Es sÃĄbado y Paco quiere ir al Chopo. Buen video.
Gracias HÃĐctor. Que tal un video del patrÃģn especification ?
Me acuerdo que en un psicomÃĐtrico para mis prÃĄcticas me pidieron hacer ese problema. Pero sin referencias de distancias. Era Nadamas con el mapita y los nombres de las calles jsja
Buen video bro, el algoritmo de colonia de hormigas es muy bueno, y me encanta su analogÃa.
nunca habia visto eso quede asombrado
Excelente video H. Una pregunta salida del tema. CuÃĄl template admin recomienda para . Net? Gracias
Te recomiendo lo compres, para que este acoplado a tu necesidad, hay un sitio llamado themeforest
tu echale de todo, a mi me hacen un paro tus videos ya que como no estudie sistemas. veo algo y digo a este algoritmo no sabia que pedo ya tengo idea por si me toca usarlos.
Saludos
0:29 Ruta menos corta: es la mas larga. Saludos
Si, pavada mia
sin ver el video toma tu like
Grande compa saludos desde chile
Sensei de LeÃģn
Pagar algunos servicios, guiÃąo guiÃąo
La ruta mÃĄs corta da 23. Es A-B-D-C-D-A
Por shampoo! jajajaja
ðĨ
Que tiene que ir a comprar cerveza. Tiene que ir a comprar mÃĄs cerveza...
No conozco los algoritmos de hormiga pero ya me hago una idea de como son.
te falta un for para evitar las repeticiones
A perro te compilo a la primera..
Hablando en serio se deberia buscar que desde el nodo final, busque la mejor ruta al nodo origen. Para que el primer resultado desde el destino al origen sea el mas optimo y asi sumarlo al primer resultadoâĶ en este caso por ej 13+10 (del nodo c pasando por el d y terminando en el a)
Desde c vuelve mÃĄs rÃĄpido pasando por d que directo a a. Te ha faltado cerrar el camino de vuelta en el algoritmo.
Muy bueno tu enfoque de la programaciÃģn. El enfoque del vÃdeo no permite leer el cÃģdigo. LÃĄstima.