Apakah ada algoritma kompresi berdasarkan PI?

11

Apa yang kita ketahui adalah bahwa π tidak terbatas dan sangat mungkin mengandung string setiap digit string yang mungkin ( urutan disjungtif ).

Saya baru-baru ini melihat beberapa prototipe πfs yang mengasumsikan bahwa setiap file yang Anda buat (atau orang lain) atau Anda akan buat, itu sudah ada sehingga masalah mengekstraksinya. Ada juga piFile yang dapat mengonversi file Anda ke pi metadata.

Sudah ada BBP jenis rumus (sebagai bagian dari matematika eksperimental) yang memungkinkan kita untuk menghitung n th digit biner dari pi. Jadi menyimpan posisi awal dan panjang data kami, kami secara teoritis dapat mengekstrak data yang kami minati. Ada beberapa argumen yang menentangnya bahwa metadata kami (misalnya offset ke data kami) bisa lebih besar dari data yang diekstraksi. Simbol-simbol matriks dan enc dapat dikodekan dalam basis-256 untuk membuatnya lebih efisien (lihat lelucon ).

Berdasarkan hal di atas, pertanyaan utama saya adalah:

  • Apakah ada algoritma kompresi berdasarkan PI?

Jika tidak, apakah itu masuk akal? Atau ada penelitian di daerah itu?

Atau mungkin π bukan yang benar, jadi bagaimana dengan konstanta Euler atau Tau (τ)? Apakah ada bedanya?


mencari kata-kata kotor dalam angka adalah JAUH lebih menyenangkan daripada mencari-cari di kamus!  ASS: posisi pi 590.725 (ascii encoding).  BUTT: posisi 177.031.174.  BOOB: posisi 32.355.500.  8 == D ada di posisi 158.907.339.  MUNGKIN SAYA HANYA MENGATAKAN: BAGAIMANA EROTIK

Kredit gambar: Komik Dinosaurus


Lihat juga:

kenorb
sumber
15
Dear T-rex, Kesimpulan Anda dalam frame 2 sama sekali tidak mengikuti pernyataan di frame 1. Tidak heran spesies Anda punah. Milikmu,
David Richerby
2
sebenarnya ini merupakan masalah yang terbuka dan / atau mungkin tidak dapat diputuskan untuk menentukan apakah ada string panjang digit yang muncul di secara umum .... sarankan mempelajari teori kompleksitasπ
kolmogorov
1
Apakah Anda yakin, untuk setiap kemungkinan bit (data), Anda sebagian besar dapat menemukan instance pada pi, dalam posisi th (metadata)? Itu harus, untuk itu disebut "kompresi." 2 NN2N
Константин Ван

Jawaban:

17

Saran Anda tidak masuk akal, karena banyak alasan. Pertama-tama, ketika mencoba mengompres file besar, katakan file berukuran byte, Anda harus menemukan tempat dalam ekspansi biner π yang sesuai dengan file Anda. Karena file tersebut 128 bit panjang, orang akan berharap tempat ini menjadi sekitar 2 128 bit th. Jadi agak sulit untuk menemukannya. Ini bukan hanya karena kami harus pergi jauh ke ekspansi, tetapi juga karena kami berharap untuk mencoba 2 128 lokasi yang berbeda sebelum menemukan hit.16π12821282128

π

π

Yuval Filmus
sumber
14

Berdasarkan jawaban Yuval, dengan penjelasan yang sedikit berbeda dan contoh untuk membantu menerangi masalah.

Teori

16128

  1. π
  2. 128

2128

  • pencarian mendalam untuk pola bit; dan
  • 2128

ππ

Lihat juga, entropi informasi .

Contoh

lHaig2(938933556)29.830

π597,507,393lHaig2(597507393)29.230

Mungkin kita bisa memotong angkanya?

  • 1,124
  • 1,216
  • 11,727

36

  • 15,312,393
  • 8

2730

N

Dave Jarvis
sumber
2

Apakah ada algoritma kompresi berdasarkan PI?

yeah, https://github.com/divinity76/pi_compression

Apakah masuk akal?

tidak, menyimpan offset biasanya membutuhkan lebih banyak ruang disk daripada yang Anda simpan, setidaknya dengan implementasi di atas (3 hal penting tentang itu yang dapat ditingkatkan, ia hanya mempertimbangkan 2 ^ 32 byte pertama dari representasi biner dari pi, dan itu menggunakan jumlah bit yang berlebihan untuk menyimpan jumlah byte yang cocok per offset, yaitu 8 bit saat pengujian menunjukkan bahwa 3 bit akan optimal, dan itu hanya mempertimbangkan cocok dengan byte penuh, jadi jika ada 15 bit yang cocok di suatu tempat, itu akan hanya dianggap sebagai kecocokan 8 bit .. juga jika 4 bit terakhir dari satu byte cocok tetapi bukan bit # 3, dan 4 bit pertama dari byte berikutnya cocok tetapi bukan bit # 5, itu tidak dianggap sebagai kecocokan pada semua)

Atau ada penelitian di daerah itu?

uhm yakin, itu sebabnya saya menulis implementasi di atas, dan hasilnya tampaknya bahwa dalam 4GB pertama pi, Anda cenderung menemukan 4 byte yang cocok dari .. cukup banyak apa pun, yang sangat sulit, jika bukan tidak mungkin, untuk mendapatkan kompresi apa pun, setidaknya saya gagal. (tapi implementasi saya tidak optimal, seperti yang dijelaskan di atas) - juga kompresi sangat lambat, tetapi implementasi saya adalah single-threaded, tetapi algoritma ini memungkinkan untuk multithreading jika seseorang dapat menambahkan kode, yang akan memungkinkan untuk meningkatkan kinerja dengan jumlah core yang tersedia.

dekompresi sangat cepat.

hanshenrik
sumber
0

Apakah ada algoritma kompresi berdasarkan PI?

ππ

XπX

ππ

bahkan jika konstanta matematika terbukti memiliki sifat luar biasa dari "mengandung semua string", argumen sederhana adalah bahwa algoritma kompresi akan menghabiskan "terlalu banyak waktu" mencari posisi string, dan menggambarkan lokasinya sering membutuhkan panjang (er) string digit.

lihat juga / kontras / coba rekonsiliasi dengan pertanyaan suara-tinggi serupa bagaimana bisa diputuskan apakah pi berisi beberapa urutan angka . (cs.se) (petunjuk: judul dapat dianggap agak menyesatkan)

vzn
sumber