Tepe tırmanma algoritmasının sınırlamaları nelerdir ve bunların üstesinden nasıl gelinir?


Yanıtlar:


6

@Nbro, Hill Climbing'in yerel arama algoritmaları ailesi olduğunu söyledi . Yani, soruda Tepe Tırmanışı dediğinde, standart tepe tırmanışı hakkında konuştuğunu varsaydım. Tepe tırmanmasının standart versiyonunun bazı sınırlamaları vardır ve genellikle aşağıdaki senaryoda takılır:

  • Yerel Maxima: Yakınlarda yerel bir maksimum değere ulaşan tepe tırmanma algoritması zirveye doğru çekilir ve gidecek başka bir yeri olmayan orada sıkışır .
  • Sırtlar: Bunlar , algoritmanın gezinmesini zorlaştıran yerel maxima dizileridir .
  • Platolar: Burası düz bir devlet-uzay bölgesidir . Gitmek için yokuş yukarı olmadığı için algoritma platoda sıklıkla kaybolur.

Bu sorunları çözmek için, tepe tırmanma algoritmalarının birçok çeşidi geliştirilmiştir. Bunlar en yaygın olarak kullanılır:

  • Stokastik Tepe Tırmanışı yokuş yukarı hareketlerden rastgele seçer. Seçim olasılığı yokuş yukarı hareketin dikliğine göre değişir.
  • Birinci Tercih Tırmanma , daha iyi olana kadar rasgele halefler oluşturarak yukarıdakileri uygular.
  • Hedef durumuna ulaşılıncaya kadar rastgele oluşturulan ilk hamlelerden rastgele yeniden tepeye tırmanma aramaları.

Tepe tırmanma algoritmalarının başarısı, durum-uzay manzarasının mimarisine bağlıdır. Ne zaman azami maxima ve platolar varsa, tepe tırmanma algoritmalarının varyantları çok iyi çalışır. Ancak gerçek dünyadaki problemlerde, düz bir zeminde yaygın olarak dağılmış saçsız kirpi ailesine benzeyen bir manzara var, her kirpi iğnesinin ucunda yaşayan minyatür kirişler (Yapay Zeka: A kitabının 4. Bölümünde açıklandığı gibi) Modern Yaklaşım). NP-Hard problemleri tipik olarak üstesinden gelmek için üstel sayıda yerel maksimuma sahiptir.
Bu tür sorunların üstesinden gelmek için verilen algoritmalar geliştirilmiştir:

  • Uyarılmış Tavlama
  • Yerel Işın Arama
  • Genetik Algoritmalar

Referans Kitabı - Yapay Zeka: Modern Bir Yaklaşım


Tepe tırmanışı sorunlarının üstesinden gelmek için daha fazla alternatif mevcut; permütasyon grupları, örüntü veritabanları ve dilbilgisi tabanlı arama. Durum alanında daha hızlı arama yapmak için alan adına özgü bilgileri kullanıyorlar.
Manuel Rodriguez

Evet @ManuelRodriguez. Etki alanına özgü bilgiye bağlı algoritmalar mükemmel sonuçlar verir. Ancak, Hill Climb Search'ün sınırlamalarının üstesinden gelebilecek birkaç yoldan bahsederek genel sorunların yanıtını tutmaya çalıştım.
Ugnes

5

Tepeye tırmanma bir algoritma değil, bir "yerel arama" algoritmaları ailesidir. "Tepe tırmanma" algoritmaları kategorisine giren spesifik algoritmalar, 2-opt, 3-opt, 2.5-opt, 4-opt veya genel olarak herhangi bir N-opt'tur. Bu yerel arama algoritmalarından bazıları (TSP'ye uygulanır) hakkında daha fazla ayrıntı için " Gezgin Satıcı Sorunu: Yerel Optimizasyonda Bir Vaka Çalışması " makalesinin 3. bölümüne (David S. Johnson ve Lyle A. McGeoch tarafından) bakınız.

Bu kategorideki bir algoritmayı diğerinden ayıran şey, kullandıkları "mahalle işlevi" dir (basit bir deyişle, belirli bir çözüme komşu çözümler bulma yöntemleri). Pratikte, bunun her zaman böyle olmadığını unutmayın: genellikle bu algoritmaların birkaç farklı uygulaması vardır.

Tepe tırmanma algoritmalarının en belirgin kısıtlamaları doğaları nedeniyle, yani yerel arama algoritmalarıdır. Bu nedenle genellikle sadece yerel maxima (veya minima) bulurlar . Bu nedenle, bu algoritmalardan herhangi biri zaten yerel bir minimum (veya maksimum) birime dönüştüyse ve çözümde veya arama alanında, bulunan bu çözüme yakın, daha iyi bir çözüm varsa, bu algoritmaların hiçbiri bunu bulamaz daha iyi bir çözüm. Temel olarak tuzağa düşecekler.

Yerel arama algoritmaları genellikle tek başına kullanılmaz. Simüle edilmiş tavlama, yinelenen yerel arama veya ant-koloni algoritmalarının herhangi birinde diğer meta-sezgisel algoritmaların alt rutinleri olarak kullanılırlar. Bu nedenle, sınırlamalarının üstesinden gelmek için genellikle bunları tek başına kullanmayız, ancak olasılıklı bir yapıya sahip olan ve küresel minima veya maxima (örneğin, ant-koloni algoritmalarından herhangi biri) bulabilen diğer algoritmalarla birlikte kullanırız.


Güzel cevap (+1)! Koloni dışı algoritmalar hakkında bilgi edinmek için bir kaynak (YouTube, blog yazısı, kâğıt, kitap) önerebilir misiniz? Bunu hiç duymadım ve onlar hakkında kabaca bir fikir edinmek istiyorum.
Martin Thoma

1
@MartinThoma Korkarım ACS hakkında çok güzel bir eğitim bilmiyorum. Belki aşağıdaki kısa öğretici ve ilgili uygulama ile başlayabilirsiniz: cleveralgorithms.com/nature-inspired/swarm/… . TSP'ye uygulanan daha ciddi bir uygulama ile de ilgileniyorsanız, o zaman buna bir göz atın: aco-metaheuristic.org/aco-code , Stützle (ve diğerleri) tarafından geliştirildi, gelişmeye katkıda bulunanlardan biri bu tekniklerin.
nbro

Asker, tepeye tırmanmanın resmi tanımının ne olduğunu biliyor çünkü Wikipedia makalesini okudu. Soru daha çok Yapay Zeka için nasıl kullanılacağı yönünde. Tepe tırmanışının sadece yerel alanda arama yapabileceği ve bu da AI ile ilgili sorunların zorlaştığı bilinmektedir. Genellikle arama yerel bir optima'da sıkışır, bu da Seyahat eden satıcı problemindeki en kısa yolun bulunamadığı anlamına gelir.
Manuel Rodriguez

1
@MartinThoma Her neyse, araştırma makalelerine de göz atabilirsiniz. Size sadece birkaç önemli araştırmacıyı söyleyebilirim: Dorigo (bu teknikleri ilk tanıtan AFAIK), Gambardella ve Stützle. Kağıtlarına bak. Hangisini önereceğinden emin değilim. Ayrıca, ayrıntılara gerçekten gitmek istiyorsanız, zekayı (Bonabeau tarafından) sürmeye adanmış bir kitap var.
nbro
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.