합계에서 임계 값으로 표현할 수있는 모노톤 부울 함수는 무엇입니까?


16

예를 들어 문제를 소개하겠습니다. 특정 독립적 인 질문으로 구성된 시험을 설계한다고 가정 해 봅시다 (후보자가 옳고 그름을 얻을 수 있음). 총점이 특정 임계 값을 초과하는 응시자는 통과하고 나머지는 실패하는 규칙을 사용하여 각 질문에 부여 할 점수를 결정하려고합니다.n

실제로, 당신은 이것에 대해 매우 철저 하고 가능한 모든 결과를 구상 했으며 ,이 성과를 가진 후보자가 합격해야하는지의 여부를 결정했습니다. 따라서 후보가 정확한 답에 따라 합격 또는 불합격을 나타내는 부울 함수 f : { 0 , 1 } n{ 0 , 1 } 이 있습니다. 물론이 기능은 모노톤 이어야합니다 . 일련의 질문을 올바르게 전달하면 수퍼 셋을 올바르게 전달해야합니다.2nf:{0,1}n{0,1}

"정답에 대한 점수의 합이 임계 값을 초과하는 경우 후보가 통과 함"규칙에 의해 함수 가 정확하게 포착 되도록 질문 (양수의 실수)과 질문에 대한 임계 값을 결정할 수 있습니까? ? (물론 임계 값은 일반성을 잃지 않고 점수에 상수를 곱하기까지 1로 간주 할 수 있습니다.)f

형식적 : 모노톤 부울 함수의 특성도는 있는 존재 w는 1 , ... , w NR + 되도록 모든 V { 0 , 1 } n , 우리는 f ( v ) = 1 iff i w i v i1입니다.f:{0,1}n{0,1}w1,,wnR+v{0,1}nf(v)=1iwivi1?

모든 기능을 표현할 수있는 것은 아닙니다. 예를 들어 함수 없습니다으로서 ( 1 , 1 , 0 , 0 ) 허용 우리가 있어야 w 1 + w 21 의 하나의 SO w 1 , w는 2 이어야 1 / 2 마찬가지로 용 및 w (3) ,(x1x2)(x3x4)(1,1,0,0)w1+w21w1,w21/2w3,w4 . 예를 들어 w 3 인 경우 w 1 + w 31 이지만 ( 1 , 0 , 1 , 0 ) 이 거부 되기 때문에 모순 이 있습니다. 다른 경우는 비슷합니다.w1w3w1+w31(1,0,1,0)

이것은 매우 자연스러운 문제처럼 보이므로 제 주요 질문은 이것이 어떤 이름으로 연구되었는지 아는 것입니다. "특성"을 요구하는 것은 물론 모호하다. 내 질문은 이런 식으로 표현 할 수있는 함수 클래스에 이름이 있는지, 입력 함수가 함수에 속하는지 여부 (공식 또는 회로로 제공되는지 여부)를 테스트하는 복잡성에 대해 알려진 것입니다.

물론이 주제에 대한 많은 변형을 생각할 수 있습니다. 예를 들어 실제 시험에서 질문은 독립적이지 않지만 의존성을 나타내는 질문에 대한 DAG가 있으며 응시자는 모든 전제 조건에 대한 답변이있는 경우에만 질문에 대답 할 수 있습니다. 모노톤 함수에 대한 조건 은 의존성을 만족시키는 평가로 제한 될 수 있고, 변수에 대한 입력 DAG가 주어지면 입력 함수가 캡처 될 수 있는지 여부가 문제가 될 것이다. 또한 점수가 고정 k에 대한 k- 튜플 (포인트로 요약되고 임계 값 벡터와 포인트로 비교) 인 변형을 생각할 수 있는데, 이는 k 보다 더 많은 함수를 캡처 할 수 있습니다{0,1}nkkk=1 입니다. 또는 부울이 아니라 도메인의 위치를 ​​나타내는 임계 값이 다른 완전히 정렬 된 도메인으로 이동하는보다 표현적인 함수를 캡처 할 수 있습니다. 마지막으로 음수 점수를 허용하면 어떻게 될지 잘 모르겠습니다 (따라서 함수에 대한 모노톤 제한을 제거 할 수 있음).

(참고 :이 문제에 대해 궁금한 점은 Google 코드 잼 선택 라운드입니다. 후보자가 특정 점수 임계 값에 도달하면 후보자가 선택되며 문제 점수는 선택하기에 충분한 문제 세트를 반영하도록 신중하게 설계됩니다. Code Jam은 질문에 대한 의존 구조를 가지고 있으며, "작은 입력"을 먼저 해결하지 않으면 해결할 수없는 "큰 입력"질문이 있습니다.)


이를 임계 값 함수라고합니다 (이 용어는 때때로 더 제한적으로 정의되지만). 본질적으로 다른 특성이 있는지 모르겠습니다. 명백한 필요 조건, 즉 F - 1 ( 0 ) 볼록 (이다의 볼록 선체 F - 1 ( 1 ) 와 교차 { 0 , 1 } N 에 포함 된 F - 1 ( 1 ) 및 유사하게 0). f1(1)f1(0)f1(1){0,1}nf1(1)
Emil Jeřábek supports Monica

Actually, now that I think about it: a Boolean function f is a threshold function iff the convex hulls of f1(1) and f1(0) are disjoint.
Emil Jeřábek supports Monica

2
Actually, these are more precisely the positive threshold functions.
Kristoffer Arnsfelt Hansen

w

답변:


2

It was mentioned in the comments that these are the positive threshold functions.

As for other characterizations, I found the following to be interesting. Suppose we have a positive threshold function with decreasing weights w1w2wn:

f(v1,,vn)=1iwivi1.
Then in particular the set of inputs (v1,,vn) for which f(v)=1 is an order ideal of the binary majorization lattice with 2n points, which is studied in

Donald Knuth, "The Art of Computer Programming", Exercise 109 of Section 7.1.1.

To put it informally, f is the kind of function where making earlier bits 1 makes f more likely to be 1: so e.g. f(0,1,1)f(1,0,1)f(1,1,0). That is, "some bits matter more", and to remove redundant isomorphic cases we assume earlier bits matter more.

However, not all such functions are positive threshold functions! That is, just because you've ordered the exam questions from most important to least doesn't mean your pass/fail rule is based on just adding up some scores.

Indeed, the number of positive threshold functions (with decreasing weights) on n variables is given by the sequence

2,3,5,10,27,119,1113,
(oeis.org sequence A000617) whereas the number of such order ideals is
2,3,5,10,27,119,1173,
(oeis.org sequence A132183)

Thanks! Just thought I'd point out that the other kind of Boolean functions mentioned in your answer, the ones with a total order on the influence of variables, are called "regular" Boolean functions. This is mentioned in sequence A132183, and such functions are studied in Chapter 8 of Boolean Functions: Theory, Algorithms, and Applications
a3nm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.