Mengingat satu set keluarga himpunan bagian dari alam semesta . Biarkan dan kami ingin menjawab adalah .
Saya mencari struktur data yang memungkinkan saya untuk dengan cepat menjawab ini. Aplikasi saya adalah dari teori grafik di mana saya ingin melihat apakah menghapus sebuah simpul dan lingkungannya meninggalkan semua simpul yang terisolasi, dan untuk setiap daftar simpul semua simpul terisolasi yang ditinggalkannya.
Saya ingin membuat poset lengkap atau akhirnya tabel menyimpan false false dengan tepat set mana yang merupakan subset dari eachother.
Biarkan,dan, asumsikan
Kita dapat menghasilkan matriks kontainmen (grafik bipartit) dalam waktu dan kemudian dapat membuat tabel semua perbandingan dalam waktu dengan untuk setiap set , loop melalui semua elemen dari semua kelompok lain dan menandai ditetapkan sebagai bukan bagian dari jika mereka elemen tidak di . Total waktu .
Bisakah kita melakukan sesuatu dengan lebih cepat? Secara khusus, apakah waktu mungkin atau tidak?
Saya menemukan beberapa artikel terkait:
Algoritma Sub-Quadratic Sederhana untuk Komputasi Subset Partial Order (1995) yang memberikan algoritma .
Urutan Parsial Bagian: Komputasi dan Kombinatorik sedikit meningkatkan hal di atas tetapi juga mengklaim bahwa kertas di atas memecahkan masalah dalam waktu mana adalah jumlah maksimum set yang berbagi elemen yang sama, tetapi saya tidak dapat memahami hasil ini.d
Dalam artikel Antara danO ( n α ) O ( ( n + u ) 2.79 ) penulis menunjukkan bagaimana dalam grafik menemukan komponen yang terhubung setelah menghapus lingkungan tertutup dari sebuah simpul dengan menggunakan perkalian matriks. Ini dapat digunakan untuk menghitung set inklusi poset dengan menemukan semua komponen yang merupakan lajang dengan runtime .
Juga diskusi forum ini terkait: Apa cara tercepat untuk memeriksa set inklusi? yang menyiratkan batas bawah .
sumber
Jawaban:
Jika keacakan dibatasi, satu gagasan kasar adalah menghasilkan banyak fungsi "tanda tangan monoton acak" dan menggunakannya untuk memperkirakan hubungan subset (ala filter Bloom). Sayangnya, saya tidak tahu bagaimana membuatnya menjadi algoritma yang praktis, tetapi berikut adalah beberapa perkiraan yang tidak segera membuktikan bahwa ide itu tidak mungkin. Ini sangat jauh dari solusi yang berguna, tetapi saya akan menuliskannya jika itu membantu.
Asumsikan untuk kesederhanaan bahwa set semua ukurannya hampir sama, katakan , dan itu . Kita dapat mengasumsikan , jika tidak kita selesai. Tentukan Catat bahwa .s = o ( u ) 1 ≪ s q|S|=s±O(1) s=o(u) 1≪s p≫1
Inilah bagian yang sangat tidak praktis. Pilih secara acak subset dengan penggantian, masing-masing ukuran , dan tentukan fungsi oleh iff untuk beberapa . Dengan diperbaiki dan bervariasi secara acak, kami telah Karena adalah monoton, menyiratkanp A1,…,Ap⊂U q f:2U→{0,1} f(S)=1 Ai⊂S i S Ai,f
Bahkan jika perhitungan di atas benar, saya tidak tahu bagaimana cara menghasilkan fungsi tanda tangan monoton dengan fitur yang diinginkan dengan cepat. Kemungkinan juga teknik ini tidak mencakup ukuran set yang sangat berbeda.
sumber