Come trovo mia moglie in un supermercato?


27

Se due persone si perdono in un labirinto, esiste un algoritmo che entrambi possono usare per trovarsi senza aver concordato in precedenza quale algoritmo useranno?

Penso che ci siano alcune caratteristiche che questo algoritmo avrà:

  • Ogni persona deve essere in grado di ricavarlo usando una logica che non fa ipotesi su ciò che l'altra persona sta decidendo, ma poiché ogni persona sa che l'altra persona si trova nella stessa posizione, può fare deduzioni su ciò che l'altra deve decidere.
  • Un algoritmo identico deve essere derivato da entrambe le persone in quanto vi è una simmetria totale nelle loro situazioni (nessuno dei due ha alcuna conoscenza della posizione di partenza dell'altro, e il labirinto ha una dimensione fissa e completamente mappato da entrambi). Si noti che l'algoritmo non deve essere deterministico: può essere randomizzato.

(Un supermercato può essere un esempio fuorviante, in quanto v'è una zona semi-osservabile uscita.) Ora, se entrambi avevano un mezzo per marcare il loro percorso in un modo che permette a ciascuno di raccontare proprio da altri , si potrebbe invertire a intervalli triplicare, problemi che iniziano quando si incontrano i propri .
Greybeard,

7
La risposta logica è quella di chiamare il suo cellulare;)
DavidPostill,

2
La risposta non CS è quella di andare a un punto Schelling . In un supermercato potrebbe essere, ad esempio, il servizio clienti o l'uscita. Si noti, tuttavia, che nella vita umana, i punti di Schelling dipendono spesso tanto dal comportamento e dalle conoscenze umane, piuttosto che dall'analisi algoritmica dei modelli di connettività, quindi la prospettiva CS non fornisce davvero molta comprensione quando si parla di agenti umani. Intendi davvero fare domande sulle persone nella vita reale o intendi porre una domanda matematica sugli agenti robotici in un ambiente idealizzato?
DW

Risposte:


19

Questo si chiama problema appuntamento .

Come l' articolo: Mobile Agent Rendezvous: un sondaggio menzionato, questo problema è originale proposto da Alpern: The Rendezvous Search Problem :

Due astronauti atterrano su un corpo sferico che è molto più grande del raggio di rilevamento (entro il quale possono vedersi). Il corpo non ha un orientamento fisso nello spazio, né ha un asse di rotazione, in modo che agli astronauti non sia disponibile una nozione comune di posizione o direzione per il coordinamento. Date le velocità di camminata dell'unità per entrambi gli astronauti, come dovrebbero muoversi in modo da ridurre al minimo il tempo di riunione previsto T (prima che rientrino nel raggio di rilevamento)?

Nel documento di indagine sopra,

Riassunto: I recenti risultati sul problema dell'appuntamento con l'agente mobile su reti distribuite sono esaminati con un'enfasi sul delineare i vari approcci adottati dai ricercatori nella comunità teorica dell'informatica.

Comprende sia "Riassunto asimmetrico" (nella Sezione 4) che "Riassunto simmetrico" (nella Sezione 5).


Per un incontro simmetrico, l'articolo di Alpern mostra:

Viene mostrato come le simmetrie nella regione di ricerca possano ostacolare il processo impedendo il coordinamento basato su concetti come il nord o in senso orario.


Contrassegnato al meglio in quanto mi indica il settore di studio pertinente. Se la mia lettura di questo sondaggio è corretta, non è ancora noto se esiste una soluzione ottimale all'appuntamento simmetrico.
jl6,

-1

In realtà lo farà qualsiasi schema prestabilito coerente.

Per esempio:

  1. Girare sempre a sinistra
  2. Se sei in un vicolo cieco indietro alla svolta precedente e gira a destra
  3. Uno dovrà camminare il doppio della velocità (pre-organizzata) dell'altro (o in termini più teorici dei numeri, le velocità dei due agenti dovrebbero essere relativamente prime, o più in generale essere linearmente indipendenti).

O ancora più semplice

  1. Un agente rimane nello stesso posto
  2. Mentre l'altro usa uno schema coerente per esplorare il labirinto (ad esempio usando un approccio di thread di Ariadne ).
  3. Alla fine, a tempo finito, si incontreranno.

Questo schema garantirà che le persone si incontreranno eventualmente (ma potrebbe richiedere del tempo)

Perché? Perché lo schema è coerente per entrambi e non porta a un vicolo cieco. Quindi, poiché il labirinto è finito ed è collegato, dopo un tempo limitato si incontreranno.

Se lo schema non è coerente, non vi è alcuna garanzia che si incontreranno poiché possono provocare cicli chiusi.

Se hanno la stessa velocità, a seconda dell'architettura del labirinto, ad esempio un labirinto ciclico, è possibile che possano sempre trovarsi in punti anti-diametrici del labirinto, quindi non incontrarsi mai, anche se lo schema è coerente.

Da quanto precede risulta chiaramente che lo schema deve essere predisposto, ma lo farà qualsiasi schema concordato coerente.

Altrimenti si può fare affidamento sull'analisi probabilistica e dedurre che con una grande probabilità si incontreranno, ma questa probabilità non è una (cioè in tutti i casi).

Si può anche considerare il contrario del problema dell'appuntamento, il problema di evitamento in cui l'obiettivo è che gli agenti si evitino sempre l'un l'altro .

La soluzione al problema di evitamento è che gli agenti si riflettano reciprocamente esattamente. Ciò significa che ciò che un agente fa all'altro dovrebbe riflettere ciò. Poiché anche il problema dell'evitamento ha una soluzione , è chiaro che le strategie per il problema dell'appuntamento che possono portare al comportamento riflessivo degli agenti, non possono garantire la soluzione.

Si può dire che la strategia per il problema di evitamento è la parallelizzazione (cioè il punto divergente massimo) mentre la strategia per il problema dell'appuntamento è l' ortogonalità (cioè il punto meno convergente)

L'analisi sopra può essere trasformata in un algoritmo randomizzato che non assume ruoli prestabiliti per gli agenti, come il seguente:

  1. Ogni agente lancia una moneta su quale ruolo scegliere (ad es. Rimanere sul posto o esplorare il labirinto)
  2. Quindi procedono come descritto sopra.

Questo in media porterà alla fine alla riunione delle persone, ma non è garantito in tutti i casi.

Se assumiamo che gli agenti possano lasciare tracce , ad esempio etichette della loro direzione (corrente) e velocità. Quindi, l'altro agente, può utilizzare queste tracce come informazioni per regolare sia la propria direzione che la propria velocità (vedere sotto).

Questo tipo di problema è un esempio di ottimizzazione globale che utilizza solo informazioni locali . O, in altre parole, un modo per mappare i vincoli globali ai vincoli locali . Questo, più generale, problema (che sottrae il problema dell'appuntamento) è affrontato in questo post di math.se (e riferimenti in esso) "Metodi per tradurre i vincoli globali in vincoli locali"


"Un agente rimane nello stesso posto" viola la proprietà di simmetria che OP desidera. dove entrambi gli agenti seguono la stessa strategia.
AndyG,

@AndyG, sì, questa parte ha una risposta di seguito, usando una serie di approcci Plus, si risponde notando che la soluzione non è garantita in questo caso
Nikos M.

1
@NikosM. Non credo sia necessario alcun tipo di sincronizzazione. Si può modellare questo problema come uno scenario di evasione dell'inseguimento in cui entrambi gli agenti considerano gli altri come un evasore. Esistono approcci probabilistici per risolvere questo problema e in un ambiente 3D si può mostrare il numero minimo di inseguitori richiesti per garantire una cattura.
AndyG,

1
"Gira sempre a sinistra" non funziona. Supponi di essere sulla corsia 2 e che tua moglie sia sulla corsia 5. Camminerai su e giù per le navate 2 e 3 (o 1 e 2, a seconda del modo in cui eri inizialmente rivolto) per sempre, e tua moglie camminerà su e giù 5 e 6 (o 4 e 5). In alternativa, se ti trovi in ​​un piccolo supermercato il cui grafico di connettività è un ciclo, potresti semplicemente finire per camminare per sempre, nella stessa direzione e alla stessa velocità.
David Richerby,

1
"Un agente rimane nello stesso posto, l'altro fa qualcos'altro" non funziona dal momento che entrambi gli agenti potrebbero scegliere di rimanere fermi e aspettare l'altro per sempre. Se gli agenti possono comunicare per concordare chi starà fermo, potrebbero anche comunicare il fatto che uno di loro è in piedi accanto alle banane.
David Richerby,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.