Aşağıdaki sorunu SAT değerine azaltın


21

İşte sorun. Verilen , nerede her T i{ 1 , ... , n } . Bir alt kümesi var mı S { 1 , ... , n } en fazla boyutu ile k öyle ki herkes için ? Bu sorunu SAT'a azaltmaya çalışıyorum. Bir çözüm 1'den her biri için değişkeni olacaktır . Her biri içink,n,T1,,TmTi{1,,n}S{1,,n}ki x i , n , T i , bir madde oluşturmak ( x i 1x i k ) ise T ı = { i 1 , , i k }STiixinTi(xi1xik)Ti={i1,,ik}. Sonra ve tüm bu maddeler birlikte. Ancak bu açıkça en fazla k elementine sahip olması gereken kısıtlamayı temsil etmediğinden tam bir çözüm değildir . Daha fazla değişken oluşturmam gerektiğini biliyorum, ama nasıl yapılacağından emin değilim. İki sorum var:Sk

  1. Çözüm fikrim doğru yolda mı?
  2. Yeni değişkenler, kardinalite kısıtlamasını temsil etmek için kullanılabilecek şekilde nasıl oluşturulmalıdır ?k

5
Sadece bir açıklama: Sorun, SET COVER sorununun eşdeğer bir formülasyonu olan HITTING SET olarak bilinir .
A.Schulz

Yanıtlar:


13

Görünüşe göre k büyüklüğünde bir enine köprü hesaplamaya çalışıyorsunuz . Yani, { T 1 , , T m } senin hipergrafın ve S senin enine. Standart bir çeviri, yan tümceleri istediğiniz gibi ifade etmek ve sonra uzunluk kısıtlamasını bir kardinalite kısıtlamasına çevirmektir.k{T1,...,Tm}S

Bu nedenle, mevcut kodlamanızı kullanın, yani ve ardından 1 i n x ik kodlayan maddeler ekleyin .1jmbenTjxbenΣ1bennxbenk

, bir kardinalite kısıtlamasıdır. SAT'a çeşitli farklı kardinalite kısıtlama çevirileri vardır.Σ1bennxbenk

En basit ama oldukça büyük kardinalite kısıtlaması çevirisi sadece . Bu şekilde her bir ayrılma , { 1 , , n } ' nin tüm X alt kümeleri için ¬ i X x i kısıtlamasını temsil eder.X{1,...,n},|X|=k+1benX¬xben¬benXxbenX{1,...,n}k + 1 boyutunda. Yani, k'dan fazla değişkenin ayarlanabilmesinin hiçbir yolu olmadığından emin oluruz. Bunun k cinsinden polinom boyutu olmadığını unutmayınk

K cinsinden polinom boyutu olank daha az yer kaplayan kardinalite kısıtlama çevirileri ile ilgili bazı bağlantılar :

Aslında bu tür problemleri çözmekle ilgileniyorsanız, belki de bunları sahte-boole problemleri olarak formüle etmek (sahte-boolean problemler hakkındaki wiki makalesine bakın ) ve sahte-boolean çözücüler kullanın (bkz. Sahte-boolean rekabet ). Bu şekilde kardinalite kısıtlamaları sadece sahte-boole kısıtlamalarıdır ve dilin bir parçasıdır - umarım sahte-boolean çözücü bunları doğrudan ve dolayısıyla daha verimli bir şekilde ele alır.


1
Lütfen tüm bağlantıları kısaca açıklayın (en azından yazar ve başlık), böylece insanlar bağlantı kopması durumunda belgeleri bulabilir. Varsa DOI kullanmak muhtemelen en iyisidir.
Raphael

1
@Raphael İyi bir nokta! Başlamak için özür dilemeliydim. Şimdi tüm bağlantıları güncelledim; Springer'ın DOI'ler sağlayıp sağlamadığından emin değilim, ancak bağlantılar koparsa onları bulmak için yeterli bilgi olmalı. Not: Erişim sorunlarından kaçınmak için Springer'ın resmi PDF'lerine bağlantı vermiyorum.
MGwynne

Ama verdiğiniz azalma polinom zamanında değil, değil mi?
Aden Dong

kkk

MGwynne, resmi DOI'yi geleceğe dönük olması için ödeme duvarı olsa bile her zaman bağlama eğilimindeyim ve ek olarak ücretsiz sürümler. Ama şimdi olduğu gibi, herkes kağıtları bulabilmelidir, bu yüzden tamamen iyi.
Raphael

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.