Farq xaritasi algoritmi - Difference-map algorithm

Furye transformatsiya modulidan kulrang rangdagi tasvirni farqli ravishda qayta tiklashda 0, 100, 200, 300 va 400 takrorlanishlari.

The farq xaritasi algoritmi a qidirish algoritmi umumiy uchun qoniqish cheklash muammolar. Bu meta-algoritm bajaradigan asosiy algoritmlardan tuzilgan ma'noda proektsiyalar ustiga cheklash to'plamlar. Matematik nuqtai nazardan farqlar xaritasi algoritmi a dinamik tizim asosida xaritalash ning Evklid fazosi. Yechimlar quyidagicha kodlangan sobit nuqtalar xaritalash.

Dastlab, hal qilishning umumiy usuli sifatida yaratilgan bo'lsa-da faza muammosi, uchun farqlar xaritasi algoritmi ishlatilgan mantiqiy to'yinganlik muammosi, oqsil tuzilishini bashorat qilish, Ramsey raqamlari, diofantin tenglamalari va Sudoku,[1] shuningdek, soha va disklarni qadoqlash muammolari.[2] Ushbu dasturlarga kiritilganligi sababli To'liq emas muammolar, farq xaritasi ko'lami an to'liq bo'lmagan algoritm. To'liq bo'lmagan algoritmlar echimlarni samarali tekshirishi mumkin (nomzod topilgach), ular echim yo'qligini isbotlay olmaydilar.

Farq-xarita algoritmi ikkitasini umumlashtirishdir takroriy usullar: Fienupniki Faza olish uchun gibrid kirish chiqishi (HIO) algoritmi[3] va Duglas-Rachford algoritmi[4] uchun qavariq optimallashtirish. Iteratsion usullar, umuman olganda, fazalarni olish va konveks optimallashtirish bo'yicha uzoq tarixga ega. Qattiq, qavariq bo'lmagan muammolar uchun ushbu uslubiy algoritmdan foydalanish - bu so'nggi rivojlanish.

Algoritm

Yechilishi kerak bo'lgan muammoni avval a shaklida shakllantirish kerak chorrahani o'rnatish Evklid kosmosidagi muammo: toping to'plamlar kesishmasida va . Yana bir zarur shart - bu prognozlarni amalga oshirish va o'zboshimchalik bilan kirish nuqtasi berilgan , cheklovlar to'plamidagi nuqtani qaytaring yoki bu eng yaqin . Algoritmning bitta iteratsiyasi xaritalash orqali berilgan:

Haqiqiy parametr 0 ga teng bo'lmasligi kerak, lekin ikkala belgiga ham ega bo'lishi mumkin; maqbul qiymatlar qo'llanilishiga bog'liq va tajribalar orqali aniqlanadi. Birinchi taxmin sifatida tanlov (yoki ) tavsiya etiladi, chunki u bir iteratsiya bo'yicha proektsiyani hisoblash sonini kamaytiradi:

Bir nuqta xaritaning belgilangan nuqtasidir aniq qachon . Chap tomonning elementi bo'lgani uchun va RHS ning elementidir , tenglik shuni anglatadiki, biz ikkita cheklovlar to'plamining umumiy elementini topdik. Belgilangan nuqta ekanligini unutmang o'zi ikkalasiga ham tegishli emas yoki . Ruxsat etilgan nuqtalar to'plami odatda echimlar to'plamiga qaraganda ancha yuqori o'lchamlarga ega bo'ladi.

Algoritmning rivojlanishi ikki proektsiyaning farq normasini tekshirish orqali kuzatilishi mumkin:

.

Bu yo'qolganda, ikkala cheklovlar to'plami uchun umumiy nuqta topildi va algoritm tugatilishi mumkin.

Misol: mantiqiy qoniqish

Stoxastik kabi to'liq bo'lmagan algoritmlar mahalliy qidiruv, mantiqiy formulalarga qoniqarli topshiriqlarni topish uchun keng qo'llaniladi. Ning misolini hal qilishga misol sifatida 2-SAT farq xaritasi algoritmi bilan quyidagi formulani ko'rib chiqing (~ YO'Q);

(q1 yoki q2) va (~q1 yoki q3) va (~q2 yoki ~q3) va (q1 yoki ~q2)

Sakkiztasining har biriga adabiyotshunoslar ushbu formulada sakkiz o'lchovli Evklid fazosida bitta haqiqiy o'zgaruvchini tayinlaymiz. Ushbu o'zgaruvchilar jadvalga joylashtirilganida, 2-SAT formulasining tuzilishini tiklash mumkin:

x11x12
(x21)x22
(x31)(x32)
x41(x42)

Qatorlar - bu 2-SAT formuladagi bandlar va bir xil mantiqiy o'zgaruvchiga mos keladigan harflar ustunlar bilan joylashtirilgan, inkor qavs bilan ko'rsatilgan. Masalan, haqiqiy o'zgaruvchilar x11, x21 va x41 bir xil mantiqiy o'zgaruvchiga mos keladi (q1) yoki uni inkor qilish va chaqiriladi nusxalar.1 va -1 qiymatlarini bilan bog'lash qulay Rost va Yolg'on an'anaviy 1 va 0 dan ko'ra. Ushbu konventsiya bilan replikatsiyalar o'rtasidagi muvofiqlik quyidagi chiziqli tenglamalar shaklida bo'ladi:

x11 = -x21 = x41
x12 = -x31 = -x42
x22 = -x32

Ushbu tenglamalar qondirilgan chiziqli pastki bo'shliq, masalan, cheklovli bo'shliqlardan biridir A, farqlar xaritasi tomonidan ishlatiladi. Ushbu cheklovni loyihalash uchun biz har bir nusxani imzolangan replikatsiya o'rtacha yoki uning salbiy bilan almashtiramiz:

a1 = (x11 - x21 + x41) / 3
x11a1   x21 → -a1   x41a1

Ikkinchi farq-xaritadagi cheklov jadvalning satrlari, bandlariga taalluqlidir. Qoniqarli topshiriqda har bir satrdagi ikkita o'zgaruvchiga (1, 1), (1, -1) yoki (-1, 1) qiymatlari berilishi kerak. Tegishli cheklovlar to'plami, B, shuning uchun $ 3 $ to'plamidir4 = 81 ball. Ushbu cheklovni loyihalashda har bir qatorga quyidagi operatsiya qo'llaniladi. Birinchidan, ikkita haqiqiy qiymat 1 yoki -1 ga yaxlitlanadi; agar natija (-1, -1) bo'lsa, ikkita asl qiymatning kattaroq qismi 1 ga almashtiriladi.

(-.2, 1.2) → (-1, 1)
(-.2, -.8) → (1, -1)

Ta'riflangan ikkala proektsion operatsiyalarning kirish va chiqish qiymatlari orasidagi Evklid masofasini minimallashtirishini tekshirish to'g'ridan-to'g'ri mashqdir. Bundan tashqari, agar algoritm nuqta topishda muvaffaqiyat qozonsa x ikkala cheklovlar to'plamida ham mavjud bo'lsa, unda biz (i) bilan bog'liq bo'lgan bandlarni bilamiz x hammasi Rost, va (ii) nusxalarga berilgan topshiriqlar asl mantiqiy o'zgaruvchilarga haqiqat topshirig'iga mos keladi.

Algoritmni ishga tushirish uchun avval boshlang'ich nuqta hosil bo'ladi x0, demoq

-0.5-0.8
(-0.4)-0.6
(0.3)(-0.8)
0.5(0.1)

D = 1 dan foydalanib, keyingi qadam hisoblashdir PB(x0) :

1-1
(1)-1
(1)(-1)
1(1)

Buning ortidan 2 keladiPB(x0) - x0,

2.5-1.2
(2.4)-1.4
(1.7)(-1.2)
1.5(1.9)

va keyin boshqa cheklovga prognoz qilingan, PA(2PB(x0) - x0) :

0.53333-1.6
(-0.53333)-0.1
(1.6)(0.1)
0.53333(1.6)

Kattalashtirish x0 ikkala proektsiyaning farqi bilan farq xaritasining birinchi takrorlanishini beradi, D.(x0) = x1 :

-0.96666-1.4
(-1.93333)0.3
(0.9)(0.3)
0.03333(0.7)

Mana ikkinchi takrorlash, D.(x1) = x2 :

-0.3-1.4
(-2.6)-0.7
(0.9)(-0.7)
0.7(0.7)

Bu aniq bir nuqta: D.(x2) = x2. Takrorlash o'zgarmaydi, chunki ikkala proektsiya bir xil. Kimdan PB(x2),

1-1
(-1)1
(1)(-1)
1(1)

qoniqarli haqiqat topshirig'ini o'qiy olamiz: q1 = Rost, q2 = Yolg'on, q3 = Rost.

Xaotik dinamika

Farq-xarita o'sish normasining vaqt qatorlari Δ 1000 o'zgaruvchiga va 4200 bandga ega bo'lgan tasodifiy 3-SAT nusxasini hal qilish jarayonida.

Yuqoridagi oddiy 2-SAT misolida farqlar xaritasi o'sishining normasi Δ uchta takrorlashda monotonik ravishda nolga tushdi. Bu xatti-harakatiga zid keladi Δ farq xaritasiga qattiq misol berilganida 3-SAT, sobit nuqta kashf etilishidan oldin u keskin o'zgarib turadi. Dinamik tizim sifatida farqlar xaritasi ishoniladi tartibsiz va qidirilayotgan bo'shliq a g'alati attraktor.

Bosqichlarni qidirish

Sahifaning yuqori qismida rekonstruksiya qilinayotgan kulrang rangdagi tasvirning Fourier konvertatsiya qilish moduli (diffraktsiya naqshlari).

Faza olishda signal yoki tasvir qayta tiklanadi modul (mutlaq qiymati, kattaligi) diskret Furye konvertatsiyasi. Masalan, modul ma'lumotlarining manbai bo'lishi mumkin Fraunhofer difraksiyasi ob'ekt yoritilganida hosil bo'lgan naqsh izchil yorug'lik.

Furye modulining cheklanishiga proyeksiya, aytaylik PA, avval signal yoki tasvirning diskret Fourier konvertatsiyasini hisoblash, modullarni ma'lumotlar bilan kelishish uchun qayta tiklash va natijani teskari o'zgartirish orqali amalga oshiriladi. Bu proektsiyadir, chunki Evklidning cheklovgacha bo'lgan masofasi minimallashtiriladi, chunki (i) diskret Furye konvertatsiyasi unitar transformatsiya, masofani saqlaydi va (ii) modulni qayta tiklash (fazani o'zgartirmasdan) modul cheklovini amalga oshiradigan eng kichik o'zgarishdir.

Furye noma'lum fazalarini tiklash uchun farqlar xaritasi proektsiyaga boshqa cheklovga asoslanadi, PB. Bu bir necha shakllarda bo'lishi mumkin, chunki rekonstruktsiya qilinayotgan ob'ekt ijobiy, chegaralangan bo'lishi mumkin qo'llab-quvvatlash va hokazo. Yuzaki tasvirni qayta tiklashda, masalan, proektsiyaning ta'siri PB to'rtburchaklar qo'llab-quvvatlash tashqarisidagi barcha qiymatlarni bekor qilish, shuningdek qo'llab-quvvatlash ichidagi barcha salbiy qadriyatlarni bekor qilish edi.

Tashqi havolalar

Izohlar

  1. ^ Elser, V .; Rankenburg, I .; Tibo, P. (2007 yil 9-yanvar). "Takrorlangan xaritalar yordamida qidirish". Milliy fanlar akademiyasi materiallari. 104 (2): 418–423. doi:10.1073 / pnas.0606359104. PMC  1766399. PMID  17202267.
  2. ^ Shag'al, Simon; Elser, Veit (2008 yil 22-sentyabr). "Bo'ling va kelishib oling: cheklov qondirish uchun umumiy yondashuv". Jismoniy sharh E. 78 (3): 036706. arXiv:0801.0222. Bibcode:2008PhRvE..78c6706G. doi:10.1103 / PhysRevE.78.036706. PMID  18851188. S2CID  27814394.
  3. ^ Fienup, J. R. (1982 yil 1-avgust). "Faza qidirish algoritmlari: taqqoslash". Amaliy optika. 21 (15): 2758. Bibcode:1982ApOpt..21.2758F. doi:10.1364 / AO.21.002758. PMID  20396114. S2CID  10777701.
  4. ^ Baushke, Xaynts X.; Kombetlar, Patrik L.; Lyuk, D. Rassel (2002 yil 1-iyul). "Faza qidirish, xatolarni kamaytirish algoritmi va Fienup variantlari: konveks optimallashtirish ko'rinishi". Amerika Optik Jamiyati jurnali A. 19 (7): 1334. Bibcode:2002 yil JOSAA..19.1334B. CiteSeerX  10.1.1.75.1070. doi:10.1364 / JOSAA.19.001334. PMID  12095200.