Lista de algoritmos
keyboard_arrow_down
Contenido La siguiente es una lista de algoritmos junto con descripciones de una línea para cada uno.
Algoritmos combinatorios
Algoritmos combinatorios generales
- Algoritmo de Brent: encuentra un ciclo en iteraciones de valor de función usando solo dos iteradores
- Algoritmo de búsqueda de ciclos de Floyd: encuentra un ciclo en iteraciones de valores de función
- Algoritmo de Gale-Shapley: resuelve el problema del matrimonio estable
- Generadores de números pseudoaleatorios (distribuidos uniformemente; consulte también la Lista de generadores de números pseudoaleatorios para otros PRNG con diversos grados de convergencia y calidad estadística variable):
- Generador BELLOTA
- Blum Blum Shub
- Generador de Fibonacci rezagado
- Generador lineal congruente
- Tornado de Mersenne
Algoritmos gráficos
- Algoritmo de coloración: Algoritmo de coloración de gráficos.
- Algoritmo de Hopcroft-Karp: convierte un gráfico bipartito en una coincidencia de cardinalidad máxima
- Algoritmo húngaro: algoritmo para encontrar una combinación perfecta
- Codificación de Prüfer: conversión entre un árbol etiquetado y su secuencia de Prüfer
- Algoritmo de ancestros comunes más bajos fuera de línea de Tarjan: calcula los ancestros comunes más bajos para pares de nodos en un árbol
- Clasificación topológica: encuentra el orden lineal de los nodos (por ejemplo, trabajos) en función de sus dependencias.
Dibujo gráfico
- Algoritmos basados en la fuerza (también conocidos como algoritmos dirigidos por la fuerza o algoritmos basados en resortes)
- Diseño espectral
Teoría de redes
- Análisis de red
- Análisis de enlaces
- Algoritmo de Girvan-Newman: detección de comunidades en sistemas complejos
- Análisis de enlaces web
- Búsqueda de temas inducidos por hipervínculos (HITS) (también conocidos como centros y autoridades)
- Rango de página
- TrustRank
- Análisis de enlaces
- Redes de flujo
- Algoritmo de Dinic: es un algoritmo fuertemente polinomial para calcular el flujo máximo en una red de flujo.
- Algoritmo de Edmonds-Karp: implementación de Ford-Fulkerson
- Algoritmo de Ford-Fulkerson: calcula el flujo máximo en un gráfico
- Algoritmo de Karger: un método de Monte Carlo para calcular el corte mínimo de un gráfico conectado
- Algoritmo push-relabel: calcula un flujo máximo en un gráfico
Enrutamiento para gráficos
- Algoritmo de Edmonds (también conocido como algoritmo de Chu-Liu/Edmonds): encuentre ramificaciones máximas o mínimas
- Árbol de expansión mínimo euclidiano: algoritmos para calcular el árbol de expansión mínimo de un conjunto de puntos en el plano
- Problema del camino más largo: encuentre un camino simple de longitud máxima en un gráfico dado
- Árbol de expansión mínimo
- Algoritmo de Borůvka
- Algoritmo de Kruskal
- algoritmo de Prim
- Algoritmo de eliminación inversa
- Conmutador de expansión mínima sin bloqueo, por ejemplo, para una central telefónica
- Problema del camino más corto
- Algoritmo Bellman-Ford: calcula las rutas más cortas en un gráfico ponderado (donde algunos de los pesos de los bordes pueden ser negativos)
- Algoritmo de Dijkstra: calcula las rutas más cortas en un gráfico con pesos de borde no negativos
- Algoritmo de Floyd-Warshall: resuelve el problema del camino más corto de todos los pares en un gráfico dirigido y ponderado
- Algoritmo de Johnson: algoritmo de ruta más corta de todos los pares en un gráfico dirigido ponderado disperso
- Problema de cierre transitivo: encuentre el cierre transitivo de una relación binaria dada
- Problema del vendedor ambulante
- Algoritmo de Christofides
- Algoritmo de vecino más cercano
- Regla de Warnsdorff: un método heurístico para resolver el problema del recorrido del caballero.
Búsqueda gráfica
- A*: caso especial de búsqueda mejor primero que utiliza heurística para mejorar la velocidad
- B*: un algoritmo de búsqueda de gráfico mejor primero que encuentra la ruta de menor costo desde un nodo inicial dado a cualquier nodo objetivo (de uno o más objetivos posibles)
- Backtracking: abandona soluciones parciales cuando se encuentra que no satisfacen una solución completa
- Beam search: es un algoritmo de búsqueda heurística que es una optimización de la mejor búsqueda primero que reduce su requisito de memoria
- Búsqueda de pila de haces: integra el retroceso con la búsqueda de haces
- Mejor búsqueda primero: atraviesa un gráfico en el orden de importancia probable utilizando una cola de prioridad
- Búsqueda bidireccional: encuentre la ruta más corta desde un vértice inicial hasta un vértice objetivo en un gráfico dirigido
- Búsqueda primero en amplitud: atraviesa un gráfico nivel por nivel
- Búsqueda de fuerza bruta: un método de búsqueda exhaustivo y confiable, pero computacionalmente ineficiente en muchas aplicaciones.
- D*: un algoritmo de búsqueda heurística incremental
- Búsqueda en profundidad: atraviesa un gráfico rama por rama
- Algoritmo de Dijkstra: un caso especial de A* para el que no se utiliza ninguna función heurística
- Solucionador general de problemas: un algoritmo seminal de prueba de teoremas destinado a funcionar como una máquina universal de resolución de problemas.
- Búsqueda iterativa de profundización primero en profundidad (IDDFS): una estrategia de búsqueda en el espacio de estado
- Búsqueda de punto de salto: una optimización de A* que puede reducir el tiempo de cálculo en un orden de magnitud utilizando heurísticas adicionales.
- Búsqueda lexicográfica en amplitud (también conocida como Lex-BFS): un algoritmo de tiempo lineal para ordenar los vértices de un gráfico
- Búsqueda de costo uniforme: una búsqueda de árbol que encuentra la ruta de menor costo donde los costos varían
- SSS*: búsqueda en el espacio de estados que atraviesa un árbol de juegos de la mejor manera similar a la del algoritmo de búsqueda A*
- F*: algoritmo especial para fusionar las dos matrices
Subgrafos
- camarillas
- Algoritmo de Bron-Kerbosch: una técnica para encontrar camarillas máximas en un gráfico no dirigido
- Algoritmo de camarilla máxima MaxCliqueDyn: encuentre una camarilla máxima en un gráfico no dirigido
- Componentes fuertemente conectados
- Algoritmo de componentes fuertes basado en rutas
- Algoritmo de Kosaraju
- Algoritmo de componentes fuertemente conectados de Tarjan
- Problema de isomorfismo de subgrafo
Algoritmos de secuencia
Coincidencia de secuencia aproximada
- Algoritmo bitap: algoritmo difuso que determina si las cadenas son aproximadamente iguales.
- Algoritmos fonéticos
- Daitch-Mokotoff Soundex: un refinamiento de Soundex que permite la combinación de apellidos eslavos y germánicos
- Metaphone doble: una mejora de Metaphone
- Enfoque de clasificación de coincidencias: un algoritmo fonético desarrollado por Western Airlines
- Metáfono: un algoritmo para indexar palabras por su sonido, cuando se pronuncia en inglés
- NYSIIS: algoritmo fonético, mejora Soundex
- Soundex: un algoritmo fonético para indexar nombres por sonido, como se pronuncia en inglés
- Métricas de cadena: calcula una puntuación de similitud o diferencia (distancia) entre dos pares de cadenas de texto
- Distancia Damerau-Levenshtein: calcula una medida de distancia entre dos cadenas, mejora la distancia de Levenshtein
- Coeficiente de Dice (también conocido como coeficiente de Dice): una medida de similitud relacionada con el índice de Jaccard
- Distancia de Hamming: suma del número de posiciones que son diferentes
- Distancia Jaro-Winkler: es una medida de similitud entre dos cadenas
- Distancia de edición de Levenshtein: calcula una métrica para la cantidad de diferencia entre dos secuencias
- Búsqueda de trigramas: busca texto cuando no se conoce con precisión la sintaxis o la ortografía exactas del objeto de destino
Algoritmos de selección
- Selección rápida
- Introseleccionar
Búsqueda de secuencia
- Búsqueda lineal: localiza un elemento en una secuencia desordenada
- Algoritmo de selección: encuentra el k -ésimo elemento más grande en una secuencia
- Búsqueda ternaria: una técnica para encontrar el mínimo o el máximo de una función que es estrictamente creciente y luego estrictamente decreciente o viceversa.
- listas ordenadas
- Algoritmo de búsqueda binaria: localiza un elemento en una secuencia ordenada
- Técnica de búsqueda de Fibonacci: busca una secuencia ordenada utilizando un algoritmo de divide y vencerás que reduce las ubicaciones posibles con la ayuda de los números de Fibonacci
- Búsqueda de salto (o búsqueda de bloque): búsqueda lineal en un subconjunto más pequeño de la secuencia
- Búsqueda predictiva: búsqueda de tipo binario que tiene en cuenta la magnitud del término de búsqueda frente a los valores alto y bajo de la búsqueda. A veces se llama búsqueda de diccionario o búsqueda interpolada.
- Búsqueda binaria uniforme: una optimización del clásico algoritmo de búsqueda binaria
Fusión de secuencias
- Algoritmo de fusión simple
- algoritmo de fusión k-way
- Unión (fusión, con elementos en la salida no repetidos)
Permutaciones de secuencia
- Mezcla de Fisher-Yates (también conocida como la combinación de Knuth): mezcla aleatoriamente un conjunto finito
- Algoritmo de Schensted: construye un par de cuadros de Young a partir de una permutación
- Algoritmo Steinhaus-Johnson-Trotter (también conocido como algoritmo Johnson-Trotter): genera permutaciones transponiendo elementos
- Algoritmo de generación de permutación de Heap: elementos de intercambio para generar la siguiente permutación
Combinaciones de secuencias
Alineación de secuencia
- Deformación dinámica del tiempo: mida la similitud entre dos secuencias que pueden variar en tiempo o velocidad
- Algoritmo de Hirschberg: encuentra la alineación de secuencia de menor costo entre dos secuencias, medida por su distancia de Levenshtein
- Algoritmo de Needleman-Wunsch: encuentre la alineación global entre dos secuencias
- Algoritmo de Smith-Waterman: encuentre la alineación de la secuencia local
Clasificación de secuencias
- Tipos de intercambio
- Ordenación de burbujas: para cada par de índices, intercambie los elementos si están fuera de servicio
- Tipo de coctelera o tipo de burbuja bidireccional, un tipo de burbuja que atraviesa la lista alternativamente de adelante hacia atrás y de atrás hacia adelante
- Tipo de peine
- Tipo de gnomo
- orden par-impar
- Quicksort: divide la lista en dos, con todos los elementos de la primera lista antes que todos los elementos de la segunda lista.; luego ordene las dos listas. A menudo, el método de elección
- Humorístico o ineficaz
- Bogosort
- Tipo de títere
- Híbrido
- Flashsort
- Introsort: comience con quicksort y cambie a heapsort cuando la profundidad de recursión exceda un cierto nivel
- Timsort: algoritmo adaptativo derivado de la ordenación por fusión y la ordenación por inserción. Usado en Python 2.3 y versiones posteriores, y Java SE 7.
- Ordenaciones por inserción
- Clasificación por inserción: determine dónde pertenece el elemento actual en la lista de elementos ordenados e insértelo allí
- Clasificación de biblioteca
- clasificación de paciencia
- Shell sort: un intento de mejorar la ordenación por inserción
- Clasificación de árbol (clasificación de árbol binario): cree un árbol binario, luego recorralo para crear una lista ordenada
- Clasificación de ciclo: en el lugar con un número teóricamente óptimo de escrituras
- Fusionar ordenaciones
- Clasificación por combinación: ordene la primera y la segunda mitad de la lista por separado, luego combine las listas ordenadas
- Clasificación lenta
- Clasificación de hebras
- Ordenaciones sin comparación
- Clasificación de cuentas
- Clasificación de cubeta
- Burstsort: construya un trie de ráfaga compacto y eficiente en caché y luego recórralo para crear una salida ordenada
- clasificación de conteo
- Tipo de casillero
- Tipo de cartero: variante del tipo de cubo que aprovecha la estructura jerárquica
- Radix sort: ordena cadenas letra por letra
- Clases de selección
- Heapsort: convierta la lista en un montón, siga eliminando el elemento más grande del montón y agregándolo al final de la lista
- Clasificación de selección: elija el más pequeño de los elementos restantes, agréguelo al final de la lista ordenada
- Clasificación suave
- Otro
- Clasificador bitónico
- clasificación de panqueques
- Tipo de espagueti
- clasificación topológica
- clase desconocida
- Clasificación de muestras
Subsecuencias
- Algoritmo de Kadane: encuentra el subarreglo máximo de cualquier tamaño
- Problema de la subsecuencia común más larga: encuentre la subsecuencia más larga común a todas las secuencias en un conjunto de secuencias
- Problema de subsecuencia creciente más larga: encuentre la subsecuencia creciente más larga de una secuencia dada
- Algoritmo de Ruzzo-Tompa: encuentre todas las subsecuencias de puntuación máxima, contiguas y que no se superpongan en una secuencia de números reales
- Problema de la supersecuencia común más corta: encuentra la supersecuencia más corta que contiene dos o más secuencias como subsecuencias
Subcadenas
- Problema de la subcadena común más larga: busque la cadena (o cadenas) más larga que sea una subcadena (o sean subcadenas) de dos o más cadenas
- Búsqueda de subcadena
- Algoritmo de coincidencia de cadenas Aho-Corasick: algoritmo basado en pruebas para encontrar todas las coincidencias de subcadenas con cualquiera de un conjunto finito de cadenas
- Algoritmo de búsqueda de cadenas de Boyer-Moore: algoritmo lineal amortizado (sublineal en la mayoría de los casos) para la búsqueda de subcadenas
- Algoritmo de Boyer-Moore-Horspool: simplificación de Boyer-Moore
- Algoritmo Knuth-Morris-Pratt: búsqueda de subcadenas que evita el reexamen de caracteres coincidentes
- Algoritmo de búsqueda de cadenas Rabin-Karp: busca múltiples patrones de manera eficiente
- Algoritmo de coincidencia de cadenas Zhu-Takaoka: una variante de Boyer-Moore
- Algoritmo de Ukkonen: un algoritmo en línea de tiempo lineal para construir árboles de sufijos
- Comodines coincidentes
- Wildmat de Rich Salz: un algoritmo recursivo de código abierto ampliamente utilizado
- Algoritmo de comodines coincidentes de Krauss: un algoritmo no recursivo de código abierto
Matemáticas computacionales
Álgebra abstracta
- Chien search: un algoritmo recursivo para determinar raíces de polinomios definidos sobre un campo finito
- Algoritmo de Schreier-Sims: cálculo de un conjunto generador base y fuerte (BSGS) de un grupo de permutación
- Algoritmo de Todd-Coxeter: Procedimiento para generar clases laterales.
álgebra informática
- Algoritmo de Buchberger: encuentra una base de Gröbner
- Algoritmo de Cantor-Zassenhaus: factorizar polinomios sobre campos finitos
- Algoritmo Faugère F4: encuentra una base de Gröbner (también menciona el algoritmo F5)
- Algoritmo de Gosper: encuentre sumas de términos hipergeométricos que sean en sí mismos términos hipergeométricos
- Algoritmo de finalización de Knuth-Bendix: para reescribir sistemas de reglas
- Algoritmo de división multivariante: para polinomios en varios indeterminados
- Algoritmo canguro de Pollard (también conocido como algoritmo lambda de Pollard): un algoritmo para resolver el problema del logaritmo discreto
- División larga de polinomios: un algoritmo para dividir un polinomio por otro polinomio del mismo grado o menor
- Algoritmo de Risch: un algoritmo para la operación de cálculo de integración indefinida (es decir, encontrar antiderivadas)
Geometría
- Problema del par más cercano: encuentre el par de puntos (de un conjunto de puntos) con la menor distancia entre ellos
- Algoritmos de detección de colisiones: verifica la colisión o intersección de dos sólidos dados
- Algoritmo de cono: identificar puntos de superficie
- Algoritmos de casco convexo: determinación del casco convexo de un conjunto de puntos
- Escaneo graham
- Casco rápido
- Algoritmo de envoltura de regalos o marcha de Jarvis
- algoritmo de Chan
- Algoritmo de Kirkpatrick-Seidel
- Transformada de distancia euclidiana: calcula la distancia entre cada punto de una cuadrícula y una colección discreta de puntos.
- Hashing geométrico: un método para encontrar de manera eficiente objetos bidimensionales representados por puntos discretos que han sufrido una transformación afín
- Algoritmo de distancia de Gilbert-Johnson-Keerthi: determinación de la distancia más pequeña entre dos formas convexas.
- Algoritmo Jump-and-Walk: un algoritmo para la ubicación de puntos en triangulaciones
- Suavizado laplaciano: un algoritmo para suavizar una malla poligonal
- Intersección de segmento de línea: encontrar si las líneas se cruzan, generalmente con un algoritmo de línea de barrido
- Algoritmo de Bentley-Ottmann
- Algoritmo de Shamos-Hoey
- Algoritmos de cuadro delimitador mínimo: encuentre el cuadro delimitador mínimo orientado que encierra un conjunto de puntos
- Búsqueda de vecino más cercano: encuentre el punto o puntos más cercanos a un punto de consulta
- Punto en algoritmos de polígono: prueba si un punto dado se encuentra dentro de un polígono dado
- Algoritmos de registro de conjuntos de puntos: encuentra la transformación entre dos conjuntos de puntos para alinearlos de manera óptima.
- Calibradores giratorios: determinan todos los pares de puntos antípodas y vértices en un polígono convexo o casco convexo.
- Algoritmo de cordón: determina el área de un polígono cuyos vértices están descritos por pares ordenados en el plano
- Triangulación
- triangulación de Delaunay
- Algoritmo de Ruppert (también conocido como refinamiento de Delaunay): cree triangulaciones de Delaunay de calidad
- Segundo algoritmo de Chew: crear triangulaciones de Delaunay con restricciones de calidad
- Triángulos de marcha: reconstruya la geometría de la superficie bidimensional a partir de una nube de puntos no estructurada
- Algoritmos de triangulación de polígonos: descomponer un polígono en un conjunto de triángulos
- Diagramas de Voronoi, dual geométrico de triangulación de Delaunay
- Algoritmo de Bowyer-Watson: cree un diagrama de Voronoi en cualquier número de dimensiones
- Algoritmo de Fortune: crea un diagrama de voronoi
- Cuasitriangulación
- triangulación de Delaunay
Algoritmos de teoría de números
- Algoritmo GCD binario: forma eficiente de calcular GCD.
- Algoritmo de multiplicación de Booth
- Método Chakravala: un algoritmo cíclico para resolver ecuaciones cuadráticas indeterminadas, incluida la ecuación de Pell
- Logaritmo discreto:
- Paso de bebé paso de gigante
- Algoritmo de cálculo de índice
- Algoritmo rho de Pollard para logaritmos
- Algoritmo de Pohlig-Hellman
- Algoritmo euclidiano: calcula el máximo común divisor
- Algoritmo euclidiano extendido: también resuelve la ecuación ax + by = c.
- Factorización de enteros: descomponer un número entero en sus factores primos
- Congruencia de cuadrados
- algoritmo de dixon
- método de factorización de Fermat
- Tamiz de campo numérico general
- Factorización de la curva elíptica de Lenstra
- Algoritmo p − 1 de Pollard
- Algoritmo rho de Pollard
- algoritmo de factorización prima
- tamiz cuadrático
- Algoritmo de Shor
- Tamiz de campo numérico especial
- división de prueba
- Algoritmos de multiplicación: multiplicación rápida de dos números
- Algoritmo Karatsuba
- Algoritmo de Schönhage-Strassen
- Multiplicación de Toom-Cook
- Raíz cuadrada modular: cálculo de raíces cuadradas módulo a número primo
- Algoritmo de Tonelli-Shanks
- Algoritmo de Cipolla
- Algoritmo de búsqueda de raíces de Berlekamp
- Algoritmo de Odlyzko-Schönhage: calcula ceros no triviales de la función zeta de Riemann
- Algoritmo Lenstra-Lenstra-Lovász (también conocido como algoritmo LLL): encuentre una base reticular corta, casi ortogonal en tiempo polinomial
- Pruebas de primalidad: determinar si un número dado es primo
- Prueba de primalidad AKS
- Prueba de primalidad de Baillie-PSW
- Prueba de primalidad de Fermat
- Prueba de primalidad de Lucas
- Prueba de primalidad de Miller-Rabin
- Tamiz de Atkin
- Tamiz de Eratóstenes
- Tamiz de Sundaram
Algoritmos numéricos
Resolución de ecuaciones diferenciales
- método de Euler
- Método de Euler hacia atrás
- Regla trapezoidal (ecuaciones diferenciales)
- Métodos lineales de varios pasos
- Métodos de Runge-Kutta
- Integración de Euler
- Métodos de redes múltiples (métodos MG), un grupo de algoritmos para resolver ecuaciones diferenciales utilizando una jerarquía de discretizaciones.
- Ecuación diferencial parcial:
- Método de diferencias finitas
- Método de Crank-Nicolson para ecuaciones de difusión
- Lax-Wendroff para ecuaciones de onda
- Integración de Verlet (pronunciación francesa: [ vɛʁˈlɛ]): integrar las ecuaciones de movimiento de Newton
Funciones elementales y especiales.
- Cálculo de π:
- Algoritmo de Borwein: un algoritmo para calcular el valor de 1/π
- Algoritmo de Gauss-Legendre: calcula los dígitos de pi
- Algoritmo de Chudnovsky: un método rápido para calcular los dígitos de π
- Fórmula de Bailey-Borwein-Plouffe: (fórmula BBP) un algoritmo de espiga para el cálculo del enésimo dígito binario de π
- Algoritmos de división: para calcular el cociente y/o resto de dos números
- División larga
- Restaurando la división
- División no restauradora
- división SRT
- División de Newton-Raphson: utiliza el método de Newton para encontrar el recíproco de D y multiplica ese recíproco por N para encontrar el cociente final Q.
- división Goldschmidt
- Funciones hiperbólicas y trigonométricas:
- Algoritmo BKM: calcula funciones elementales usando una tabla de logaritmos
- CORDIC: calcula funciones hiperbólicas y trigonométricas utilizando una tabla de arcotangentes
- Exponenciación:
- Exponenciación de cadena de suma: exponenciación por potencias enteras positivas que requiere un número mínimo de multiplicaciones
- Exponenciación por elevación al cuadrado: un algoritmo utilizado para el cálculo rápido de grandes potencias enteras de un número
- Reducción de Montgomery: un algoritmo que permite que la aritmética modular se realice de manera eficiente cuando el módulo es grande
- Algoritmos de multiplicación: multiplicación rápida de dos números
- Algoritmo de multiplicación de Booth: un algoritmo de multiplicación que multiplica dos números binarios con signo en notación de complemento a dos
- Algoritmo de Fürer: un algoritmo de multiplicación de enteros para números muy grandes que posee una complejidad asintótica muy baja
- Algoritmo de Karatsuba: un procedimiento eficiente para multiplicar números grandes
- Algoritmo de Schönhage-Strassen: un algoritmo de multiplicación asintóticamente rápido para números enteros grandes
- Multiplicación Toom-Cook: (Toom3) un algoritmo de multiplicación para números enteros grandes
- Algoritmos del inverso multiplicativo: para calcular el inverso multiplicativo (recíproco) de un número.
- método de newton
- Funciones de redondeo: las formas clásicas de redondear números
- Algoritmo Spigot: una forma de calcular el valor de una constante matemática sin conocer los dígitos precedentes
- Raíz cuadrada y enésima de un número:
- Algoritmo alfa max más beta min: una aproximación de la raíz cuadrada de la suma de dos cuadrados
- Métodos para calcular raíces cuadradas
- algoritmo de raíz n -ésima
- Desplazamiento del algoritmo de raíz enésima: extracción de raíz dígito por dígito
- Suma:
- División binaria: una técnica de divide y vencerás que acelera la evaluación numérica de muchos tipos de series con términos racionales
- Algoritmo de suma de Kahan: un método más preciso para sumar números de coma flotante
- Algoritmo sin restricciones
Geométrico
- Retroproyección filtrada: calcula eficientemente la transformada de radón bidimensional inversa.
- Método de ajuste de nivel (LSM): una técnica numérica para rastrear interfaces y formas
Interpolación y extrapolación
- Interpolación de Birkhoff: una extensión de la interpolación polinomial
- interpolación cúbica
- Interpolación de hermita
- Interpolación de Lagrange: interpolación usando polinomios de Lagrange
- Interpolación lineal: un método de ajuste de curvas utilizando polinomios lineales
- Interpolación cúbica monótona: una variante de la interpolación cúbica que conserva la monotonicidad del conjunto de datos que se interpola.
- Interpolación multivariante
- Interpolación bicúbica, una generalización de la interpolación cúbica a dos dimensiones
- Interpolación bilineal: una extensión de la interpolación lineal para interpolar funciones de dos variables en una cuadrícula regular
- Remuestreo de Lanczos ("Lanzosh"): un método de interpolación multivariable utilizado para calcular nuevos valores para cualquier dato muestreado digitalmente
- Interpolación del vecino más cercano
- Interpolación tricúbica, una generalización de la interpolación cúbica a tres dimensiones
- Interpolación de Pareto: un método para estimar la mediana y otras propiedades de una población que sigue una distribución de Pareto.
- Interpolación de polinomios
- Algoritmo de Neville
- Interpolación spline: reduce el error con el fenómeno de Runge.
- Algoritmo de De Boor: B-splines
- Algoritmo de De Casteljau: curvas de Bézier
- Interpolación trigonométrica
Álgebra lineal
- Algoritmos de valores propios
- Iteración de Arnoldi
- iteración inversa
- método jacobi
- iteración de Lanczos
- Iteración de potencia
- algoritmo QR
- iteración del cociente de Rayleigh
- Proceso de Gram-Schmidt: ortogonaliza un conjunto de vectores
- Algoritmos de multiplicación de matrices
- Algoritmo de Cannon: un algoritmo distribuido para la multiplicación de matrices especialmente adecuado para computadoras dispuestas en una malla N × N
- Algoritmo de Coppersmith-Winograd: multiplicación de matrices cuadradas
- Algoritmo de Freivalds: un algoritmo aleatorio utilizado para verificar la multiplicación de matrices
- Algoritmo de Strassen: multiplicación de matrices más rápida
- Resolver sistemas de ecuaciones lineales
- Método del gradiente biconjugado: resuelve sistemas de ecuaciones lineales
- Gradiente conjugado: un algoritmo para la solución numérica de sistemas particulares de ecuaciones lineales
- eliminación gaussiana
- Eliminación de Gauss-Jordan: resuelve sistemas de ecuaciones lineales
- Método de Gauss-Seidel: resuelve sistemas de ecuaciones lineales de forma iterativa
- Recursión de Levinson: resuelve una ecuación que involucra una matriz de Toeplitz
- Método de Stone: también conocido como procedimiento fuertemente implícito o SIP, es un algoritmo para resolver un sistema lineal de ecuaciones disperso.
- Sobrerelajación sucesiva (SOR): método utilizado para acelerar la convergencia del método de Gauss-Seidel
- Algoritmo de matriz tridiagonal (algoritmo de Thomas): resuelve sistemas de ecuaciones tridiagonales
- Algoritmos de matriz dispersa
- Algoritmo Cuthill-McKee: reduce el ancho de banda de una matriz dispersa simétrica
- Algoritmo de grado mínimo: permuta las filas y columnas de una matriz dispersa simétrica antes de aplicar la descomposición de Cholesky
- Descomposición simbólica de Cholesky: forma eficiente de almacenar matriz dispersa
Monte Carlo
- Muestreo de Gibbs: genera una secuencia de muestras a partir de la distribución de probabilidad conjunta de dos o más variables aleatorias
- Hybrid Monte Carlo: genera una secuencia de muestras utilizando la cadena de Markov ponderada hamiltoniana Monte Carlo, a partir de una distribución de probabilidad que es difícil de muestrear directamente.
- Algoritmo Metropolis-Hastings: utilizado para generar una secuencia de muestras a partir de la distribución de probabilidad de una o más variables
- Algoritmo de Wang y Landau: una extensión del muestreo del algoritmo Metropolis-Hastings
Integracion numerica
- Algoritmo MISER: simulación Monte Carlo, integración numérica
Hallazgo de raíz
- método de bisección
- Método de la posición falsa: aproxima las raíces de una función
- Método ITP: minmax convergencia óptima y superlinar simultáneamente
- Método de Newton: encuentra ceros de funciones con cálculo
- Método de Halley: utiliza derivadas primera y segunda
- Método secante: 2 puntos, 1 lado
- Método de posición falsa y método de Illinois: 2 puntos, horquillado
- Método de Ridder: escala exponencial de 3 puntos
- Método de Muller: interpolación cuadrática de 3 puntos
Algoritmos de optimización
- Poda alfa-beta: búsqueda para reducir el número de nodos en el algoritmo minimax
- Rama y atado
- Algoritmo de Bruss: ver algoritmo de cuotas
- Multiplicación de matrices en cadena
- Optimización combinatoria: problemas de optimización donde el conjunto de soluciones factibles es discreto
- Procedimiento de búsqueda adaptativa aleatoria voraz (GRASP): construcciones sucesivas de una solución aleatoria aleatoria voraz y mejoras iterativas posteriores de la misma a través de una búsqueda local
- Método húngaro: un algoritmo de optimización combinatoria que resuelve el problema de asignación en tiempo polinomial
- Satisfacción de restricciones
- Algoritmos generales para la satisfacción de restricciones
- Algoritmo AC-3
- Algoritmo de mapa de diferencia
- Algoritmo de conflictos mínimos
- Algoritmo Chaff: un algoritmo para resolver instancias del problema de satisfacibilidad booleano
- Algoritmo de Davis-Putnam: comprobar la validez de una fórmula lógica de primer orden
- Algoritmo de Davis-Putnam-Logemann-Loveland (DPLL): un algoritmo para decidir la satisfacibilidad de la fórmula lógica proposicional en forma normal conjuntiva, es decir, para resolver el problema CNF-SAT
- Problema de cobertura exacta
- Algoritmo X: un algoritmo no determinista
- Dancing Links: una implementación eficiente del Algoritmo X
- Algoritmos generales para la satisfacción de restricciones
- Método de entropía cruzada: un enfoque general de Monte Carlo para la optimización multiextremal combinatoria y continua y el muestreo de importancia
- Evolución diferencial
- Programación dinámica: problemas que exhiben las propiedades de subproblemas superpuestos y subestructura óptima
- Método elipsoide: es un algoritmo para resolver problemas de optimización convexa
- Computación evolutiva: optimización inspirada en los mecanismos biológicos de la evolución
- estrategia de evolución
- Programación de expresión génica
- Algoritmos genéticos
- Selección proporcional al estado físico, también conocida como selección de rueda de ruleta
- Muestreo universal estocástico
- Selección de truncamiento
- selección de torneo
- Algoritmo memético
- Inteligencia de enjambre
- Optimización de colonias de hormigas
- Algoritmo de abejas: un algoritmo de búsqueda que imita el comportamiento de búsqueda de alimentos de los enjambres de abejas melíferas.
- Enjambre de particulas
- Algoritmo de Frank-Wolfe: un algoritmo iterativo de optimización de primer orden para la optimización convexa restringida
- Búsqueda de sección áurea: un algoritmo para encontrar el máximo de una función real
- Descenso de gradiente
- Búsqueda de cuadrícula
- Búsqueda de armonía (HS): un algoritmo metaheurístico que imita el proceso de improvisación de los músicos
- Método del punto interior
- Programación lineal
- Algoritmo de Benson: un algoritmo para resolver problemas de optimización de vectores lineales
- Descomposición de Dantzig-Wolfe: un algoritmo para resolver problemas de programación lineal con estructura especial
- Generación de columna retrasada
- Programación lineal entera: resuelva problemas de programación lineal donde algunas o todas las incógnitas están restringidas a valores enteros
- Rama y corte
- Método del plano de corte
- Algoritmo de Karmarkar: El primer algoritmo razonablemente eficiente que resuelve el problema de programación lineal en tiempo polinomial.
- Algoritmo simplex: un algoritmo para resolver problemas de programación lineal
- búsqueda de línea
- Búsqueda local: una metaheurística para resolver problemas de optimización computacionalmente difíciles
- Escalada de colinas con reinicio aleatorio
- Búsqueda tabú
- Minimax utilizado en la programación de juegos
- Búsqueda de vecino más cercano (NNS): encuentre los puntos más cercanos en un espacio métrico
- Best Bin First: encuentre una solución aproximada al problema de búsqueda del vecino más cercano en espacios de dimensiones muy altas
- El método de Newton en optimización.
- optimización no lineal
- Método BFGS: un algoritmo de optimización no lineal
- Algoritmo de Gauss-Newton: un algoritmo para resolver problemas de mínimos cuadrados no lineales.
- Algoritmo de Levenberg-Marquardt: un algoritmo para resolver problemas de mínimos cuadrados no lineales.
- Método Nelder-Mead (método downhill simplex): un algoritmo de optimización no lineal
- Algoritmo de probabilidades (algoritmo de Bruss): encuentra la estrategia óptima para predecir un último evento específico en un evento de secuencia aleatoria
- Búsqueda aleatoria
- recocido simulado
- Tunelización estocástica
- Algoritmo de suma de subconjuntos
Ciencia computacional
Astronomía
- Algoritmo del fin del mundo: día de la semana
- La congruencia de Zeller es un algoritmo para calcular el día de la semana para cualquier fecha del calendario juliano o gregoriano
- varios algoritmos de Pascua se utilizan para calcular el día de Pascua
Bioinformática
- Herramienta de búsqueda de alineación local básica, también conocida como BLAST: un algoritmo para comparar información de secuencias biológicas primarias
- Algoritmo de Kabsch: calcule la alineación óptima de dos conjuntos de puntos para calcular la desviación cuadrática media de la raíz entre dos estructuras de proteínas.
- Velvet: un conjunto de algoritmos que manipulan gráficos de Bruijn para el ensamblaje de secuencias genómicas
- Clasificación por reversiones firmadas: un algoritmo para comprender la evolución genómica.
- Máxima parsimonia (filogenética): un algoritmo para encontrar el árbol filogenético más simple para explicar una matriz de caracteres dada.
- UPGMA: un algoritmo de construcción de árboles filogenéticos basado en la distancia.
Geociencia
- Fórmulas de Vincenty: un algoritmo rápido para calcular la distancia entre dos puntos de latitud/longitud en un elipsoide
- Geohash: un algoritmo de dominio público que codifica un par decimal de latitud/longitud como una cadena hash
Lingüística
- Algoritmo de Lesk: desambiguación del sentido de las palabras
- Algoritmo de derivación: un método para reducir palabras a su forma de raíz, base o raíz
- Algoritmo de Sukhotin: un algoritmo de clasificación estadística para clasificar caracteres en un texto como vocales o consonantes
Medicamento
- Algoritmo ESC para el diagnóstico de insuficiencia cardiaca
- Criterios de Manning para el síndrome del intestino irritable
- Algoritmos de diagnóstico de embolia pulmonar
- Proyecto de Algoritmo de Medicamentos de Texas
Física
- Algoritmo de restricción: una clase de algoritmos para satisfacer restricciones para cuerpos que obedecen las ecuaciones de movimiento de Newton.
- Algoritmo Demon: un método de Monte Carlo para muestrear eficientemente miembros de un conjunto microcanónico con una energía dada
- Algoritmo de Featherstone: calcula los efectos de las fuerzas aplicadas a una estructura de juntas y enlaces
- Aproximación del estado fundamental
- método variacional
- metodo ritz
- método variacional
- problemas de n -cuerpo
- Simulación de Barnes-Hut: Resuelve el problema de n cuerpos de una manera aproximada que tiene el orden O(n log n) en lugar de O(n) como en una simulación de suma directa.
- Método multipolar rápido (FMM): acelera el cálculo de fuerzas de largo alcance
- Algoritmo de conteo de flujo de lluvia: reduce un historial de estrés complejo a un conteo de reversiones de estrés elementales para usar en el análisis de fatiga
- Barrido y poda: un algoritmo de fase amplia utilizado durante la detección de colisiones para limitar la cantidad de pares de sólidos que deben verificarse para detectar colisiones
- Algoritmo VEGAS: un método para reducir el error en las simulaciones Monte Carlo
- Dinámica de Glauber: un método para simular el modelo de Ising en una computadora
Estadísticas
- Algoritmos para el cálculo de la varianza: evitando la inestabilidad y el desbordamiento numérico
- Algoritmo de conteo aproximado: permite contar un gran número de eventos en un pequeño registro
- estadísticas bayesianas
- Algoritmo de muestreo anidado: un enfoque computacional para el problema de comparar modelos en estadísticas bayesianas
- Algoritmos de agrupamiento
- Agrupamiento de vinculación promedio: un algoritmo de agrupamiento aglomerativo simple
- Algoritmo de agrupamiento Canopy: un algoritmo de agrupamiento previo no supervisado relacionado con el algoritmo K-means
- Agrupamiento de enlaces completos: un algoritmo de agrupamiento aglomerativo simple
- DBSCAN: un algoritmo de agrupamiento basado en la densidad
- Algoritmo de maximización de expectativas
- Agrupación difusa: una clase de algoritmos de agrupación donde cada punto tiene un grado de pertenencia a las agrupaciones
- c-medias difusas
- Agrupación de FLAME (agrupación difusa por aproximación local de membresías): defina agrupaciones en las partes densas de un conjunto de datos y realice la asignación de agrupaciones únicamente en función de las relaciones de vecindad entre los objetos
- Algoritmo de agrupamiento KHOPCA: un algoritmo de agrupamiento local, que produce clústeres jerárquicos de saltos múltiples en entornos estáticos y móviles.
- k-means clustering: agrupar objetos basados en atributos en particiones
- k-means++: una variación de esto, usando semillas aleatorias modificadas
- k-medoids: similar a k-means, pero elige puntos de datos o medoids como centros
- Algoritmo Linde-Buzo-Gray: un algoritmo de cuantificación vectorial para obtener un buen libro de códigos
- Algoritmo de Lloyd (iteración o relajación de Voronoi): agrupa puntos de datos en un número determinado de categorías, un algoritmo popular para la agrupación de k-medias
- OPTICS: un algoritmo de agrupamiento basado en la densidad con un método de evaluación visual
- Agrupamiento de enlace único: un algoritmo de agrupamiento aglomerativo simple
- SUBCLU: un algoritmo de agrupamiento subespacial
- Método de Ward: un algoritmo de agrupamiento aglomerativo, extendido a algoritmos de Lance-Williams más generales
- Algoritmo de agrupamiento WACA: un algoritmo de agrupamiento local con estructuras potencialmente multisalto; para redes dinámicas
- Teoría de la estimación
- Algoritmo de maximización de expectativas Una clase de algoritmos relacionados para encontrar estimaciones de máxima verosimilitud de parámetros en modelos probabilísticos.
- Maximización de expectativa de subconjunto ordenado (OSEM): se utiliza en imágenes médicas para tomografía por emisión de positrones, tomografía computarizada por emisión de fotón único y tomografía computarizada de rayos X.
- Algoritmo de probabilidades (algoritmo de Bruss) Búsqueda en línea óptima de valor distinguido en entrada aleatoria secuencial
- Filtro de Kalman: estime el estado de un sistema dinámico lineal a partir de una serie de medidas ruidosas
- Algoritmo de maximización de expectativas Una clase de algoritmos relacionados para encontrar estimaciones de máxima verosimilitud de parámetros en modelos probabilísticos.
- El algoritmo del falso vecino más cercano (FNN) estima la dimensión fractal
- Modelo oculto de Markov
- Algoritmo de Baum-Welch: calcula estimaciones de máxima verosimilitud y estimaciones de modo posterior para los parámetros de un modelo oculto de Markov
- Algoritmo adelante-atrás: un algoritmo de programación dinámica para calcular la probabilidad de una secuencia de observación particular
- Algoritmo de Viterbi: encuentre la secuencia más probable de estados ocultos en un modelo oculto de Markov
- Regresión de mínimos cuadrados parciales: encuentra un modelo lineal que describe algunas variables pronosticadas en términos de otras variables observables
- Teoría de colas
- Algoritmo de Buzen: un algoritmo para calcular la constante de normalización G (K) en el teorema de Gordon-Newell
- RANSAC (una abreviatura de "RANdom SAmple Consensus"): un método iterativo para estimar los parámetros de un modelo matemático a partir de un conjunto de datos observados que contiene valores atípicos
- Algoritmo de puntuación: es una forma del método de Newton que se utiliza para resolver numéricamente ecuaciones de máxima verosimilitud.
- Método de Yamartino: calcule una aproximación a la desviación estándar σθ de la dirección del viento θ durante un solo paso a través de los datos entrantes
- Algoritmo Ziggurat: genera números aleatorios a partir de una distribución no uniforme
Ciencias de la Computación
Arquitectura de Computadores
- Algoritmo de Tomasulo: permite que las instrucciones secuenciales que normalmente estarían bloqueadas debido a ciertas dependencias se ejecuten de forma no secuencial
Gráficos de computadora
- Recorte
- recorte de línea
- Cohen–Sutherland
- Ciro-Beck
- Recorte rápido
- Liang–Barsky
- Nicholl-Lee-Nicholl
- Recorte de polígono
- Sutherland–Hodgman
- Vatti
- Weiler–Atherton
- recorte de línea
- Curvas de nivel e Isosuperficies
- Cubos en marcha: extraiga una malla poligonal de una isosuperficie de un campo escalar tridimensional (a veces llamado vóxeles)
- Cuadrados de marcha: genera líneas de contorno para un campo escalar bidimensional
- Tetraedros en marcha: una alternativa a los cubos en marcha
- Teorema de Green discreto: es un algoritmo para calcular integrales dobles sobre un dominio rectangular generalizado en tiempo constante. Es una extensión natural del algoritmo de tabla de área sumada.
- Relleno de inundación: llena una región conectada de una matriz multidimensional con un símbolo específico
- Algoritmos de iluminación global: considera la iluminación directa y la reflexión de otros objetos.
- Oclusión ambiental
- Trazado de haz
- Trazado de cono
- Iluminación basada en imágenes
- transporte ligero metrópolis
- Trazado de ruta
- Mapeo de fotones
- radiosidad
- trazado de rayos
- Eliminación de superficies ocultas o Determinación visual de superficies
- Algoritmo de Newell: elimine los ciclos de polígonos en la clasificación de profundidad requerida en la eliminación de superficies ocultas
- Algoritmo de pintor: detecta partes visibles de un paisaje tridimensional
- Representación de línea de exploración: construye una imagen moviendo una línea imaginaria sobre la imagen
- Algoritmo Warnock
- Dibujo lineal: algoritmo gráfico para aproximar un segmento de línea en medios gráficos discretos.
- Algoritmo de línea de Bresenham: traza puntos de una matriz bidimensional para formar una línea recta entre 2 puntos específicos (usa variables de decisión)
- Algoritmo de línea DDA: traza puntos de una matriz bidimensional para formar una línea recta entre 2 puntos específicos (usa matemáticas de punto flotante)
- Algoritmo de línea de Xiaolin Wu: algoritmo para antialiasing de línea.
- Algoritmo de círculo de punto medio: un algoritmo utilizado para determinar los puntos necesarios para dibujar un círculo
- Algoritmo Ramer-Douglas-Peucker: dada una 'curva' compuesta de segmentos de línea para encontrar una curva no muy diferente pero que tenga menos puntos
- Sombreado
- Sombreado Gouraud: un algoritmo para simular los diferentes efectos de la luz y el color en la superficie de un objeto en gráficos 3D por computadora
- Sombreado de Phong: un algoritmo para interpolar vectores normales de superficie para sombreado de superficie en gráficos de computadora 3D
- Slerp (interpolación lineal esférica): interpolación de cuaterniones con el fin de animar la rotación 3D
- Tabla de área sumada (también conocida como imagen integral): un algoritmo para calcular la suma de valores en un subconjunto rectangular de una cuadrícula en tiempo constante
Criptografía
- Cifrado asimétrico (clave pública):
- ElGamal
- Criptografía de curva elíptica
- MAE1
- NTRUEncriptar
- RSA
- Firmas digitales (autenticación asimétrica):
- DSA, y sus variantes:
- ECDSA y ECDSA determinista
- EdDSA (Ed25519)
- RSA
- DSA, y sus variantes:
- Funciones hash criptográficas (ver también la sección sobre códigos de autenticación de mensajes):
- BLAKE
- MD5: tenga en cuenta que ahora hay un método para generar colisiones para MD5
- RIPEMD-160
- SHA-1: tenga en cuenta que ahora hay un método para generar colisiones para SHA-1
- SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
- SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256)
- Tiger (TTH), generalmente utilizado en hash de árbol de tigre
- TORBELLINO
- Generadores de números pseudoaleatorios criptográficamente seguros
- Blum Blum Shub: basado en la dureza de la factorización
- Fortuna, pensado como una mejora del algoritmo Yarrow
- Registro de desplazamiento de retroalimentación lineal (nota: muchos algoritmos basados en LFSR son débiles o se han roto)
- Algoritmo de milenrama
- Intercambio de llaves
- Intercambio de llaves Diffie-Hellman
- Diffie-Hellman de curva elíptica (ECDH)
- Funciones de derivación de claves, a menudo utilizadas para el hash de contraseñas y el estiramiento de claves
- cripta
- PBKDF2
- cripta
- Argón2
- Códigos de autenticación de mensajes (algoritmos de autenticación simétricos, que toman una clave como parámetro):
- HMAC: autenticación de mensajes hash con clave
- poli1305
- SipHash
- Compartir secretos, dividir secretos, dividir claves, algoritmos M de N
- Esquema de Blakey
- El esquema de Shamir
- Cifrado simétrico (clave secreta):
- Estándar de cifrado avanzado (AES), ganador de la competencia NIST, también conocido como Rijndael
- pez globo
- Dos peces
- Tres peces
- Estándar de cifrado de datos (DES), a veces algoritmo DE, ganador de la competencia de selección de NBS, reemplazado por AES para la mayoría de los propósitos
- OCURRENCIA
- RC4 (cifrado)
- Algoritmo de cifrado minúsculo (TEA)
- Salsa20, y su variante actualizada ChaCha20
- Criptografía poscuántica
- Algoritmos de prueba de trabajo
Lógica digital
- minimización booleana
- Algoritmo Quine-McCluskey: también llamado algoritmo QM, método programable para simplificar las ecuaciones booleanas.
- Método de Petrick: Otro algoritmo para la simplificación booleana.
- Minimizador de lógica heurística de Espresso: algoritmo rápido para la minimización de funciones booleanas.
Aprendizaje automático y clasificación estadística
- ALOPEX: un algoritmo de aprendizaje automático basado en correlación
- Aprendizaje de reglas de asociación: descubre relaciones interesantes entre variables, utilizadas en minería de datos
- algoritmo a priori
- Algoritmo Eclat
- Algoritmo de crecimiento FP
- Regla de un atributo
- Regla de atributo cero
- Impulso (meta-algoritmo): use muchos alumnos débiles para aumentar la efectividad
- AdaBoost: refuerzo adaptativo
- BrownBoost: un algoritmo de refuerzo que puede ser robusto para conjuntos de datos ruidosos
- LogitBoost: impulso de regresión logística
- LPBoost: refuerzo de programación lineal
- Bootstrap aggregating (bagging): técnica para mejorar la estabilidad y la precisión de la clasificación
- Visión por computador
- Grabcut basado en cortes gráficos
- Árboles de decisión
- Algoritmo C4.5: una extensión de ID3
- Algoritmo ID3 (dicotómico iterativo 3): use heurística para generar pequeños árboles de decisión
- Agrupamiento: una clase de algoritmos de aprendizaje no supervisados para agrupar y agrupar vectores de entrada relacionados.
- k-vecinos más cercanos (k-NN): un método para clasificar objetos basado en ejemplos de entrenamiento más cercanos en el espacio de características
- Algoritmo Linde-Buzo-Gray: un algoritmo de cuantificación vectorial utilizado para derivar un buen libro de códigos
- Hashing sensible a la localidad (LSH): un método para realizar la reducción de dimensión probabilística de datos de alta dimensión
- Red neuronal
- Retropropagación: un método de aprendizaje supervisado que requiere un maestro que sepa, o pueda calcular, el resultado deseado para cualquier entrada dada
- Hopfield net: una red neuronal recurrente en la que todas las conexiones son simétricas
- Perceptron: el tipo más simple de red neuronal feedforward: un clasificador lineal.
- Redes neuronales acopladas a pulsos (PCNN): modelos neuronales propuestos mediante el modelado de la corteza visual de un gato y desarrollados para el procesamiento de imágenes biomiméticas de alto rendimiento.
- Red de función de base radial: una red neuronal artificial que utiliza funciones de base radial como funciones de activación.
- Mapa autoorganizado: una red no supervisada que produce una representación de baja dimensión del espacio de entrada de las muestras de entrenamiento
- Bosque aleatorio: clasifique usando muchos árboles de decisión
- Aprendizaje reforzado:
- Q-learning: aprende una función de valor de acción que proporciona la utilidad esperada de realizar una acción determinada en un estado determinado y seguir una política fija a partir de entonces
- Estado-Acción-Recompensa-Estado-Acción (SARSA): aprenda una política de proceso de decisión de Markov
- Aprendizaje de diferencia temporal
- Máquina de vectores de relevancia (RVM): similar a SVM, pero proporciona una clasificación probabilística
- Aprendizaje supervisado: aprendizaje mediante ejemplos (conjunto de datos etiquetado dividido en conjunto de entrenamiento y conjunto de prueba)
- Máquina de vectores de soporte (SVM): un conjunto de métodos que dividen datos multidimensionales al encontrar un hiperplano divisorio con el margen máximo entre los dos conjuntos
- SVM estructurado: permite el entrenamiento de un clasificador para etiquetas de salida estructuradas generales.
- Algoritmo Winnow: relacionado con el perceptrón, pero utiliza un esquema de actualización de peso multiplicativo
Teoría del lenguaje de programación
- Linealización C3: un algoritmo utilizado principalmente para obtener una linealización consistente de una jerarquía de herencia múltiple en la programación orientada a objetos
- Algoritmo de Chaitin: un algoritmo de asignación de registro de coloración de gráficos de abajo hacia arriba que utiliza el costo / grado como su métrica de derrame
- Algoritmo de inferencia de tipo Hindley-Milner
- Algoritmo Rete: un algoritmo de coincidencia de patrones eficiente para implementar sistemas de reglas de producción
- Algoritmo Sethi-Ullman: genera código óptimo para expresiones aritméticas
Análisis
- Algoritmo CYK: un algoritmo O (n) para analizar gramáticas sin contexto en forma normal de Chomsky
- Analizador Earley: Otro algoritmo O(n) para analizar cualquier gramática libre de contexto
- Analizador GLR: un algoritmo para analizar cualquier gramática libre de contexto de Masaru Tomita. Está ajustado para gramáticas deterministas, en las que realiza un tiempo casi lineal y O(n) en el peor de los casos.
- Algoritmo de adentro hacia afuera: un algoritmo O (n) para reestimar las probabilidades de producción en gramáticas probabilísticas libres de contexto
- Analizador LL: un algoritmo de análisis de tiempo lineal relativamente simple para una clase limitada de gramáticas libres de contexto
- Analizador LR: un algoritmo de análisis de tiempo lineal más complejo para una clase más grande de gramáticas libres de contexto. variantes:
- Analizador LR canónico
- Analizador LALR (anticipación LR)
- Analizador de precedencia de operadores
- Analizador SLR (LR simple)
- Analizador de precedencia simple
- Packrat parser: un algoritmo de análisis de tiempo lineal que admite algunas gramáticas libres de contexto y gramáticas de expresión de análisis
- Analizador de descenso recursivo: un analizador de arriba hacia abajo adecuado para gramáticas LL (k)
- Algoritmo de patio de maniobras: convierta una expresión matemática de notación infija en sufijo
- analizador Pratt
- Análisis léxico
Algoritmos cuánticos
- Algoritmo de Deutsch-Jozsa: criterio de equilibrio para la función booleana
- Algoritmo de Grover: proporciona aceleración cuadrática para muchos problemas de búsqueda
- Algoritmo de Shor: proporciona una aceleración exponencial (en relación con los algoritmos no cuánticos actualmente conocidos) para factorizar un número
- Algoritmo de Simon: proporciona una aceleración probablemente exponencial (en relación con cualquier algoritmo no cuántico) para un problema de caja negra
Teoría de la computación y autómatas
- Algoritmo de Hopcroft, algoritmo de Moore y algoritmo de Brzozowski: algoritmos para minimizar el número de estados en un autómata finito determinista
- Construcción Powerset: Algoritmo para convertir un autómata no determinista en un autómata determinista.
- Algoritmo de Tarski-Kuratowski: un algoritmo no determinista que proporciona un límite superior para la complejidad de las fórmulas en la jerarquía aritmética y la jerarquía analítica
Teoría de la información y procesamiento de señales.
Teoría de la codificación
Detección y corrección de errores
- Códigos BCH
- Algoritmo de Berlekamp-Massey
- Algoritmo de Peterson-Gorenstein-Zierler
- Corrección de errores de Reed-Solomon
- Algoritmo BCJR: decodificación de códigos de corrección de errores definidos en trellises (principalmente códigos convolucionales)
- Corrección de errores de reenvío
- código gris
- Códigos de Hamming
- Hamming(7,4): un código de Hamming que codifica 4 bits de datos en 7 bits agregando 3 bits de paridad
- Distancia de Hamming: suma del número de posiciones que son diferentes
- Peso de Hamming (recuento de población): encuentre el número de 1 bits en una palabra binaria
- Comprobaciones de redundancia
- Adler-32
- Verificación de redundancia cíclica
- Maldito algoritmo
- Suma de comprobación de Fletcher
- Comprobación de redundancia longitudinal (LRC)
- Algoritmo de Luhn: un método para validar números de identificación
- Algoritmo Luhn mod N: extensión de Luhn a caracteres no numéricos
- Paridad: técnica de detección de errores simple/rápida
- Algoritmo de Verhoeff
Algoritmos de compresión sin pérdida
- Transformada de Burrows-Wheeler: preprocesamiento útil para mejorar la compresión sin pérdidas
- Ponderación del árbol de contexto
- Codificación delta: ayuda a la compresión de datos en los que los datos secuenciales aparecen con frecuencia
- Compresión dinámica de Markov: compresión mediante codificación aritmética predictiva
- Codificadores de diccionario
- Codificación de pares de bytes (BPE)
- Desinflar
- Lempel–Ziv
- LZ77 y LZ78
- Lempel–Ziv Jeff Bonwick (LZJB)
- Algoritmo de cadena Lempel-Ziv-Markov (LZMA)
- Lempel–Ziv–Oberhumer (LZO): orientado a la velocidad
- Lempel–Ziv–Stac (LZS)
- Lempel–Ziv–Storer–Szymanski (LZSS)
- Lempel–Ziv–Welch (LZW)
- LZWL: variante basada en sílabas
- LZX
- Lempel–Ziv Ross Williams (LZRW)
- Codificación de entropía: esquema de codificación que asigna códigos a los símbolos para hacer coincidir las longitudes de los códigos con las probabilidades de los símbolos.
- Codificación aritmética: codificación de entropía avanzada
- Codificación de rango: igual que la codificación aritmética, pero vista de una manera ligeramente diferente
- Codificación Huffman: compresión simple sin pérdidas aprovechando las frecuencias de caracteres relativas
- Codificación Huffman adaptativa: técnica de codificación adaptativa basada en la codificación Huffman
- Algoritmo de combinación de paquetes: optimiza la codificación de Huffman sujeta a una restricción de longitud en las cadenas de código
- Codificación de Shannon-Fano
- Codificación Shannon-Fano-Elias: precursora de la codificación aritmética
- Codificación aritmética: codificación de entropía avanzada
- Codificación de entropía con características de entropía conocidas
- Codificación Golomb: forma de codificación de entropía que es óptima para alfabetos que siguen distribuciones geométricas
- Codificación de arroz: forma de codificación de entropía que es óptima para alfabetos que siguen distribuciones geométricas
- Codificación binaria truncada
- Codificación unaria: código que representa un número n con n unos seguidos de un cero
- Códigos universales: codifica números enteros positivos en palabras de código binario
- Codificación Elias delta, gamma y omega
- Codificación exponencial-Golomb
- Codificación de Fibonacci
- Codificación Levenstein
- Fast Efficient & Lossless Image Compression System (FELICS): un algoritmo de compresión de imágenes sin pérdidas
- Codificación incremental: codificación delta aplicada a secuencias de cadenas
- Predicción por coincidencia parcial (PPM): una técnica de compresión de datos estadísticos adaptativa basada en el modelado y la predicción del contexto
- Codificación de longitud de ejecución: compresión de datos sin pérdidas aprovechando cadenas de caracteres repetidos
- Algoritmo SEQUITUR: compresión sin pérdida por inferencia gramatical incremental en una cadena
Algoritmos de compresión con pérdida
- 3Dc: un algoritmo de compresión de datos con pérdida para mapas normales
- Compresión de audio y voz
- Algoritmo de ley A: algoritmo de compresión estándar
- Predicción lineal excitada por código (CELP): compresión de voz de baja tasa de bits
- Codificación predictiva lineal (LPC): compresión con pérdida al representar la envolvente espectral de una señal digital de voz en forma comprimida
- Algoritmo de ley Mu: algoritmo de compresión o compresión de señal analógica estándar
- Codificación predictiva lineal deformada (WLPC)
- Compresión de imagen
- Block Truncation Coding (BTC): un tipo de técnica de compresión de imágenes con pérdida para imágenes en escala de grises
- Wavelet Zerotree integrada (EZW)
- Algoritmos de transformación rápida de coseno (algoritmos FCT): calcula la transformada discreta de coseno (DCT) de manera eficiente
- Compresión fractal: método utilizado para comprimir imágenes usando fractales
- Establecer particiones en árboles jerárquicos (SPIHT)
- Compresión wavelet: forma de compresión de datos adecuada para la compresión de imágenes (a veces también compresión de video y compresión de audio)
- Codificación de transformación: tipo de compresión de datos para datos "naturales" como señales de audio o imágenes fotográficas
- Compresión de video
- Cuantificación vectorial: técnica utilizada a menudo en la compresión de datos con pérdida
Procesamiento de señales digitales
- Algoritmo adaptativo-aditivo (algoritmo AA): encuentre la fase de frecuencia espacial de una fuente de onda observada
- Transformada discreta de Fourier: determina las frecuencias contenidas en una (segmento de una) señal
- Algoritmo FFT de Bluestein
- Algoritmo FFT de Bruun
- Algoritmo Cooley-Tukey FFT
- Transformada rápida de Fourier
- Algoritmo FFT de factor primo
- Algoritmo FFT de Rader
- Algoritmo de plegamiento rápido: un algoritmo eficiente para la detección de eventos aproximadamente periódicos dentro de datos de series temporales
- Algoritmo de Gerchberg-Saxton: algoritmo de recuperación de fase para planos ópticos
- Algoritmo de Goertzel: identifica un componente de frecuencia particular en una señal. Se puede utilizar para la decodificación de dígitos DTMF.
- Síntesis de cuerda Karplus-Strong: síntesis de modelado físico para simular el sonido de una cuerda martillada o pulsada o algunos tipos de percusión
Procesamiento de imágenes
- Mejora de contraste
- Ecualización de histograma: use el histograma para mejorar el contraste de la imagen
- Ecualización de histograma adaptable: ecualización de histograma que se adapta a los cambios locales en contraste
- Etiquetado de componentes conectados: busque y etiquete regiones disjuntas
- Tramado y medios tonos
- Difusión de errores
- Difuminado de Floyd-Steinberg
- difuminado ordenado
- Difuminado de Riemersma
- Algoritmo de mapa de diferencias de Elser: un algoritmo de búsqueda para problemas generales de satisfacción de restricciones. Utilizado originalmente para microscopía de difracción de rayos X
- Detección de características
- Canny edge detector: detecta una amplia gama de bordes en las imágenes
- Transformada de Hough generalizada
- Hough transformar
- Algoritmo Marr-Hildreth: un algoritmo de detección temprana de bordes
- SIFT (transformación de características invariantes de escala): es un algoritmo para detectar y describir características locales en imágenes.
- SURF (Características robustas aceleradas): es un detector robusto de características locales, presentado por primera vez por Herbert Bay et al. en 2006, que se puede utilizar en tareas de visión artificial como el reconocimiento de objetos o la reconstrucción 3D. Está parcialmente inspirado en el descriptor SIFT. La versión estándar de SURF es varias veces más rápida que SIFT y sus autores afirman que es más sólida frente a diferentes transformaciones de imágenes que SIFT.
- Deconvolución de Richardson-Lucy: algoritmo de desenfoque de imágenes
- Desconvolución ciega: algoritmo de desenfoque de imagen cuando se desconoce la función de dispersión de puntos.
- Filtrado mediano
- Talla de costura: algoritmo de cambio de tamaño de imagen consciente del contenido
- Segmentación: dividir una imagen digital en dos o más regiones
- Algoritmo GrowCut: un algoritmo de segmentación interactivo
- Algoritmo de caminante aleatorio
- región en crecimiento
- Transformación de cuenca hidrográfica: una clase de algoritmos basados en la analogía de la cuenca hidrográfica
Ingeniería de software
- Algoritmos de caché
- Conversión CHS: conversión entre sistemas de direccionamiento de disco
- Double dabble: convertir números binarios a BCD
- Función hash: convierte una gran cantidad de datos, posiblemente de tamaño variable, en un dato pequeño, generalmente un entero único que puede servir como índice en una matriz
- Función hash Fowler-Noll-Vo: rápida con baja tasa de colisión
- Hashing de Pearson: calcula solo el valor de 8 bits, optimizado para computadoras de 8 bits
- Hashing de Zobrist: utilizado en la implementación de tablas de transposición
- Algoritmo de intercalación Unicode
- Algoritmo de intercambio Xor: intercambia los valores de dos variables sin usar un búfer
Algoritmos de base de datos
- Algoritmos de Recuperación y Aislamiento Explotando Semántica (ARIES): recuperación de transacciones
- Unir algoritmos
- Bucle anidado en bloque
- Unión hash
- Unión de bucle anidado
- Ordenar-Combinar Unir
Algoritmos de sistemas distribuidos
- Sincronización de reloj
- Algoritmo de Berkeley
- algoritmo de cristian
- Algoritmo de intersección
- algoritmo de marzullo
- Consenso (informática): acordar un único valor o historia entre procesadores poco fiables
- Algoritmo de consenso de Chandra-Toueg
- Algoritmo de Paxos
- Balsa (informática)
- Detección de Terminación de Proceso
- Algoritmo de Dijkstra-Scholten
- algoritmo de huang
- Ordenación de Lamport: una ordenación parcial de eventos basada en la relación que sucedió antes
- Elección de líder: un método para seleccionar dinámicamente a un coordinador
- Algoritmo de intimidación
- Exclusión mutua
- Algoritmo de exclusión mutua distribuida de Lamport
- Algoritmo log(n) de Naimi-Trehel
- Algoritmo de Maekawa
- Algoritmo de Raymond
- Algoritmo Ricart-Agrawala
- Algoritmo de instantánea: registre un estado global consistente para un sistema asíncrono
- Algoritmo de Chandy-Lamport
- Relojes vectoriales: genere una ordenación parcial de eventos en un sistema distribuido y detecte violaciones de causalidad
Algoritmos de asignación y desasignación de memoria
- Asignación de memoria de compañeros: Algoritmo para asignar memoria de modo que la fragmentación sea menor.
- recolectores de basura
- Algoritmo de Cheney: una mejora en el colector semiespacial
- Recolector de basura generacional: Recolectores de basura rápidos que segregan la memoria por edad
- Algoritmo de marca-compacto: una combinación del algoritmo de barrido de marca y el algoritmo de copia de Cheney
- Marcar y barrer
- Coleccionista semiespacial: uno de los primeros coleccionistas de copias
- Recuento de referencias
Redes
- Algoritmo de Karn: aborda el problema de obtener estimaciones precisas del tiempo de ida y vuelta de los mensajes cuando se usa TCP.
- Algoritmo de Luleå: una técnica para almacenar y buscar tablas de enrutamiento de Internet de manera eficiente
- Congestión en la red
- Retroceso exponencial
- Algoritmo de Nagle: mejora la eficiencia de las redes TCP/IP fusionando paquetes
- Retroceso exponencial binario truncado
Algoritmos de sistemas operativos
- Algoritmo de banquero: Algoritmo utilizado para evitar interbloqueos.
- Algoritmos de reemplazo de página: selección de la página víctima en condiciones de poca memoria.
- Caché de reemplazo adaptable: mejor rendimiento que LRU
- Reloj con reemplazo adaptativo (CAR): es un algoritmo de reemplazo de página que tiene un rendimiento comparable al caché de reemplazo adaptativo
Sincronización de procesos
- Algoritmo de Dekker
- Algoritmo de panadería de Lamport
- algoritmo de Peterson
Planificación
- Fecha límite más temprana primera programación
- Programación de reparto justo
- Programación de tiempo de menor holgura
- Lista de programación
- Cola de comentarios de varios niveles
- Programación de tarifa monotónica
- Programación por turnos
- Trabajo más corto siguiente
- Tiempo restante más corto
- Algoritmo de nodos superiores: gestión del calendario de recursos
Programación de E/S
Programación de disco
- Algoritmo de ascensor: Algoritmo de programación de disco que funciona como un ascensor.
- Búsqueda más corta primero: Algoritmo de programación de disco para reducir el tiempo de búsqueda.
Otro
- Algoritmo 'For You': un algoritmo patentado desarrollado por la red social Tik-Tok. Los videos cargados se publican primero a una selección de usuarios que el algoritmo ha identificado como propensos a interactuar con el video, según sus patrones de visualización anteriores del sitio web.
Contenido relacionado
Hipergrafo
Centralidad
Modelo Barabási–Albert
Más resultados...