Bir yorumda Yao'ya atfedilen X3C'den SUBSET PRODUCT ürününe bir azalma söz konusudur. İndirgeme hedefi düşünüldüğünde, indirgemenin ne olabileceğini tahmin etmek zor değildi.
Tanımlar:
3'LÜ SETLERLE KESİNLİKLE KAPAK (X3C)
Sonlu kümesi Verilen ile | X | 3 bir katı ve bir toplama Cı 3-eleman alt kümeleri arasında , X , etmez Cı tam bir kapak içeren C ' için , ve her eleman tam olarak bir kez meydana ?X|X|CXCC′C ′ ⊆ C X C ′XC′⊆CXC′
SUBSET ÜRÜN
sayılarının bir listesi ve bir hedef k verildiğinde , ürünü k olan L' den bir sayı alt kümesi var mı?LkLk
Bir X3C örneğini SUBSET PRODUCT örneğine azaltmak için:
üyeleri ile ilk üyeleri arasında iki yönlü bir eşleme oluşturun | X | asal sayılar. X ve C altkümelerinin elemanlarını , eşlenen primerlerle değiştirin.X|X|XC
her alt küme için üyelerini birlikte çarpın; sonuçta ortaya çıkan ürün listesi SUBSET PRODUCT örneği için L' dir. 1. adımda eşleme için asal sayılar kullanıldığından, alt kümelerin benzersiz çarpanlara ayırma teoremiyle eşdeğer olması durumunda ürünlerin eşdeğer olduğu garanti edilir .CL
üyelerini birlikte çarpın ; sonuçta ortaya çıkan ürün SUBSET PRODUCT örneği için k değeridir.Xk
Asal çarpanları tam üyeleridir X . L' deki sayıların asal faktörleri tam olarak C altkümelerinin üyelerine karşılık gelir . Bu nedenle, yeni SUBSET PRODUCT örneğine yönelik herhangi bir çözüm, L' nin çözüm üyelerini C'deki alt kümelere eşleyerek X3C çözümüne dönüştürülebilir .kXLCLC
3 dönüştürme adımlarının her biri girdi boyutuna polinom olan işlemleri içerir veya X'in bir üyesinin büyüklüğü . İlk | X | primerler, Eratosthenes'in eleği kullanılarak O ( | X | ) zamanında üretilebilir ve asal sayı teoremi ile O ( | X | 2 ln | X | ) alanına sığması garanti edilir .|X|X|X||X|O(|X|2ln|X|)