É possível construir um modelo estatístico que preveja a próxima jogada em um gráfico apenas com base em movimentos passados e na estrutura do gráfico?
Fiz um exemplo para ilustrar o problema:
- O tempo é discreto . Em cada rodada, você permanece no seu nó / vértice atual ou passa para um dos nós conectados. Como o tempo é discreto e você pode, no máximo, avançar um nó a cada rodada, não há velocidade.
- Histórico de rotas / movimentos anteriores: {A, B, C} - E a posição atual é: C
Próximos movimentos válidos: C, B, X, Y, Z
- Se você escolher C, você permanece fixo,
- se B se move para trás,
- e se X, Y ou Z implica avançar.
Não há pesos nos links ou nos nós.
- Não há nó de destino final. Parte do comportamento do movimento observado é aleatório e parte dele terá alguma regularidade.
Um modelo muito simples - que não leva em consideração o histórico do movimento - apenas previa que C, B, X, Y e Z tinham uma probabilidade de 1/5 de ser o próximo movimento.
Mas com base na estrutura e na história do movimento, acho que é possível criar um melhor modelo estatístico. A instância anterior X deve ter uma probabilidade menor, já que alguém poderia ter se mudado para lá diretamente do nó B na rodada anterior. Da mesma forma, B também deve ter uma probabilidade mais baixa, pois a pessoa poderia ter permanecido fixa na rodada anterior.
Se o usuário se move de volta para B , então a história movimento será parecido com este {A, B, C, B} e os movimentos válidos será A, B, C, D, E, X . Mover para C deve ter menor probabilidade, pois você pode ter permanecido fixo. Mudar para X também deve ter uma probabilidade menor, já que você poderia passar para lá de C na rodada anterior. A história anterior também pode influenciar a previsão, mas deve receber menos peso do que a história recente - ie. 2 rodadas atrás, você poderia ter ficado em B , ou você poderia ter se mudou para A, D, E, X - 3 rodadas atrás, você poderia ter ficado em A .
Olhando em volta, descobri que problemas semelhantes são enfrentados em:
- telecomunicação móvel, em que os operadores tentam prever para qual torre de celular o usuário passará para o próximo, para que possam entregar a transmissão de chamadas / dados sem problemas.
- navegação na web, onde navegadores / mecanismos de pesquisa tentam prever qual página você irá para a próxima, de modo que eles possam pré-carregar e armazenar em cache a página, de forma que o tempo de espera seja reduzido. Da mesma forma, os aplicativos de mapa tentam prever quais blocos de mapa você solicitará a seguir e pré-carregue-os.
- e, claro, a indústria de transportes.