2010. 7. 18. 18:53
7.1.2 Median Voter


- voter에 입력되는 값들 중 중간값을 선택한다.
- fast voting algorithm을 사용하며, integer, float, double, 혹은 다른 타입의 숫자 값에도 사용 될 수 있다.
- 각각의 인풋값에 대하여 만약 옳은 두 결과들 사이에 옳지 않은 값이 있지 않다고 가정한다면, 그리고 복제된 ouputs의 과반수가 옳다면, 이 함수(function)는 옳은 아웃풋을 낸다.


7.1.2.1 Operation

median voter는 "correct" output (r*)으로 variant결과들(R)의 리스트 사이에서 median 값을 선택한다.


+ n을 variants의 개수라 놓자.

  median : R 집합에서 중심에 위치한 값, 즉
   n/2 이나 (n/2+1 : n이 짝수인 경우)에 위치한 값을 말한다. 
 
예를 들어,
만약 3개의 아이템이 정렬된 결과 리스트에 있다면, 두번째 아이템이 r*로 선택될 것이다.
만약 4개의 아이템이 있다면, 세번째 아이템이 r*로써 선택 될 것이다.
 

Table 7.2는 신드롬의 리스트를 제공하며, median voter를 사용한 결과를 보여준다.
이 때의 n값은 3이며, A, B, C는 숫자 값으로 A<B<C를 의미한다.
심볼의 의미
  Φ : 상응하는 variant에의해 어떠한 결과도 나오지 않았다.
  εi : A, B, C의 값에 대해 상대적으로 매우 작은 값
Exception은 옳은 결과가 adjudication function에 의해 결정될 수 없을 때 생겨난다.

"Sorted Results" 열이 테이블에 포함된것을 기억해라.
이 열은 오름차순으로 정렬되거나 결과들을 정렬할때에 에러가 발생하면 0으로 정렬하는 결과 리스트를 보인다. (내림차순도 되긴 됨..)
basic median voter는 각가의 variant들로부터 옳은 결과를 기대한다.

median voter의 기능성은 Fig 7.5에 나타내었다.

변수 Status는 voter의 상태를 나타내며 그 예를 아래에 나타내었다.


Status 예.

Status = NIL
. voter가 variant의 결과를 완전히 시험하지 않았다.
. Status는 이 값(NIL)으로 초기화 된다.
. 만약 voter로부터 되돌아온 Status가 NIL이라면, error가 adjudication중에 발생한 것이다.
. 되돌아온 r*은 무시하라.

Status = NO MEDIAN
. voter는 주어진 input variant 결과들로부터 찾을 수 없다.
. 되돌아온 r*은 무시하라.

 
Status = SUCCESS
. voter는 processing을 완전히 끝냈고, median 결과인 r*을 찾았다.
. 따라서 r*이 옳고, 팔정된 결과라고 가정이 된다.



 
 
 
 
 




Discussion 섹션은 생략.



'종합설계' 카테고리의 다른 글

Consensus Voter  (0) 2010.07.20
(Weighted) Mean Voter  (0) 2010.07.18
Exact Majority Voter  (0) 2010.07.16
Voters  (0) 2010.07.12
7 Adjudicating the Results  (0) 2010.07.12
Posted by 86824★14831