Hangi monoton Boole işlevleri toplamlar üzerinde eşikler olarak temsil edilebilir?


16

Sorunumu bir örnekle tanıtacağım. Bir belirli kümesi oluşan bir sınav, tasarlıyorsunuz Say (adaylar ya doğru ya da yanlış alabilirsiniz) bağımsız sorular. Soruların her birine verilecek bir puana karar vermek istersiniz, kural, toplam puanı belirli bir eşiğin üzerinde olan adayların geçeceği ve diğerlerinin başarısız olacağıdır.n

Aslında, bu konuda çok titizsiniz ve olası tüm sonuçları tahmin ettiniz ve her biri için bu performansa sahip bir adayın başarılı olup olmayacağına karar verdiniz . Dolayısıyla , adayın tam cevaplarına bağlı olarak başarılı mı yoksa başarısız mı olduğunu gösteren bir Boolean fonksiyonuna sahipsiniz . Tabii ki bu fonksiyon monoton olmalıdır : bir dizi soru doğru olduğunda sizi geçmenizi sağlar, herhangi bir süper setin doğru olmasını da geçmelisiniz. f : { 0 , 1 } n{ 0 , 1 }2nf:{0,1}n{0,1}

Sorulara verilecek puanlara (pozitif gerçek sayılar) ve bir eşik üzerine karar verebilir misiniz, böylece işleviniz "doğru soruların puanlarının toplamı eşiğin üstünde ise bir aday geçer" kuralı tarafından tam olarak yakalanır. ? (Tabii ki, eşik, genel bir kayıp olmadan, puanların bir sabitle çarpılmasına kadar 1 olarak alınabilir.)f

Resmi olarak: monoton Boole işlevlerinin var öyle ki tüm için iff ?w 1 , , w nR + v { 0 , 1 } n f ( v ) = 1 i w i v i1f:{0,1}n{0,1}w1,,wnR+v{0,1}nf(v)=1iwivi1

Tüm işlevlerin bu şekilde temsil edilemeyeceğini görmek o kadar zor değildir. Örneğin fonksiyon olamaz: olarak olarak kabul edilir Elimizdeki gerekir , bu yüzden, bir olmalıdır ve aynı şekilde . Şimdi, örneğin, ve , ancak reddedildiği için bir ; diğer vakalar benzerdir.( 1 , 1 , 0 , 0 ) a 1 + w 21 ağırlık , 1 , w 21 / 2 ağırlık 3 , ağırlık 4 ağırlık 1 ağırlık 3 ağırlık 1 + w 31 ( 1 , 0 ,(x1x2)(x3x4)(1,1,0,0)w1+w21w1,w21/2w3,w4w1w3w1+w31(1,0,1,0)

Bu bana çok doğal bir sorun gibi geliyor, bu yüzden asıl sorum bunun hangi isim altında çalışıldığını bilmek. "Karakterizasyon" istemek elbette belirsizdir; sorum, bu şekilde temsil edilebilecek işlevler sınıfının bir adı olup olmadığını, bir giriş işlevinin kendisine ait olup olmadığını (formül olarak mı yoksa devre olarak mı verildiğini) sınamanın karmaşıklığı hakkında bilinenlerdir.

Tabii ki bu temadaki birçok varyasyon düşünülebilir. Örneğin, gerçek sınavlarda sorular bağımsız değildir, ancak bağımlılığı gösteren sorularda bir DAG vardır ve adaylar bir soruyu ancak tüm önkoşullar yanıtlanırsa yanıtlayabilir. Monoton işlevler üzerindeki koşul, daha sonra , bağımlılıkları karşılayan değerlemelerle sınırlandırılabilir ve soru, değişkenler üzerinde bir girdi DAG verildiğinde bir giriş fonksiyonunun yakalanıp yakalanamayacağını belirlemek olacaktır. Bir de puanları olan değişiklikleri olabilir k sabit, -tuples k daha fazla işlevleri yakalayabilir (bir eşik vektörüne özetlenebilir izlemeli ve kıyasla izlemeli), k{0,1}nkk . Alternatif olarak, Boolean olmayan ancak tamamen sıralı bir etki alanına giderek etki alanındaki konumunuzu göstermesi gereken farklı eşiklere sahip daha etkileyici işlevleri yakalamak isteyebilirsiniz. Son olarak, negatif puanlara izin verdiğinizde ne olacağından emin değilim (böylece işlevlerle ilgili monoton kısıtlamayı düşürebilirsiniz).k=1

(Not: Beni bu konuda merak ettiren şey, adayların belirli bir puan eşiğine ulaşmaları durumunda seçildiği ve sorunların puanlarının, seçilmesi için hangi sorun kümelerinin seçilebileceğini düşündüğü yansıtacak şekilde dikkatle tasarlandığı Google Code Jam seçim turudur. Code Jam, sorular üzerinde bağımlılık yapısına sahiptir ve ilk önce "küçük girdi" yi çözmedikçe çözülemeyen bazı "büyük girdi" soruları vardır.)


Bunlar eşik fonksiyonları olarak bilinir (ancak bu terim bazen daha kısıtlayıcı olarak tanımlanır). Aslında farklı bir karakterizasyon olup olmadığını bilmiyorum. Bariz gerekli koşul olmasıdır ve f - 1 ( 0 ), dışbükey (olup, dışbükey gövde f - 1 ( 1 ) ile kesişen { 0 , 1 } , n dahildir f - 1 ( 1 ) ve benzer şekilde 0 için). f1(1)f1(0)f1(1){0,1}nf1(1)
Emil Jeřábek,

Aslında, şimdi düşündüğümde: bir Boolean işlevi , f - 1 ( 1 ) ve f - 1 ( 0 ) dışbükey gövdelerinin ayrık olması durumunda bir eşik işlevidir . ff1(1)f1(0)
Emil Jeřábek Monica'yı

2
Aslında bunlar daha kesin olarak pozitif eşik fonksiyonlardır.
Kristoffer Arnsfelt Hansen

@KristofferArnsfeltHansen: Kesinlikle, teşekkürler! Aslında bu Boole İşlevlerinde belirtilmiştir : Teori, Algoritmalar ve Uygulamalar . Teorem 9.16, pozitif bir DNF verildiğinde PTIME'de bunun bir eşik fonksiyonu olup olmadığını test edebileceğimizi ve evet ise bir vektör oluşturduğunu söyler (bu daha sonra pozitif olacaktır, bence Teorem 9.6). Önerdiğim varyantlar, özellikle de değişkenler üzerinde DAG olan bir şey biliniyor mu? Değilse, böyle bir cevap verebilirsiniz (ve yorumunuzu alır) ve kabul edeceğim. :)w
a3nm

Yanıtlar:


2

Yorumlarda, bunların pozitif eşik fonksiyonları olduğu belirtilmiştir.

Diğer karakterizasyonlara gelince, aşağıdakileri ilginç buldum. Düşürme ağırlıkları : f ( v 1 , , v n ) = 1 olan pozitif bir eşik fonksiyonumuz olduğunu varsayalımw1w2wn Daha sonra, özellikle de girdi grubu(v1,...,v, n)olanf(v )=1ile ikili majorlaştırma kafesinin bir sıralı ideal2, nolduğu noktalarda, çalışıldı

f(v1,,vn)=1iwivi1.
(v1,,vn)f(v)=12n

Donald Knuth, "Bilgisayar Programlama Sanatı", 7.1.1.

fff(0,1,1)f(1,0,1)f(1,1,0)

Ancak, tüm bu işlevler pozitif eşik işlevleri değildir! Diğer bir deyişle, sınav sorularını en önemlisinden en önemsizine sipariş etmeniz, başarılı / başarısız kuralınızın sadece bazı puanlar eklemeye bağlı olduğu anlamına gelmez.

n

2,3,5,10,27,119,1113,
2,3,5,10,27,119,1173,

Teşekkürler! Cevabınızda bahsedilen diğer tür Boole işlevlerinin, değişkenlerin etkisi üzerinde toplam sıraya sahip olanların "normal" Boole işlevleri olarak adlandırıldığına dikkat çektiğimi düşündüm. Bu, A132183 dizisinde belirtilmiştir ve bu işlevler, Boole İşlevleri
a3nm
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.