¿Qué es la generación procesal y la generación aleatoria? ¿Cuál es la diferencia y cómo se logra cada uno?

La generación de procedimientos está generando contenido sobre la marcha en función de ciertas ” semillas “, que pueden elegirse al azar; por lo tanto, se puede decir que la inicialización en la generación de procedimientos es aleatoria.
Sin embargo, esas “semillas” seguirán teniendo un conjunto básico de reglas , sobre las cuales se genera el contenido, por lo tanto, el contenido generado a partir de la misma semilla será similar , con diferencias basadas en ciertos parámetros.

El resultado de una generación completamente aleatoria (que también genera contenido sobre la marcha) puede no tener ningún sentido al final: básicamente son tiradas de dados para generar contenido aleatorio. Esto no significa que no haya restricciones en la generación aleatoria (debe haber restricciones para que no genere algo que rompa el sistema), solo que tiene menos restricciones para más variaciones a costa de hacer que el sistema sea más coherente .

Mezclar los dos puede producir contenido pseudoaleatorio. Por ejemplo, en un juego de mazmorras, digamos que tienes 3 sistemas para generar el mapa de mazmorras , los monstruos y los objetos . Si están separados, pero cada sistema de procedimiento individual, puede terminar con la colocación de monstruos y elementos justos e igualmente espaciados, pero no en el contexto de ese mapa en particular generado, es decir, sin tener en cuenta la experiencia del usuario . Un sistema completamente procesal haría que todo el sistema generado sea justo, pero dado que todos los niveles se derivarán de ciertas semillas, habrá similitudes en el patrón de generación ( que puede no ser visible para el jugador si se hace bien ). Un sistema completamente generado al azar puede no tener sentido en términos de dificultad: la colocación de monstruos / artículos depende únicamente de tiradas de dados sin restricciones que lo hagan ” interesante ” y ” justo ” (por lo tanto, si el límite de cantidad de monstruos es 100 y existe son 20 puntos de ubicación: potencialmente puede generar 100 monstruos en un solo punto, sin dejar de estar bajo esas restricciones).

Como otro ejemplo: tome un carácter generado por el procedimiento: tiene sus atributos asignados en función de cierto conjunto de reglas definidas por el programador para evitar anormalidades, de modo que el cuerpo sea proporcional (cada conjunto de reglas que se pueden producir serían las “semillas” ) Un personaje generado aleatoriamente todavía tendrá límites en esos atributos, pero dado que los valores pueden ser cualquier cosa con esos límites, el personaje puede tener brazos extremadamente delgados y piernas masivamente gordas (ambos estarían por debajo de los límites de cada atributo individual), pero no No tenga en cuenta los atributos de todo el cuerpo, lo que hace que este personaje sea desproporcionado.

Los términos a menudo se usan indistintamente, y no veo ningún daño en eso. Considere la generación de procedimientos como generación aleatoria ” más justa ” y ” más inteligente “, a costa de la variación.

More Interesting

¿Cuáles son las mejores visualizaciones de algoritmos de aprendizaje automático?

Dada la secuencia creciente, en cada paso puede elegir 2 elementos consecutivos, reemplazarlos con su suma y no puede elegir el último elemento, ¿cuál es el número máximo de movimientos que puede hacer para que la secuencia siga aumentando?

¿Cómo se diseñaría una estructura de datos para soportar las siguientes operaciones en tiempo logarítmico: insert, deleteMin, deleteMax findMin, findMax?

¿Qué es un algoritmo fácil de implementar para estimar la complejidad de Kolmogorov de una secuencia finita?

Se me pide que lea datos de un archivo .txt en una matriz y que haga cosas con esa información (encontrar promedio, encontrar número de elementos, encontrar valores máximos / mínimos). ¿Cómo se puede hacer esto en Java?

¿Cómo diseñaría un algoritmo para clasificar 100 millones de libros y encontrar duplicados funcionales?

Cómo encontrar el enésimo número faltante más pequeño de una matriz de números

¿Por qué las funciones de límite superior e inferior en C ++ STL dan diferentes índices para el mismo número?

¿Cuáles son algunos ejemplos de problemas que son: (1) NP pero no NP-Complete; (2) NP-Completo; (3) NP-Hard pero no NP-Complete?

Te dan n pilas con p monedas, y cada jugador elimina al menos 1 moneda. El número de monedas eliminadas por un jugador no puede ser eliminado por el otro. ¿Quién ganará?

¿Qué proyectos de aprendizaje automático se ven bien en un currículum?

¿Debería seleccionar siempre el algoritmo con el menor orden de complejidad?

¿Dónde podemos ver el uso implícito de las estructuras de datos en la naturaleza, como lista enlazada, pila, Q, matriz, árbol y gráfico?

Soy un desarrollador de fuerza bruta, ¿cómo puedo mejorar mis habilidades de algoritmos?

¿Cuáles son las aplicaciones más prácticas (vida cotidiana) del algoritmo de agrupación de k-means? ¿Cómo se ha utilizado exactamente k-means en estas aplicaciones?