If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

¿Qué es un algoritmo y por qué debería importarte?

¿Quieres unirte a la conversación?

¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.

Transcripción del video

qué es un algoritmo una definición podría ser un conjunto de pasos para realizar una tarea probablemente tengas un algoritmo para ir de la casa a la escuela para hacer un sándwich de queso a la parrilla o para encontrar lo que quieres comprar en el supermercado en ciencias de la computación un algoritmo es un conjunto de pasos para que un programa de computadora realice una tarea los algoritmos son la ciencia en las ciencias de la computación y encontrar buenos algoritmos y saber cuándo aplicarlos te permitirá escribir programas interesantes e importantes hablemos sobre algunos ejemplos de algoritmos famosos cómo es que la aplicación hangouts de google transmite vídeo en vivo a través de internet tan rápido usando algoritmos de compresión de audio y vídeo cómo es que google maps encuentra la ruta para viajar de dallas texas a orlando florida para que puedas llegar a disneyworld utilizando un algoritmo de búsqueda de ruta cómo es que pixar colorea un modelo 3d de un personaje basado en la iluminación de una habitación virtual utilizan un algoritmo de renderizado como la nasa elige organizar los paneles solares de la estación espacial internacional y cuándo reorganizar los con algoritmos de planificación y optimización esos algoritmos son más complejos que nuestros algoritmos de cada día cómo hacer un sándwich de queso a la parrilla pero todos ellos se reducen a lo mismo una serie de pasos para realizar una tarea si conoces algo sobre algoritmos existentes puedes ahorrarte un poco de esfuerzo y hacer tus programas más rápidos aplicando el algoritmo correcto por ejemplo digamos que estás escribiendo un juego y que quieres que el usuario pueda jugar en contra de la computadora bueno podrías mirar el juego de damas para inspirarte los científicos en computación han encontrado cómo escribir programas del juego de damas que nunca pierden usando el algoritmo de búsqueda minimax que busca dentro del enorme árbol de todos los movimientos posibles si tu juego es similar al de damas entonces podrías usar algoritmos basados en estas técnicas si no es así entonces conocer las limitaciones esos algoritmos podrían conducir te a rediseñar tu juego si es que se requiere un jugador experto también es importante saber cómo diseñar nuevos algoritmos así como aprender cómo analizar su exactitud y eficiencia en las ciencias biológicas se diseñan nuevos algoritmos continuamente para propósitos tales como el diseño de las estructuras moleculares que son el núcleo de medicamentos para combatir enfermedades en física los algoritmos simulan patrones climáticos y meteorológicos y otros algoritmos buscan y analizan la gran cantidad de datos sobre estrellas en el universo que son recolectados por telescopios espaciales automatizados en todas las ciencias e incluso en sitios web como kant academy se necesitan algoritmos eficientes para analizar enormes conjuntos de datos o para seleccionar inteligentemente de una gran cantidad de posibles decisiones en casi cualquier área en la que pudieras estar interesado nuevos algoritmos permitirán aprovechar el poder computacional masivo para hacer cosas que la gente realmente necesita y por las cuales ahora no todos los algoritmos son creados igualmente entonces que hace que un algoritmo sea bueno los dos criterios más importantes son que resuelva el problema que nos ocupa y que lo haga eficientemente la mayoría de las veces queremos un algoritmo que nos dé una respuesta que sabemos que siempre es correcta algunas veces podemos vivir con un algoritmo que no nos dé una respuesta exacta o la mejor respuesta porque los únicos algoritmos perfectos que conocemos para resolver esos problemas en realidad toman mucho tiempo por ejemplo digamos que queremos un programa que determine la ruta más eficiente para un camión que entrega paquetes empezando y terminando el día en el almacén tomaría semanas ejecutarlo y examinar todas las posibilidades pero si nos parece bien tener un programa que determine una ruta que es buena pero que probablemente no sea la mejor entonces eso podría ejecutarse en segundos en algunos casos bueno es suficiente como mires la eficiencia de un algoritmo podríamos cronometrar cuánto tarda físicamente ejecutarse el código pero eso sólo nos daría información sobre esa implementación en particular en un cierto lenguaje de programación en una determinada computadora y solo para la entrada que se le dio en cambio los científicos en computación usan una técnica llamada análisis asintóticos que permite comparar algoritmos independientemente del lenguaje de programación particular o del hardware de modo que podamos decir de manera concluyente que si algunos algoritmos son más eficientes que otros ahora puedes aprender sobre algoritmos y sobre análisis a sintético en khan academy gracias a la contribución de dos profesores de la universidad de darmouth don carmen es el primer autor del libro de texto universitario sobre algoritmos más popular del mundo además es el autor de algoritmos un log cabin balcón diseño el curso de introducción acs e investigación robótica en darmouth él construyó el primer robot el mundo que pliega origami tómate 20 enseñarás muchos de los algoritmos que deberías aprender en la p ss ss 101 como algoritmos de búsqueda de reordenamiento recursivos y mi favorito algoritmos de grafos habrá muchísimas visualizaciones interactivas cuestionarios y desafíos de programación que te ayudarán a entender mejor a lo largo de tu viaje de aprendizaje