¿De qué sirven los algoritmos de aprendizaje si no podemos pensar por nuestra cuenta?

Es realmente bueno que haya intentado resolver un problema usted mismo en lugar de aprender directamente la solución existente. En realidad, este debería ser el primer paso antes de aprender cualquier algoritmo o cualquier concepto nuevo en general. Primero vea qué problema resuelve ese algoritmo. Luego intente desarrollar su propio algoritmo para resolverlo. Dedique un tiempo como una hora y, si no puede encontrar un algoritmo, vaya y aprenda el existente. Esto realmente mejorará su capacidad de pensamiento y lo entusiasmará a aprender el algoritmo existente. Después de aprender los algoritmos básicos, puede combinar los conceptos de algoritmos ya conocidos para resolver otros problemas que aún no se han resuelto. Es por eso que debes aprenderlo incluso si no puedes pensarlo por ti mismo.

La mayoría de los algoritmos son desarrollados por personas durante sus trabajos de investigación. Se necesita mucho tiempo y esfuerzo para pensar y probar un algoritmo antes de publicarlo. Hay algunos problemas complejos para los cuales puede llevarle días o semanas desarrollar un algoritmo usted mismo. Además, pensar que un algoritmo no es la parte más difícil, también tendrá que demostrar que es correcto.

Ahora suponga que encuentra un problema al encontrar la submatriz contigua de suma máxima de una matriz con números positivos y negativos. El primer paso como dije es pensar su propio algoritmo. Si piensa por algún tiempo, encontrará una manera muy simple de resolver este problema.

suma = 0
maxSum = arr [0]

para i = 0 a n-1
suma + = arr [i]
maxSum = max (maxSum, sum)
sum = max (suma, 0)

Este algoritmo se llama algoritmo de Kadane. Pero como puede ver, es fácil para cualquiera encontrar esta solución en pocos minutos.

Consideremos otro problema. Te dan dos cadenas A y B. Debes encontrar todas las ocurrencias de la cadena B como subcadena en la cadena A en tiempo lineal . Ya no es fácil. Pero como dije antes de aprender el algoritmo KMP existente, deberías pasar algún tiempo como una hora para encontrar tu propio algoritmo, pero si no puedes hacerlo en una hora, entonces debes ir y aprender el algoritmo KMP existente.

Hay muchos problemas que todavía no podemos resolver de manera eficiente. Algunas partes de esos problemas pueden resolverse con algoritmos ya conocidos. Pero para otros subproblemas no tenemos un algoritmo eficiente hasta ahora. Deberíamos dedicar tiempo a esos subproblemas no resueltos en lugar de pasar días o semanas resolviendo los subproblemas ya resueltos desde cero.

Por lo tanto, debe pasar algún tiempo, como una hora, para desarrollar su propio algoritmo. Es bueno si puedes hacerlo en una hora, pero si no puedes hacerlo en una hora, entonces debes aprender el algoritmo existente. Sin embargo, incluso si ha desarrollado su propio algoritmo, le sugiero que eche un vistazo al algoritmo existente, solo para ver si el algoritmo existente es mejor que el suyo.

Recuerde que necesita aprender A, B, C antes de escribir palabras y oraciones y avanzar más enmarcar sus oraciones y, después de hacer todo esto con éxito, puede avanzar para escribir cualquier cosa expresiva que pueda ser un poema, Un blog, un ensayo o un artículo.

Por lo tanto,

  1. Debe aprender conceptos básicos antes de avanzar hacia conceptos avanzados, ya sea un lenguaje, un algoritmo, matemáticas o programación.
  2. Aprender algoritmos básicos no lo invita a copiarlos y pegarlos para sus propias soluciones, pero es la forma correcta de proceder para aprender el arte de diseñar algo.
  3. Después de aprender lo básico, es perfectamente su percepción, aplicabilidad y habilidades lógicas lo que aplica para aplicar los mismos algos que ha aprendido O diseñar nuevos algoritmos a partir de los que ya ha aprendido.
  4. Por lo que creo, puede ser solo mi percepción: incluso aplicar los algoritmos básicos conocidos en el punto correcto y de la manera más eficiente también es algo hábil y esa es la razón por la cual los conceptos de Análisis de Algoritmos y Complejidad de Tiempo nunca están fuera de lugar. industria.
  5. Por último, en cualquier momento puede ser lo suficientemente inteligente como para diseñar algo a su manera, pero necesita pensar de manera inteligente y cosas como la programación competitiva, haciendo cursos sobre diseño de algoritmos como Algorithmic Toolbox – Universidad de California, San Diego, Escuela Superior de Economía | Coursera puede ayudarlo aún más en caso de que no pueda encontrar su camino.

¡¡Todo lo mejor!! y si crees que puedes, definitivamente lo harás 🙂

En matemáticas y ciencias de la computación, un algoritmo es un conjunto de operaciones paso a paso autónomo que se debe realizar.

Un algoritmo es un método efectivo que se puede expresar dentro de una cantidad finita de espacio y tiempo y en un lenguaje formal bien definido para calcular una función. Comenzando desde un estado inicial y una entrada inicial (quizás vacía), las instrucciones describen un cálculo que , cuando se ejecuta, avanza a través de un número finito de estados sucesivos bien definidos, produciendo finalmente “salida” y terminando en un estado final final.

Entonces, todo lo que está codificando o las decisiones que está tomando para llegar a una conclusión es un algoritmo en sí mismo.

Entonces, llegando al dominio de la informática, no puede desarrollar un algoritmo universal optimizado por sí mismo. Lo que sea que esté estudiando ha sido ampliamente investigado, para que tengan mejores complejidades de tiempo en comparación con las de fuerza bruta. Y esa es la razón por la que usamos estos algoritmos con ajustes que satisfacen las restricciones del problema.

El algoritmo es similar al teorema matemático en el que utiliza estos teoremas para producir la respuesta requerida para alguna pregunta.

Eso es genial, al menos te has dado cuenta (eres uno de los 0.1% de los estudiantes indios que los han cuestionado sobre esto, la mayoría de ellos solo los traga para los exámenes, entrevistas, lo que sea), pero eso no significa que tu argumento sea correcto. Bueno, creo que debes estar en la escuela secundaria y solo haber visto las estructuras de datos básicas y sus algoritmos. pero a medida que estudies progresará (si tomas corriente informática). obtendrá algoritmos diferentes que serán una mezcla de varios algoritmos básicos y, de nuevo, otros algoritmos altamente complejos (por ejemplo, escenarios financieros de modelado, funcionamiento de google, algos de búsqueda de Facebook) se crean combinando otros algoritmos intermedios. así que incluso si hacemos un Phd en flujo de algoritmos, no puede trabajar en un vasto dominio, debe usar los resultados directos de esos algoritmos que se usan solo como referencia o para resolver el problema que está tratando actualmente para ahorrar tiempo (como ni siquiera puedo especializar los algoritmos en un campo particular como las finanzas, ya que la mayoría de los principales fondos de cobertura tienen un ejército de doctores y estadísticos para ejecutar docenas de modelos para mantener una predicción nítida sobre los precios de las acciones / fondos de cobertura. Por lo tanto, es mejor para nosotros especializarnos solo ese dominio que más importa y solo aprende las soluciones de aquellos que son solo para referencia.

Básicamente, Algorithm es una secuencia autónoma de acciones a realizar. Los algoritmos pueden realizar el cálculo, el procesamiento de datos y las tareas de razonamiento automatizado.
entonces, sin secuencia, no podemos describir o explicar a otro. en las corporaciones, uno describirá el problema y luego otro puede pensar en la solución paso a paso.
en realidad, un algoritmo es un número de estados sucesivos bien definidos.
entonces también podemos decir que el algoritmo es un conjunto de instrucciones para ejecutar el programa.
También daré el ejemplo de un algoritmo en el canal diario de televisión ‘Food Food’ donde Sanjeev Kapoor es un chef indio. él cocina la comida sabrosa y le da la solución paso a paso de recetas que es muy fácil de cocinar. Por lo tanto, el algoritmo es esencial para ejecutar el programa.

vas al cine y luego le cuentas a la historia lo que ves en él, es fácil y será genial que les cuentes a los demás cómo y cuál fue el argumento.

entonces puede ver, normalmente la gente puede entender los gráficos muy bien en lugar de llegar al código, por lo tanto, es necesario aprender algo.

ahora no necesita crearlo antes de terminar el código, también puede crearlos después de su codificación, por lo tanto, no es imp pero es bueno para él