이 알고리즘이 결국 종료됨을 증명하는 쉬운 방법


10

소개 및 표기법 :

다음은 (실험에 따라) 종료되는 것으로 보이는 새롭고 간단한 알고리즘 버전입니다. 이제이를 증명하고 싶습니다.

표기법 은 차원 데이터 포인트 (벡터)를 나타냅니다. 나는 A, B, C의 세 세트를 가지고있다. , , : x iR pxiRp p p| A | = n |A|=n| B | = m |B|=m| C | = l |C|=lA = { x i | = 1 , . . , n }

A={xi|i=1,..,n}
B = { x j | J = N + 1 , . . , n + m }
B={xj|j=n+1,..,n+m}
C = { x u |U = N + m + 1 , . . , n + m + l }
C={xu|u=n+m+1,..,n+m+l}

감안할 ,하자 의 평균 유클리드 거리 나타낸다 그에게 에 가까운 점 ; 및 의 평균 유클리드 거리 나타낸다 그에게 에서 가까운 점 .k N d A x i x i k A d C x i x i k CkNdAxixikAdCxixikC

연산:

선택한 일부 요소를 A에서 B로 또는 그 반대로 이동하여 세트 A 및 B를 반복적으로 수정하는 다음 알고리즘이 있으며 C는 항상 동일하게 유지됩니다 (변경하지 마십시오). 간단하게하기 위해 : 알고리즘의 목적은 세트 와 를 더 잘 분리하여 " 의 점이 알려진 고정 세트 의 점과 더 유사 "하고 " 점이 최종적으로 자기 유사하고 와는 멀리 최종 세트 "A B B C A C BABBCACB

  • A = { x iA d A x i > d C x i }A={xiAdAxi>dCxi} ... (1)
  • A = A A A=AA ; ... (2)B = B A B=BA
  • B = { x iB d A x i < d C x i'= { x나는B d엑스나는< d엑스나는 } ... (3)
  • B = B B A = A B B = B B' ; ... (4)A = A B'
  • 반복 (1), (2), (3), 그리고까지 (4) : (아무런 요소 이동 에 또는에서 로 , A는 '와 B'빈 될 수 없음) 또는 ( 또는 )A B B A | A | k | B | k| A | k| B | k

알고리즘은 두 가지 경우에 종료됩니다.

  • 때또는 보다 작거나 같다| A | | B | 케이| A || B |케이
  • 또는 일 때 가장 일반적인 경우 는 더 이상 A와 B 사이에 요소가 이동하지 않음을 의미합니다.A ' = B ' = '= B'=

질문:

이 알고리즘이 결국 종료됨을 증명하는 방법은 무엇입니까? 알고리즘으로 엄격하게 최소화하거나 최대화 할 수있는 편리한 잠재적 기능을 찾지 못했습니다. 함수 같은 일부 함수를 성공적으로 시도하지 않았지만 반복 할 때마다 증가하지 않습니다. 함수 하지만 각 반복에서 감소되지 않는다. 함수 각 반복에서 감소 될 수없는 것으로 보인다. 함수x A d C x + x B d A xx A d A x + x B d C xx A d A x + x B d B xx A d B x + x B d A xx A엑스+ x B엑스x A엑스+ x B엑스x A엑스+ x B엑스x A엑스+ x B엑스각 반복마다 증가하지 않는 것 같습니다. 따라서 각 반복마다 증가 또는 감소하는 것으로 보여 질 수있는 편리한 잠재적 기능은 무엇입니까? 또는 함수가 감소하지만 각 반복에서 (일부 반복 후에) 감소하지 않음을 보여 주어야합니까? 어떻게 ?

노트:

  • 포인트 가까운 세트의 수단 다음 포인트 (다른 것보다 )에서 , 가장 작은 유클리드 거리를 갖는 . 을 취 하면 분석이 간단 해집니다.k x S k x S x k = 1케이엑스에스케이엑스에스엑스k = 1
  • 이것이 도움이되는지 아닌지는 모르겠지만 초기 세트 대해 다음 속성 이 있습니다 가 가장 가까운 지점 인 경우 처음에 에 및 할 수있는 가장 가까운 지점입니다 항상 다음 . 이것은 직관적으로 점이 점보다 더 가깝다는 것을 의미합니다 ., B , C X IB , X JX BC X XC X J D 이야 t에게 N C E ( X I , X B ) < D 이야 t에게 N의 C e ( x j , x a ) B C AA , B , Cx나는B , x제이A엑스CxixaCxjdistance(xi,xb)<distance(xj,xa)BCA
  • 즉 쉽게 분석한다 경우 그것으로부터 점 자마자 알고리즘의 약간 다른 버전 고려 완전히 가능 이동해야 , 그것으로부터 이동 에 (지나가는없이 ) 및 경우도 마찬가지입니다 .A B A B A ' BABABAB

3
왜이 특정 알고리즘에 관심이 있습니까?

1
shna : 임의로 세 세트로 나누어 진 포인트 모음으로 무엇을하고 싶습니까?

4
@shna 알고리즘의 목적과 목표를 알면 직관력이 향상되어 문제를 도울 수 있습니다.

@RichardRast는 설명을 간단하게 만드는 방법 : 목적은 더 나은 세트를 분리하는 것입니다 및 '의 포인트 있도록 알려진 고정 된 세트의 것과 더 유사하다 와 "의 포인트" 자기 유사성 마지막으로하고 와 최종 세트 " 에서 멀어집니다 . A B B C A C BABBCACB
제출

cstheory 로의 마이그레이션이 거부되었습니다.

답변:


2

케이스 k = 1에 대한 해결책은 다음과 같습니다 .k=1

알고리즘이 종료되지 않는다고 가정하십시오. 알고리즘에는 유한 한 개수의 상태 ( AB대한 할당이 할당 됨 )가 있으므로 알고리즘 상태는주기마다 반복되어야합니다. 사이클이 다른 상태를 거치기 때문에 AB 사이를 무한정 자주 전환하는 지점이 있어야합니다 .ABAB

이 사이클에서 x 가 무한정 자주 바뀌는 지점 이라고하자 . xB 에서 A로 전환 되는주기 내에서 알고리즘의 첫 번째 반복을 선택하십시오 . 들어 X 로 전환 , 적어도 하나의 포인트가 틀림 X ' 에 와 D의 C는 X > D S t ( X , X ' ) . 가장 작은 레이블이 붙은 지점을 임의로 선택하십시오. 함수 정의 F 있도록 F ( X ) =을xxBAxAxAdCx>dist(x,x)fx ' . 참고 x가 ' 도 사이를 전환해야합니다와 B 무한 자주 (때문에 경우 x는 ' 에 머물영구적으로, 그래서 것 X ), 우리가 취할 수 있도록 F ( F ( X ) ) , F를 ( F ( F ( X ) ) ) ,f(x)=xxABxAxf(f(x)),f(f(f(x))),

우리는 점 유한 수를 갖기 때문에, (F)의 반복은 결국 반복해야 F N ( X ) = F m ( X를 ) 일부 m > N . 이제 C : d C f ( x ) , d C f 2 ( x ) , 에서 해당 거리의 시퀀스를 살펴보십시오 . . . D C F N ( X ) , . . .fn(x)=fm(x)m>ndCf(x),dCf2(x),...dCfn(x),.... 반복되기 때문에이 시퀀스는 균일하게 줄어들 수 없습니다. d C f o - 1 ( x )d C f o ( x ) 와 같은 반복 o 가 있어야합니다.odCfo1(x)dCfo(x)

이제 f o - 1 ( x )f o ( x ) 는 서로 가까이있어 A 가 될 경우 서로 A 에있게됩니다. 즉, 둘 중 하나가 C에 비해 서로 더 가깝습니다 . d C f o ( x )d C f o - 1 ( x ) > d i s t ( f o - 1 ( x ) ,fo1(x)fo(x)ACf o ( x ) ) ( f 정의에서)dCfo(x)dCfo1(x)>dist(fo1(x),fo(x))f

따라서 f o - 1 ( x )f o ( x ) 가 모두 A 에 있으면 서로 A에 영원히 유지 됩니다 (알고리즘의 1-2 줄 참조). 이것은 f의 모든 반복이 세트를 무한정 자주 전환해야 한다는 사실과 모순 됩니다. 따라서 k = 1 인 경우 알고리즘이 종료됩니다.fo1(x)fo(x)AAfk=1


이것은 다소 복잡하며 k = 1 에만 표시 될 수 있습니다 . 오히려 각 반복마다 증가하거나 감소하는 것으로 보이는 잠재적 기능을 도출 할 수 있다면 훨씬 좋습니다. 또는 1이 아닌 "일부"반복 후에 증가하거나 감소하는 것으로 표시 될 수 있습니다.
shn

1
@shn 왜 당신이 당신의 문제를 해결하는 데 더 성공한 누군가의 증명 기술의 선택을 비판하는지 잘 모르겠습니다. 특히 자신의 질문에 선호하는 기술 사용에 대한 네 번의 시도가 실패한 경우.
David Richerby

1
@DavidRicherby 나는 비난하지 않고;) IRC에서 "이 원인을 가진"(이 답변을 준 사람)으로 그 솔루션에 대해 실제로 논의했으며 우리는 k > 1에 대해 이런 식으로 증명할 수 없다는 것을 알았습니다 . 그래서 우리는 매 반복마다 감소 할 수있는 잠재적 함수를 도출 할 수 있다면 훨씬 더 좋다고 추론했습니다. 내 의견은 단지 유익했다.
쉬움
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.