¿Cuáles son algunos ejemplos de métodos de búsqueda inversa y métodos de escalada?

Búsqueda inversa

Términos de informática

Divulgación de la ciencia en China|Esta entrada es revisada por el proyecto de solicitud y redacción de entradas "Divulgación de la ciencia en China".

Revisor Yao Yuan

La búsqueda inversa es una búsqueda que comienza desde el estado objetivo y generalmente se realiza al mismo tiempo que la búsqueda directa (búsqueda bidireccional). Si el estado recién expandido aparece en la búsqueda hacia atrás durante la búsqueda hacia adelante, se encuentra una solución (generalmente la que tiene la menor cantidad de pasos de búsqueda) conectando las dos rutas de búsqueda. Si el estado recién expandido en la búsqueda inversa ya apareció en la búsqueda directa, también es la solución óptima, como se mencionó anteriormente. La búsqueda inversa no es solo una tecnología, sino también una forma de pensar. Se utiliza ampliamente en software informático, tecnología de Internet, tecnología de telecomunicaciones, tecnología industrial en general, economía comercial y otros campos.

Nombre chino

Búsqueda inversa

Nombre extranjero

Búsqueda hacia atrás

Familiares

Buscar hacia adelante

Temas

Tecnología informática

Naturaleza

Pensamiento inverso

Inteligencia artificial Ejemplos, ejemplos de Aplicaciones de Internet, ejemplos de transporte ferroviario, ejemplos de comercio por Internet, ejemplos de software informático, ejemplos de materiales de referencia mencionados por TA.

Ejemplos de inteligencia artificial

En inteligencia artificial, un sistema de producción bidireccional es un sistema de producción que aplica métodos de búsqueda tanto hacia adelante como hacia atrás. En este sistema, las descripciones de estados y las descripciones de objetivos se fusionan en una base de datos, donde las reglas F se aplican a las descripciones de estados y las reglas B se aplican a las descripciones de objetivos. [1] Por ejemplo, los robots inteligentes tienen la capacidad de resolver problemas automáticamente para formular planes de acción. Puede buscar soluciones en el espacio de estados utilizando un conjunto especial de reglas de producción. Para obtener la secuencia de operaciones, podemos comenzar desde el conjunto de estados actual y realizar una búsqueda hacia adelante, o comenzar desde el conjunto de estados objetivo y realizar una búsqueda inversa, o seleccionar la operación apropiada según la diferencia entre el estado objetivo y el estado actual (análisis de medios-fines). [2]

Ejemplos de aplicaciones de Internet

El trabajo principal de la optimización de motores de búsqueda (SEO) es comprender cómo los distintos motores de búsqueda rastrean las páginas de Internet, cómo indexarlas y cómo Determine su clasificación en los resultados de búsqueda para una palabra clave específica, optimizando así la página SEO, cambiando así su propio sitio web, aprendiendo de los sitios web con los mejores resultados de búsqueda, mejorando así la clasificación en los motores de búsqueda, aumentando así el tráfico del sitio web y, en última instancia, mejorando la capacidad de ventas o publicidad. Capacidad del sitio web para lograr el propósito de SEO. Este proceso de intentar descubrir el motor de búsqueda es un proceso de búsqueda inversa.

Ejemplo de transporte ferroviario

El algoritmo de búsqueda de ruta inversa es un algoritmo importante en el sistema de transporte ferroviario. Este algoritmo utiliza la similitud entre el mapa del sitio y el árbol binario para construir un modelo de árbol binario a través de la información del sitio. Sin embargo, el proceso de búsqueda del árbol binario mediante este algoritmo es opuesto al algoritmo de búsqueda del árbol binario tradicional: el hijo objetivo busca el nodo raíz. Esta búsqueda inversa puede completar rápida y eficientemente la búsqueda de todas las rutas sin atravesar la búsqueda. Es decir, complete la búsqueda de la ruta básica y la ruta modificada entre cualquier par de botones de estación en el mapa de estaciones. Para cumplir con algunos requisitos especiales (resolver problemas de seguimiento de trenes), esta búsqueda también puede completar la ruta básica y cambiar la búsqueda de ruta entre cualquier par de equipos de estación.

Por ejemplo, el comercio por Internet

La idea de establecer un modelo de búsqueda inversa para el mercado objetivo de Internet es analizar primero los principios, funciones y usos de un producto específico, y considerar sus principales especificaciones técnicas, precio y otros factores, determinar las características de la muestra del producto con base en el análisis anterior de las características de la muestra del producto, inferir el mercado efectivo para buscar sitios web comerciales que necesiten el producto; , encontrando así emprendimientos, empresas y otros clientes que necesiten el producto.

Ejemplos de software informático

Sistemas de búsqueda inversa, sistemas que comprueban la presencia de una o más palabras en una lista determinada a partir de una subcadena de entrada. La lista de palabras se almacena en una matriz de memoria que incluye un comparador para cada celda de memoria que almacena una subpalabra. Una cadena de moléculas. Cada subcadena se carga en el registro de comparación varias veces, rodando una subpalabra a la vez. En cada celda de memoria, se compara simultáneamente con la subcadena de entrada. Un circuito lógico en cada celda de memoria detecta coincidencias consecutivas entre subpalabras de la cadena y subpalabras de la lista de palabras. Siempre que coincida una palabra completa de la lista, establezca una señal para esa palabra.

Configure una lista de señales coincidentes que el codificador de prioridad puede usar para generar la dirección (ubicación) de una de las palabras coincidentes. [3] 1. Introducción al método de escalada

El método de escalada es un algoritmo de optimización que generalmente comienza a partir de una solución aleatoria y luego encuentra gradualmente una solución óptima (óptimo local). Suponiendo que el problema tiene múltiples parámetros, podemos aumentar o disminuir el valor de un parámetro en una unidad en el proceso de obtener la solución óptima paso a paso mediante la escalada. Por ejemplo, la solución de un problema requiere el uso de tres parámetros enteros x1, x2 y x3. Inicialmente, estos tres parámetros se establecen en (2, 2, -2) y x1 aumenta/disminuye en 1 para obtener dos soluciones (1, 2, -2), (3). Aumente/disminuya x2 en 1 para obtener dos soluciones (2, 3, -2), (2, 1, -2); aumente/disminuya X3 en 1 para obtener dos soluciones (2, 2, -1), (2, 2,-3), obteniendo así un conjunto solución:

(2,2,-2), (1, 2,-2), (3, 2,-2), (2,3 ,-2), (2,1,-2), (2,2,-1), (2,2,-3)

Encuentre la solución óptima del conjunto de soluciones anterior y luego Basado en el método anterior, construye otro conjunto de soluciones y luego encuentra la solución óptima. De esta forma, la "escalada" no terminará hasta que la solución óptima anterior sea la misma que la siguiente solución óptima.

2. Ejemplo de Python

Supongamos la ecuación y = x1+x2-x3, donde x1 es un número entero en el intervalo [-2, 5] y x2 es el intervalo [ 2, 6] Un número entero dentro del intervalo, x3 es un número entero dentro del intervalo [-5, 2]. Utilice el método de subir colinas para encontrar la solución que minimice el valor de y.

El código es el siguiente:

Importación aleatoria

Definir evaluación (x1, x2, x3):

Devolver x1+x2 -x3

if__name__== '__main__ ':

x_range = [ [-2, 5], [2, 6], [-5, 2] ]

best_sol =[random. randint(x_range[0][0], x_range[0][1]),

random.randint(x_range[1][0], x_range [1] [1]),

random.randint(x_range[2][0], x_range[2][1])]

Aunque correcto:

best_evaluate = evaluar(best_sol[0], best_sol[1], best_sol[2])

Mejor valor actual = mejor valor de evaluación

soles = [best_sol]

Para I en xrange(len(best_sol)):

if best _ sol[I]>x_range[i][0]:

p>

sols . mejor_sol[0:I]+[mejor_sol[I]-1]+mejor_sol[I+1:])

si mejor_sol[I]<x_range[i] [1]:

soles . append(mejor _ sol[0:I]+[mejor _ sol[I]+1]+mejor _ sol[I +1:])

Imprimir sol

Para s en sol:

el = evaluar(s[0], s[1], s[ 2])

if el & ltbest_evaluate:

best_sol = s

best_evaluate = el

if best_evaluate = =Mejor valor actual:

Roto

Imprimir "Mejor solución:", mejor valor actual, mejor solución

Los resultados de la operación son los siguientes:

[[0, 5, 1], [ -1, 5, 1], [1, 5, 1], [0, 4, 1], [0, 6, 1], [0, 5, 0], [0, 5, 2]]

[[-1, 5, 1], [-2, 5, 1], [0, 5, 1], [-1, 4, 1], [-1, 6, 1], [-1, 5, 0], [-1, 5, 2]]

[[-2, 5, 1], [-1, 5, 1], [-2, 4, 1], [-2, 6, 1], [-2, 5, 0], [-2, 5, 2]]

[[-2, 4, 1], [-1 , 4, 1], [-2, 3, 1], [-2, 5, 1], [-2, 4, 0] , [-2, 4, 2]]

[ [-2, 3, 1], [-1, 3, 1], [-2, 2, 1], [-2, 4, 1], [-2, 3, 0], [-2, 3 , 2]]

[[-2, 2, 1], [-1, 2, 1], [- 2, 3, 1], [-2, 2, 0], [- 2, 2, 2]]

[[-2, 2, 2], [-1, 2, 2] , [-2, 3, 2], [-2, 2, 1] ]

La mejor solución: -2 [-2, 2, 2]

Se puede observar que La solución óptima es -2, y los valores correspondientes de x1, x2 y x3 son -2, 2 y 2 respectivamente.

En tercer lugar, cómo encontrar el óptimo global

La solución óptima obtenida mediante el método de escalada puede ser una solución óptima local. Si desea obtener una mejor solución, debe utilizar el algoritmo de escalada varias veces (a partir de diferentes soluciones iniciales) para encontrar la solución óptima a partir de múltiples soluciones óptimas locales. Esta solución óptima también puede ser la solución óptima global.

Además, el algoritmo de recocido simulado también es un algoritmo que intenta encontrar la solución óptima global.

Un ejemplo del uso de Python para implementar el algoritmo Kmeans++

1, de Kmeans. Kmeans es un algoritmo de agrupación en clústeres muy básico que utiliza una idea iterativa, no hablaré de ello aquí. Ese es el principio. Hablemos sobre cómo usar el algoritmo kmeans en matlab. Creando siete dimensiones en dos dimensiones

Análisis de mapeo, reducción y filtrado en Python

1. Echemos un vistazo a qué es un objeto iterable. Tome la función max incorporada como ejemplo, consulte su Doc: Print Max. _ _ Doc _ Max(Iterable[,key=func])-Value Max(a,b,c,...[,key=func])-valor con un solo parámetro iterable.

Introducción a Numpy en Python

1. Qué es Numpy es muy simple. Numpy es una biblioteca informática científica para Python que proporciona operaciones matriciales. Se usa comúnmente con Scipy y matplotlib. De hecho, la lista ya proporciona una matriz

Red idiomática china All rights reserved