Optimal miyop labirent çözücü


10

Birlikte eğlenmeyi edildi tarihinde bloklu en Labirent demo ve bir labirent çözmek istiyorsanız, sadece duvara sol elini tutmak Eski kuralı hatırladı. Bu, basit bağlı herhangi bir labirent için çalışır ve sonlu bir dönüştürücü tarafından uygulanabilir.

Robotumuzun aşağıdaki eylemler ve gözlemlenebilir bir dönüştürücü ile temsil edilmesine izin verin:

  • Eylemler: ileri git ( ), sola dön ( ), sağa dön ( )
  • Gözlemlenebilir: önde duvar ( ), önde duvar yok ( )

Sonra sol labirent çözücüyü (tembel çizimimi affedin) olarak inşa edebiliriz:

labirent çözmek için dönüştürücü

Gözlenebilir bir nokta gördüğümüzde, o kenarla ilişkili eylemi yürütürken uygun kenarı durumdan takip etmemizi sağlayacaktır. Bu otomat, basitçe bağlanan labirenteri çözecektir, ancak çıkmaz sokaklardan sonra zaman alabilir. Aşağıdaki durumlarda başka bir otomasyon A'danB daha iyi olarak adlandırırız :A

  1. B , yalnızca sınırlı sayıda labirentte kesinlikle daha fazla adım atar ve

  2. B , sonsuz sayıda labirentte kesinlikle daha az adım atar (ortalama; olasılıklı varyantlar için).

İki sorum:

  1. Yukarıda çizilenden daha iyi sonlu bir otomat var mı ? Olasılıksal dönüştürücülere izin verirsek ne olur?

  2. Labirentleri çözmek için basitçe bağlanması gerekmeyen sonlu bir otomat var mı?


@jmad ve ben bu soru hakkında sohbette oldukça verimli bir tartışma yaptık . Soru (özellikle daha iyi tanımları ) hakkında düşünüyorsanız , transkript kontrol etmenizi öneririz.
Artem Kaznatcheev

Bu sorunun yapay zeka ile nasıl ilişkili olduğunu göremiyorum (özellikle temsilcilerimiz örnek verilere göre davranışlarını değiştirmemeleri için), ancak bu alanda uzman değilim.
Raphael

3
@Raphael labirent çözme ve yol bulma (BFS, DFS, A * ve koğuşların gözden geçirilmesinden), bir yapay zeka kursunda temel müfredattır. Bir istihbarat olarak, bu özellikle heyecan verici değil, ama AI bana bir şey öğretmişse: AI'nın çoğu sadece bir arama problemidir.
Artem Kaznatcheev

Yanıtlar:


6

Soruyu iyi anladıysam, sonsuz sayıda labirentte daha hızlı otomata almak için bir hızlandırma hilesi uygulayabileceğinizi düşünüyorum (çıkışın kenarlıklardan birine yerleştirilmesi şartıyla): Sonlu sayıda adım ve çıkmaz uçları şekilde olduğu gibi tanımlayın:

resim açıklamasını buraya girin

A

Benzer bir şekilde, ölü uçlardan kaçınmak ve otomasyonunuzu hızlandırmak için sınırlı sayıda farklı sabit boyutlu şekli kodlayabilirsiniz. Sonuç olarak, sınıra yerleştirilmiş basit bağlı labirentler için "optimal" miyop labirent çözücü yoktur.

Giriş labirentin içine ve çıkış sınırda da yerleştirilirse hile çalışır; ancak çıkış labirentin içine yerleştirilirse çalışmaz, çünkü tüm yerler ziyaret edilmelidir ve bu durumda miyopik çözücünüz en uygunudur.

Açıkça basitçe bağlı olmayan labirenteleri çözmek için aynı hileyi uygulayamazsınız (ancak her bağlı olmayan bileşenin boyutunda sabit bir üst sınır varsa işe yaramalıdır).


Bu, sınırdaki giriş-çıkış durumu için basit bir numaradır (basit bağlantılı labirentlerin bir alt sınıfıdır). Bu kısıtlı durumda, tanımladığım siparişin minimum bir unsuru olmadığını gösterir. Ben sadece basit bağlı labirentine için genelleştirilebilir sanmıyorum (ki bu çalışma sol aşağıdaki set).
Artem Kaznatcheev

@ArtemKaznatcheev: Bence hile labirent içine giriş ve sınırdan çıkış labirentine çalışır. Ayrıca, şekildeki gibi bir altmazın bulunduğu (sonsuz sayıda) labirent üzerinde çalışır). Bu noktayı açıklığa kavuşturmak için soruyu düzenleyeceğim.
Vor

k

4k1

5

Soru 1

Bence daha iyi tanımınız sonlu çok kısıtlayıcı olduğu için çok katı (ama daha iyi bir tanımım yok).

R=(Ri)iRiiLARALRLARAL

ARRAR

Olasılıksal dönüştürücüler muhtemelen bu dışlayıcı olabilir, çünkü deterministik bir dönüştürücü bu sonsuz labirent setlerinde daha hızlı olacaktır.

Soru 2 ( OP ile yapılan tartışma sayesinde )

Hayır. (Kaynak: Lothar Budach'ın bu çığır açan makalesi . Teorem, bu makalenin Frank Hoffmann'ın özetinde daha açık bir şekilde belirtilmiştir .)


evet, sol ve sağ duvarın eşdeğerini takip etmesi için labirentler üzerinde standart dönüşümler (dönüşler ve yansımalar gibi) üzerinde bazı eşdeğerlik sınıfları tanımlamamız gerekir. Maalesef 1. soru bölümünüz ilk sorumu yanıtlamıyor . Karşılaştırılamaz ('daha iyi' kısmi sırada) çözücülerin olduğunu (simetri varsayımları yapmazsak sol ve sağ el gibi) gösterir, ancak bir tane olmadığını kanıtlamaz sol elden daha iyi.
Artem Kaznatcheev

ABABLRL R A A L L ARLLRAALLA

@ArtemKaznatcheev: evet, soruyu cevaplamadığını biliyorum, daha açık olmalıydım. Demek istediğim, benim bunu düşünmen olabilir LH'ya bu geçerlidir ama aynı zamanda o kolayca sonsuz kümeler bu tür wrt çok hassastır. (Bence A sadece , bir alt kümesine çok benziyorsa )A B B AABBA
jmad

Düşünebileceğim alternatif tanım, kötü örneklerden (sonlu yerine) az olmasını istemektir; polinom veya daha küçük (belki log?) sayıda kötü örnek ve birçok: süper polinom / üstel iyi örnek sayısı. Ama aslında bunun daha kısıtlayıcı olduğunu düşündüm, çünkü , SO MANY örneklerinde daha iyi performans göstermelidir . BAB
Artem Kaznatcheev

@ArtemKaznatcheev: Labirentin büyüklüğüne bağlı bir şey yapabilirsiniz ( ancak hem şüpheli hem de pratik değildir). Sohbete devam edebiliriz . #{A(M)<B(M)|M|n}/#{M|M|n}=o(1)
jmad
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.