Cultura y divulgación
173 meneos
4612 clics
Hormigas y su protocolo de información

Hormigas y su protocolo de información

Las colonias de hormigas tienen un sofisticado sistema para decidir cuántas hormigas recolectoras de comida tienen que mandar fuera de la colonia, y usan un protocolo parecido al del Internet para calcular el ?ancho de banda? que hay disponible para transferir la información.

| etiquetas: hormigas , internet , comunicacion , naturaleza , insectos
85 88 3 K 527
85 88 3 K 527
  1. Las hormigas son más listas que muchos que yo conozco, me caen bien; si me encuentro una en mi comida no pasa nada.
  2. Ant Colony Optimization!
  3. No es lo único que hacen similar a las computadoras, también se atoran en mínimos y máximos locales: un día decidí bloquear el camino de una hormigas para ver el "algoritmo" que seguían para encontrar un nuevo camino y descubrí que todas siguen casí la misma dirección pero algnas se desvían un poco, cuando una de estas desviaciones está más cerca de su destino (en este caso un hormiguero que yo ya tenía identificado), las otras hormigas vuelven este camino su camino principal y así hasta encontrar de nuevo un camino que los lleve a su destino, pero lo más interesante es que su destino estaba a lado de un pilar pegado a la pared (algo así i39.tinypic.com/2iw1r94.jpg) Resulta que las hormigas lograron llegar al otro lado del pilar, al mismo nivel de donde estaba su hormiguero(para la gran mayoría, ya era su camino principal), pero a partir de ahí para llegar a el hormiguero, tenían que alejarse un poco para después poder volver a acercarse, NUNCA pudieron hacerlo, al final las hormigas rezagadas (que estaban muchisímo más lejos del hormiguero) encontraron otro camino, con el cual pudieron llegar de forma "directa", las hormigas que estaban en el otro camino regresaron (la distancia para estas fué más de 20 veces mayor) y se incorporaron al nuevo camino descubierto.
  4. #4 Interesante, y que envidía de tener tanto tiempo libre.
  5. Computocentrismo.

    Las hormigas no hacen nada similar a las computadores. Más bien las computadoras hacen cosas similares a las hormigas. Las hormigas están en este planeta desde hace muchos miles de años, y las computadoras unas décadas.

    Incluso las hormigas imitan otros procesos del TCP, como el "comienzo lento", cuando la fuente envía una oleada de datos al empezar la transmisión para medir el ancho de banda disponible.

    Las hormigas no imitan a las computadoras, en todo caso sería al revés. El párrafo anterior denota egocentrismo humano y anglosajón en particular.
  6. #4 la próxima ve haz un timelapse. te quedará mas tiempo libre y podrás compartir tu experiencia en Youtube. Ademas, por experiencia propia ver las cosas en una velcidad muy diferente puede aportar detalles que de otra forma suelen pasar desapercibidos.
  7. #4 El caso es que siguen el camino con más feromonas (por donde han pasado más hormigas). Las hormigas que encuentran el camino más corto van y vuelven más rápido, por lo cuál su camino termina teniendo más feromonas y al final casi todas van por el más corto. Si más adelante hay cambios en el terreno que habilitan un camino mejor no son capaces de seguirlo, ya que el camino más corto anterior (ahora mínimo local, antes global) está totalmente rociado y todas van por él.
    Por eso, los algoritmos de optimización de colonias de hormigas (ant colony optimization) suelen poner para cada "rastro de feromonas" una cuenta atrás, y cuando se acaba se borra este "rastro".
  8. Nos llevan años de ventaja en cuanto a organización y trabajo en equipo.
  9. #3 ACO está también basado en el comportamiento de las hormigas, pero se centra en los rastros de feromonas que van dejando para encontrar rutas más cortas entre el hormiguero y la fuente de comida.
  10. #6 Totalmente de acuerdo, las hormigas llevan trabajando así muchos miles de años, es infantil decir que imitan un protocolo inventado por el hombre hace dos días.
  11. el TCP no regula nada solo es un protocolo de transporte orientado a conexion que garantiza la entrega punto a punto, el que escribe el articulo de tcp ni puta idea
  12. #6 #11 Puede que sea una traducción desafortunada del inglés "to imitate" que, además del de "imitar", tiene los significados de "parecerse a" o "recordar a". En cualquier caso los humanos conocimos antes el protocolo TCP que este comportamiento de las colonias de hormigas por lo que no parece descabello describirlo en esos términos para darlo a entender. No creo que a las hormigas les importe ;)
  13. #4 #8 De hecho, las hormigas han servido de inspiración para muchos algoritmos que se usan actualmente, por ejemplo en cálculos de rutas.

    portal.uc3m.es/portal/page/portal/actualidad_cientifica/noticias/Nueva
    www.cienciaxplora.com/divulgacion/que-nos-ensenan-hormigas-computacion

    Así, por ejemplo, a modo divulgativo.
  14. #12 Efectivamente, el que ha escrito eso ni parece entender ni cómo funciona TCP, ni la anatomía de las hormigas (¿qué es eso de que emiten ondas por las antenas?!). Es un despropósito de artículo.
  15. #6 Las hormigas están en este planeta desde hace muchos MILLONES de años. Alrededor de 120-130 millones de años, para ser exactos. No te quedes corto diciendo "muchos miles", hay que hacer al cerebro pensar en eras.
  16. #9 normal, ellas llevan 100 millones de años en el planeta y nosotros un suspiro. .. (y en ecología nos dan una paliza incuestionable, por ejemplo)
  17. El todo es más importante que las partes.
  18. #0 Las hormigas: "...y usan un protocolo parecido al del Internet para calcular el ?ancho de banda?...".

    Correctamente redactado sería más o menos: "Internet usa un protocolo parecido para calcular el ancho de banda; al que usan las hormigas para calcular cuantas deben salir del hormiguero a trabajar...".

    Aquí si está claro que las hormigas eran antes que Internet.

    Saludos.
  19. #12
    el TCP no regula nada solo es un protocolo de transporte orientado a conexion que garantiza la entrega punto a punto

    ¿que el protocolo tcp no regula nada? Juas! y tu dices que el que ha escrito esto no tiene ni puta idea? xD
  20. #15 Efectivamente está muy mal escrito y lo de las ondas con las antenas me ha matado, pero opino que ni tú ni #12 tenéis ni idea de redes. Claro que el TCP regula el ancho de banda, lo que pasa es que el mecanismo es indirecto. Utiliza una ventana de reenvío de tamaño variable que pretende que el ancho de banda sea el más alto que no genere congestión. Leeros esto si os interesa: en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm
  21. #22 hombre, que llames "ancho de banda" a la capacidad del canal después de decirnos que no tenemos ni idea..., pues eso. TCP no controla el flujo de datos del canal. Eso que enlazas es para evitar la congestión, que se da cuando los metadatos del protocolo inundan la red de paquetes sin información útil (peticiones de reenvío, básicamente). El control del flujo de datos (útiles!) del canal TCP se hace en la capa de aplicación.
  22. #23 :palm: puf...espero que no seas informático o teleco, porque telita.....
  23. #23 Para nada, la congestión es por cualquier motivo, no sólo por las cabeceras (metadatos). Léete también éste, que parece que también lo necesitas: en.wikipedia.org/wiki/Bandwidth_(computing)
  24. #25 que sí, que sabes buscar en la Wikipedia, enhorabuena. Podría yo enlazarte la frecuencia de Nyquist para que veas por qué se le (mal) llama ancho de banda en informática, pero no me gusta ir pegando enlaces de forma prepotente.
    Sobre la congestión, no dije nada de cabeceras, sino de metadatos del protocolo, como peticiones de retransmisión, por ejemplo (es la causa principal).
  25. #26 Ay, qué ofensa, me has llamado prepotente.
    Ya sé que está mal llamado pero ya es un tecnicismo incorporado al lenguaje.
    Te pego otro enlace, es la RFC que especifica el protocolo TCP: www.ietf.org/rfc/rfc793.txt
    En toda la especificación no encuentro el término metadata, por todas partes habla de headers.
    Si no me equivoco, además, no encontrarás peticiones de retransmisión por ninguna parte, ya que creo que no existen de forma explícita. Lo que se hace es informar del progreso y la falta de progreso indica que seguramente un paquete se ha perdido, pero el emisor decide cuándo darlo por perdido y reenviarlo.
    Esto se hace mediante el campo Acknowledgment Number de la cabecera.

    Espero que no te ofendas por mi supuesto tono, no pretendo ser ni parecer prepotente. Quizá debería haber insertado emoticonos para que vieses que mi tono es cordial, que estoy abierto a críticas y a cualquier cosa dentro de un marco de respeto. ;)
  26. #26
    SYN
    SYN/ACK
    ACK
  27. #21 tio pues no me lo digas a mi y edita la wikipedia para iluminarnos , toma aqui te lo dejo

    es.wikipedia.org/wiki/Transmission_Control_Protocol

    #24 , anda que estas intentando desacreditarle cuando tiene toda la razon , deja de hacer el ridiculo
  28. #29 Alguien se ha adelantado (al menos un par de años) ya que contiene este párrafo:
    "TCP usa una serie de mecanismos para conseguir un alto rendimiento y evitar la congestión de la red (la idea es enviar tan rápido como el receptor pueda recibir). Estos mecanismos incluyen el uso de ventana deslizante, que controla que el transmisor mande información dentro de los límites del buffer del receptor, y algoritmos de control de flujo, tales como el algoritmo de Evitación de la Congestión (congestion avoidance), el de comienzo lento (Slow-start), el de retransmisión rápida, el de recuperación rápida (Fast Recovery), y otros."
  29. #30 ¿y de ahí tu interpretas que TCP esta controlando el ancho de banda ? te dice que no envía mas de lo que el receptor puede recibir según la ventana , TCP no controla repito en ningún momento el ancho de banda ,eso se hace en la capa de aplicación como os dicen en #23
  30. #27 claro, sería absurdo tomarse mal lo del protocolo TCP en un post sobre hormigas (!). TCP usa temporizadores para decidir si un datagrama se ha perdido. Pero también puede pedir el receptor paquetes perdidos usando la ventana deslizante (se pueden perder o llegar con errores). Si los paquetes se pierden por la congestión, habrá más y más paquetes reenviados. Evitar eso no es control de flujo, sino de congestión. Lo de los "metadatos" es porque es información basura generada por el protocolo (no por el nivel de aplicación) que solo crea más congestión.
  31. #32 Pero enviar más de lo que puede aceptar el canal o el receptor por unidad de tiempo también es congestionar el canal o al receptor y provoca que se pierdan paquetes y deban reenviarse, por lo que esto también forma parte del control de congestión. ¿No es así?

    El comentario que ha iniciado todo esto es #12 y en él se afirma "el TCP no regula nada solo es un protocolo de transporte orientado a conexion que garantiza la entrega punto a punto, el que escribe el articulo de tcp ni puta idea" y yo diría que intentar evitar la congestión sí es regular algo.

    Y que el algoritmo de las hormigas se parezca al TCP no implica que el propósito sea exactamente el mismo. Se trata de dos cosas tan alejadas la una de la otra que una coincidencia parcial en el algoritmo es de destacar. Me parece un poco absurdo, sinceramente (y sin ánimo de ofender) pretender invalidar la investigación diciendo que eso no es "calcular el ancho de banda".
  32. #33 No :trollface:.. ahora en serio , no retuerzas mas ... si no recibe el ack en la ventana de tcp simplemente o reenvía o al final salta el timer y tira la conexion, no se regula el ancho de banda , te lo repito hasta el infinito, como te dicen el ancho de banda que consumes seria casi el mismo y encima no serian útiles... pero claro no tenemos ni puta idea pq ni lo hemos estudiado ni hemos trabajado con ello eh
  33. #34 hay que joderse. Leete lo que tu pusiste en tu primer comentario, no me lo invento:

    el TCP no regula nada solo es un protocolo de transporte orientado a conexion que garantiza la entrega punto a punto

    Decir que TCP no regula nada y que "solo" es una conexion que garantiza la entrega es una BURRADA. Y punto pelota. Y esto lo que denota es que no tienes ni idea de lo que es ni de lo que hace el protocolo TCP. Puedes seguir poniendo negativos como el crio inmaduro que eres.


    #32 y tu, no sabes ni de lo que hablas o mas bien hablas sin propiedad alguna cuando dices vagamente que "el control del flujo de datos no lo hace tal sino que lo hace pascual". ¿De que leches estas hablando? Habla con propiedad ¿de que control hablas? Cuando tu hablas de control en la capa de aplicacion estas hablando de otra cosa que no tiene nada que ver con lo que se esta diciendo en este articulo. Por supuesto, la interpretacion de cuando el flujo de datos termina es responsabilidad de la aplicacion. A TCP eso se la suda ¿que tiene que ver eso? YO te lo digo, NADA. En cambio, TCP controla un cojon de cosas para que ambos receptores puedan comunicarse. Por ejemplo, una de ellas es que uno de los extremos pueda "decirle" al otro "eh, para, que no puedo con mas". Y eso no tiene que ver nada con la puñetera congestion de la red, ostias. Eso es un control de flujo, que, por supuestisimo, hace TCP de extremo a extremos. Y tu vienes a decir EXPLICITAMENTE (otra burrada) que TCP no realiza un control de flujo. Con dos cojones. Asi salen los estudiantes ahora de la universidad. Madre mia.

    Vaya par.
  34. #35 Desapruebo tus formas (supongo que te la pela, a mí también me la pelaría) pero suscribo lo que afirmas.

    #34 ¿Por qué no reenvían inmediatamente y por qué hay una ventana? Para evitar congestión. y las hormigas hacen lo mismo o algo muy parecido.
  35. #35 #36 creo que lo que dijo #12 está bastante claro, pero parece que no lo entendéis. TCP no ofrece a la capa superior ningún servicio de control de flujo (poner más o menos kbps, para entendernos). TCP claro que tiene internamente mecanismos para no saturar al receptor o controlar la congestión. Pero para que lo entendáis: no podemos decir que TCP controle el flujo cuando intenta evitar una congestión que él mismo provoca o evita saturar su propio buffer interno.
    Y gracias por llamarme estudiante universitario, me hace sentir más joven de lo que soy.
  36. #35 es que es así , te lo repito otra vez pq parece que no te queda claro , tcp no regula nada

    y tus intentos de desacreditar a #32 son bastante tristes , habla de como se distribuyen las capas en OSI :facepalm:
  37. confundís regulación de flujo con controlar el ancho de banda de una red... como el tío del articulo..
  38. #36 las hormigas no están controlando su flujo por problemas de organización interna (como TCP), sino que está gobernado por la cantidad de comida que hay afuera. Es un matiz pequeño, pero fundamental. Probablemente tengan mecanismos para evitar saturar de comida el hormiguero, y eso sí que sería comparable a TCP.
  39. Una muestra más de que hasta el organismo más simple, más pequeño e insignificante puede llegar a tener increíbles cualidades. Dicen que la unión hace la fuerza, sin duda alguna
comentarios cerrados

menéame