Inteligencia Artificial

IA: cómo montar un Sistema Basado en Reglas con PHP

2021-05-30 - Categorías: Inteligencia Artificial / PHP

Realmente no hacen falta complejos sistemas informáticos para montar inteligencias artificiales, o más bien, para aplicar inteligencia artificial a la resolución de los problemas.

Aquí tenemos a modo de codekata, un sencillo howto hecho 100% en PHP, para montar una pequeña IA. Un Sistema Basado en Reglas, es una de las formas más sencillas de aplicar inteligencia artificial a la resolución de problemas. Los SBR son Sistemas Expertos, que comenzaron a usarse por la comunidad a mediados de 1960, con lo que tienen su recorrido..

Continuar leyendo..

Comparando algoritmos de búsqueda en grafos

2021-05-24 - Categorías: Inteligencia Artificial / PHP
Comparando el AGBG con anchura, profundidad, BF y A*..

Aquí puedes encontrar un howto o codekata en PHP, en el que se comparan algunos algoritmos de recorridos de grafos. Este post es continuación del post anterior sobre el algoritmo general de recorrido en grafos.

A partir del algoritmo general, tenemos derivados cuatro algoritmos más. Dos de estos algoritmos son de los básicos, y dos aplican técnicas heurísticas. Los heurísticos tratan de predecir qué camino usar primero para alcanzar antes el nodo meta.

Continuar leyendo..

El algoritmo general de búsqueda en grafos

2021-05-17 - Categorías: Inteligencia Artificial / PHP

Este post es sobre una algoritmo que es la madre del cordero de muchos algoritmos de búsqueda 🤣 Se puede considerar un algoritmo base para búsquedas, sobre el que se puede evolucionar hacia otros algoritmos. No he encontrado su implementación en PHP, así que aquí estoy compartiendo, a modo de codekata, este howto.

Este algoritmo general de búsqueda en grafos, es un algoritmo elaborado para solucionar problemas inteligentemente representados mediante grafos. No aplica ninguna predicción sobre los siguientes caminos a seguir mientras se hace la búsqueda, pero tampoco es un algoritmo de fuerza bruta.

Lo propuso Nilsson en 1971, así que tiene ya su recorrido. A partir de éste se han generado todo tipo de mejoras, heurísticas, desembocando en todo tipo de variantes que mejorarán el rendimiento como por ejemplo el A*, IDA, SMA*, Dijkstra, etcétera..

Continuar leyendo..


Prolog: pilas de elementos

2021-04-18 - Categorías: Inteligencia Artificial / Prolog
Prolog haciendo pilas de elementos
Prolog haciendo pilas de elementos..

Otro sencillo codekata en Prolog para hacer pilas de elementos. Esta es una continuación del post anterior. Las pilas de elementos son una de las estructuras básicas de programación. Son listas en las que simplemente se añaden elementos y se extraen por una parte, normalmente por la cabeza de la pila, o la cima también, como si fueran una pila de elementos apilados verticalmente.

Continuar leyendo..


Prolog: cómo hacer condicionales

2021-04-17 - Categorías: Inteligencia Artificial / Prolog
Prolog los condicionales
Haciendo un condicional en Prolog..

Este es un howto o codekata en Prolog para construir reglas que apliquen condiciones. Es decir, esta es la forma de usar los clásicos if-then-else de los lenguajes más conocidos. En Prolog no tenemos estas palabras clave, pero tenemos la flecha y el punto y coma, con los que podemos conseguir un comportamiento similar al if-then-else.

Continuar leyendo..

Prolog: cómo hacer un contador

2021-04-17 - Categorías: Inteligencia Artificial / Prolog

Otro sencillo codekata o howto en Prolog para hacer una utilidad interesante, un contador. En Prolog no tenemos variables como tal que puedan almacenar valores en el tiempo, sólo almacenan valores en el momento en que estamos en una regla. Así que tenemos que usar predicados para enlazar valores, y simular así el comportamiento normal de una variable, tal y como se haría en otros lenguajes más conocidos como los iterativos normales.

Continuar leyendo..

Prolog: predicados o variables dinámicos

2021-04-11 - Categorías: Inteligencia Artificial / Prolog
Prolog variables dinamicas
Prolog, simulando variables dinámicas..

Combinando unos de posts anteriores, el de preguntar al usuario, el de variables estáticas y el de añadir conocimiento dinámicamente, podemos elaborar algo como este codekata o howto en Prolog. En este codekata, en vez de añadir el conocimiento al sistema estáticamente mediante un fichero .pl, se le pregunta al usuario por el dato, en este caso su nombre, y se almacena para después poder consultarlo durante dure la sesión.

Continuar leyendo..


Prolog: simulando variables constantes

2021-04-11 - Categorías: Inteligencia Artificial / Prolog
Prolog simulando variables

En Prolog no existen variables que almacenen en el tiempo valores, con lo que el trabajar con valor de cosas es algo complicado al principio, choca con lo simple que es comparado con otros lenguajes. Es es un howto o codekata para simular variables con cierto valor y así tenerlas disponibles para hacer el procesamiento que sea necesario.

Continuar leyendo..

© 2021 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.