Funciones

Nivel FundamentalDificultad ★★★★★Concepto⌖ Ver en el mapa

¿Qué es?

Una regla ff que asigna a cada entrada xx de un conjunto AA exactamente una salida f(x)f(x) de un conjunto BB. El cálculo estudia cómo cambian las salidas cuando cambian las entradas; computar es, literalmente, evaluar funciones.

¿Por qué existe?

Para hablar de dependencia: la posición de un planeta depende del tiempo, el coste de un algoritmo del tamaño de la entrada, el error de una red neuronal de sus pesos. Una función empaqueta esa dependencia en un único objeto que se puede sumar, componer, derivar e integrar.

Intuición

Piensa en una máquina: entra xx, sale f(x)f(x), y siempre la misma salida para la misma entrada. Su gráfica {(x,f(x))}\{(x, f(x))\} es una curva en el plano que toda recta vertical corta como mucho una vez. Casi todo el cálculo consiste en leer propiedades geométricas de esa curva (pendiente, área, curvatura) a partir de la fórmula.

Definición formal

Una función f:A→Bf : A \to B es un subconjunto G⊂A×BG \subset A \times B tal que para cada x∈Ax \in A hay exactamente un y∈By \in B con (x,y)∈G(x, y) \in G; se escribe y=f(x)y = f(x). AA es el dominio, BB el codominio y f(A)={f(x):x∈A}f(A) = \{f(x) : x \in A\} el recorrido (imagen).

Fórmulas

f:A→B,x↦f(x)f : A \to B, \qquad x \mapsto f(x)
graph⁡(f)={(x,f(x)):x∈A}\operatorname{graph}(f) = \{(x, f(x)) : x \in A\}

Ejemplo

f(x)=x−1f(x) = \sqrt{x - 1} tiene dominio [1,∞)[1, \infty) y recorrido [0,∞)[0, \infty). La función softmax del aprendizaje automático, softmax⁡(z)i=ezi/∑jezj\operatorname{softmax}(z)_i = e^{z_i} / \sum_j e^{z_j}, es una función ℝn→ℝn\R^n \to \R^n cuyo recorrido es el conjunto de vectores de probabilidad con entradas positivas.

¿Por qué importa?

Una red neuronal entrenada es una función: millones de parámetros que fijan una f:ℝn→ℝmf : \R^n \to \R^m concreta. Las funciones puras (misma entrada, misma salida, sin efectos secundarios) son además la unidad de razonamiento de la programación funcional y la razón de que cachear y paralelizar sea seguro.

Aplicaciones en informática

  • Computación simbólica (CAS)★★★★★frecuenteComputación científica y algoritmos

    Un CAS representa funciones como árboles de expresiones que se pueden simplificar, derivar e integrar.

Dónde aparece en IA

  • Redes neuronales★★★★★fundamentalIA y machine learning

    Una red es una función parametrizada fθ:ℝn→ℝmf_\theta : \R^n \to \R^m; entrenar es elegir θ\theta.

¿Dónde se utiliza?

Temas de informática a los que se llega desde aquí, con la cadena de ideas que lleva a ellos:

Qué depende de él

Ejercicios

1Cálculo directo

Halla el dominio y el recorrido de f(x)=ln⁡(4−x2)f(x) = \ln(4 - x^2).

Solución

Dominio: 4−x2>0  ⟺  x∈(−2,2)4 - x^2 > 0 \iff x \in (-2, 2). Ahí 4−x2∈(0,4]4 - x^2 \in (0, 4], así que el recorrido es (−∞,ln⁡4](-\infty, \ln 4].

2Informática

¿Es una función que lee el reloj del sistema una función en sentido matemático? ¿Qué le falta?

Solución

No: la misma entrada (vacía) da salidas distintas. Se convierte en función matemática si el tiempo pasa a ser una entrada explícita, f(t)f(t), que es justo lo que hace testeable el código.

↑ ↓ para navegar · ↵ · Esc