2014-11-09 30 views
5

Geçenlerde Yapay Zeka tanışma amaçlı bir kursa başladım ve A * arama ile 15 Bulmaca çözer Python kabul edilebilir bir sezgisel işlevi uygulamak için bir atama verilmiştir. Müsaade Sezgisel Manhattan uzaklık

Ben başka sezgisel birlikte Manhattan Distance uyguladı. Python kodu gayet iyi çalıştı ve algoritma aslında sorunu çözdü ancak Manhattan'ın mesafe sezgisinin bu özel problem için kabul edilebilir olup olmadığı konusunda bazı şüphelerim var. o hedefe ulaşmak için maliyet tahminini fazla asla eğer

teoriye göre bir buluşsal geçersiz olacaktır. Bu, sezginin iyimser olduğu ve döndürdüğü maliyetin asla gerçek olandan daha büyük olmadığı anlamına gelir.

1 2 3 4 
0 6 7 8 
5 9 10 12 
13 14 11 15 

programım 5 hamle ile sorunu çözer ama her yanlış karo Manhattan Mesafeler toplamı 10 eşittir: ilk durum şu olduğunda

(0 boş bir alana işaret eder) Bu, gerçek maliyetin iki katıdır. Yani gerçek maliyet tahmini olandan çok daha azdır. Bu, sezgiselin kabul edilebilir olmadığı veya mantığımla ilgili yanlış bir şey olduğu anlamına mı geliyor?

Sadece boş bloğun Manhattan mesafe sayma düşündü ama boş blok onun doğru yerde olduğunu ancak diğer karolar yersiz olduğunda sıfır tahmini maliyetlerle devletler yol açacak.

+0

Bize mantık olmadığını göstermiştir, bu yüzden nasıl değerlendirmek gerekiyor? –

+0

Kodda herhangi bir sorunum yok. Benim sorum teorik bir soru. Sorun beş hamle ile çözülebilir. Her seferinde boş karo Yukarı, Aşağı, Sağ veya Sol hareket ettirilir. Sorunu çözen beş hamle: Aşağı, Sağ, Sağ, Aşağı, Sağ. Ama başlangıç ​​durumuna sezgisel bir yaklaşım uygulamak eğer çift gerçek maliyet olan 10 döndürür. Teoriye göre gerçek maliyetten daha az olmalıdır. Manhattan Mesafe hesaplamak için kod gerekmez. [Manhattan Distance] (http://en.wiktionary.org/wiki/Manhattan_distance) Hızlı cevap için teşekkürler;) – dimlucas

+2

Bana göre Manhattan mesafelerinin toplamı gerçekten 5 örneğinizde. 10'u nasıl alırsın? –

cevap

5

(aslında karolar birbirlerine müdahale sırasında) birbirlerinden bağımsız olarak her karo dikkate alınması Manhattan Distance sezgisel kabul edilebilir bir. Yani iyimser. Örnekte

her karo hedefi pozisyonundan mesafe 'nin toplamının 5 (fayans 5, 9, 10, 11, 15, bir hareket, her mi)' dir.

enter image description here

+0

Teşekkürler, boş kiremit taşınma maliyetini de ekliyordum – dimlucas

İlgili konular