Los algoritmos basados en restricciones y en reglas son miembros de dos paradigmas de programación diferentes.
Los algoritmos basados en reglas son parte del paradigma de programación imperativo , que generalmente es lo que pensamos cuando hablamos de programación. Un programa imperativo consta de varios pasos con reglas lógicas. Ejemplo: “Si A, entonces haz B”.
El paradigma de programación de restricción es un subconjunto del paradigma de programación declarativa . Los programas declarativos describen cómo se evalúan las expresiones, en lugar de controlar el orden en que se calculan. En la programación de restricciones en particular, las expresiones se evalúan en función de las restricciones. Ejemplo: “X tiene que ser menor que 100. Y tiene que ser mayor que X pero menor que 200”.
- Quiero comparar una consulta con varios documentos y asignarles una clasificación. ¿Qué algoritmo necesito usar?
- ¿Cuál es la diferencia entre la recursión normal y la recursiva de la cola con ejemplos?
- ¿Por qué son tan importantes los algoritmos?
- ¿Qué lenguaje, libro o técnica es el mejor punto de partida cuando estás frustrado con tus habilidades de programación y quieres tener una sólida formación en algoritmos y estructuras de datos?
- Dadas dos cadenas de longitud N, ¿cómo encuentro la ventana máxima de patrones coincidentes si pueden mutarse?
En la programación declarativa y de restricción, las expresiones generalmente se calculan solo cuando son necesarias, lo que se denomina evaluación diferida. En la programación imperativa, tengo que asignar un valor a X antes de poder hacer algo con él. En la programación declarativa, X será evaluado cuando lo solicite.