Na verdade, qualquer esquema pré-arranjado consistente servirá.
Por exemplo:
- Vire sempre à esquerda
- Se estiver em um beco sem saída para a curva anterior e vire à direita
- Um terá que caminhar o dobro da velocidade (pré-arranjada) do outro (ou em termos mais teóricos dos números, as velocidades dos dois agentes devem ser relativamente primárias ou, geralmente, linearmente independentes).
Ou ainda mais simples
- Um agente permanece no mesmo local
- Enquanto o outro usa um esquema consistente para explorar o labirinto (por exemplo, usando uma abordagem de fio de Ariadne ).
- Eventualmente, em tempo finito, eles se encontrarão.
Esse esquema garantirá que as pessoas se encontrem eventualmente (mas pode levar algum tempo)
Por quê? Porque o esquema é consistente para ambos e não leva a um beco sem saída. Então, como o labirinto é finito e está conectado, depois de um tempo finito, eles se encontrarão.
Se o esquema não for consistente, não há garantia de que eles atendam, pois podem resultar em loops fechados.
Se eles tiverem a mesma velocidade, dependendo da arquitetura do labirinto, por exemplo, um labirinto cíclico, é possível que eles sempre estejam em pontos anti-diamétricos do labirinto e, portanto, nunca se encontrem, mesmo que o esquema seja consistente.
Fica claro pelo exposto acima que o esquema precisa ser pré-arranjado, mas qualquer esquema pré-arranjado consistente será necessário.
Caso contrário, pode-se confiar na análise probabilística e inferir que, com uma grande probabilidade, eles se encontrarão, mas essa probabilidade não é uma (ou seja, em todos os casos).
Pode-se também considerar o inverso do problema do encontro , o problema da prevenção, onde o objetivo é que os agentes sempre se evitem .
A solução para o problema da prevenção é que os agentes se reflitam exatamente. Significando que o que um agente faz o outro deve refletir isso. Como o problema de esquiva também tem uma solução , fica claro que estratégias para o problema de encontro que podem levar ao comportamento de reflexão dos agentes não podem garantir solução.
Pode-se dizer que a estratégia para o problema da prevenção é a paralelização (ou seja, ponto divergente máximo) enquanto a estratégia para o problema do encontro é a ortogonalidade (ou seja, ponto menos convergente)
A análise acima pode ser transformada em um algoritmo aleatório que não assume funções pré-organizadas para os agentes, como o seguinte:
- Cada agente joga uma moeda sobre qual papel escolher (por exemplo, permanecer no local ou explorar o labirinto)
- Então eles procedem como descrito acima.
Em média, isso levará as pessoas a se encontrarem, mas não é garantido em todos os casos.
Se assumirmos que os agentes podem deixar rastros , por exemplo, rótulos de sua direção (atual) e velocidade. Em seguida, o outro agente pode usar esses rastreamentos como informações para ajustar sua própria direção e velocidade (veja abaixo).
Esse tipo de problema é um exemplo de otimização global usando apenas informações locais . Ou, em outras palavras, uma maneira de mapear restrições globais para restrições locais . Esse problema mais geral (que inclui o problema de encontro) é abordado neste post do math.se (e suas referências) "Métodos para converter restrições globais em restrições locais"