(términos en color azul en el texto)
Algoritmo de ordenamiento por inserción: El algoritmo de ordenamiento por inserción tiene un tiempo de ejecución que crece de manera cuadrática con respecto al tamaño de su entrada, n, en el peor caso (como cuando el orden de la lista está totalmente invertido). Sin embargo, para ciertas entradas (cuando la lista está ordenada), su tiempo de ejecución es lineal. En general, al analizar un algoritmo se considera su tiempo de ejecución en el peor caso, ya que éste muestra el tiempo máximo que emplea el algoritmo en resolver el problema tomando en cuenta todas sus entradas posibles (en algunas le tomará más tiempo y en otras menos).
Algoritmo recursivo: Es un algoritmo que se define en términos de sí mismo. Dice algo así como: “para resolver el problema de tamaño n utiliza soluciones al problema de menor tamaño”. De manera similar, una definición recursiva es aquella que está dada en términos de sí misma. Dice cómo obtener conceptos nuevos, usando el mismo concepto que desea describir. Al igual que con los algoritmos, para que no sea una definición circular, es necesario que esté planteada en términos de una versión más pequeña de ella misma.
Complejidad polinomial: Cuando el tiempo empleado para resolver un problema depende de alguna potencia del tamaño de la entrada, se dice que el problema es de complejidad po- linomial. Al conjunto de todos los problemas de complejidad polinomial los computólogos lo bautizaron como P.
Conjunto de entradas de un algoritmo: Un algoritmo tiene un conjunto definido de entradas válidas, de distintos tamaños. Cada vez que se ejecuta el algoritmo, lo hace con un elemento de este conjunto. Cada elemento del conjunto de entradas tiene un tamaño. Mientras más grande sea la entrada, más recursos requerirá el algoritmo para producir una salida.
Curva: En matemáticas, el concepto de curva intenta capturar la idea intuitiva de un objeto continuo y unidimensional. En el estricto sentido, aunque esto ya no parezca obvio, una línea recta también es una curva.
Eficiencia de un algoritmo: Se puede evaluar qué tan bueno o eficiente es un algoritmo desde muchas perspectivas. Por ejemplo, cuánto tiempo emplea para resolver una tarea, cuánta memoria requiere, qué tan largo y difícil de entender es, etc. La complejidad de tiempo del algoritmo se define como el número de instrucciones a ejecutar, como función del tama
ño de la entrada.
Ethernet: Es una familia de tecnologías de redes de computadoras basada en paquetes de datos de tamaño fijo, utilizada para conectar redes de área local. El nombre se tomó del concepto físico de éter, que se utiliza para describir un medio para transmisión de luz. Ethernet, en uso desde 1990, es el método de conexión más común. Las redes inalámbricas WiFi, hoy día muy comunes en casas, aeropuertos y cientos de lugares públicos, son una extensión de Ethernet.
Fuente: Es un conjunto de imágenes que representan los caracteres de un estilo tipográfico particular. La tipografía es el arte y la técnica del diseño, manejo y selección de tipos.
Función lineal: Una función f(n) es lineal si es de la forma cn, para alguna constante c, quizás más otra constante. Por ejemplo, f(n) = 3n – 5.
Grabación digital: Una grabación digital convierte la señal analógica del sonido en un flujo de números discretos que representan los cambios en la presión del aire a través del tiempo.
Gráfica: Es un conjunto de puntos llamados vértices, algunos de los cuales están conectados por líneas llamadas aristas.
Imagen: En términos formales, una imagen se puede definir como una función bidimensional f(x,y), donde x y y son las coordenadas cartesianas y f la amplitud de la intensidad o nivel de gris de la imagen en ese punto de coordenadas. Cuando los valores de las coordenadas y el valor de la amplitud son todos finitos, es decir, poseen cantidades discretas, se trata de una imagen digital.
Modelo de cómputo: El modelo de cómputo especifica las operaciones que la máquina puede ejecutar para resolver un problema, así como el costo de ejecutar cada operación.
Módulo: Es un componente autocontenido de un sistema, que entre otras cosas tiene una interfaz bien definida acerca de cómo interactúa con otros módulos. En programación, dise
ñar y programar o construir un módulo puede ser una tarea compleja; sin embargo, una vez que un módulo existe, fácilmente puede conectarse o desconectarse del sistema.
Problema: Un problema consiste en la especificación de un conjunto de posibles entradas, y una relación que define las posibles salidas para cada entrada.
Rendering: Es el proceso mediante el cual se genera una imagen a partir de un modelo utilizando programas de cómputo. El modelo es, como aquí se mostró, la descripción de un objeto tridimensional.
Robot de servicio: Son sistemas de software y hardware que consisten en una serie de dispositivos electrónicos y electromecánicos que se ubican en ambientes dinámicos y complejos. Todas estas características les dan una cierta autonomía, que les permite tomar decisiones a partir de una representación interna del mundo. Así, los robots deben tener dos capacidades básicas: adaptabilidad, para reaccionar en forma oportuna y apropiada a sucesos imprevistos, modificadores de
su medio, y determinación para escoger las acciones apro
piadas en el logro de sus objetivos.
Subrutina: Es la porción de un algoritmo que realiza una tarea específica y es relativamente independiente del resto del algoritmo. Dependiendo del lenguaje de programación y otras sutilezas, se puede llamar procedimiento, función o método. El uso de subrutinas dentro de un algoritmo o programa tiene muchas ventajas, como reducir la duplicación de secciones que hacen la misma tarea, reutilizar las subrutinas en otros algoritmos, descomponer algoritmos complejos en partes más simples y facilitar la comprensión y análisis del algoritmo.
Tamaño de palabra: Es el número de bits utilizado para representar una onda de audio única. El tamaño de palabra afecta directamente la distorsión. En la actualidad se utiliza como límite práctico un tamaño de palabra de 24 bits, ya que su relación señalaruido excede el de la mayoría de los circuitos analógicos, que son utilizados en (al menos) dos puntos en el proceso de grabación y reproducción del sonido.
Tipos de búsqueda: Se han evaluado distintas técnicas de búsquedas básicas en inteligencia artificial. Por ejemplo, para generar (y resolver) el problema de laberintos perfectos, en el capítulo sobre programación se utilizó la búsqueda a profundidad. Ésta y muchas otras desarrolladas a lo largo de los años, permiten seleccionar la ruta más adecuada entre conjuntos muy grandes de opciones. Estas búsquedas se dividen en dos: búsquedas ciegas o de fuerza bruta, como la búsqueda a profundidad o amplitud, y las búsquedas heurísticas: escalada simple, máxima pendiente, minimax, alfabeta, etcétera.
Tipo de dato abstracto: Un tipo de dato abstracto o adt (por sus siglas en inglés) especifica un conjunto de datos y las operaciones para manipularlos. Estos tipos de datos son abstractos por su independencia de una implementación particular: no importa cómo se lleven a cabo las operaciones, sólo qué operaciones pueden hacerse y cuáles son sus efectos.