{"id":19888066,"url":"https://github.com/code3743/proyectofinal","last_synced_at":"2026-06-25T04:31:22.094Z","repository":{"id":212861595,"uuid":"730676328","full_name":"code3743/ProyectoFinal","owner":"code3743","description":null,"archived":false,"fork":false,"pushed_at":"2023-12-18T15:54:11.000Z","size":450,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T19:15:05.444Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/code3743.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-12-12T12:43:31.000Z","updated_at":"2023-12-16T19:00:35.000Z","dependencies_parsed_at":"2023-12-16T21:25:40.393Z","dependency_job_id":"f0753a46-7ecb-4d03-9f87-2e8ffeba9b18","html_url":"https://github.com/code3743/ProyectoFinal","commit_stats":null,"previous_names":["code3743/proyectofinal"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code3743%2FProyectoFinal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code3743%2FProyectoFinal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code3743%2FProyectoFinal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/code3743%2FProyectoFinal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/code3743","download_url":"https://codeload.github.com/code3743/ProyectoFinal/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241317596,"owners_count":19943201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T18:06:13.053Z","updated_at":"2026-06-25T04:31:22.087Z","avatar_url":"https://github.com/code3743.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Proyecto final - Programación funcional y concurrente\n\n\n## Integrantes\n- [Pedro Bernal Londoño]()\n- [Kevin Steven Ramírez]()\n- [Jota E. López](https://github.com/code3743)\n\n\n## Analisis general\n\nResolver el problema de reconstruir una cadena de ADN a partir de subcadenas es una tarea abordada mediante la implementación de cinco algoritmos distintos, cada uno con su propia complejidad. El objetivo principal es comparar los tiempos de ejecución de estos algoritmos en busca de eficiencias, aunque en teoría se busca reducir el costo de las operaciones, la complejidad de los algoritmos puede afectar este objetivo.\n\nEn el contexto del proyecto, se introduce el concepto de un \"oráculo\", conceptualizado como una entidad que posee conocimiento de la cadena objetivo y siempre proporciona respuestas correctas a preguntas específicas. Estas preguntas están formuladas para determinar si una cadena dada es subcadena de la cadena final buscada. Aunque la teoría sugiere que se debería minimizar el costo de las preguntas al oráculo, en la práctica, la complejidad de los algoritmos puede influir en el tiempo de ejecución, creando un dilema entre el costo computacional interno y el costo asociado con las consultas al oráculo.\n\nSe ha identificado que, en términos de costo, es más eficiente realizar preguntas al oráculo en lugar de recorrer la secuencia directamente. Sin embargo, al referirse al costo computacional general, se hace hincapié en que se busca minimizar el costo asociado con las preguntas al oráculo. Se plantea la dualidad entre reducir la cantidad de preguntas al oráculo y aumentar el costo computacional interno, ya que la manipulación de cadenas y subcadenas internas implica recorrer nuevamente la secuencia, lo que está directamente relacionado con la cantidad de elementos en la secuencia.\n\n### Comparación de tiempo de ejecución entre secuencial y paralelo\n\n#### reconstruirCadenasIngenuo vs reconstruirCadenasIngenuoParalelo\n\n| caracteres | secuencial | paralelo | aceleracion |\n|------------|------------|----------|-------------|\n| 2          | 0.420184   | 0.316476 | 1.3277      |\n| 4          | 1.259649   | 1.2284   | 1.0254      |\n\n---\n\n#### reconstruirCadenasMejorado vs reconstruirCadenasMejoradoParalelo\n\n| caracteres | secuencial | paralelo | aceleracion |\n|------------|------------|----------|-------------|\n|    2      | 0.088739 | 0.583951 | 0.15196309279374468 |\n|    4      | 0.11554 | 0.242001 | 0.4774360436527122 |\n|    8      | 0.56182 | 0.78815 | 0.7128338514242213 |\n|    16      | 0.459324 | 1.310204 | 0.35057441436600717 |\n|    32      | 8.609565 | 4.505334 | 1.9109715284149853 |\n|    64      | 24.72874 | 23.412847 | 1.0562038866951977 |\n|    128      | 204.497834 | 161.400146 | 1.267023847673595 |\n|    256      | 1423.463447 | 1436.344615 | 0.9910319794668497 |\n\n---\n\n#### reconstruirCadenasTurbo vs reconstruirCadenasTurboParalelo\n\n| caracteres | secuencial | paralelo | aceleracion |\n|------------|------------|----------|-------------|\n| 2          | 0.171257   | 0.138294 | 1.2384      |\n| 4          | 0.164364   | 0.231652 | 0.7095      |\n| 8          | 0.4085     | 0.390144 | 1.047       |\n| 16         | 0.574696   | 0.38236  | 1.503       |\n| 32         | 7.096034   | 2.515842 | 2.8205      |\n| 64         | 25.671777  | 31.62619 | 0.8117      |\n| 128        | 292.378292 | 265.519172| 1.1012    |\n| 256        | 2652.137331| 2587.588671| 1.0249   |\n\n---\n\n#### reconstruirCadenasTurboMejorado vs reconstruirCadenasTurboMejoradoParalelo\n\n| caracteres | secuencial | paralelo | aceleracion |\n|------------|------------|----------|-------------|\n|    2      | 0.088739 | 0.583951 | 0.15196309279374468 |\n|    4      | 0.11554 | 0.242001 | 0.4774360436527122 |\n|    8      | 0.56182 | 0.78815 | 0.7128338514242213 |\n|    16      | 0.459324 | 1.310204 | 0.35057441436600717 |\n|    32      | 8.609565 | 4.505334 | 1.9109715284149853 |\n|    64      | 24.72874 | 23.412847 | 1.0562038866951977 |\n|    128      | 204.497834 | 161.400146 | 1.267023847673595 |\n|    256      | 1423.463447 | 1436.344615 | 0.9910319794668497 |\n\n\n---\n\n#### reconstruirCadenasTurboAcelerado vs reconstruirCadenasTurboAceleradoParalelo\n\n| caracteres | secuencial | paralelo | aceleracion |\n|------------|------------|----------|-------------|\n|    2      | 0.088739 | 0.583951 | 0.15196309279374468 |\n|    4      | 0.11554 | 0.242001 | 0.4774360436527122 |\n|    8      | 0.56182 | 0.78815 | 0.7128338514242213 |\n|    16      | 0.459324 | 1.310204 | 0.35057441436600717 |\n|    32      | 8.609565 | 4.505334 | 1.9109715284149853 |\n|    64      | 24.72874 | 23.412847 | 1.0562038866951977 |\n|    128      | 204.497834 | 161.400146 | 1.267023847673595 |\n|    256      | 1423.463447 | 1436.344615 | 0.9910319794668497 |\n\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode3743%2Fproyectofinal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcode3743%2Fproyectofinal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcode3743%2Fproyectofinal/lists"}