Últimas entradas del blog

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..

El ABC con la librería mongodb/mongodb de PHP

2021-05-09 - Categorías: PHP

Aquí vengo a compartir un pequeño codekata o howto para comenzar a usar la última librería de PHP que se proporciona para el último driver de Mongodb a fecha de hoy. Mongodb es esta base de datos tan de moda. Tiene muy buen rendimiento, se suele usar cuando hay mucha cantidad de datos, escala horizontalmente muy bien, y un largo etcétera.

En unos posts anteriores estuve compartiendo sobre cómo arrancar en proyectos con Mongodb y PHP a pelo, sin librerías de Composer ni nada.

Continuar leyendo..

GNU/Linux: visualizando multiples registros en tiempo real con multitail

2021-05-09 - Categorías: General / GNU/Linux
Revisando registros en tiempo real con Multitail.

Hace tiempo que no escribo, no quiero perder las buenas costumbres así que por aquí estoy de nuevo compartiendo un sencillo comando que me ha costado un poco encontrar entre los habituales cat, tail, head, etc.. Se trata de un comando útil para depurar aplicaciones en sistemas GNU/Linux. En mi caso suelo andar mucho con webs o servicios del sistema. Así que viene bien tener a mano los registros.

Una buena alternativa pueden ser sistemas completos como el ELK con Elasticsearch, Logstash y Kibana, GoAccess, Splunk, etc.. Pero si el caso es revisar rápido a ver qué está pasando en tiempo real, sin tardar mucho en lanzar consultas en algún panel de control, tenemos multitail.

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..

© 2024 JnjSite.com - MIT license

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