Responder
Puedo pensar en algunos cursos que necesitarían Cálculo, directamente . He usado negrita para las disciplinas generalmente obligatorias para un título en Ciencias de la Computación y cursiva para las que generalmente son opcionales.
- Gráficos por computadora / Procesamiento de imágenes, y aquí también necesitará geometría analítica y álgebra lineal, ¡ en gran medida ! Si sigue este camino, es posible que también desee estudiar algo de Geometría diferencial (que tiene Cálculo multivariado como requisito previo mínimo). Pero necesitará Calculus aquí incluso para cosas muy básicas: intente buscar «Transformada de Fourier» o «Wavelets», por ejemplo; estas son dos herramientas fundamentales para las personas que trabajan con imágenes.
- Optimización , en su mayoría no lineal, donde el cálculo multivariante es el lenguaje fundamental utilizado para desarrollar todo. Pero incluso la optimización lineal se beneficia de Cálculo (el derivada de la función objetivo es absolutamente importante)
- Probabilidad / Estadística . Estos no pueden ser estudiados seriamente sin cálculo multivariante.
- Aprendizaje automático , que hace un uso intensivo de las estadísticas (y, en consecuencia, el cálculo multivariado)
- Ciencia de datos y temas relacionados, que también usan muchas estadísticas;
- Robótica , donde necesitará modelar los movimientos físicos de un robot, por lo que necesitará conocer las derivadas parciales y los gradientes.
- Matemáticas discretas y combinatoria ( ¡sí! , ¡es posible que necesite Cálculo para el conteo discreto!) – si se toma lo suficiente en serio la generación de funciones, necesitará saber cómo integrar y derivar ciertas fórmulas. Y eso es útil para Analysis of Algorithms (ver el libro de Sedgewick y Flajolet, «Analysis of Algorithms»). De manera similar, la serie de Taylor y el cálculo pueden ser útiles para resolver ciertos tipos de relaciones de recurrencia, que se utilizan en el análisis de algoritmos.
- Análisis de algoritmos , donde usa la noción de límite desde el principio (consulte la notación de Landau, «little $ o $ » – it «s definido usando un límite)
Puede haber otros – esto es algo que se me viene a la cabeza.
Y, además de eso, uno se beneficia indirectamente de un curso de Cálculo aprendiendo a razonar y explicar argumentos con rigor técnico. Esto es más valioso que los estudiantes normalmente pienso.
Por último, necesitará Cálculo para, bueno, interactuar con personas de otras ciencias exactas e ingeniería. Y no es raro que un informático necesite no solo hablar, sino también trabajar junto con un físico o un ingeniero.
Comentarios
- Quizás tuviste una experiencia diferente, pero encontré el cálculo bastante inútil para aprender a razonar y explicar argumentos rigurosamente. Fue enseñado por memorización y emparejamiento de patrones muy parecido al álgebra y geometría de la escuela secundaria.Por otro lado, era un requisito previo para varias clases superiores de matemáticas que sí enseñara estas habilidades, así que supongo que no fue ' t completamente inútil.
- Puedo relacionarme totalmente con el último punto (beneficios indirectos). Trabajando en la teoría de lenguajes de programación, rara vez usé el cálculo directamente. Quizás la aplicación más directa fue en modelos computacionales probabilísticos (por ejemplo, Plotkin & Jones probabilistic powerdomains). Sin embargo, mi curso de cálculo consistió principalmente en probar cosas, y esto fue muy, muy valioso. En mi humilde opinión, se necesitan uno o dos cursos de cálculo en cada programa serio de informática, junto con algunas matemáticas más (matemáticas discretas, lógica, álgebra lineal, análisis numérico, … y posiblemente categorías, topología, álgebra, …).
- Aquí ' s un ejemplo de cómo necesitaba el cálculo en gráficos por computadora: Las funciones de interpolación fluida serán básicamente todas de la forma
f(0) = 0
, f(1) = 1
, f'(0) = f'(1) = 0
, y puede agregar cualquier otra restricción que le interese, por ejemplo f'(0.5) = 1
. Hace un tiempo usé esto para derivar algunos polinomios de interpolación diferentes para suavizar imágenes.
- Probablemente, la robótica se pueda expandir a cualquier tipo de modelado de física (que supongo que también cubre CG, en términos de iluminación, así que ' s lo llaman modelado de física cinética). Esto incluye aceleración / velocidad, rebotes / resortes / deformación, controladores PID, acústica, gravitación …
- Yo ' defenderé el punto indirecto de esta manera: mejor Más que cualquier otra clase que hayan tomado antes, Cálculo les enseña a los estudiantes que no pueden ' simplemente contar la cantidad de problemas y estimar cuánto trabajo se involucrará.
Respuesta
Esto es algo oscuro, pero el cálculo aparece en tipos de datos algebraicos. Para cualquier tipo dado, el tipo de sus contextos de un agujero es el derivado de ese tipo. Vea esta excelente charla para obtener una descripción general de todo el tema. Esta es una terminología muy técnica, así que vamos a explicarlo.
Tipos de datos algebraicos
Es posible que haya encontrado tuplas que se denominan tipos de productos (si no, es porque son el producto cartesiano de dos tipos). Vamos a tomar esto literalmente y usar la notación:
$$ a * b $$
Para representar una tupla, donde $ a $ y $ b $ son ambos tipos. A continuación, es posible que te hayas encontrado tipos de suma estos son tipos que pueden ser de un tipo u otro (conocidos como uniones , variantes o como O tipo (un poco) en Haskell). También vamos a tomar este literalmente y usar la notación:
$$ a + b $$
Estos se nombran como están porque si un tipo $ a $ tiene $ N_a $ valores y un tipo $ b $ tiene valores $ N_b $ , luego el tipo $ a + b $ tiene valores $ N_a + N_b $ .
Estos tipos parecen expresiones algebraicas normales y podemos, de hecho, manipularlos como tales (hasta cierto punto).
Un ejemplo
En lenguajes funcionales, una definición común de una lista (dada en Haskell aquí) es esta:
data List a = Empty | Cons a List
Esto dice que una lista está vacía o es una tupla de un valor y otra lista. Transformando eso a notación algebraica, obtenemos:
$$ L (a) = 1 + a * L (a) $$
Donde $ 1 $ representa un tipo con un valor (también conocido como el tipo de unidad). Insertando repetidamente, podemos evaluar esto para obtener una definición de $ L (a) $ :
$$ L (a) = 1 + a * L (a) $$ $$ L (a) = 1 + a * (1 + a * L ( a)) $$ $$ L (a) = 1 + a + a ^ 2 * (1 + a * L (a)) $$ $$ L (a) = 1 + a + a ^ 2 + a ^ 3 * (1 + a * L (a)) $$ $$ L (a) = 1 + a + a ^ 2 + a ^ 3 + a ^ 4 + a ^ 5 … $$
(Donde $ x ^ n $ se entiende en el sentido de multiplicación repetida.)
Esta definición dice entonces que una lista es una unidad o una tupla de un elemento, o una tupla de dos elementos, o de tres, etc., que es la definición de una lista.
Contextos de un solo agujero
Ahora en a contextos de un solo agujero: un contexto de un agujero es lo que obtiene cuando «saca un valor» de un tipo de producto. Démosle un ejemplo:
Para una simple tupla de 2 que es homogénea, $ a ^ 2 $ , si sacamos un valor , solo obtenemos una tupla, $ a $ .Pero hay dos contextos de un orificio diferentes de este tipo: a saber, el primer y segundo valor de la tupla. Entonces, dado que es cualquiera de estos, podríamos escribir que es $ a + a $ , que es, por supuesto, $ 2 a $ . Aquí es donde entra en juego la diferenciación. Confirmemos esto con otro ejemplo:
Sacar un valor de una tupla de 3 da como resultado una tupla de 2, pero hay tres variantes diferentes:
$$ (a, a, \ _) $$ $$ (a, \ _, a) $$ $$ (\ _, a, a) $$
Dependiendo de dónde pongamos el agujero. Esto nos da $ 3a ^ 2 $ que de hecho es la derivada de $ a ^ 3 $ . Hay una prueba de esto en general aquí .
Para nuestro ejemplo final, usemos una lista:
Si tomamos nuestra expresión original para una lista:
$$ L (a) = 1 + a * L (a) $$
Podemos reorganizar para obtener:
$$ L (a) = \ frac {1} {1 – a} $$
(En la superficie, esto puede parecer una tontería, pero si tomas la serie taylor de este resultado obtendrás la definición que obtuvimos anteriormente.)
Ahora, si diferenciamos esto, y un resultado interesante:
$$ \ frac {\ Partical L (a)} {\ Partical a} = (L (a)) ^ 2 $$
Por tanto, una lista se ha convertido en un par de listas. De hecho, esto tiene sentido: ¡las dos listas producidas corresponden a los elementos arriba y abajo del agujero en la lista original!
Comentarios
Respuesta
Métodos numéricos. Existen problemas de cálculo engorrosos que son exclusivos de aplicaciones específicas y necesitan soluciones más rápidas de lo que un ser humano puede resolver prácticamente sin un programa. Alguien tiene que diseñar un algoritmo que calcule la solución. ¿No es eso lo único que separa a los programadores de los científicos?
Comentarios
Respuesta
Automatización – Similar a la robótica, automatización puede requerir la cuantificación de una gran cantidad de comportamiento humano.
Cálculos – Encontrar soluciones a las pruebas a menudo requiere cálculo.
Visualizaciones – El uso de algoritmos avanzados requiere cálculos como cos, sine, pi y e. Especialmente cuando estés calculando ting vectores, campos de colisión y mallado.
Análisis de riesgo y logística – Determinar si una tarea es posible, el riesgo involucrado y la posible tasa de éxito.
Seguridad : la mayor parte de la seguridad se puede realizar sin cálculo; sin embargo, muchas personas que quieren explicaciones lo prefieren en expresiones matemáticas.
AI – Conceptos básicos de la inteligencia artificial se puede utilizar sin cálculo; sin embargo, calcula comportamientos avanzados, inteligencia de enjambre / mentes de colmena y toma de decisiones basada en valores complejos.
Cálculos médicos : la visualización de la mayoría de los datos de salud requiere cálculos, como una lectura de EKG.
Ciencias & Ingeniería – Cuando trabajar con casi cualquier otra disciplina científica requiere cálculo: aeroespacial, astrología, biología, química o ingeniería.
Muchas personas en programación pueden seguir toda su carrera sin usando cálculo; sin embargo, puede resultar invaluable si está dispuesto a hacer el trabajo. Para mí, ha sido más eficaz en automatización, logística y visualización. Al identificar patrones específicos, simplemente puede ignorar el patrón, imitar el patrón o desarrollar un método superior todos juntos.
Comentarios
Respuesta
El hecho es que hay muy pocas posibilidades de que alguna vez uses el cálculo. Sin embargo, prácticamente todas las demás disciplinas científicas SÍ usan cálculo y usted está trabajando en una licenciatura en ciencias. Hay ciertas expectativas de lo que se supone que significa un título universitario en ciencias y una de esas cosas es que sabes cálculo. Incluso si nunca lo usará.
Está bien si le va mal en cálculo, pero asegúrese de esforzarse un poco en matemáticas discretas. Hay muchos problemas de programación del mundo real en los que entran en juego las matemáticas discretas y la ignorancia de sus principios puede avergonzarlo frente a otros programadores.
Comentarios
Respuesta
Respuesta
Algunos ejemplos más específicos:
- El cálculo se usa para derivar el regla delta , que es lo que permite que algunos tipos de redes neuronales «aprendan».
- El cálculo se puede utilizar para calcular la transformada de Fourier de una función oscilante, muy importante en análisis de señales.
- El cálculo se usa todo el tiempo en gráficos por computadora, que es un campo muy activo a medida que las personas descubren continuamente nuevas técnicas. Para obtener un ejemplo fundamental, consulte la ecuación de representación de Kajiya
- El cálculo es importante en el campo de la geometría computacional, investigue el modelado de curvas y superficies.
Respuesta
A estas otras excelentes respuestas agrego este punto: rigor en las pruebas .
Al crear casos de prueba para algunas aplicaciones, he tenido que hacer uso del cálculo para predecir los tiempos de ejecución esperados, los tamaños de memoria, y elija los parámetros óptimos al ajustar las estructuras de datos. Esto incluye comprender el error de redondeo esperado, etc.
Si bien las estadísticas se mencionan en otras respuestas, me gustaría mencionar específicamente algoritmos Monte-carlo , como algoritmos de optimización y algunos algoritmos de transmisión frugal que se basan en principios matemáticos que incluyen cálculo.
Las industrias específicas en las que he trabajado donde se requería cálculo incluyen:
-
Finanzas (creación de una plataforma comercial)
-
Seguros (integración numérica de pólizas de seguros en escenarios hipotéticos para calcular las pérdidas esperadas de las pólizas)
-
Logística (optimización de la consolidación de rutas de transporte)
-
Procesamiento de señales
Respuesta
Cálculo – la parte integral – se usa directamente en CS como base para pensar en la suma. Si trabaja en cualquier parte de la sección de matemáticas concretas de Knuth sobre suma, reconocerá rápidamente las convenciones comunes al cálculo: comprender algunos de los casos continuos le brinda herramientas para considerar lo discreto.
Muchos de los usos de su estudio de informática involucran sistemas de programación que monitorean el cambio, o en algunos casos, intentan predecir el futuro. Las matemáticas en torno a esos sistemas se basan en ecuaciones diferenciales y álgebra lineal, y las ecuaciones diferenciales son … cálculo. Hay maestros como Gibert Strang, que aboga por avanzar más rápidamente en la parte de las ecuaciones diferenciales, pero sigue siendo un subconjunto del cálculo. Cuando el cambio depende del cambio en cualquier sistema, comienza a ser inestable (y estable) en formas que no son intuitivas y muy bien entendido. Para comprender por qué su sistema lineal sensible se comporta de manera no lineal, necesita las herramientas de cálculo o debe reinventarlas para su espacio de problemas.
Y finalmente, CS a menudo requiere leer y comprender el trabajo de los demás, y el cálculo es la primera exposición a una gran cantidad de vocabulario, convenciones e historia compartidos.
Comentarios