Buenas, vi una app que supuestamente funcionaba con inteligencia artificial y adivinaba el patron que hicieras con dos opciones por largo que fuera, el caso es que estoy intentando hacer algo parecido pero sin inteligencia artificial, y no consigo dar con el algoritmo, alguien sabe como hacerlo? porque estoy ay con la duda que no salgo. Gracias de antemano y saludos
Hasta ahora tengo este código hecho pero no logro que funcione:
class Prediccion
{
private List<int> datos = new List<int>();
private int posicion = 0;
private int prediccion = 2;
private int fallos = 0;
private int aciertos = 0;
int vecesUno = 0;
int vecesCero = 0;
//Esta funcion recibe un parametro (lo va almacenando en un array) y devuelve la predicción
public int insertarDato(int dato)
{
datos.Add(dato);
prediccion = datos[posicion];
posicion++;
if (prediccion == dato)
{
aciertos++;
}
else
{
fallos++;
}
if (aciertos >= datos.Count - 1)
{
datos.RemoveAt(datos.Count - 1);
posicion = 0;
}
if (fallos > datos.Count)
{
datos.Clear();
aciertos = 0;
fallos = 0;
posicion = 0;
}
posicion++;
return prediccion;
}
}
Intentar descubrir patrones por medios estáticos digamos que no es ideal, podrías dar con cosas simples, justamente para eso es que creamos la IA para descubrir patrones y analizar datos de manera no estática
Entonces no se puede resolver este problema si no es con IA o algo similar?, lo digo por no seguir intentando resolverlo y tropezar todo el rato con la misma piedra
probablemente lo puedes hacer pero tienes que tener en cuenta multiples cosas
- que tipo de patron esperas resolver?
- se puede aplicar funciones sobre ellos o necesita algoritmos?
- son numericos o sintacticos? (es decir por ejemplo el patron 0|1|-1|2|-2|3 es numerico, pero el 10|1|11|2|13|4|17 (el patron es: la suma de los digitos el el siguiente, el numero + el anterior es el siguiente, suma digitos, num+ant, suma digitos...) en ese caso sintactico porque juegas con los numeros mas alla de su valor entero)?
- son relativos a un segundo patron?