Discusión:Algoritmo de Euclides
Posible solución al problema
[editar]Dado que las distintas implementaciones del problema podrían resultar de interés, pero en un artículo de Wikipedia tienen dudosa cabida, se podría añadir como comentas arriba la solución en pseudocódigo y un enlace a Wikilibros. Pero para hacer esto, habría que ver qué pseudocódigo se usa y también habría que crear un manual en Wikilibros sobre implementaciones, en el que cada capítulo/artículo estuviese dedicado a una función desarrollada en los diversos lenguajes de programación. Akhram (comentarios) 01:16 15 nov 2008 (UTC).
Hacer un wikilibro con todos los algoritmos, sus variantes y sus implementaciones me parece una labor monumental (EXTREMADAMENTE monumental). Hay muchísimos tipos de problemas. Solamente de la clase NP-completo se conocen más de 3000, cada uno con 5 o más algoritmos distintos. Ahora agregarle a eso los de las clases P, ZPP, Co-NP, NP-Difícil, TIEMPOEXP, ESPACIOEXP, etc., con muchos miles de problemas más, algunos con decenas de algoritmos y variantes. Ahora imagina que por cada variante se hace un código en C, C++, C#, Java, PHP, Ruby, Python, Perl, Fortran, Pascal, Visual Basic, LISP, Haskell, LUA, PL/I, Lexico, Delphi, Eifell, Ada, Maxima, R, S, sed, Matlab, SPARKS, etc. ¡Son millones de implementaciones! Pero lo que digo acerca de la manía por colocarlas en los artículos es cierto:
- El artículo algoritmo se supone que sólo debería tener una implementación para ilustrar qué cosa es una implementación, actualmente ya son cuatro y siguen aumentando (en la página de discusión se proponen todavía más).
- El artículo Sucesión de Fibonacci hace no mucho tiempo que lucía de esta manera con once implementaciones de sólo dos variantes y dos propuestas más en la página de discusión.
- Ordenamiento de burbuja ya tiene doce implementaciones de sólo dos variantes y la lista sigue aumentando. . . Francamente este ni siquiera me parece que esté redactado como un artículo de enciclopedia.
- Existen inclusive artículos como Implementación del algoritmo de Floyd en Java y Problema del cambio de palabra (programación dinámica en Java)
Por lo demás, creo que existen los artículos dedicados a Java, C, C++, etc. donde sí tienen cabida las implementaciones como ejemplo del uso correcto del lenguaje. En todo caso, es más factible crear en cada artículo dedicado a un lenguaje de programación, una breve sección donde quede indicado el operador de asignación, los operadores aritméticos y otros operadores de de cadenas listas o arreglos. -- ■ 14:24 18 nov 2008 (UTC)
- Pues sí, sería un trabajo arduo, pero no tanto como la creación de la Wikipedia XD. De vez en cuando surgen variantes del mismo problema: todo o nada. La propuesta de crear el wikilibro no significa que haya que empezarlo y terminarlo en un plazo de tiempo determinado, sino que conforme vayan apareciendo implementaciones «fuera de lugar», se envían al wikilibro en lugar de borrarlas. Si con el tiempo, el wikilibro se va tornando más y más pesado, pues ya se planteará si es necesario dividirlo en varios según el lenguaje o a saber qué criterio resulta más adecuado. Más que nada, mi idea es de no perder esa información, que a priori puede parecer trivial, pero a lo mejor hay algún usuario (o varios), que querrían ver una implementación determinada, ¿quién sabe lo que un usuario cualquiera puede necesitar? Eso sí, tendríamos la mejora de que los artículos de wikipedia no parecerían manuales de programación y ganarían en legibilidad. Akhram (comentarios) 12:55 21 nov 2008 (UTC).
Propuesta intermedia: podemos mover las implementaciones a un anexo mientras tanto (recordemos que los anexos deben complementar los artículos), dejando una o dos particularmente relevantes en el texto. Si una implementación es especialmente interesante (no por el lenguaje en que está sino por los conceptos mismos, entonces quizás podría considerarse hacer una artículo sobre esa implementación (explicando porqué esa es relevante). -- m:drini 17:13 22 nov 2008 (UTC)
Historia
[editar]Una sección que estaba muy escasa, es la relativa al contexto histórico (cómo ha evolucionado en el tiempo). Dado que es quizá uno de los algoritmos más trascendentes (tanto por sus aplicaciones como su antigüedad, me parece importante expander la sección sobre la sección griega. Me he tomado también el trabajo de transcribir la proposición VII-2 tal cual aparece en Los Elementos, debido a su importancia y relevancia histórica (tanto del algoritmo como de la obra los Elementos). Además ilustra el lenguaje geométrico y rebuscado que usaron los griegos, el cual contrastará con las versiones compactas modernas permitiendo una mayor apreciación de su elegancia. -- m:drini 03:51 23 nov 2008 (UTC)
- Por cierto, el Algoritmo de Euclides permite una demostración geométrica de la irracionalidad de con una esencia completamente diferente a la basada en la divisibilidad por 2, es decir, sin hacer uso de factores primos. La prueba es por contradicción (aplicando el algoritmo de Euclides a la hipotenusa y el cateto de un triángulo rectángulo de lado uno, se demuestra que el proceso no puede acabar y por tanto los segmentos son inconmensurables. En los días posteriores haré los diagramas y añadiré la prueba. -- m:drini 03:55 23 nov 2008 (UTC)
Chequear bien
[editar]lo que se dice algoritmo de Euclides extendido no es sino el llamado "teorema de Bezout" en teoría de números. En Internet hay abundante información sobre lo que digo. Consulte y dé la mano a la certeza, que no es huraña si la sabemos cortejar.--190.118.25.100 (discusión) 03:32 10 mar 2014 (UTC)