| |
|
782
|
Programación / Programación General / Re: Problema del viajante de comercio - Branch and Bound
|
en: 13 Agosto 2021, 17:31 pm
|
Si consideramos nodos a un ciruito completo (en mi caso circuito cerrado), es decir cuando es una posible solucion siendo si es mayor o menor al costo encontrado hasta el momento, mi programa lo resuelve ese problema en 155 segundos aprox. analizando 12984 nodos, sobre un totoal de 19!/2, Sí. Por eso me pareció importante darte una cifra aunque sea aproximada del tiempo empleado incluso aún siendo efectivo en no usar una 'fuerza bruta a ciegas' (que revisa todos los nodos sin ninguna optimización), Considera que a medida que aumente el número de nodos, el tiempo crece exponencialmente, de ahí el interés incluso por algoritmos heurísticos que aún no facilitando la solución óptima sea una aproximada, ya que el tiempo en tales casos se convierte en un requisito... Para las soluciones "mejores" q la mia y tu solucion optima, si le agregamos el trayecto para que sea circular, como resuelve mi programa, los resultados serian los siguientes: 8233366 8914050 8744122 8741260 8703954 8675986 8517919 8515057 8595825
Fijate que es mucho mayor que mi solucion, o sea que teniendo en cuenta un trayecto que no termine en el origen optimo (tu programa), y le sumamos el trayecto para que vuelva al origen supera por mucho a mi solucion, dejando la posibilidad a que si sea la mas optima mi solucion al problema planteado.
Sí y no... Como ya te dije son dos problemas distintos, sus soluciones difieren (peneralmente) de modo considreable. Lo que difiere no es tanto el algoritmo, como la solución hallada. Me he tropezado con profesionales que interpretaron (y no solo por la mera conveniencia de la aproximación, como es el caso presente) que eran el mismo problema y que bastaba con romper o unir por el punto deseado ...tuve que demostrarles su error, pues insiitían en ello empecinadamente. Es decir vale para decir 'la solución puede parecerse mucho a esto', dentro de cierta tolerancia, pero no para tomarla como solución. Dado que ya me percarté de tu solución circular cuando llevaba varias horas en marcha, no quería retrasarlo más parando y volviendo a componer los datos. A ver si saco el fin de semana algo de tiempo libre y abordo el problema desde el caso circular comenzando desde el nodo A. En realidad no es más complejo, para que mi programa lo trate circular, pues basta con añadir un nuevo nodo reetiqeutado como otro distinto pero con los mismos pesos que el nodo inicial y añadirlo al final de todos, y exigirle que este sea además el último en la secuencia (como también lo es el primero), lo que consigue que sea circular... Aunque en tal caso, debe hacerse lo mismo para tratar cada nodo como el inicial (debe marcarse igulmente como el final), lo que fuerza a tratar los datos específicamente a cada caso... se puede automatizar por supuesto, pero dado que solo son 20, se puede hacer manualmente, por otro lado dado que tu lo tienes empezando por el primer nodo (A), considerar de momento solo ese caso, resultará interesante. Es más que probable que tu solución sea la óptima, si no lo fuera, podrías revisar algún simple error, sino contuviere errores en el código pero no sacare la solución óptima, sería una heurística más, uy en ese caso habría que ver de entrar en competencia con las heurísticas actuales (nota que muchos lo mantienen en secreto, pensando que la solución final debe estar compuesto con parte de algoritmo que han creado y que solo les falta algún detalle que esperan encontrar en algún momento). Nota que el hecho de sumar un tramo más, no solo incrementa el valor de ese tramo, sino que por lo general la solución suele ser menos óptima, ya que por 'fuerza' el último nodo que vuelve al origen está tan cerca del origen como los más próximos a él... En el caso que has presentado sumando (forzando la circulación uniendo el nodo final al inicial), no puede ser óptima, porque ese nodo final no garantiza que sea uno de los más próximos al inicial... para la solución más óptima de los casos no circulares, esto será (salvo casualidades y casos de simetría), casi siempre cierto. Insisito por eso en que si tienes alguna intención de explotación o de propiedad intelectual debes acometer al menos esos casos que te comentaba, que son el mismo problema con ligeras perspectivas particulares, so pena de que cuando publiques, alguien los aborde y se apropie de dichos casos (porque tú no lo cubres). Nada más triste que alguien mueva cielo y tierra y luego otro que se limite a pegar una patada a una piedra (basándose en lo hecho: 'el estado actual del arte') y solo por ello sea quien se lleve la gloria.
|
|
|
|
|
784
|
Comunicaciones / Redes / Re: Qué libro es mejor?
|
en: 12 Agosto 2021, 23:22 pm
|
|
Los libros no admiten comparación. Nadie dijo a dos o más autores: "Haced un libro con estas premisas, que luego juzgaremos el mejor"... en ese caso cabría una valoración.
Tu solo decide tras leer uno si te gusta o no. Si lo que te cuenta un autor ya lo sabes lo más probable es que por ello no te parezca interesante, pero no quita que lo sea. Otros pueden juzgar que un libro es 'malo' solo por que no cubre ciertos temas que son de su interés o que 'pasa de puntillas' por ellos... eso solo califica lo que tu buscas, no que el libro sea bueno o malo.
Y por lo mismo escuchar críticas sobre si un libro es bueno o malo, carece de validez para casi cualquier otra persona, pues cada cual tiene su propia perspectiva.
Mi consejo es que si tienes dudas entre el uno y el otro, es que adquieras los dos... (aunque no tiene por que ser al mismo tiempo si el bolsillo no te lo permite ahora) A buen seguro uno completará lo que el otro diga y a su vez el que leas en segundo lugar reforzará lo que el primero diga o aclarará lo que quedó oscruo en el primero y que ambos compartan... y viceversa.
|
|
|
|
|
785
|
Foros Generales / Foro Libre / Re: premio a medallista de Cuba indigna al mundo
|
en: 12 Agosto 2021, 23:13 pm
|
Espero que al menos no les quitaran las medallas... (que se han ganado ellos, con su esfuerzo). Creo haber contado las medallas que España consiguió, que son 15 medallas, también y teniendo en cuenta que en España los deportistas (olímpicos) tiene mejores instalaciones depotrivas a su alcance, es todo un mérito que Cuba logre 15 medallas... Aunque la eficiencia es un país (no recuerdo ahora si era San Marino o un país africano), que con solo presentar 5 deportistas a las olímpiadas, lograron 3 medallas. 
|
|
|
|
|
786
|
Programación / Programación General / Re: Problema del viajante de comercio - Branch and Bound
|
en: 12 Agosto 2021, 23:01 pm
|
Al final lo dejé corriendo hasta el final... Cuando me fuí a dormir llevaba calculando alrededor de 24 horas y cuando me levanté (unas 6 horas después ya había terminado), con lo que ha tardado entre 24 y 30 horas (1 sólo núcleo 1'5Gh. el programa está en vb6, programado en NET sería bastante más rápido), pero vamos la idea de este programa no es la velocidad, si no la versatilidad de soluciones que puedo aplicarle y que cada cierto tiempo suelo ampliar. El número de nodos visitados ha sido: 954.207.241.839 (casi 1 billón). En realidad aunque sea un número muy grande es mucho menor que todas las posibilidades que para 20 nodos (1*2*3*4*5*6*7*8*9... *19*20= 2.432.902.008.176.640.000 2'43Trillones ) . Hay que añadir que usando fuerza bruta, todavía es posible evitar recorrer ciertos nodos por cortocircuito... para ello basta reordenar los pesos de mayor a menor... así cuanto antes una suma alcance y supere el valor menor actual, antes cortocircuita todas las derivaciones tras ese nodo. Es suficiente por tanto (para mi programa) con preparar los datos de entrada sin tocar nada del código... la desventaja en este caso es que las soluciones aparecerían 'desordenadas', aunque para lo que se pretende carece de importancia. He aquí el resto de soluciones hasta el final... 1 ---> JDPFRCQHNTIGSBLMKEAO 6743168 1 ---> JDPRFCQHMKEAOLBSGITN 6736689 1 ---> JDPRFCQHMKEOALBSGITN 6638313 1 ---> JDPRFCQHNTIGSBLMKEAO 6614272 1 ---> JPDRFCQHNTIGSBLMKEAO 6611159 <--- Solución final mínima 1 ---> OAEKMLBSGITNHQCFRDPJ 6611159 <--- Solución final mínima (estas dos últimas son iguales, porque el requisito era '< ó =' (interesa tener soluciones que sean iguales especialmente cuando sean la solución definitiva, si bien como se ve es el recorrido inverso... los recorridos inversos de las solucuones previas no aparecen porque antes de su tratamiento se alcanzó una solución menor). - Revisando las soluciones se puede ver ciertas 'aglomeraciones' 'KEAO', 'GITN', 'LMBSG', etc... que van apareciendo contínuamente en cada solución con ligeras diferencias de orden. Lo que sugiere 'barriadas' de ciudades... - Otra curiosidad es que todas las soluciones acaban (o empiezan si se considera las soluciones del revés), en unos pocos nodos específicos: O, S, J y N. ...también incluye la necesidad o no de que sea completo el sistema; es decir que no haya conexiones entre ciudades que existan.
Sí, mi programa al operar con grafos, puedes evitar tmbiñén eso, sin tocar el código, si no solamente los datos de entrada. De hecho, 'codificar' correctamente los datos de entrada con los parámetros debidos es parte del problema, que uno debe saber resolver.
|
|
|
|
|
787
|
Programación / Programación General / Re: Problema del viajante de comercio - Branch and Bound
|
en: 11 Agosto 2021, 16:33 pm
|
|
Hola.
Hice algunos cambios para adaptarlo y lo puse anoche antes de irme a dormir a calcular, sigue calculando...
Nota que el programa está diseñado para mostrar cada solución que supera el límite previo... de ahí la lista de soluciones, cada línea siguiente supera la anterior acortando la distancia.
Sin embargo al venir a poner este mensaje me doy cuenta que tu diseño es 'circular', es decir, exige que tras visitar todas las 'ciudades' vuelva al origen. En este programa adaptado mínimamente, no está considerado dicha opción... en realidad aún siendo el mismo problema son casos distintos y es conveniente tener (en tu algoritmo), un parámetro para indicar el caso y por tanto poder solucionar ambos. Ya sacó las soluciones (omito las previas), dando como origen el nodo 1. Introduje los datos para considerar la ruta más corta sin consierar cual es la ciudad de origen (aunque lógicamente empieza en la 1 (A) y sin considerar regreso al nodo de origen.
Aunque veas que las soluciones que presento, ofrecen una distancia menor, considera el caso donde no se exige volver al origen (pero sigue visitando todas las ciudades), tiene por lo general (sobretodo si los datos son al azar), una solución más corta y no solo por eliminar el trayecto entre la última ciudad visitada y la ciudad de origen. Ya que al exigir la vuelta, ciertos nodos en su camino son evitados para poder 'volver'... por tanto no consideres aún fallida tu solución.
Mira de ver si puedes crear otro algoritmo equivalente donde no precise volver al origen (desde tu implementación (asumo que) esto debería serte relativamente sencillo, además es algo que sí o sí debes tener igualmente resuelto). Desde mi programa no es más complejo si me hubiera percatado de ello al inicio... pues tira de grafos y el diseño está orientado a consideraciones generales aunque luego pueda especificar ciertos detalles... que deben darse como parametro en la entrada de datos.
Nota que el número asignado a cada nodo (1-20) ha sido remplazado por una etiqueta en el rango (A-T), pues de ese modo es más cómodo representarlo al ocupar cada uno un solo carácter (dígito) y también es más fácil de una simple ojeada distinguir letras de números (de los pesos)...
01-02-03-04-05-06-07-08-09-10-11-12-13-14-15-16-17-18-19-20 A- B- C- D- E- F- G- H- I- J- K- L- M- N- O- P- Q- R- S- T
Si damos por hecho que se exige que la ciudad inicial sea la 1 (A), entonces los datos siguientes ofrencen la solución final. En realidad los datos de entrada están expuestos de tal manera, para continuar hasta que la última ciudad (nodo 20 (T)), fuere la ciudad de origen. Soluciones (cada entrada (temporalmente la solución) supera la previa, se omiten las primeras (habría unas 50-100 soluciones temporales previas desde ABCDE...T con una distancia inicial de unos 22 millones): ... 1 ---> ABLHQCPJDRFNTIGSMKEO 8045241 1 ---> ABLKEOMHQCPJDRFNTIGS 8029724 1 ---> ABLMHQCDJPRFNTIGSKEO 7944387 1 ---> ABLMHQCPJDRFNTIGSKEO 7909997 1 ---> ABLOEKMHQCDJPRFNTIGS 7842256 1 ---> ABLOEKMHQCPJDRFNTIGS 7807866 1 ---> ABLSGITNFDJPRCQHMKEO 7771109 1 ---> ABLSGITNFRDJPCQHMKEO 7631457 1 ---> ABSGITNFDJPRCQHMLKEO 7573052 1 ---> ABSGITNFRDJPCQHMLEKO 7534083 1 ---> ABSGITNFRDJPCQHMLKEO 7433400 1 ---> AEKMHQCDJPRFNTIGSBLO 7397106 1 ---> AEKMHQCPJDRFNTIGSBLO 7362716 1 ---> AEKOLMBSGITNHQCFRDPJ 7359071 1 ---> AKEOLMBSGITNHQCFRDPJ 7346176 1 ---> ALBSGITNFRDJPCQHMKEO 7264340 <--- esta solución es la MISMA que la tuya (sin vuelta al origen): 1 ---> AOEKBLMHQCPJDRFNTIGS 7240895 1 ---> AOEKCHQMLBSGITNFRDPJ 7201363 1 ---> AOEKCQHMLBSGITNFRDJP 7150228 1 ---> AOEKCQHMLBSGITNFRDPJ 7028573 1 ---> AOEKLMBSGITNHQCFRDPJ 6991267 1 ---> AOEKMLBSGINTHQCFRDPJ 6963299 1 ---> AOEKMLBSGITNHQCFRDJP 6924025 1 ---> AOEKMLBSGITNHQCFRDPJ 6802370 <---- solución final: La ruta más corta partiendo del nodo 1, sin regreso al origen y sin especificar tampoco el nodo destino.
1 ---> ALBSGITNFRDJPCQHMKEO 7264340 <--- esta solución es la MISMA que la tuya (sin vuelta al origen): 1-12-2-19-7-9-20-14-6-18-4-10-16-3-17-8-13-11-5-15 Si a tu solución le quitamos la distancia entre las ciudades 15-1 (que es el caso que yo calculo), debería resulta lo mismo que lo que aquí aparece: 7561324 - 296984 = 7264340
Considera además que en una solución circular (como la que presentas), puedes cortar por el par de ciudades cuya distancia es mayor, al caso en tu solución circular esto sucede en los los nodos 7-9 y cuya distancia es 628171, y por tanto incluso así tendrías una solución más óptima con distancia de: 7561324 - 628171 = 6933153 ...pero como digo, sin considerar el regreso al origen hay soluciones más óptimas aún (salvo (generalmente) casos simétricos y otros que se diseñhacen al efecto), que considerando el caso circular y retirar la distancia entre los nodos que determinen el origen y el final. Si necesitas alguna demostración que lo aclare, avisas y en cuanto saque un tiempo te hago algún boceto sencillo que lo refleje y demuestre...
También nota que el algoritmo aún no ha terminado. Terminaría cuando el nodo 20 (T), fuera la ciudad de origen... Empezando por el nodo 4 (D), aún se localizan soluciones más cortas que empezando por A. 1 ---> DJPRFCQHMKEOALBSGITN 6769839 1 ---> DJPRFCQHNTIGSBLMKEAO 6745798 ...dejarlo corriendo hasta Z llevaría muchas horas más, aunque como cada vez la solución temporal es más corta, se cortocircuita antes (cuando la suma parcial de nodos visitados superan ya esa distancia temporal), por lo que a medida que se encuentran soluciones corre más deprisa y necesita visitar menos nodos... el programa cuando lo pare (o a petición), muestra la cantidad de nodos recorridos (no cuenta los no visitados si los cortocircuita). Lo dejaré funcionando unas horas más a ver que sale...
Por último, te recomiendo que hagas también las siguientes variaciones a tu algoritmo (pongo las más genéricas que podrían pedirte): Y exponlas como parámetro, así una función general pública recibe los parámetros de entrada y una vez claro que se quiere hacer llama a una de las siguientes funciones privadas: * Dado un nodo de origen, visitar todos los nodos y vuelta al origen <---- esto es lo que tienes hecho. - Dado un nodo de origen, visitar todos los nodos, pero sin requerir vuelta al origen. <----- esta es la solución que yo te he presentado. - Dado un nodo de origen y otro de destino visitar todos los nodos intermedios. <--- esta opción suele arrojar presumiblemente (obvio), una solución con mayor distancia que la previa, pero a menudo el origen y el destino están prefijados, luego debe considerarse). - Hallar la distancia menor sin considerar un nodo de origen ni de destino <---- Esto es lo que está haciendo mi programa (mientras no lo pare). Esto suele requerirse cuando una operación ha de repetirse millones de veces, y entonces poder elegir la ruta más corta es lo óptimo cuando el acceso a un nodo de origen y de destino es indiferente... (suele ser el caso por ejemplo de muchas máquinas CNC, para dibujado, corte, soldadura, fabricación de microchips, etc...).
|
|
|
|
|
788
|
Foros Generales / Sugerencias y dudas sobre el Foro / Re: Optimización website elhacker.net
|
en: 9 Agosto 2021, 17:28 pm
|
Lo aconsejable es que sea la que sea la dirección en que se avance, es que los cambios a efectuar permitan a futuro otros cambios y no que los de ahora vinieren a suponer luego un lastre para seguir 'evolucionando'. En ese sentido cuanto menos dependiente de 'algo' más libertad te deja... por otro lado, la comodidad de 'depender' de algo ya hecho elimina la complicación de aplicar cambios al precio de esa dependencia que lastra para cambios a futuro. Lo idela sería pues encontrar algo en un punto intermedio, algo que resuelva lo fundamental con las bases de datos y que al mismo tiempo tolere la libertad de ciertos cambios en la estética sin que rompa con el sistema elegido. Simple Machines, así como Ip.Board, vBulletin, phpBB y otros tantos, no han evolucionado demasiado con los tiempos... Pero me pregunto si no habría alguno que haya escapado a esa dinámica y que pudiera facilitar todos o por lo menos una gran parte de la intencionalidad esperada. https://en.wikipedia.org/wiki/Category:Virtual_communitieshttps://en.wikipedia.org/wiki/Category:Internet_forumshttps://en.wikipedia.org/wiki/Category:Bulletin_board_systemsEn sus tiempos, recuerdo un board altamente complejo (al menos en la apariencia con la primera impresión) y altamente configurable, que permitía casi toda clase de control incluso wiki, RSS, juegos, calendario... lástima que no recuerde su nombre, aunque en algún disco duro debo tener copia del mismo, pués me lo descargué para instalarlo en local y probar.
|
|
|
|
|
789
|
Programación / .NET (C#, VB.NET, ASP) / Re: Alinear textos derecha e izquierda
|
en: 9 Agosto 2021, 16:52 pm
|
|
El textbox tiene su propiedad alineacion... Ahora bien, me parece que tu quieres mantener una alineación 'múltiple' al mismo tiempo, tal cual aparece en los chats...
No has aclarado como debe aparecer verticalmente, es decir si el 'append' se realiza debajo de lo previo (quedando último mensaje abajo) o encima d elo previo (quedando lo último arriba dle todo). Normalmente queda abajo, pero requiere scroll por parte del usuario. El caso es que esto debe queda claro antes de nada para desarrollar un sistema y no el otro.
Esto se puede hacer de varias maneras: - Mantener 2 controles, uno alineado a la derecha y otro a la izquierda, ambos deberían mantener un aspecto transparente de modo que uno no tape al otro, si no que los textos se solapen como si estuvieran en la misma área. La complicación aquí es mantener la verticalidad , un mensaje debado de otro. Esto se logra fácil y chapuceramente manteniendo sendos controles otro oculto, donde se pega primero y se contabilida las líneas que ocupa, luego al texto a pegas hay que endosarle dichos saltos de línea (tantos como líneas).
- Mantener 1 solo control. Eliges una alineación (por ejemplo izquierda), cuando pegas el texto a izquierda no tienes nada más que hacer, pero cuando pegas el texto alineado a la derecha, debes calcular el espacio a añadir a la izquierda. Como consejo, se puede simplificar los cálculos si eliges una fuente monoespaciada (todos los caracteres tienen le mismo ancho), luego sabiendo el ancho del textbox, sabes cuantos caracteres caben en una línea. A la noche si estás interesado y saco un tiempito te pongo un sencillo pseudocódigo para esto...
- Mantener 2 controles ocultos cada uno con su alineación. El textbox donde se ve la imagen en realidad sería ahora un control de imagen. Tú pegas el texto en cada control oculto (que además tienen el mismo ancho que el control de imagen), y luego recortas (copias) el gráfico generado en el textbox de turno, y lo pegas en el control de imagen. Si tiene un fondo este control el pegado debe ser con transparencias y para ello el fondo de los textbox deben ser del color a enmascarar en el control de imagen.
En cualquier caso, date cuenta que si el control donde se expone al usuario es modificable (el menos en ancho), cada vez que se modifique dicho ancho requiere volver a renderizar todo su contenido, por lo que para que sea efectivo, todo el texto debe irse guardando en un fichero, diferenciando lo que se alinea a un lado de lo que se alinea al otro...
Ejemplo Como se guarda en el fichero: Pedro: Hola Juan, que harás esta noche?. Podríamos ir al cine... Juan: Hola Pedro, tengo toda la noche ocupada
Como se ve en la interfaz:
-------------------------------------------- Pedro: Hola Juan, que harás esta noche?. Podríamos ir al cine... Juan: Hola Pedro, tengo toda la no che ocupada --------------------------------------------
'Pedro:' y 'Juan:' (+ solo el salto de línea), hacen en el ejemplo el identificador de alineación en el fichero...
|
|
|
|
|
790
|
Programación / Programación General / Re: Problema del viajante de comercio - Branch and Bound
|
en: 9 Agosto 2021, 16:04 pm
|
Aca te mando un tabla donde la primer columna es la distancia, en la segunda una de las ciudades y la tercera es la otra ciudad que une.
Ese sistema es muy laaaaaargo de definir y sobretodo de interpretar al programarlo, pues va a requerir rellenar huecos... 623939 1 2 1341230 1 3 1652150 1 4 354682 1 5 ...
No es necesario que me lo mandes por privado, son simplemente datos, cifras, nada que requiera discrección, de hecho si se deja público puede que alguien más se anime a hacer un cálculo por su cuenta... o pruebe con su propia solución... y te dé 'su solución'. Una tabla es sencilla de hacer.... te paso un dibujo de ejemplo, pero tú debes anotarlo en un fichero de texto, que luego yo pueda leer desde el programa para cargar los datos... meterlo manualmente tiene el riesgo de error en la introducción de datos, aparte de lo tedioso de la introducción manual que supone cuando los datos son varios. Un ejemplo y te comento brevemente:  Cada número supone el nodo enésimo representado por el número en su fila o columna. Nota que los números de fila y columna en la imagen están solo por claridad, en el fichero es preferible omitirlos, su orden de ubicación lo representa y es suficiente, si no, exige filtrarlo. Cada fila representa un nodo (ciudad por ejemplo), y a su derecha se señala la distancia que hay de él a cada uno de los nodo bajo cuya columna se ubica. En la imagen se observa que solo he rellenado las distancias que parten del nodo 4 al resto de nodos: Al nodo 1 hay una distancia de 15, al nodo 2 una distancia de 22, al nodo 3 una distancia de 36, al nodo 4 (a sí mismo), una distancia de 0 (pero que he marcado como 'x', todos los nodos a sí mismo tienen igual valor representan la violación de pasar 2 veces por él mismo...), al nodo 5 hay una distancia de 81, al nodo 6 de 54... ...y finalmente al nodo 13 de 61. Como ves cada nodo ocupa una fila, lo que se traduce en el fichero de texto como una línea de texto, al final de la misma un salto de línea (no te preocupes si tu sistema exige salto de línea y avance de carro, o solo uno de dichos caracteres (diferencias entre win2, mac y Linux) ya lo determino yo mismo al cargar el fichero al programa). Separa la distancia entre nodos en el fichero con un simple espacio (no te preocupes si en alguno pusiste 2 o más espacios, se filtrarán)... Al final guarda el fichero, verifica que esté correctamente editado, lo comprimes en zip (para evitar que sea manipulado), lo subes a una página de descarga y publicas el enlace. Si el texto fuera muy pequeño (pongamos 10-20 nodos), y las líneas no muy largas puedes copiar el texto una vez completo el fichero y pegarlo directamente aquí en el foro entre etiquetas code...Si las líneas son muy largas, incluso las etiquetas code pueden forzar saltos de línea, cuando una línea exceda x tamaño de longitud, aunque supongo que con etiquetas code el tamaño de línea será más generoso (que con eqtiquetas quote o que sin etiquetas). ...si se cortan automáticamente las líneas, falsea la interpretación de los datos a la hora de leerlos con un programa que entiende que los datos de un nodo están en una línea. Si a pesar de todo las líneas fueran tan largas, que quedaren cortadas, entonces es preferible subir el fichero a alguna página de descargas y poner enlace y listo. Con el ejemplo de la imagen, el fichero se vería así (nota que como solo he rellenado la fila 4, debe suponerse 3 filas por delante, y muchas más por detrás). ... 15 22 36 x 81 54 21 7 13 103 84 52 20 61 ...
|
|
|
|
|
|
| |
|