2012-12-14 3 views
2

인구 통계국의 population projections에서 2060 년까지의 기사를 작성하고 있는데 압축되지 않은 상태에서 3.3MB의 .csv 파일로 구성되어 있습니다.이론적 텍스트 파일의 크기 계산

파일은 537,781 개의 값으로 구성되며 각 값은 5-7 자리이며 3,455,372자를 차지합니다. 파일을 gzip으로 압축하면 1550063 바이트 (1.47MB)가됩니다.

나는 그것이 3.5 인치 플로피에 들어갈 수 있다고 진실되게 말하고 싶다. 최대 용량은 1.44 MB이다. 이것은 참조 포인트 일 뿐이며, 그렇게하는 방법에 대한 지침이 필요한 사용자에게는 조언이 아닙니다.

위의 문자 수를 기준으로 텍스트 파일의 이론적 크기를 계산하는 방법이 있습니까? 우리가 실제로 3.5 인치 플로피와 드라이브를 가지고 있다면 정보 손실없이이 파일을 디스크에 저장할 수 있습니까? 감사!

+0

엔트로피를 계산하는 것이 가능합니다 (자동화해도 꽤 쉽습니다). 하나는 파일의 전체 내용을 검사해야합니다. (값의 범위를 알면 과대 평가 될 수 있습니다 : 가장 작은 값과 가장 큰 값은 무엇입니까?) – delnan

+0

가장 작은 값은 0이고 최대 값은 420267733 여기에서 계산 된 값 https://gist.github.com/4287201 –

답변

2

아니요, 문자 수를 기반으로 파일의 압축 된 버전의 크기를 예측할 수 없습니다. 다른 문자열은 여러 수준의 효율성으로 압축 될 수 있습니다. 순전히 하나의 문자로 만들어진 문자열은 순전히 무작위로 생성 된 문자의 문자열보다 훨씬 쉽게 압축됩니다.

정보 이론에는 Kolmogorov 복잡도 개념이 있습니다.이 개념은 문자열을 재구성하는 데 필요한 최소한의 정보량 (다소 차이가 있음)입니다. 모든 문자열을 작은 문자열로 압축하는 것은 아니며 임의의 문자열에 대한 Kolmogorov 복잡도를 찾기위한 일반적인 알고리즘을 만드는 것은 불가능합니다. 또한 문자열이 충분히 길면 문자열에 대한 최적의 인코딩을 찾았 음을 증명하는 것은 불가능합니다.

희망이 도움이됩니다.

+0

감사합니다. 당신! –

1

1.44 MB 플로피에 적합하다고 말하면 더 나은 압축기로 증명하십시오. 7-Zip 또는 xz를 시도하십시오 (플랫폼에 따라 다름). 당신은 내가 그 트릭을 할 것이라고 확신 할만큼 충분히 가깝습니다. (gzip -9를 사용 했습니까?)

그런데이 유틸리티에 대해 잘 모르겠습니다. 많은 사람들이이 "플로피 디스크 "를 그들에게 보냈다.

이미 언급했듯이 이론적 인 최상의 압축을 계산할 수 없습니까? 가장 좋은 압축기를 사용하여 추정치를 얻으십시오.

업데이트 :

를 다운로드. xz은 1177180 바이트로 압축합니다. 그래서 예, 맞습니다.

+0

감사합니다. 플로피 디스크 개념에 연결해야합니다 :) –