چرا فشرده سازی کلمات در کامپیوتر اهمیت دترد؟
فشرده‌سازی داده‌ها
مثال فوق مثال بسیار ساده‌ای از یک کدنگاری الگو-طول (کدبندی طول اجرا، که در آن "الگو" عبارت است از رشته‌ای از عناصر که به‌طور متوالی تکرار شده‌است و "طول" تعداد تکرار آن است) است. این روش اغلب برای بهینه‌سازی فضای دیسک در کامپیوترهای اداری یا استفادهٔ بهتر از طول باند اتصال در یک شبکهٔ کامپیوتری به کار می‌رود. برای داده‌های نمادی مانند متن‌ها، صفحه‌گسترده‌ها ()، برنامه‌های اجرایی و… بی‌اتلاف‌بودن ضروری است زیرا تغییر کردن حتی یک بیت داده قابل قبول نیست (مگر در موارد بسیار محدود). برای داده‌های صوتی و تصویری کاهش قدری از کیفیت بدون از دست دادن طبیعت اصلی داده قابل قبول است. با بهره‌بردن از محدودیت‌های حواس انسان، می‌توان در حجم زیادی از فضا صرفه‌جویی کرد و در عین حال خروجی‌ای تولید کرد که با اصل آن تفاوت محسوسی ندارد. این روش‌های فشرده‌سازی بااتلاف به‌طور کلی یک برآیندگیری سه‌جانبه بین سرعت فشرده‌سازی، حجم نهایی فشرده‌سازی و کیفیت قابل چشم‌پوشی (درصد اتلاف قابل قبول) است. کارآیی کامپیوتر
فشرده سازی مفید است زیرا به کاهش استفاده از منابع سیستمی، مانند فضای ذخیره‌سازی داده‌ها یا ظرفیت انتقال کمک می‌کند. از آنجا که برای استفاده از داده‌های فشرده ابتدا باید از حالت فشرده خارج شوند (وافشاری)، این پردازش اضافی هزینه‌های محاسباتی یا سایر هزینه‌ها را توسط وافشاری ایجاد می‌کند. این وضعیتی هزینه تراش است. فشرده سازی داده‌ها با افزایش پیچیدگی فضا-زمان همراه است. فشرده‌سازی داده‌ها
فشرده‌سازی به این دلیل مهم است که کمک می‌کند مصرف منابع باارزش، مانند فضای هارددیسک یا پهنای باند ارسال، را کاهش دهد، که این نکته در کاهش هزینه و جلوگیری از اتلاف وقت کمک میکند. البته از طرفی دیگر، اطلاعات فشرده‌سازی شده برای اینکه مورد استفاده قرار بگیرند باید از حالت فشرده خارج شوند و این فرایند اضافه ممکن است برای بعضی از برنامه‌های کاربردی زیان‌بار باشد. برای مثال یک روش فشرده‌سازی برای یک فیلم ویدئویی ممکن است نیازمند تجهیزات و سخت‌افزار گران‌قیمتی باشد که بتواند فیلم را با سرعت بالایی از حالت فشرده خارج سازد که بتواند به‌طور هم‌زمان با کدگشایی پخش شود (گزینه‌ای که ابتدا کدگشایی شود و سپس پخش شود، ممکن است به علت کمبود حافظه برای فیلم کدگشایی‌شده امکان‌پذیر نباشد). بنابراین طراحی روش فشرده‌سازی نیازمند موازنه و برآیندگیری عوامل متعددی است. از جمله این عوامل می‌توان درصد فشرده‌سازی، میزان پیچیدگی (اگر از یک روش فشرده‌سازی پر اتلاف استفاده شود) و منابع محاسباتی لازم برای فشرده‌سازی و کدگشایی اطلاعات را نام برد. فشرده‌سازی به دو دسته فشرده‌سازی بااتلاف (فشرده‌سازی با اتلاف) و فشرده‌سازی بهینه فشرده‌سازی بی‌اتلاف تقسیم می‌شوند. کدگذاری منبع، علم مطالعه روش‌های انجام این کار، برای منابع اطلاعات متفاوت است. فشرده‌سازی داده‌ها
الگوریتم‌های فشرده‌سازی بهینه معمولاً فراوانی آماری را به طریقی به کار می‌گیرند که بتواند اطلاعات فرستنده را خلاصه‌تر و بدون خطا نمایش دهد. فشرده‌سازی بهینه امکان‌پذیر است چون اغلب اطلاعات جهان واقعی دارای فراوانی آماری هستند. برای مثال در زبان فارسی حرف "الف" خیلی بیشتر از حرف "ژ" استفاده می‌شود و احتمال اینکه مثلاً حرف "غین" بعد از حرف "ژ" بیاید بسیار کم است. نوع دیگری از فشرده‌سازی، که فشرده‌سازی پر اتلاف یا کدگذاری ادراکی نام دارد که در صورتی مفید است که درصدی از صحت اطلاعات کفایت کند. به‌طور کلی فشرده‌سازی بااتلاف توسط جستجو روی نحوهٔ دریافت اطلاعات مورد نظر توسط افراد راهنمایی می‌شود. برای مثال، چشم انسان نسبت به تغییرات ظریف در روشنایی حساس تر از تغییرات در رنگ است. فشرده‌سازی تصویر به روش طوری عمل می‌کند که از بخشی از این اطلاعات کم ارزش تر "صرف نظر" می‌کند. فشرده‌سازی بااتلاف روشی را ارائه می‌کند که بتوان بیشترین صحت برای درصد فشرده‌سازی مورد نظر را به دست‌آورد. در برخی موارد فشرده‌سازی شفاف (نا محسوس) مورد نیاز است؛ در مواردی دیگر صحت قربانی می‌شود تا حجم اطلاعات تا حد ممکن کاهش بیابد. فشرده‌سازی داده‌های صوتی
نوعی از فشرده‌سازی داده‌است که به منظور کاهش اندازه فایل‌های صوتی طراحی شده‌است. الگوریتم‌های فشرده‌سازی صوتی در نرم‌افزارهای کامپیوتری تحت عنوان رمزگذارهای صوتی(audio codecs) اجرا می‌شوند. نوعی الگوریتم‌های فشرده‌سازی صوتی عملکرد ضعیفی در برابر داده‌های صوتی دارند و به ندرت کاهش اندازه فایل به میزان کمتر از ۸۷٪ اندازه فایل اصلی می‌رسد و برای استفاده در زمان کنونی طراحی نشده‌اند. در نتیجه الگوریتم‌های بدون اتلاف و پراتلاف صوتی خاصی ایجاد شده‌اند. الگوریتم‌های پراتلاف ضریب تراکم بیشتری را فراهم می‌کنند و در وسایل صوتی اصلی مصرف‌کنندگان استفاده شده‌اند. همچون فشرده‌سازی عکس، در فشرده‌سازی صوتی هم از هر دو روش بدون اتلاف و پراتلاف استفاده می‌شود، اما پراتلاف برای مصارف روزانه رایج‌تر است. در هر دو روش فشرده‌سازی‌بدون اتلاف و پراتلاف با استفاده از روش‌هایی مثل کدگذاری، شناسایی الگو و محاسبه خطی برای کاهش مقدار اطلاعات استفاده شده برای توصیف داده‌ها افزونگی(redundancy) اطلاعات کاهش می‌یابد.
استاندارد رمزنگاری پیشرفته
در سیستم‌های با کلمات ۳۲ بیتی یا بزرگتر، این امکان وجود دارد که به وسیله ترکیب مراحل SubBytes و ShiftRows با مرحله MixColumns با تبدیل آنها به دنباله‌ای از جستجوهای‌های جدول، اجرای این رمزنگاری را سرعت بخشید. این امر نیازمند چهار جدول با ۲۵۶ مدخل ۳۲ بیتی و بهره‌گیری از چهار کیلوبایت (۴۰۹۶ کلمه) حافظه (یک کیلوبایت برای هر جدول) است. آنگاه یک چرخه می‌تواند با ۱۶ جستجوی جدول و ۱۲ عمل OR انحصاری ۳۲ بیتی و در ادامه با چهار عمل OR انحصاری ۳۲ بیتی در مرحله AddRoundKey انجام می‌شود. تحلیل رمز
اگرچه در زمان جنگ جهانی دوم از محاسبات برای تأثیرگذاری در رمزنگاری رمزنگاری لورنز و سایر سیستمها استفاده شده‌است، اما همچنین روشهای جدید دستورات رمزنگاری از بزرگی را پیچیده‌تر از گذشته کرده‌است. به‌طور کلی، رمزنگاری مدرن نسبت به سیستم‌های قلم و کاغذ گذشته، نسبت به سیستم رمزنگاری و کاغذ گذشته بسیار غیرقابل نفوذ است، و حالا به نظر می‌رسد که دست بالایی در برابر رمزنگاری خالص دارد. مورخ دیوید کان یادداشت می‌کند: کان در ادامه به افزایش فرصت‌ها برای رهگیری، رفع اشکال، حمالت کانال جانبی و رایانه‌های کوانتومی به عنوان جایگزینی برای وسایل سنتی رمزنگاری اشاره می‌کند. در سال ۲۰۱۰، برایان اسنو، مدیر فنی سابق NSA گفت که هم رمزنگارهای دانشگاهی و هم دولتی «در یک زمینه بالغ» خیلی آهسته به جلو می‌روند. رم محاسباتی
در دهه ۸۰ میلادی، یک CPU کوچک که FORTH را اجرا می‌کرد در یک تراشه DRAM تعبیه شد. این کار به منظور بهبود PUSH و POP انجام گرفت. FORTH یک زبان برنامه‌نویسی پشته-گرا است و این باعث بهبود کارایی آن شد. خلاصه‌سازی کد منبع
خلاصه‌سازی کد منبع (به انگلیسی: Minification یا Minify) در زبان‌های برنامه‌نویسی اشاره به رفع بایت‌های غیرضروری مانند فضاهای خالی و فاصله‌ها از کدهای منابع دارد. خلاصه سازی کد منبع مخصوصاً برای زبان‌های تفسیرشده مانند جاوا اسکریپت بسیار کاربردی است، زیرا باعث کاهش حجم فایل‌ها و افزایش سرعت تحویل داده به کاربران در اینترنت می‌شود. معکوس کردن اولویت
در سیستم‌های دارای چندین واحد پردازش مرکزی، یک مدل ساده به نام قفل کردن فلگ منفرد مشترک استفاده می‌شود. در این روش یک فلگ منفرد در حافظه مشترک فراهم می‌شود که توسط تمام واحدهای پردازش مرکزی استفاده می‌شود تا تمام نواحی بحرانی بین پروسه‌ای را با یک انتظار فعال قفل کند. ارتباطات بین پروسه‌ای هزینه بر است و در اکثر سیستم‌های دارای چند واحد پردازش مرکزی، کند است؛ بنابراین، اکثر چنین سیستم‌هایی طوری طراحی شده‌اند تا منابع مشترک را به حداقل برسانند و در نتیجه این روش در واقع در بسیاری از سیستم‌های عملی به خوبی کار می‌کند. این روش‌ها استفاده زیادی در سیستم‌های نهفته ساده دارند که دارای ارزش بالایی به علت قابل اعتماد بودن، سادگی، و استفادهٔ اندک از منابع هستند. این روش‌ها همچنین، نیازمند برنامه‌نویسی دقیق برای کوتاه کردن زمان نواحی بحرانی هستند. بسیاری از مهندسین نرم‌افزار این روش‌ها را در کامپیوترهای دارای استفاده عمومی غیر عملی می‌دانند. Word2vec
دلایل استفاده از یادگیری کلمه جاسازی در چارچوب word2vec به خوبی درک نشده‌است. گلدبرگ و لوی خاطرنشان می‌کند که تابع هدف word2vec باعث می‌شود که کلمات در شرایط مشابه به صورت مشابه (مانند اندازه‌گیری شباهت‌های کوزینوس) رخ دهند که این امر با فرضیه توزیعی J. R. Firth مطابقت دارد. با این حال، آن‌ها توجه دارند که این توضیح " بسیار دستی " است و استدلال می‌کند که توضیح رسمی تری ترجیح داده خواهد شد. فشرده‌سازی داده‌های صوتی
فشرده‌سازی صوتی پراتلاف در محدوده وسیعی از برنامه‌های کاربردی بشدت استفاده می‌شود. به عبارت دیگر در استفاده مستقیم(mp3 playerها یا کامپیوترها)، رشته‌های صوتی دیجیتالی فشرده‌شده‌استفاده شده در اکثر DVDهای تصویری، تلویزیون‌های دیجیتال، رسانه‌های موجود در اینترنت، ماهواره و کابل رادیو و به صورت تصاعدی در خبرگزاری‌های رادیویی زمینی. فشرده‌سازی پراتلاف با دور انداختن داده‌های کم اهمیت به نحوی به فشردگی خیلی بیشتری نسبت به فشرده‌سازی بدون اتلاف دست می‌یابد (داده‌ها به ۵تا۲۰ درصد رشته اصلی کاهش می‌یابند در مقایسه با۵۰ تا۶۰درصد در بدون اتلاف). که برای شناخت روح صوت (psychoacoustic) استفاده شود برای شناسایی داده‌هایی که درون رشته صوتی وجود دارند ولی نمی‌توانند توسط سیستم شنوایی انسان درک شوند. فشرده سازی پراتلاف به وسیله شناسایی صداهایی که فکر می‌کند نامربوط درک شده، صداهایی که شنیدن آن‌ها بسیار دشوار است افزونگی دریافتی را کاهش می‌دهد. نمونه‌هایی شامل فرکانس‌های بالا یا صداهایی که هم‌زمان با صداهای بلندتر رخ می‌دهند یا اصلاً کد نمی‌شوند یا با دقت پایین کد می‌شوند. در حالی که کاهش یا حذف این صداهای «غیرقابل شنیدن» ممکن است درصد کمتری از بیت‌های ذخیره شده در فشرده‌سازی پراتلاف را باعث شوند، ذخیره‌سازی واقعی از تکمیل پدیده شکل‌دهی پارازیت حاصل می‌شود. سیگنال مقدار پارازیت درون سیگنال را افزایش می‌دهد. در فشرده‌سازی براساس شناخت روح صوت (psychoacoustic) کلید واقعی «مخفی کردن» پارازیت تولید شده توسط بیت‌های ذخیره شده در نواحی غیرقابل شنیدن رشته صوتی است. این امر با استفاده کردن از تعداد بسیار کم بیت‌ها برای کد کردن فرکانس‌های بالای بیشتر سیگنال‌ها نه برای اینکه سیگنال کمی اطلاعات فرکانسی بالا دارد (هرچند که این امراغلب درست است) بلکه بیشتر به این دلیل که گوش انسان تنها می‌تواند سیگنال‌های خیلی بلند درون منطقه رادرک کند صورت می‌گیرد؛ بنابراین پارازیتهای صوتی نازک تر «مخفی شده» و به سادگی شنیده نمی‌شوند. برای کاربرد خاصی بدست نیامد ممکن است نیاز به فشردگی پراتلاف بیشتری داشته باشیم و با توجه به فایل صوتی اصلی هنوز هم ممکن است تفاوت قابل درکی ایجاد نشود. به عنوان مثال یک سخنرانی می‌تواند بسیار بیشتر از موسیقی فشرده شود. اکثر برنامه‌های فشرده‌سازی پراتلاف اجازه می‌دهند تا پارامترهای فشرده‌سازی برای رسیدن به یک نرخ مورد نظر ازداده‌ها منطبق شوند که به آن نرخ بیت می‌گویند. کاهش داده‌ها ممکن است به وسیلهٔ برخی از مدل‌ها بسته به اینکه چقدر نحوه درک صدا به وسیلهٔ گوش انسان مهم است. با هدف کار آمدی وبهینگی کیفیت برای نرخ داده مورد نظر عمل می‌کنند (مدل‌های مختلفی برای این آنالیزهای ادراکی استفاده می‌شوند که برخی از آن‌ها برای انواع مختلف صدا نسبت به بقیه مناسب تر هستند) حتی، با توجه به پهنای باند و حافظه لازم، استفاده از فشرده‌سازی پراتلاف ممکن است در یک کاهش کیفیت صدا که محدوده آن از صفرتا بسیار زیاد است دیده شود اما معمولاًکاهش کیفیت آشکارا شنیدنی برای شنونده قابل قبول نیست.  پراتلاف از دست می‌روند و به وسیلهٔ بازگشایی قابل برگشت نیستند بعضی از مردم برای آرشیو کردن فایل‌ها در حافظه ممکن است ترجیح دهند که از فشرده‌سازی پراتلاف استفاده نکنند. با این وجود، حتی ممکن است کسانی که از فشرده‌سازی پراتلاف استفاده می‌کنند (برای استفاده‌های صوتی قابل حمل) بخواهند که یک نسخه بدون اتلاف آرشیوی برای سایر کاربردها حفظ کنند. به عبارت دیگر، تکنولوژی فشرده‌سازی برای دست یافتن به حالتی از هنر فشرده‌سازی پراتلاف که نیازی به فشرده‌سازی بدون اتلاف نداشته باشد به پیشرفت خود ادامه می‌دهد، تا داده‌های صوتی اصلی توسط کدگذار پراتلاف جدید فشرده شوند. طبیعتاً در فشرده‌سازی پراتلاف (هم برای صوت و هم عکس) اگر داده‌ها باز شوند و مجدداً به صورت پراتلاف فشرده شوند کاهش کیفیت بیشتری حاصل می‌شود. شبکه تحویل برنامه
تکنیک فشرده سازی دوم از طریق الگوریتم‌های کاهش داده به دست می‌آید. از آنجا که این الگوریتم‌ها اختصاصی هستند و میزان ترافیک برنامه را تغییر می‌دهند، قرینه هستند و قبل از اینکه مشتری بتواند آن را دریافت کند، به دستگاهی نیاز دارد تا ترافیک برنامه را دوباره جمع کند. دسته جداگانه ای از دستگاه‌های معروف به WAN Optimization Controllers (WOC) این قابلیت را ارائه می‌دهند، اما این فناوری طی چند سال گذشته به آهستگی به سبد سهام ADN اضافه شده‌است زیرا این کلاس از دستگاه‌ها همچنان از برنامه‌های بیشتری آگاه می‌شوند و ویژگی‌های اضافی برای برنامه‌های خاصی مانند را ارائه می‌دهند. فشرده‌سازی تصویر
فشرده‌سازی تصویر ، کاربردی از فشرده‌سازی اطلاعات در تصاویر دیجیتال است. هدف از آن کاهش اطلاعات بلا استفاده یک متن دو دویی برای ذخیره کردن یا انتقال اطلاعات به شکل بهینه می‌باشد. فشرده‌سازی پودر سرامیکی
با توجه به مشکلات فشرده‌سازی پودر گفته شده و هم‌چنین با توجه به پرهزینه بودن آزمایش‌ها در تعیین بهترین شکل ابزار و شرایط شکل‌دهی و نیز به هدر رفتن مواد اولیه، کسب اطلاعات لازم از طریق مدلهای تئوری بسیار مهم می‌باشد؛ مدل‌ها و روش‌های کامپیوتری برای شبیه‌سازی مراحل شکل‌دهی پودرهای فلزی و سرامیکی نقش بسیار مهمی ایفا می‌کند. روش‌های گوناگونی برای شکل‌دهی مواد صنعتی وجود دارد که در آن تغییر شکل‌های بزرگ و پلاستیک وجود دارد. شبیه‌سازی تمامی این روش‌ها در قالب دو فرایند اصلی زیر صورت می‌پذیرد که با تغییر نوع مواد اولیه و شکل ابزار، بتوان اطلاعات لازم و مفید را استخراج نمود. در این راستا استفاده از مدل‌سازی عددی به صورت زیر می‌باشد: تک (نرم‌افزار)
از آن‌جا که هدف اصلی تک حروف‌چینی کتاب «هنر برنامه‌نویسی رایانه» با کیفیت بالا بود، نوث توجه زیادی به انتخاب قواعد فاصله‌گذاری مناسب برای فرمول‌های ریاضی نمود. او سه کار را به عنوان استاندارد کیفیت برای حروف‌چینی کامپیوتری در نظر گرفت: کتاب‌هایی که توسط ادیسون-وزلی، ویرایش‌گر «هنر برنامه‌نویسی رایانه» منتشر شده بودند، و به‌طور خاص کارهای هانس ولف. نسخه‌هایی از مجلهٔ آکتا متمتیکا با تاریخ حدود ۱۹۱۰؛ و یک نسخه از اینداگیشنز متمتیکا، یک مجلهٔ ریاضی آلمانی. نوث به دقت در این مثال‌ها کندوکاو کرد، تا قواعد فاصله‌گذاری مناسب برای تک را استخراج نماید. با وجود این که تک تعدادی قواعد پایه‌ای ارائه می‌نماید، و ابزارهایی برای مشخص نمودن فاصله‌گذاری مناسب لازم است، اما پارامترهای حقیقی به قلم مورد استفاده برای حروف‌چینی فرمول بستگی دارد. برای مثال: فاصله‌گذاری برای قلم «مدرن کامپیوتری» نوث، در طول سال‌ها به دقت تنظیم شده، و دیگر تغییر نخواهد کرد. اما قلم‌های دیگر مانند ای. ام. اس. اویلر، اولین بار که توسط نوث استفاده شدند، پارامترهای فاصله‌گذاری جدیدی برای آن‌ها باید تعریف می‌شد. کتابخانه پیوند پویا
اگر یک DLL با برخی بسته بندی‌های اجرایی خاص فشرده شود (به عنوان مثال UPX)، تمام بخش‌های کد آن به عنوان خواندن و نوشتن مشخص شده‌اند و به اشتراک گذاشته نمی‌شوند. بخش‌های خواندن و نوشتن کد، شبیه به بخش‌های داده‌های خصوصی، برای هر فرایند خصوصی هستند. بنابراین، DLLها با بخش‌های داده مشترک، اگر آن‌ها برای این در نظر گرفته شده باشند که به‌طور همزمان توسط چندین برنامه استفاده شوند، نباید فشرده شوند؛ چرا که هر نمونه از برنامه باید یک کپی خود از DLL را حمل کند که در نتیجه افزایش مصرف حافظه خواهد بود. بهینه‌سازی کامپایلر
بهینه‌سازی از مهم‌ترین وظایف یک کامپایلر است که معمول بعد از تولید کد میانی آغاز می شود. همیشه هنگام کامپایل یک برنامه برای پخش نهایی از بهینه‌سازی استفاده می شود. هرچند گاهی اوقات بهینه‌سازی مانع اصلی بعضی اهداف است و باید کنار گذاشته کردن یک کد بهینه شده دشوارتر و شاید غیرممکن شود چرا که debug شود. به عنوان مثال به منظور بهینه‌سازی بسیاری از کدها حین کامپایل ممکن است جابجا شده باشند یا اصل option ساختار آن‌ها عوض شده باشد. به همین دلیل بسیاری از کامپایلرها اجازه نمی‌دهند کامپایل کردن و بهینه‌سازی هم‌زمان فعال شوند. همچنین گاهی کد کامپایل debugهای مربوط به یکسان ولی خصوصیات (instruction) شده قرار است روی پردازنده‌هایی با دستورالعملهای مختلف از حیث زمان‌بندی، سرعت دسترسی به حافظه و … اجرا شود که در این صورت کامپایلر نباید بهینه‌سازی‌های خاص یک ماشین را روی آن اعمال کند. تکنیک‌های مختلف بهینه‌سازی می‌توانند وابسته به زبان منبع، وابسته به ماشین مقصد یا مستقل از هر دو باشند. اغلب روش‌های بهینه‌سازی مستقل از زبان منبع می‌باشند. همچنین برای بسیاری از الگوریتم‌های بهینه‌سازی وابسته به مقصد، می‌توان خصوصیات ماشین مقصد را با یکسری پارامتر معرفی کرد و خود الگوریتم برای مقصدهای مختلف دست نخورده بماند. اهداف کلی یک کیمپایلر هنگام بهینه‌سازی به صورت خلسه در زیر آمده‌است که کامپایلر بر اساس نوع بهینه‌سازی مورد نظرش، به آن‌ها اولویت می‌دهد: جا می‌گیرد وپردازنده برای cache کم کردن حجم کد: هرچه حجم کد کمتر باشد راحتتر در دسترسی به آن نیاز به تعداد کمتری مراجعه به حافظه دارد. کم کرد ن محاسبات: تغییر کد به گونه‌ای که محاسبات کمتری داشته باشد وقت پردازنده را کمتر می‌گیرد. پرهیز از پرش‌های شرطی و غیر شرطی: پردازنده‌ها در برخورد باانشعاب‌ها و پرش‌ها نمی استفاده کنند و در نتیجه زمان بیشتری در این‌گونه مواقع تلف می‌شود. pipelining توانند از کامپایلر باید کد را به گونه‌ای تغییر دهد که حتی المکان تعداد کمتری انشعاب و پرش داشته باشد. نزدیک کردن ارجاعات مشابه: بخش‌هایی از کد که یک داده خاص را از حافظه می‌خوانند بهتر است کنار هم باشند تا دسترسی به داده سریعتر برای آن‌ها انجام گیرد و کامپیوتر مجبور به مراجعه مکرر به حافظه نباشد. ترتیب دهی مناسب داده‌ها در حافظه: ثباتها باید حاوی داده‌های پراستفاده تر باشند. موازی سازی: ترتیب دستورها در حافظه باید به گونه‌ای باشد که به پردازنده حداکثرامکان پردازش موازی دستورها را بدهد. قفل نرم‌افزاری
یک تکنولوژی قفل‌گذاری است که توسط شرکت TTR Technologyinc ارائه شده‌است. در این متد، یک کد دیجیتالی خاص بر روی دیسک فشرده ثبت می‌شود. این کد دیجیتالی که هنگام ساخت دیسک فشرده به آن اضافه می‌گردد، غیرقابل کپی است. هنگامی که از یک دیسک فشرده اصلی استفاده می‌شود این امضا ظاهر شده و این باعث آشکار سازی(Decryption) برنامه‌های اجرایی و اجرای آن‌ها می‌شود. اما بر روی دیسک‌های فشرده کپی این امضا ظاهر نشده و در نتیجه برنامه اجرایی موفق به اجرا نمی‌شود در این‌گونه موارد یک پیغام مبنی بر کپی غیرقانونی ظاهر می‌شود یا نسخه نمایشی نرم‌افزار اجرا می‌شود. این دیسک‌های فشرده شامل فایل‌های Loslink.Sys, Loslink.Vxd در شاخه Setup برنامه می‌باشد. درجه امنیت این قفل بسیار بالا بوده و به‌طور معمول غیرقابل کپی است. قطع‌کردن (برنامه‌نویسی)
استفاده از زبانهای زیادی در Microsoft's .NET Common Language Infrastructure (CLI) به روشی برای استفاده از متغیرها به زبانی متفاوت نیاز دارد که ممکن است در یک زبان مکالمه کلمات کلیدی باشند. این کار گاهی اوقات با پیشوندهایی مانند codice_14 در #c یا شناسه در براکت‌ها در ویژوال بیسیک دات‌نت انجام می‌شود. دومین نمونه مهم در بسیاری از پیاده‌سازی‌های ساختار، جستجوی زبان است. در این زبانها کلمات محفوظ با محدود کردن واژگان از آنها به عنوان ستون، جدول یا نام متغیر قابل استفاده هستند. به صورت استاندارد کلمات محصور شده با " " مشخص می‌شوند اما در عمل مکانیسم دقیق با اجرا تغییر می‌کند؛ برای مثال، مای‌اس‌کیوال اجازه می‌دهد که واژه‌های رزرو شده در زمینه‌های دیگر با استفاده از محصور کردن آنها توسط backticks انجام شود یا مایکروسافت اس‌کیوال سرور از براکت‌های مربعی استفاده می‌کند. قطع کردن(stropping) نیز می‌توانند در زبان برنامه‌نویسی Nim مورد استفاده قرار گیرند. در زبان Nim کلمه رزرو شده می‌تواند به عنوان یک شناسه با ضمیمه کردن آن در براکت استفاده شود. نمونه‌های دیگری نیز وجود دارند. برای مثال، Web IDL از یک زیرخط codice_15 برای نشانه‌گذاری شناسه‌ها استفاده می‌کند که در غیر این صورت با کلمات محفوظ برخورد می‌کند. نمایه‌سازی در موتورهای جستجو
به عنوان مثال، اسناد HTML حاوی تگ های HTML است که اطلاعات قالب بندی مانند زمانی که خط جدید شروع می شود، بولد کردن و اندازه فونت یا استایل را مشخص می کند.  اگر موتور جستجو تفاوت بین محتوا و "تگ گذاری" را نادیده بگیرد، اطلاعات اضافی در این نمایه گنجانده می شود که منجر به تضعیف نتایج جستجو می شود. شناسایی و دستکاری محتوای قالب بندی درون اسناد که کنترل نحوه ارائه سند را بر روی صفحه نمایش کامپیوتر و یا توسط یک برنامه نرم افزاری فرمت را تجزیه و تحلیل و تفسیر می کند.  تجزیه و تحلیل فرمت تجزیه و تحلیل ساختار تگ ها، قالب، نرمال سازی متن، تمیز کردن متن و آماده سازی متن رامعرفی می کند. مشکل تجزیه وتحلیل فرمت با پیچیدیگی های مختلف فرمت های فایل ها پیچیده تر می شود. فرمت های خاصی از فایل ها با اطلاعات بسیار کمی ارایه می دهند، در حالی که دیگران به خوبی مستند شده اند. فرمت های رایج و کاملا مستند شده که بسیاری از موتور های جستجو پشتیبانی می کنند عبارتند از: •HTML •فایل های متنی ASCII (یک سند متن بدون فرمت قابل خواندن رایانه خاص) •فرمت سند قابل حمل [[Adobe ( [[PDF ) •پست اسکریپت (PS) •LaTeX •UseNet فرمت های سرور net news  •[[XML]] و مشتقات آن مانند [[RSS]] •[[SGML]] •فرمت های [[داده های متا]] [[چندرسانه ای]] مانند [[ID3]] •[[مایکروسافت ورد]] •[[مایکروسافت اکسل]] •[[مایکروسافت پاورپوینت]] •[[IBM Lotus Notes  گزینه هایی برای رسیدگی به فرمت های مختلف شامل استفاده از یک ابزار تجزیه آمیز تجاری عمومی است که توسط سازمان ارائه شده است که فرمت را توسعه داده، حفظ و یا مالک آن و نوشتن یک [[تجزیه کننده]] دلخواه ارایه می دهد . یکپارچه‌سازی دیسک
یکپارچه‌سازی دیسک سخت هنگام ذخیره‌سازی اطلاعات بر روی دیسک، ممکن است به دلیل پراکنده بودن فضای خالی موجود بر روی دیسک، اطلاعات به صورت پراکنده ذخیره شده و در سکتورهای متوالی قرار نگیرند. البته با توجه به اینکه هنگام ذخیره شدن اطلاعات آدرس محل قرارگیری آن‌ها در جدولی به نام(File Allocation Table) FAT یادداشت می‌شود سیستم‌عامل جهت بازیابی مجدد آن‌ها با مشکلی مواجه نخواهد شد. با این وجود در صورتی که اطلاعات مرتبط با یکدیگر در سکتورهای متوالی قرار گیرند بازیابی اطلاعات با سرعت بیشتری انجام خواهد شد. برنامه دیسک یکپارچه ساز می‌تواند با مرتب کردن اطلاعات موجود بر روی دیسک سرعت دسترسی به فایل‌ها و برنامه‌ها را افزایش داده و سرعت کار کامپیوتر را متحول نماید. در صورتی که تاکنون از این برنامه جهت مرتب‌سازی اطلاعات استفاده نکرده‌اید قطعاً پس از اجرای این برنامه از افزایش سرعت کار کامپیوترتان انگشت به دهان خواهید ماند. رمز و رمزنگاری
عمر کلیدها بیشتر از مدت تراکنش آن‌ها طول نمی‌کشد. رمزنگاری DES عموماً برای حفاظت دیتا از شنود در طول انتقال استفاده می‌شود. کلیدهای DES ۴۰بیتی امروزه در عرض چندین ساعت توسط کامپیوترهای معمولی شکسته می‌شوند و بنابراین نباید برای محافظت از اطلاعات مهم و جهت اعتبار طولانی مدت از آن‌ها استفاده شود. کلید ۵۶بیتی عموماً توسط سخت‌افزار یا شبکه‌های بخصوصی شکسته می‌شوند. رمزنگاری DESسه‌تایی عبارتست از کد کردن دیتای اصلی با استفاده از الگوریتم DES که در سه مرتبه انجام می‌گیرد (دو مرتبه با استفاده از یک کلید به سمت جلو (رمزنگاری) و یک مرتبه به سمت عقب (رمزگشایی) با کلید دیگر). در زمینه رمزنگاری متقارن الگوریتم‌های استاندارد مختلفی وجود دارد. الگوریتمهایی مانند Blowfish و IDEA در موارد مختلف مورد استفاده قرار گرفته‌اند اما هیچ‌کدام پیاده‌سازی سخت‌افزاری نشدند؛ بنابراین به عنوان رقیبی برای DES جهت استفاده در کاربردهای میکروکنترلی مطرح نبوده‌اند. استاندارد رمزنگاری پیشرفته دولت ایالات متحده آمریکا (AES) الگوریتم Rijndael را برای جایگزینی DES به عنوان الگوریتم رمزنگاری اولیه انتخاب کرده‌است. همچنین الگوریتم Twofish مشخصا برای پیاده‌سازی در پردازنده‌های توان‌پایین مثلاً در کارت‌های هوشمند طراحی شد. در ۱۹۹۸ وزارت دفاع آمریکا تصمیم گرفت که الگوریتم‌ها Skipjack و مبادله کلید را که در کارت‌های Fortezza استفاده شده بود، از محرمانگی خارج سازد. یکی از دلایل این امر تشویق برای پیاده‌سازی بیشتر کارت‌های هوشمند برپایه این الگوریتم‌ها بود. برای رمزنگاری جریانی (streaming encryption) (که شامل رمزنگاری دیتا در حین ارسال می‌باشد، یعنی به جای اینکه دیتای کد شده و در یک فایل مجزا قرار گیرد، در هنگام ارسال رمزنگاری صورت می‌گیرد) الگوریتم DES معمولاً از کلیدهای ۶۴ بیتی برای رمزنگاری و رمزگشایی استفاده می‌کند. این الگوریتم، متن اولیه را به بلوک‌های ۶۴ بیتی می‌شکند و آن‌ها را یکی‌یکی رمز می‌کند. الگوریتم پیشرفته‌تر ۳DES است که در آن الگوریتم DES سه بار اعمال می‌شود. نسخه دیگری از این الگوریتم (پایدارتر از قبلی‌ها) از کلیدهای ۵۶بیتی و کلیدهای ۱۶۸بیتی استفاده می‌کند و سه بار عملیات رمزنگاری را انجام می‌دهد.موارد متعددی از اطلاعات حساس که نباید در دسترس دیگران قرار گیرد، وجود دارند. این‌گونه اطلاعات جهت حفاظت باید رمزنگاری گردند. این اطلاعات شامل: تبدیل باروز-ویلر
تا قبل از این روشی که گفته شد برای فشرده سازی استفاده می‌شود. حال اگر BWT یک کلمه را داشته باشیم چگونه باید بفهمیم اصل آنچه بوده‌است؟ برای این کار ابتدا حروف را شماره گذاره می‌کنیم. چون ممکن است در متن حروف تکراری داشته باشیم. مثلاً در مثال خودمان خواهیم داشت: E1-X1-A1-M1-P1-L1-E2 و ۱$. برای بدست آوردن ماتریس مرتب شدهٔ اولیه ستوان آخر را که از نتیجهٔ فشرده سازی داریم. ستوان اول هم با مرتب کردن ستوان آخر بر اساس حروف الفبا به دست می‌آید. در ادامه به سطر اول نگاه می‌کنیم که ۱$ است. باید بفهمیم در کلمه اصلی بعد از این حرف چه حرفی قرار می‌گرفته‌است. با توجه به اینکه ما ماتریس را از طریق شیفت دورانی ساخته‌ایم پس اگر حرف ۱$ را در ستون آخر پیدا کرده و ببینیم در مقابل آن در سطر اول چه حرفی قرار دارد آن حرف، حرف بعدی ما در کلمه نهایی خواهد بود. همین کار را مدام انجام می‌دهیم تا کلمهٔ کامل به دست آید. برای درک بهتر به مثال زیر توجه کنید: همان‌طور که در بالا توضیح داده شد حرف بعد از ۱$ که X1 است را به دست آوردیم. حال به طریق مشابه می‌بینیم که X1 در کجای ستون آخر آمده‌است و حرف نظیر آن در ستون اول چیست؛ بنابراین می‌بینیم که مقابل آن A1 قرار دارد. آدرس‌دهی بایتی
مزیت آدرس دهی کلمه این است که حافظه بیشتری را می‌توان در همان تعداد بیت‌ها آدرس دهی کرد. IBM 7094 دارای آدرس‌های ۱۵ بیتی است، بنابراین می‌تواند ۳۲۷۶۸ کلمه ۳۶ بیتی را آدرس دهی کند. ماشین‌ها اغلب با یک مکمل کامل از حافظه آدرس پذیر ساخته می‌شدند. آدرس دهی ۳۲۷۶۸ بایت ۶ بیتی برای کاربران پژوهشی و مهندسی خیلی مفید نیست؛ مثلاً پردازندهٔ ۳۲ بیتی پنتیوم را در نظر بگیرید. گذرگاه آدرس ۳۲ بیتی آن می‌تواند ۴ میلیارد مورد مختلف را آدرس دهی کند. با استفاده از آدرس دهی کلمه، یک گذرگاه آدرس ۳۲ بیتی می‌تواند ۴ گیگاورد را آدرس دهی کند. یا ۱۶ گیگابایت را می‌توان با استفاده از گذرگاه آدرس ۸ بیت بایتی مدرن آدرس دهی کرد. اگر 386SX و جانشینان آن از آدرس دهی کلمه استفاده می‌کردند، دانشمندان، مهندسان و گیمرها همگی می‌توانستند از برنامه‌هایی که ۴ برابر بزرگتر در ماشین‌های ۳۲ بیتی هستند، لذت ببرند. سپس دوباره، پردازش کلمه، رندر اچ‌تی‌ام‌ال، و همه برنامه‌های متنی دیگر کندتر اجرا می‌شدند. الگوریتم مرتب‌سازی
یکی از روش‌های مرتب‌سازی است که به علت مصرف کم حافظه، سرعت اجرای مناسب و پیاده‌سازی ساده، بسیار مورد توجه و محبوب واقع شده‌است. این روش در ۱۹۶۰ توسط ریچارد هواره که بر روی ماشین ترجمه کار می‌کرد، برای مرتب‌سازی کلماتی که باید ترجمه می‌شدند، طراحی شد. هر پیاده‌سازی این روش، از دو بخش تقسیم‌بندی آرایه و مرتب‌سازی تشکیل شده‌است و برای هر تقسیم‌بندی نیاز به یک محور دارد. پس از انتخاب محور، داده‌ها نسبت به آن مرتب می‌شوند یعنی همه داده‌های بزرگتر در یک طرف و داده‌های کوچکتر در طرف دیگر قرار می‌گیرند. با مرتب‌سازی بازگشتی این دو قسمت کل داده‌ها مرتب می‌شوند. برخلاف مرتب‌سازی ادغامی در این روش نیازی به ادغام این دو بخش نیست چرا که همه داده‌های قسمت چپ از داده‌های قسمت راست کوچکتر است. زبان برنامه‌نویسی
معناشناسی ایستا محدودیت‌هایی بر روی ساختار مجاز متن‌ها تعیین می‌کند که بیان آن‌ها در فرمول دستوری استاندارد مشکل یا غیرممکن است. مهم‌ترین این محدودیت‌ها به وسیله سیستم نوع‌گذاری انجام می‌شود. برخلاف باور برخی از برنامه‌نویسان محدودیت‌های اعمال شده، اعمال نشده‌اند بلکه در واقع ناشی از زیرساخت‌های آن زبان برنامه‌نویسی هستند تا سرعت پردازش را افزایش دهند و قدرت پردازش پردازنده را برای تایپ‌کستینگ‌های خودکار متعدد صرف نکنند. استفاده از روش ایستا صرفاً سرعت پردازش‌هایی را افزایش می‌دهد که در کسری از ثانیه به محاسبه حجم انبوهی از داده‌ها نیاز دارند. این موضوع بهبود پردازش برای مثال خودش را در گرافیک‌های سنگین بازی‌های کامپیوتری نشان می‌دهد همچنین برای مثال در سرورهای بک‌اند (پشتی) بانکداری با حجم انبوهی از ثبت تراکنش‌ها که از زبان ایستای جاوا استفاده می‌شود اما حتی در موضوع گرافیک جاوا به دلیل استفاده از گاربیج‌کالکشن یا جمع‌آوری زباله و البته استفاده از ماشین مجازی برای مدیریت حافظه سرعت پردازشی ++C را ندارد از طرفی استفاده دات نت از زبان میانجی IL برای پشتیبانی از زبان‌های متعدد مانند #C یا #F و کامپایل نکردن مستقیم به باینری ماشینی باعث می‌شود که سرعت پردازش #C نیز از جاوا پایین‌تر باشد اما امکانات گسترده‌تری را در زمینه‌های خاصی مانند طراحی وب یا ساخت برنامه‌های سبک‌پردازشی روی سیستم‌عامل را فراهم کند اگرچه با صرف میزان بیشتری از منابع حافظه و پردازشی همراه است. بیشترین بهینگی (تبارزایی)
اگرچه تا به حال مطالعات زیادی صورت گرفته‌است، هنوز کار زیادی روی استراتژی‌های مربوط به نمونه‌گیری تاکسون‌ها باید انجام شود. به دلیل پیشرفت در رایانه‌ها و کاهش قیمت و افزایش خودکارسازی ترتیب‌دهی مولکولی (molecular sequencing)، اندازهٔ نمونه‌ها به‌طور کلی در حال افزایش اند و مطالعاتی که روابط بین صدها تاکسون را بررسی می‌کنند در حال رواج یافتن و عمومی شدن هستند. البته این بدین معنی نیست که اضافه کردن کاراکتر نمی‌تواند مفید باشد؛ تعداد کاراکترها نیز به همان شکل در حال افزایش است. تحلیل فراوانی
تحلیل فراوانی فقط نیازمند یک درک ابتدایی از آمار زبان متن اصلی، برخی مهارت‌های حل مسئله و اگر به صورت دستی حل شود، توانایی برای سامان‌دهی حروف زیاد است. در طول جنگ جهانی دوم، بریتانیایی‌ها و آمریکایی‌ها با منتشر کردن جدول کلمات متقاطع در روزنامه‌ها و برگزاری مسابقات برای کسانی‌که بتوانند سریع‌تر از همه آنها را حل کنند،افرادی که رمزگشایی می‌کردند را استخدام کرده بودند. بسیاری از رمزهایی که توسط نیروهای محور استفاده می‌شدند با استفاده از تحلیل فراوانی قابل رمزگشایی بودند. برای مثال رمزهای کنسولگری مورد استفاده ژاپنی‌ها. روش‌های مکانیکی شمارش حروف و تحلیل آماری(عمدتا ماشین‌های با نوع کارت IBM) اولین بار در جنگ جهانی دوم احتمالا توسط ارتش SIS آمریکا استفاده شدند. امروزه کار سخت شمارش و تحلیل حروف با نرم‌افزار‌های کامپیوتری جایگزین شده‌اند که قابلیت تحلیل در عرض چند ثانیه را دارند. با قدرت محاسبه مدرن، بعید است که رمزهای کلاسیک بتوانند به صورت واقعی از داده‌های محرمانه محافظت کنند. اقتصاد دیجیتالی
"در آخرین دهه از قرن بیستم نیکلاس نگروپونته از یک استعاره برای تغییر از پردازش اتم به پردازش بیت استفاده کرد. "مشکل ساده است. هنگامی که اطلاعات در اتم‌ها گنجانده شده‌است، نیاز به همهٔ انواع ابزارهای صنعتی و شرکت‌های بزرگ برای تحویل وجود دارد. ناگهان، هنگامی که تمرکز به بیت تبدیل می‌شود، شرکت‌های بزرگ سنتی دیگر مورد نیاز نیستند. آنچه برای انتشار در اینترنت نیاز است برای یک نسخهٔ کاغذی لازم نیست. "" فشرده‌سازی بااتلاف
فشرده‌سازی با اتلاف بیشترین کاربرد را در فایل‌های چندرسانه‌ای (فیلم، صوت و تصویر) دارد، به ویژه در برنامه‌های پخش زنده و مکالمات اینترنتی. از طرف دیگر، فشرده‌سازی بدون‌اتلاف معمولاً در فایل‌های متنی و داده‌ای همچون اسناد بانکی کاربرد دارد. در بسیاری از موارد سودمند خواهد بود که یک فایل ریشه‌ای بدون اتلاف بسازیم تا برای تولید فایل‌های فشرده‌شده به‌کار رود، به عنوان مثال، یک فایل چند مگابایتی را می‌توان با حجم اصلی برای چاپ به عنوان یک تبلیغات تمام صفحه در یک مجله باکیفیت به‌کار برد، و یک نسخه فشرده‌شده از فایل با حجم ۱۰ کیلوبایت را برای یک تصویر کوچک در یک سایت اینترنتی به‌کاربرد. تبدیل باروز-ویلر
تبدیل باروز-ویلر یک الگوریتم است که چیدمان حروف در کلمات را تغییر می‌دهد. ان روش برای فشرده‌سازی داده‌ها بسیار مناسب است. اگر متنی که می‌خواهیم آن را فشرده کنیم شامل حروف تکراری ترجیحاً پشت سر هم باشد می‌توان از روش‌های دیگر فشرده سازی نظیر کدبندی طول اجرا (به انگلیسی: Run-length encoding) استفاده کرد. اما در حالات دیگر روش BWT بسیار مناسب می‌باشد مخصوصاً اینکه BWT الگوریتمی برگشت‌پذیر است. یعنی می‌توان متن فشرده سازی شده را به متن اولیه تبدیل کرد. در حقیقت این کار روشی است که فارغ از هر الگوریتم فشرده سازی که در آن استفاده می‌شود، با کمی محاسبات بیشتر میزان فشرده سازی را افزایش دهد. BWT توسط مایکل باروز و دیوید ویلر در سال ۱۹۹۴ معرفی شد، زمانی که باروز در یک شرکت به نام DEC Systems Research Center مشغول به کار بود. پردازش تصویر
امروزه روش‌های متعدد و پیشرفته‌ای برای فشرده‌سازی وجود دارد. فشرده‌سازی تصویر با توجه به این گزارهٔ مهم صورت می‌گیرد که چشم انسان حد فاصل دو عنصر تصویری نزدیک به هم را یکسان دیده و به خوبی تمایز آن‌ها را نمی‌تواند تشخیص دهد. همچنین اثر نور و تصویر برای مدت زمان معینی در چشم باقی می‌ماند که این پدیده در ساخت تصاویر متحرک مورد توجه می‌باشد. فشرده‌سازی بااتلاف
البته همیشه یک حداقل حجم داده هست که می‌توان تا آن بدون از دست دادن اطلاعات اصلی فایل را فشرده نمود. اگر فشرده‌سازی تا این حد انجام شود آن را فشرده‌سازی بدون‌اتلاف نامند و اگر فراتر از آن فشرده شود آن را فشرده‌سازی بااتلاف نامند. وقتی داده فشرده می‌شود، آنتروپی آن افزایش می‌یابد، و این افزایش نمی‌تواند نامتناهی باشد. به عنوان یک مثال، می‌دانیم که با فشرده‌سازی یک فایل و ذخیره‌سازی آن به فرمت ZIP، حجمش نسبت به فایل اصلی کاهش می‌یابد، ولی با فشرده‌سازی متوالی همان فایل نمی‌توان حجم آن را از حدی کمتر کرد و به نیستی میل داد. اکثر الگوریتم‌های فشرده‌سازی به قدری هوشمند هستند که بتوانند تشخیص دهند که ادامه آن مفید خواهد بود یا خیر. صفحه‌بندی (رایانه)
پس از گذشت مدتی از شروع برنامه‌ها رایج است که اکثر برنامه‌ها روی قسمت کوچکی از صفحات کد و داده فعالیت کنند، تا کل حافظه مورد نیاز آن خود. صفحاتی که بیشتر از باقی صفحات مورد دسترسی قرار می‌گریند مجموعه کاری نام دارند. وقتی که مجموعه کاری درصد کوچکی از کل صفحات سیستم باشد، حافظه مجازی بهینه‌ترین حالت کارکرد خود را دارد و میزان محاسبات رفع عیب صفحه ناچیز خواهد بود. وقتی مجموعه کاری رشد می‌کند حل عیب‌های صفحه قابل مدیریت خواهد بود تا جایی که به یک نقطه بحرانی می‌رسیم. در این نقطه، رخ داد عیب‌های صفحه آنقدر زیاد می‌شود که زمان صرف رفع عیب‌ها می‌شود به جای انجام کاری که برنامه باید انجام می‌داد، این وضعیت اصطلاحاً کوبیدگی نام دارد. کوبیدگی وقتی روی می‌دهد که برنامه با داده‌ساختارهای بزرگ کار می‌کند و این داده ساختارها مجموعه کاری را افزایش می‌دهند و باعث بروز عیب‌های صفحه متوالی می‌شوند که در نتیجه سرعت سیستم به شدت افت می‌کند. پردازش تصویر
فشرده‌سازی تصاویر، ذخیره‌کردن و انتقال آن‌ها را آسان‌تر می‌کند و می‌تواند سبب کاهش پهنای باند و فرکانس مورد نیاز (برای ارسال تصاویر) شود. ایکس‌دلتا
xdelta3 وابستگی‌های اندکی دارد، چرا که توانایی فشرده‌سازی یک تنۀ فایل‌ها را دارا می‌باشد(همانند کاری که zlib و gzip انجام می‌دهند). فشرده‌سازی یک تنۀ Xdelta3/VCDIFF ا۱۰ تا ۲۰ درصد ضعیف‌تر از gzip است که امیدواریم به آن به عنوان هزینه‌ای برای داشتن یک ابزار APIای و انکودینگ، طراحی شده برای فشرده‌سازی اطلاعات و تفاوت یابی در یک مجموعه نگاه کنید. آدرس حافظه
بیشتر رایانه‌های امروزی آدرس پذیر بایتی هستند یعنی هر آدرس یک تک بایت ۸ بیتی از انباره را مشخص می‌کند. داده‌های بیش از حد بزرگ که در یک بایت ذخیره می‌شود ممکن است چند بایت را اشغال کنند و در دنباله‌ای از آدرس‌های متوالی را قرار بگیرد . رایانه‌های آدرس پذیر کلمه‌ای وجود دارد که در آن حداقل واحد ذخیره‌سازی آدرس پذیر دقیقاً کلمه پردازنده است. به عنوان مثال در رایانه کوچک اطلاعات عمومی Nova و تگزاس اینسترومنتز TMS9900 و ریزرایانه‌های ملی نیمه هادی IMP-16 استفاده می‌شود از کلمات ۱۶ بیتی استفاده می‌شود. بسیاری از رایانه‌های بزرگ ۳۶ بیتی (مانند PDP-10) که نه از آدرس‌دهی بایتی بلکه از آدرس‌دهی کلمه ۱۸ بیتی استفاده می‌کنند که یک فضای آدرس ۲ ، ۳۶ بیت کلمه‌ای (حدود یک مگابایت از انباره) می‌دهد. بهره وری از آدرس‌دهی حافظه بستگی به اندازه بیت در گذرگاه استفاده شده برای آدرس‌ها - بیت استفاده شده بیشتر آدرس‌های در دسترس بیشتری را برای رایانه به همراه دارد. برای مثال، یک دستگاه 8 بیتی" آدرس‌پذیر بایتی "با گذرگاه آدرس ۲۰ بیتی (به عنوان مثال اینتل ۸۰۸۶) می‌تواند ۲ (۱۰۴۸۵۷۶) محل حافظه یا یک مگابایت از حافظه را آدرس دهی کند، در حالی که یک گذرگاه ۳۲ بیتی (به عنوان مثال اینتل ۸۰۳۸۶) می‌تواند ۲ (۴۲۹۴۹۶۷۲۹۶) مکان یا ۴ گیگابایت فضای آدرس داشته باشد. در مقابل یک ماشین "آدرس پذیر کلمه‌ای "۳۶بیتی با یک گذرگاه آدرس ۱۸بیتی تنها ۲ (۲۶۲۱۴۴) مکان ۳۶ بیتی (۹۴۳۷۱۸۴ بیت) برابر با ۱۱۷۹۶۴۸ بایت 8 بیتی یا ۱۱۵۲ کیلوبایت، یا ۱/۱۵۲ مگابایت یعنی کمی بیش از ۸۰۸۶ را آدرس‌دهی می‌کند.  اندازه کلمه یک ویژگی است که به یک معماری رایانه داده می‌شود. این نشان دهنده تعداد ارقامی است که یک پردازشگر مرکزی می‌تواند در یک زمان پردازش کند. پردازشگرهای نوین، از جمله سامانه‌های نهفته، معمولاً کلمه‌ای با اندازه‌های ۸، ۱۶، ۲۴، ۳۲ یا ۶۴ بیت دارند. بیشتر رایانه‌های با مصارف عمومی در حال حاضر از پردازشگرهای ۳۲ بیت یا ۶۴ بیتی استفاده می‌کنند. در طول تاریخ بسیاری از اندازه‌های مختلف از جمله ۸، ۹، ۱۰، ۱۲، ۱۸، ۲۴، ۳۶، ۳۹، ۴۰، ۴۸، و ۶۰ بیت استفاده شده‌است. زبان اسمبلی
همواره بحث‌هایی دربارهٔ کاربردی بودن و نمایش زبان اسمبلی در مقابل زبان‌های سطح بالا بوده‌است. اگرچه در جایگاه‌های مخصوصی که اهمیت دارند، زبان اسمبلی استفاده می‌شود (بالا را مشاهده کنید)، اما ابزارهای دیگری برای بهینه‌سازی وجود دارند. در ژوئیه ۲۰۱۷ شاخص تیوبی رتبهٔ محبوبیت زبان برنامه‌نویسی، زبان اسمبلی در رتبهٔ ۱۱ بالاتر از مثلاً ویژوال بیسیک بود. اسمبلر می‌تواند برای بهینه‌سازی سرعت یا بهینه‌سازی اندازه استفاده شود. در حالت بهینه‌سازی سرعت، کامپایلرهای بهینه‌ساز مدرن مدعی می‌شوند که زبان‌های سطح بالا را به کدهایی تبدیل می‌کنند که می‌توانند به سرعت اسمبل با دست نوشته شده اجرا شوند، گرچه مثال‌های خلاف هم می‌توانند پیدا شوند. پیچیدگی پردازنده‌های مدرن و سیستم‌های فرعی حافظه‌ها، بهینه‌سازی مؤثر را به‌طور افزاینده ای برای کامپایلر و همچنین برای برنامه نویسان اسمبلی سخت می‌کنند. علاوه بر این افزایش نمایش پردازنده‌ها به این معنی است که بیشتر سی پی یوها بیشتر مواقع بی فایده مانده‌اند، با تأخیرهایی که به خاطر تنگه‌های قابل پیش‌بینی مانند از دست دادن حافظهٔ پنهان، عملیات‌ها و صفحه بندی I/O رخ داده‌است. همین، سرعت اجرای کد خام را برای بسیاری از برنامه نویسان بی‌اهمیت کرده‌است. در اینجا تعدادی موقعیت وجود دارد که احتمالاً توسعه دهندگان انتخاب بکنند تا از زبان اسمبلی استفاده بکنند. زبان اسمبلی هنوز در بسیاری از برنامه‌های [[مهندسی الکترونیک|مهندسی برق]] و [[علوم رایانه|علوم کامپیوتر]] آموزش داده می‌شود. اگرچه تعداد کمی از برنامه نویسان امروزه معمولاً با زبان اسمبلی به عنوان ابزار کار می‌کنند، اما مفاهیم اصولی بااهمیت باقی می‌مانند. مفاهیم ابتدایی از جمله اعمال ریاضی در اعداد دو دویی، اختصاص حافظه، پردازش پشته، کدگذاری مجموعهٔ کاراکترها، قطع شدن پردازش و طراحی کامپایلر که مطالعه در تفاصیل آن‌ها بدون فهمیدن اینکه یک کامپیوتر چگونه در سطح سخت‌افزار عمل می‌کند، سخت خواهد بود. از زمانی که رفتار کامپیوتر، به شکل ابتدایی به وسیلهٔ مجموعهٔ دستور العمل‌هایش تعریف می‌شود، راه منطقی برای یادگرفتن چینن مفهوم‌هایی، مطالعهٔ که یک زبان اسمبلی است. بیشتر کامپیوترهای مدرن مجموعهٔ دستور العمل‌های مشابه دارند؛ بنابراین مطالعهٔ تنها یک زبان اسمبلی کافی است برای یادگیری: I) مفاهیم پایه؛ II) تشخیص موقعیت‌هایی که استفاده از زبان اسمبلی می‌تواند مناسب باشد؛ III) دیدن اینکه چه مقدار کد قابل اجرای کارآمد از یک زبان سطح بالا می‌تواند ساخته شود. نمایه‌سازی در موتورهای جستجو
اسناد خاص اغلب حاوی اطلاعات متا تعبیه شده مانند نویسنده، کلمات کلیدی، شرح و زبان هستند. برای صفحات HTML، [[متا تگ]] حاوی کلمات کلیدی است که در نمایه نیز گنجانده شده اند.  [[تکنولوژی موتور جستجوی]] اینترنتی پیش از این فقط از کلید واژه ها را در متا تگ ها برای نمایه پیشرو ،نمایه می کردند؛ سند کامل نمی‌شد تجزیه شود. در آن زمان نمایه سازی متن کامل به خوبی انجام نمی شد و [[سخت]] [[افزارهای رایانه ای]] نیز قادر به پشتیبانی از چنین فن آوری نبود. طراحی زبان نشانه گذاری HTML در ابتدا برای پشتیبانی از برچسب های متابود که هدف آن نمایه سازی درست و آسان بود ، که نیازی به نشانه گذاری نداشته باشد. با رشد اینترنت از دهه 1990 به بعد بسیاری از شرکت ها که وجود [[خارجی]] نداشتند وب سایت های شرکت های تجاری را تاسیس کردند. کلمات کلیدی مورد استفاده برای توصیف صفحات وب (که بسیاری از آنها صفحات وب شرکتهای تجاری مشابه با بروشورهای محصول بود) از کلمات کلیدی توصیفی به بازاریابی تغییر پیدا کردند که برای فروش با قرار دادن صفحه وب در نتایج جستجو برای جستار های خاص تغییر یافته است.  واقعیت این است که این کلمات کلیدی ذاتا مشخص شده منجر به هرز آگهی شد که بسیاری از موتورهای جستجو را در دهه 1990 برای اتخاذ فناوری های نمایه سازی کامل متن وادار کرد.  طراحان موتور جستجوگر و شرکت ها تنها می توانستند بسیاری از کلمات کلیدی بازاریابی را در محتوی صفحه وب قرار دهند تا قبل از تخلیه آن از اطلاعات جالب و مفید استفاده شود. با توجه به این که منافع متقابل با هدف کسب و کار طراحی وب سایت های کاربر گرامی که به هم مرتبط بودند، برای حفظ مشتری معادله [[ارزش]] طول عمر مشتری به سمت استفاده از محتوای مفید تر در وب سایت تغییر یافت.  به این ترتیب، نمایه سازی کامل متن اهمیت بیشتری پیدا کرده و کیفیت نتایج موتورهای جستجو را افزایش داد، زیرا گامی بالاتر از کنترل درونی تعیین سطح نتیجه موتور جستجو بود که به نوبه خود تحقیقات تکنولوژی های نمایه سازی کامل متن را گسترش داد. آدرس‌دهی کلمه‌ای
برنامه ای که روی رایانه در حال اجرا می‌باشد و از آدرس دهی کلمه ای استفاده می‌کند، همچنان می‌تواند با شبیه‌سازی دسترسی به واحدهای کوجک تر، با واحدهای کوچک‌تر حافظه کار کند. برای بارگذاری نیاز داریم کلمه را برداشته و سپس بیت‌های مورد نظر را استخراج کنیم. برای ذخیره نیز نیاز داریم کلمه را بارگذاری کنیم، مقادیر جدید را در آن قرار دهیم و پس از بازنویسی بیت‌های مورد نظر آن را مجدداً در کلمه موجود در حافظه ذخیره کنیم. مدل بسته کلمات
با این حال، تکرارهای زیاد، لزوماً بهترین بازنمایی برای متن نیستند. کلمات مشترک مانند «و» و «است»، تقریباً همیشه با بیشترین تکرار در متن هستند؛ بنابراین داشتن یک شمارش خام بالا ضرورتاً به این معنا نیست که کلمه مورد نظر مهم‌تر است. برای پرداختن به این مشکل، یکی از رایج‌ترین روش‌ها، نرمال‌سازی تکرار عبارت به کمک کاهش بسامد جمله، یا تی اف -آی دی اف است. علاوه بر این، برای هدف خاص طبقه‌بندی، گزینه‌های تحت نظارت ایجاد شده‌اند که برچسب کلاس یک جمله را در نظر می‌گیرند. در نهایت، مقدار باینری (حضور / عدم وجود یا ۱/۰) وزن به جای تکرار برای برخی از مسائل استفاده می‌شود. فشرده‌سازی (توپولوژی)
در ریاضیات و در شاخه توپولوژی عمومی، فشرده سازی فرایند یا نتیجه تبدیل یک فضای توپولوژیک به یک فضای فشرده است. فضای فشرده فضایی است که در آن هر دنباله نامتناهی از نقاط در فضا به اندازه دلخواه به حداقل یک نقطه در فضا نزدیک می شود. نظریه نرخ-اعوجاج
در نظریه نرخ-اعوجاج، معمولاً نرخ به عنوان تعداد بیت مورد استفاده برای هر سمبل به منظور ارسال یا فشرده سازی شناخته می‌شود. در بسیاری از موارد ساده، اعوجاج به صورت متوسطِ (امیدِ ریاضی) مربع اختلاف سیگنال ورودی و خروجی تعریف می‌شود. اما، از آنجایی که تکنیک‌های فشرده سازی خطادار روی داده هایی اعمال می‌شوند که قرار است برای انسان قابل درک باشند (مانند موسیقی، تصاویر ثابت یا متحرک)، اندازه‌گیری اعوجاج باید به گونه‌ای مدل شود که متناسب با درک انسان باشد. بسیار شبیه استفاده از احتمالات در فشرده سازی خطا دار، معیارهای اعوجاج می‌توانند با توابع هزینه (همان گونه که در تخمین بِیزَین و تئوری تصمیم استفاده می‌شود)، بیان شوند. در فشرده سازی صوت، مدل‌های ادراکی (و در نتیجه اعوجاج ادراکی) نسبتاً خوب پیشرفت کرده‌اند و به صورت معمول در تکنیک‌های فشرده سازی نظیر MP3 یا Vorbis استفاده می‌شوند، اما اغلب ساده نیست که در غالب تئوری نرخ- اعوجاج آورده شوند. در فشرده سازی تصویر ثابت یا متحرک، مدل‌های مبتنی بر ادراک انسان کمتر توسعه یافته‌اند و به صورت محدود در ماتریس وزن‌های JPEG و MPEG استفاده می‌شود. قانون زیف
او این قضیه را با "اصل کمترین کوشش" توجیه کرد. انسان‌ها بر اساس این اصل تمایل دارند کارهای خود را به گونه‌ای ساده‌تر انجام دهند و در نوشتن متنی سعی دارند بیشتر از کلمات تکراری استفاده کنند؛ و همچنین در هنگام صحبت کردن و سخنرانی سعی دارند کلمات کمتری را بیشتر تکرار کنند. زیف بر مبنای اصل کمترین کوشش، اهمیت کوتاه‌نویسی مقاله‌ها را از طریق به‌کارگیری واژه‌های کمتر برای یک مفهوم مورد تأکید قرار داد. وی در همین زمینه بیان کرد در شرایطی که می‌توان برای بیان یک مفهوم از یک واژه استفاده کرد، به‌کارگیری واژگان متعدد برای بیان آن مفهوم در یک مقاله بی‌معنی است. نگاشت‌کاهش
برتری نگاشت‌کاهش، در این است که اجازه می‌دهد تا پردازش عملیات پردازش و کاهش توزیع‌شود. فراهم آوردن این امر که هر کدام از این نگاشت‌ها مستقل از دیگران است، که خود متضمن اجرای موازی این نگاشت‌هاست. اگرچه این گفته در عمل به این صورت خواهد بود که محدود به منابع داده یا تعداد پردازنده‌های نزدیک به آن داده‌است. به صورت مشابه، مجموعه‌ای از 'کاهنده‌ها' می‌توانند فاز کاهش را به انجام رسانند. لازمهٔ این امر آن است که خروجی عملیات نگاشت کلیدی یکسان را در یک زمان به همه کاهنده‌ها ارسال نماید. این روش برای الگوریتم‌هایی که به صورت دنباله‌ای از دستورهای غیرقابل موازی سازی هستند، ناکارآمد است. نگاشت‌کاهش بر روی مجموعه‌های عظیم داده‌ای بهتر جواب می‌دهد تا سرورهای تجاری. مجموعه‌های عظیم داده‌ای را می‌توان به مزارع سرور تعمیم داد. مزارعی که حجمی به بزرگی چندین پتابایت داده را در کسری از ساعت، پردازش می‌نماید. همچنین موازی‌سازی امکان بازسازی بعد از بروز خطایِ جزئی در سرورها را در طول عملیات فراهم می‌آورد: اگر یکی از نگاشت‌کنندگان یا کاهندگان دچار خطا شود، کار دوباره زمان‌بندی خواهدشد- با فرض اینکه داده‌همچنان در دسترس باشد. پنهان‌نگاری
محدودیت مهم در مورد صدا این است که پس از پنهان‌نگاری صدا باید همچنان قابل شنیدن باشد. یک مورد دیگر آن است که بیشتر پرونده‌های صوتی توسط الگوریتم‌های فشرده‌سازی فشرده می‌شوند و در حین این فشرده‌سازی داده‌های پنهان‌شده نباید از بین برود. تکنیک‌هایی مانند «bitstream watermarking» و «PCM watermarking» برای این‌کار استفاده می‌شوند. جاسازی کلمه
یکی از محدودیت‌های اصلی جاسازی کلمات (به‌طور کلی مدل‌های فضای برداری) این است که کلمات با معانی متعدد در یک نمایش واحد (یک بردار در فضای معنایی) ترکیب می‌شوند. به عبارت دیگر، چند معنایی و هم نامی به درستی به کار گرفته نمی‌شود. به عنوان مثال، در جمله "باشگاهی (کلاب) که دیروز امتحان کردم عالی بود!"، مشخص نیست که اصطلاح "باشگاه (کلاب)" به معنای کلمه "ساندویچ" کلاب، "باشگاه بیسبال" "، کلاب هوس یا" "باشگاه گلف" است یا ممکن است در بر گیرنده هر معنای دیگری مربوط به "باشگاه" باشد. از این رو تطبیق معانی متعدد هر کلمه در بردارهای مختلف (جاسازی‌های چند حسی (چند معنایی)) در پردازش زبان طبیعی برای تقسیم کردن جاسازی‌های تک معنایی به چند معنایی ضروری است. خلاصه‌سازی خودکار
اولین فعالیت‌ها در این زمینه در سال ۱۹۵۰ توسط فردی به نام Luhn شروع شد. اساس کار او، کلمات با بیش‌ترین تکرار بود. او کلمات پر تکرار را مهم تر از سایر کلمات به حساب می‌آورد. جملاتی که تعداد بیشتری از این کلمات را داشتند، جملاتی بودند که باید در خلاصه می‌آمدند. روش وی خطای زیادی دارد و خود او، بعضی از این خطاها را اصلاح کرد. برای مثال برخی افعال و حروف اضافه در تمامی متن‌ها به دفعات دیده می‌شوند ولی اطلاعات خاصی را در رابطه با عنوان مقاله در اختیار نمی‌گذارند. گرچه کار وی خطا ی زیادی داشت، ولی به علت اینکه از پایه گذاران این روش بود، بسیار مورد ستایش قرار گرفت. عدهٔ زیادی کار او را ادامه دادند و روش‌های جدیدی ابداع شد که دقت بالاتری دارند. برنامه‌ریزی اثر محور
برنامه‌ریزی اثرمحور یک روش بهینه سازی است که توسط جاش فیشر طراحی شده و توسعه یافته و در کامپایلرها برای برنامه‌های کامپیوتری استفاده می‌شود. برنامه‌ریزی اثر محور، یک راه حل برای "مشکل جهانی بهینه‌سازی ریزکد" است. این مشکل، تبدیل یک میکروکد عمودی(vertical) (متوالی(sequential))نوشته شده برای دستگاهی با میکروکد افقی به به یک میکروکد افقی(horizontal) (موازی(parallel)) کارآمد است و به همین دلیل این روند به جای "بهینه سازی" با عنوان "فشرده سازی" شناخته می‌شود. فشرده‌سازی دارای انواع مختلفی از جمله فشرده‌سازی محلی(local) و جهانی(global) است.هر کدام از این انواع دارای متدهای زمانبندی و برنامه‌ریزی مربوط به خود هستند.به صورت کلی برنامه‌ریزی اثرمحور از فشرده‌سازی محلی به عنوان یکی از گام‌های خوذ استفاده می‌کند. در فرایند استفاده برنامه‌ریزی اثرمحور برای فشرده‌سازی جهانی ساده‌ترین الگوریتم ممکن یک برنامه را به بلوک‌های اولیه آن تقسیم کرده و فشرده‌سازی محلی را به هر کدام اعمال می‌کند.اگرچه آزمایش‌ها نشان می دهند که عمده موازی گرایی در فراتر از مرزهای بلوک‌های مختلف پیدا می‌شود، زیرا بلوک‌های میکروکدتولید شده کوتاه هستند و فشرده سازی‌هایی که به دست می آیند پر از "سوراخ" و مشکل هستند. یک کامپایلر اغلب می‌تواند با چینش دوباره دستورالعمل‌های ماشین تولید شده اش به منظور اجرای سریع تر، عملکرد برنامه را بهبود ببخشد. کامپایلر میزان موازی‌سازی سطح دستورها ((ILP(Instruction Level Parallelism) را در امتداد مسیرهای اجرایی مهم به وسیله پیش‌بینی استاتیک مسیرهای اجرایی پرتکرار افزایش می‌دهد. برنامه‌ریزی اثر محور یکی از بسیاری از روش‌های شناخته شده برای انجام این کار است. همگام‌سازی (علوم رایانه)
علاوه بر انحصار متقابل، همگام سازی با موارد زیر نیز سر و کار دارد:یکی از چالش‌ها برای طراحی الگوریتم کلان مقیاس به حداقل رساندن یا کاهش همگام‌سازی است. همگام سازی در مقایسه با محاسبات، زمان بیشتری می‌گیرد، خصوصاً در محاسبات توزیع شده. کاهش همگام سازی توجه دانشمندان علوم رایانه را در دهه‌های زمانی به خود جلب کرده‌است. این مسئله درحال حاضر یک مشکل چشمگیر در حال افزایش است زیرا خلأ بین محاسبه و تأخیر افزایش پیدا می‌کند. تجربه نشان داده‌است که ارتباطات (جهانی) ناشی از همگام سازی در رایانه های توزیع شده، سهم غالبی در یک حل کننده پیمایشی تنک دارد. نمایه‌سازی در موتورهای جستجو
کلمات موجود به نام نشانه‌ها هستند و بنابراین، در زمینه نمایه سازی موتورهای جستجو و پردازش زبان طبیعی، تجزیه به‌طور معمول به عنوان رمزگذاری شناخته می‌شود و همچنین گاهی اوقات به نام کلمه ابهام زدایی مرز، برچسب زدن، تقسیم‌بندی متن، تجزیه و تحلیل محتوای، تجزیه و تحلیل متن، متن کاوی، تطابق نسل، تقسیم‌بندی سخنرانی، لغو کردن، یا تجزیه و تحلیل واژگانی، اصطلاحات «نمایه سازی»، «تجزیه و تحلیل» و «تقسیم بندی» به صورت متغیر در شعار شرکت استفاده می‌شوند. معماری رایانه با زبان سطح بالا
ساده‌ترین دلیل عدم موفقیت زبان برنامه‌نویسی سطح بالا این است که از سال ۱۹۸۰ بهینه‌سازی کامپایلرها منجر به کد بسیار سریع‌تر شد و توسعه آن آسان‌تر از پیاده‌سازی یک زبان در میکروکد بود. بسیاری از بهینه‌سازی‌های کامپایلر نیاز به تجزیه و تحلیل پیچیده و تنظیم مجدد کد دارند، بنابراین کد ماشین بسیار متفاوت از کد منبع اصلی است. به دلیل پیچیدگی و سربار، اجرای این بهینه‌سازی‌ها در میکروکد غیرممکن یا غیرعملی است. مشکها عملکرد مشابه سابقه طولانی با زبان‌های تفسیر شده دارند (تاریخ آن که فقط برای استفاده عملی به اندازه کافی با کامپایل به موقع حل شده‌است، که پیشگام شد و در ماشین مجازی تجاری شد (۱۹۹۹). معماری رایانه
ISA از نظر کیفیت و کامل بودن متفاوت است. ISA خوب بین راحتی برنامه نویس (آسان بودن درک کد)، اندازه کد (مقدار کد که برای انجام یک عمل خاص مورد نیاز است)، هزینه رایانه برای تفسیر دستورالعمل‌ها (پیچیدگی بیشتر به معنی سخت افزار بیشتر برای رمزگشایی و اجرای دستورالعمل‌ها است) و سرعت رایانه (با پیچیدگی بیشتر رمزگشایی، زمان رمزگشایی سخت افزار هم بیشتر می‌شود) تعادل برقرار می‌کند. بخش حافظه نحوه تعامل دستورالعمل‌ها با حافظه و نحوه تعامل حافظه با خود را تعریف می‌کند. کدگذاری شانون
یکی از اولین موارد کاربرد گسترده کدگذاری و فشرده‌سازی اطلاعات با ظهور و گسترش عمده کتاب‌های کد تلگراف (Telegraph Code Books) در اوایل قرن ۲۰ میلادی بود. در این زمان هزینه گزافی برای ارسال تلگرام پرداخت می‌کردند، به‌گونه‌ای که در یک تلگرام میان آمریکا و اروپا هزینه هر کلمه حدوداً یک دلار بود (تقریباً ۳۰ دلار با احتساب تورم تا سال ۲۰۱۵ میلادی). این امر منجر به رشد و توسعه کتاب‌های کد تلگراف و استانداردهای موردنظر آنها شد تا با کلماتی اندک منظور فرد ارسال‌کننده تلگرام منتقل شود و برخی از این کتب امروزه در اینترنت یافت می‌شوند، همانند کد معروف ABC Code که از ویرایش چهارم به بعد تراکم داده را به شکل قابل ملاحظه‌ای بالا برده بود. به خطر افتادن امنیت کامپیوتر در اثر خرابی سخت‌افزار
برای افزایش توان محاسباتی ، پردازنده‌ها معمولاً به یک حافظه نهان مجهز هستند که تأخیر دسترسی به حافظه را کاهش می‌دهد. وقتی داده‌ها در جایی نیست که پردازنده به دنبال آن است ، به آن cache-miss گفته می شود. متأسفانه حافظه پنهان فقط بخش کوچکی از داده های برنامه را شامل می شود و می تواند تأخیر بیشتری را در صورت cache-miss به تراکنش حافظه وارد کند. این امر همچنین شامل مصرف برق اضافی است، که به دلیل فعال شدن دستگاه‌های حافظه در سلسله مراتب حافظه اتفاق می‌افتد. در نتیجهٔ cache-miss، حمله به الگوریتم های رمزگذاری شده متقارن مانند DES میسر می‌شود. ایدهٔ اصلی ارائه شده در این مقاله این است که در هنگام اجرای الگوریتم رمزگذاری شده AES بر روی یک متن ساده شناخته شده توسط پردازنده، حافظه نهان را وادار به cache-miss کنیم. این حملات، حتی با وجود روش‌های تقسیم بندی مانند حفاظت از حافظه، جعبهٔ شنی و مجازی سازی، به یک فرایند غیرمجاز اجازه می‌دهد تا به سایر پردازش‌های در حال انجام، در همان پردازنده حمله کند. کدگذاری شانون
در زمینه‌ی فشرده‌سازی داده، کدگذاری شانون، که به افتخار خالق آن، آقای کلود شانون نامگذاری شده‌است، تکنیکی برای فشرده‌سازی بدون اتلاف و ساختن یک کد پیشوندی برمبنای مجموعه‌ای از نمادها و احتمالات آنها (تخمینی ویا اندازه‌گیری شده) می‌باشد. می‌توان گفت این روش غیربهینه می‌باشد، بدین‌جهت که کوتاه‌ترین طول ممکن پیش‌بینی شده کلمات را همانند کدگذاری هافمن به دست نمی‌دهد، و در بهترین شرایط معادل کدگذاری شانون-فانو می‌باشد. پردازش گفتار
همچنین این راهکار پایه‌ای برای روش کدگذاری پیشگویانهٔ خطی (ال. پی. سی) در فشرده‌سازی صحبت فراهم می‌آورد. صحبت ضبط شدهٔ دیجیتالی انسان به تکه‌های کوچک تقسیم می‌شود و هر کدام با توجه به سه پارامتر مدل توصیف می‌شود. این عمل به‌طور معمول نیاز به یک دوجین بایت برای هر تکه دارد که نرخ داده‌ای برابر با ۲ تا ۶ کیلوبایت بر ثانیه را طلب می‌کند. این تکهٔ اطلاعاتی ارسال می‌شود و در صورت لزوم ذخیره می‌گردد و سپس توسط ترکیب کنند هی صحبت بازسازی می‌شود. مجموعه کاری
در علوم رایانه، مجموعه کاری ، به مجموعه صفحاتی می‌گویند که فرایند در حال حاضر از آن‌ها استفاده می‌کند. به عبارتی دیگر، مقدار حافظه‌ای که یک فرایند در یک بازه زمانی خاص احتیاج دارد را مجموعه کاری آن فرایند می‌گویند. اگر تمام مجموعه کاری یک فرایند در حافظه موجود باشد، فرایند مورد نظر بدون ایجاد تعداد زیادی نقص صفحه اجرا خواهد شد. در صورتی‌که حافظه اصلی رایانه کوچک باشد و مجموعه کاری فرایند بزرگ باشد و نتوان بیکباره آن را در حافظه جای داد، فرایند به یکباره تعداد زیادی نقص صفحه ایجاد می‌کند. به‌طوری‌که فرایند بیشتر وقت خود را صرف تولید کردن نقص صفحه می‌کند تا اجرا شدن. در این حالت، کارایی پردازنده و کارایی کلی سیستم به شدت کاهش می‌یابد. به شرایطی که فرایند در هر چند دستورالعمل یک نقص صفحه ایجاد می‌کند، کوفتگی یا کوبیدگی می‌گویند که کارایی کلی سیستم را به شکل چشمگیری کاهش می‌دهد. در بسیاری از سیستم‌های صفحه‌بندی سعی بر این است که مجموعه کاری یک فرایند، از پیش شناخته شده و در حافظه بارگذاری شود تا فرایند مدام نقص صفحه ایجاد نکند. بدین ترتیب قبل از اختصاص دادن پردازنده به فرایند، مجموعه کاری اش در حافظه قرار دارد. اگر مجموعه کاری فرایند قبل از اختصاص پردازنده به آن در حافظه وجود نداشته باشد، فرایند مورد نظر آن قدر نقص صفحه ایجاد می‌کند تا بالاخره تمام مجموعه کاری اش در حافظه قرار بگیرد. (به شرطی که حافظه به میزان کافی فضا داشته باشد) مجموعه کاری یک فرایند در هر لحظه متفاوت است و با گذشت زمان تغییر می‌کند. حمله راه‌اندازی سرد
خاموش کردن یک کامپیوتر باعث تعدادی از بسته‌های نرم‌افزاری معروف رمزنگاری برای پیاده‌سازی داده‌های رمز شده و پاک کردن کلیدهای رمزنگاری از حافظه می‌گردد. هنگامی که یک ماشین خاموش می‌شود یا منبع انرژی خود را از دست می‌دهد در حالی که رمزنگاری هنوز پایان نپذیرفته‌است (اتفاقاتی مانند فقدان اتفاقی منبع انرژی) داده‌ها ممکن است از چند ده ثانیه تا چندین دقیقه قابل خواندن باقی بمانند که این مدت زمان به حافظهٔ RAM فیزیکی در ماشین بستگی خواهد داشت. اطمینان از این که کامپیوتر به هنگامهٔ احتمال سرقت خاموش است می‌تواند از مقدار خطرات بکاهد. نمایه‌سازی در موتورهای جستجو
تولید یا نگهداری یک موتور جستجو در مقیاس وسیع، چالش مهم ذخیره‌سازی و پردازش را ایجاد می‌کند. بسیاری از موتورهای جستجو از فشرده سازی برای کاهش اندازه نمایه‌ها در دیسک استفاده می‌کنند. ناریوی زیر را برای یک متن کامل، موتور جستجوی اینترنتی در نظر بگیرید. با توجه به این سناریو، یک نمایه غیر فشرده (با فرض تلفیق نشدن، ساده، نمایه) برای ۲ میلیارد صفحات وب نیاز به ذخیره ۵۰۰ میلیارد ورودی است. با در نظر گرفتن ۱ بایت در هر حرف، یا ۵ بایت در هر کلمه، موتور جست و جو نیاز به ۲۵۰۰ گیگابایت فضای ذخیره‌سازی دارد. این فضای مورد نیاز می‌تواند حتی برای یک معماری ذخیره‌سازی توزیع شده که دارای خطا هست نیز بزرگتر باشد. بسته به تکنیک فشرده سازی انتخاب شده، نمایه را می‌توان به یک کسری از این اندازه کاهش داد. بدیهی است، طرح‌های موتور جستجو در مقیاس وسیع شامل هزینه ذخیره‌سازی و همچنین هزینه‌های برق برای ذخیره‌سازی است؛ بنابراین فشرده سازی یک کاهش هزینه است.تجزیه و تحلیل سند مؤلفه‌ها (کلمات) یک سند یا سایر رسانه‌ها را برای قرار دادن در نمایه‌های پیشرو و معکوس از بین می‌برد. به خطر افتادن امنیت کامپیوتر در اثر خرابی سخت‌افزار
اگرچه استخراج اطلاعات خصوصی با مشاهدهٔ شخصی که در حال تایپ کردن بر روی صفحه کلید است، ساده به نظر می‌رسد، اما اگر قرار باشد این فرایند به طور خودکار انجام گیرد، بسیار چالش‌برانگیز می‌شود. با این وجود، در خصوص نظارت طولانی مدت یا فعالیت طولانی کاربر، به یک ابزار خودکار نیاز است، زیرا یک انسان می‌تواند در هر دقیقه تنها چند کاراکتر را بازسازی کند. مقاله "کلیرشات: جاسوسی ورودی صفحه کلید از ویدئو" (ClearShot: Eavesdropping on keyboard input from video) روشی جدید برای بازیابی خودکار متن تایپ شده روی صفحه کلید را ارائه می‌دهد که صرفاً براساس ویدیوی تایپ کردن کاربر است. Word2vec
Word2vec از هر دو ساختار مدل برای تولید یک نمایش توزیع‌شده از کلمات استفاده می‌کند:مدل بسته کلمات(CBOW) یا ان-گرم. در بسته کلمات پیوسته، مدل، کلمه فعلی را از یک پنجره از کلمات متنی اطراف پیش‌بینی می‌کند. ترتیب کلمات متن بر پیش‌بینی تأثیر نمی‌گذارد. در معماری اسکیپ پیوسته، این مدل از کلمه فعلی برای پیش‌بینی پنجره اطراف کلمات متن استفاده می‌کند. در این معماری وزن این کلمات به مراتب بیشتر از کلمه متن فاصله است. طبق تحقیقاتی، CBOW سریعتر است، در حالی که skip-gram کندتر است، اما کارهای بهتر برای کلمات نادرست انجام می‌دهد. فشرده‌سازی تصویر
کاهش فضای رنگی برای رنگ هایی که بیشتر در عکس استفاده شده‌اند. رنگی که انتخاب شده در پالت رنگ در بالای عکس فشرده شده مشخص می‌شود. هر پیکسل فقط به شاخص رنگ در پالت رنگ اشاره داده می‌شود. این روش براساس این واقعیت است که چون چشم انسان تغییرات مکانی روشنایی را سخت تر از رنگ درک می‌کند به وسیلهٔ میانگین‌گیری یا حذف کردن برخی از اطلاعات رنگ تابی یک عکس عمل فشرده‌سازی صورت گیرد. تغییر شکل دادن کدگذاری این روش به‌طور عادی بیشترین استفاده را دارد. بهترین کیفیت عکس در یک نرخ بیت (یا نرخ فشرده سازی) معین هدف اصلی از فشرده‌سازی عکس است. به هر حال ویژگی‌های مهم دیگری از رویه‌های فشرده‌سازی عکس وجود دارد که عبارتند از: مقیاس پذیری به‌طور کلی به کاهش کیفیت حاصل شده در اثر دستکاری گروه بیتی یا فایل گفته می‌شود. (بدون بازیابی). نام‌های دیگر برای مقیاس پذیری، یا است. با وجود خلاف واقعی بودنش مقیاس‌پذیری نیز می‌تواند در رمز گذارهای (codec) بدون اتلاف یافت می‌شود. مقیاس‌پذیری خصوصاً برای پیش نمایش عکس‌ها در حال دریافت کردن آن‌ها یا برای تهیه کیفیت دستیابی متغیر در پایگاه‌های داده مفید است. پذیری عبارتنداز: progressive ')یا لایه مترقی('layer progressive):گروه بیتی پی در پی عکس را از نو می‌سازد. progressive):ابتدا یک عکس وضوح پایین را کدگذاری می کند سپس تفاوت‌های وضوح بالاتر را کدگذاری می‌کند. progressive): ابتدا رنگ را کدگذاری می‌کند. جذاب کدگذاری (region of interest coding)نواحی خاصی از عکس با کیفیت بالاتری نسبت به سایر نقاط کد گذاری می‌شوند و می‌تواند با مقیاس‌پذیری (کدگذاری ابتدایی یک بخش و دیگران بعداً) ترکیب شود. غیر نمادین(meta information)داده‌های فشرده شده می‌توانند شامل اطلاعاتی در رابطه با عکس باشد که می‌توان برای طبقه‌بندی کردن، جستجو یا بررسی عمومی عکس از آن‌ها استفاده کرد. مانند اطلاعاتی که می‌توانند شامل رنگ و الگو و پیش نمایش کوچکتر عکس‌ها و اطلاعات خالق و کپی رایت باشد. پردازش('processing power') الگوریتم‌های فشرده‌سازی اندازه‌های متفاوتی از قدرت پردازش را برای کدگذاری و کدگشایی درخواست می‌کنند. بعضی از الگوریتم‌های فشرده‌سازی عالی قدرت پردازش بالا می‌خواهند. روش فشرده‌سازی اغلب به وسیلهٔ سیگنال ماکزیمم به نسبت پارازیت (peak signal-to-noise ratio) اندازه‌گیری می شوند. اندازه پارازیت‌ها نشان دهند؟ فشرده‌سازی پراتلاف عکس است به هر حال قضاوت موضوع گرایانه بیننده همیشه بیان کنند؟ اهمیت اندازه‌گیری است. است؛ و در سال 2000 به‌وسیله کمیته Joint Photographic Experts Group با نیت جایگزین کردن با استاندارد اصلیJpegکه براساس تغییر گسسته(discrete cosine transform-based) است (محصول سال1991) تولید شده‌است. زمان بیشتری را برای عملیات بازکردن فشردگی نسبت به JPEG طلب می‌کند. مجموعه دستورالعمل
در رایانه‌های قدیمی حافظه گران‌قیمت بود؛ بنابراین به حداقل رساندن اندازهٔ برنامه، معمولاً اهمیت زیادی داشت تا بتوان آن را در حافظهٔ محدود جا داد؛ لذا سایز ترکیبی تمام دستورالعمل‌های لازم برای انجام یک کار خاص، یا همان تراکم کد، مشخصهٔ مهمی برای هر مجموعه دستورالعمل بود. رایانه‌های دارای تراکم کد بالا، معمولاً دارای دستورالعمل‌های پیچیده برای ورودی رویه، بازگشت‌های پارامتر شده، حلقه‌ها، و … بودند (بنابراین، به صورت عطف به ماسبق، CISC نامیده می‌شدند). با این حال، دستورالعمل‌های معمول تر یا پرکاربرد CISC، صرفاً یک عملیات پایه ای ALU، نظیر جمع کردن، را با دسترسی به یک یا بیش از یک عملوند در حافظه (با استفاده از حالت‌های آدرس دهی مختلف همچون، مستقیم و غیر مستقیم، اندکسی و …) ترکیب می‌کنند. معماری‌های خاصی ممکن است اجازه دو یا سه عملوند (ازجمله حاصل) را به‌طور مستقیم در حافظه بدهند یا ممکن است قادر باشند اعمالی همچون افزایش خودکار اشاره گر و … را انجام دهند مجموعه دستورالعمل‌های که توسط نرم‌افزار پیاده‌سازی می‌شوند، ممکن است حتی، دستورالعمل‌های پیچیده‌تر و قدرتمند تری داشته باشند. فشرده‌سازی داده‌ها
روش‌های فشرده‌سازی بهینه برگشت پذیرند به نحوی که اطلاعات اولیه قابلیت بازیابی به‌طور دقیق را دارند در حالی که روش‌های بااتلاف، از دست دادن مقداری از اطلاعات را برای دست یابی به فشردگی بیشتر می‌پذیرند. البته همواره برخی از داده ها وجود دارند که الگوریتم‌های فشرده‌سازی بهینهٔ اطلاعات در فشرده‌سازی آن‌ها ناتوان هستند. در واقع هیچ الگوریتم فشرده‌سازی ای نمی‌تواند اطلاعاتی که هیچ الگوی قابل تشخیصی ندارند را فشرده‌سازی کند. بنابراین تلاش برای فشرده‌سازی اطلاعاتی که قبلاً فشرده‌شده‌اند معمولاً نتیجهٔ عکس داشته (به جای کم کردن حجم، آن را زیاد می‌کند)، هم چنین است تلاش برای فشرده‌سازی هر اطلاعات کدشده‌ای (مگر حالتی که کد بسیار ابتدایی باشد). سنجش فشرده
سنجش فشرده یا حسگری فشرده به تکنیکِ پردازش سیگنال برای مخابرهٔ داده‌های بیشتر، با صرف هزینه کمتر گفته می‌شود. یکی از دغدغه‌های پژوهشگران حوزه مخابرات و پردازش سیگنال این است که بتوانند با صرف هزینه کمتر، اطلاعات بیشتری را مخابره نمایند. یکی از مسائلی که به این هدف کمک می‌کند؛ فشرده سازی اطلاعات است. یعنی به جای ارسال کامل اطلاعات، بخش زاید آن حذف و بخشی را که حاوی اطلاعات مفید یا شامل بخش عمده اطلاعات است ارسال می‌کنیم. یکی از راهکارهایی که برای فشرده سازی اطلاعات در سال‌های اخیر مطرح شده، مسئله سنجش فشرده است که مورد توجه فراوان محققین قرار گرفته است. با توجه به قضیه نایکوئیست برای بازیابی یک سیگنال نمونه برداری شده، نمونه برداری باید حداقل دو برابر پهنای باند سیگنال باشد. اما بعد از نمونه‌برداری برای ذخیره‌سازی یا ارسال سیگنال نمونه برداری شده به منظور فشرده سازی ناچار به دور ریختن بخشی از داده هستیم؛ بنابراین این ایده به ذهن می‌رسد که به جای نمونه برداری با نرخ بالا و سپس دور ریختن بخشی از داده پس از تبدیل به حوزهای دیگر(DCT)، از همان اول عمل فشرده سازی و نمونه برداری را به صورت همزمان انجام دهیم. اینجاست که ایده سنجش فشرده مطرح می‌شود. مدل زبانی
نمایانگر پیوسته فضا به کاهش نفرین ابعاد در مدل سازی زبان کمک می‌کند: با آموزش مدل‌های زبان بر روی متن های بزرگتر و بزرگتر ، تعداد کلمات منحصر به فرد (واژگان) افزایش می‌یابد. تعداد توالی‌های احتمالی کلمات با اندازه واژگان به طور تصاعدی افزایش می‌یابد و به دلیل تعداد زیاد توالی‌ها، باعث ایجاد مشکل پراکندگی داده‌ها می‌شود. بنابراین ، برای برآورد صحیح احتمالات، به آمار نیاز است. شبکه‌های عصبی با نمایش کلمات به صورت توزیع شده، به عنوان ترکیب‌های غیرخطی وزن‌ها در یک شبکه عصبی، از این مشکل جلوگیری می‌کنند. یک توصیف جایگزین این است که یک شبکه عصبی عملکرد زبان را تقریبی می‌زند. معماری شبکه عصبی ممکن است پیشخور یا بازگشتی باشد، و گرچه اولی ساده تر است دومی بیشتر مورد استفاده قرار می‌گیرد. فشرده‌سازی داده‌ها
فشرده‌سازی داده‌ها یا کُدگذاری منبع در پردازش سیگنال، به فشرده‌سازیِ اطلاعات یک منبعِ اطلاعات می‌پردازد (با رمزگذاری اشتباه نشود). منابع اطلاعاتی طبیعی، مانند گفتار یا نوشتار، دارای افزونگی (Redundancy) هستند؛ برای مثال در جمله «من به خانه‌مان برگشتم» ضمایر «من» و «مان» را می‌توان حذف کرد و جمله را این‌گونه نوشت؛ «به خانه برگشتم»، بدون اینکه از مفهوم جمله چیزی کاسته شود. این توضیح را می‌توان معادل با فشرده‌سازی اطلاعات یک منبع اطلاعات دانست؛ بنابراین منظور از فشرده‌سازی اطلاعات کاستن از حجم آن به نحوی است که محتوای آن دچار تغییر نامناسبی نشود. آدرس‌دهی بایتی
زمانی که رایانه‌ها آنقدر گران بودند که فقط یا عمدتاً برای علم و مهندسی استفاده می‌شدند، آدرس‌دهی کلمه‌ای روشی آشکار بود. با مقرون به صرفه شدن استفاده از رایانه برای مدیریت متن، طراحان سخت‌افزار به سمت آدرس دهی بایت متمایل شدند. تحلیل رمز
در عمل، تجزیه و تحلیل فرکانس همان اندازه که به آمار وابسته است، به زبان‌شناسی متکی است. اما با پیچیده‌تر شدن رمزگذاری، ریاضیات در رمزنگاری اهمیت بیشتری پیدا کردند. این تغییر به ویژه قبل و در طول جنگ جهانی دوم مشهود بود، جایی که تلاش برای شکستن رمزهای محوری به سطوح جدیدی از پیچیدگی ریاضی نیاز داشت. علاوه بر این، اتوماسیون برای اولین بار در آن دوران با دستگاه Bomba لهستانی، Bombe بریتانیایی، استفاده از تجهیزات کارت پانچ شده و در رایانه‌های Colossus برای اولین بار در رمزنگاریز در آن دوره مورد استفاده قرار گرفت. بهینه‌ساز آبجکت کد
برخی از بهینه‌سازهای باینری فشرده سازی اجرایی را انجام می‌دهند، که با استفاده از تکنیک‌های عمومی فشرده سازی داده‌ها اندازه فایل‌های باینری را درجهت کاهش نیازهای فضای ذخیره‌سازی و زمان بارگیری و جابجایی، کاهش می‌دهند اما در بهبود عملکرد زمان اجرا اثری ندارند. تلفیق واقعی ماژول‌های کتابخانه تکراری نیز می‌تواند حافظه را کاهش دهد. فشرده‌سازی داده‌های صوتی
دراثرطبیعت الگوریتم‌های پراتلاف کیفیت صداوقتی که فایل فشرده می‌شود ودوباره باز می‌شود از دست می‌رود و این امر باعث می‌شود که فشرده‌سازی پراتلاف برای ذخیره کردن نتایج مداخله‌کننده در کاربردهای حرفه‌ای مهندسی صدامثل تدوین صداوضبط چند رسانه‌ای مناسب نباشد ولی به هر حال این روش‌ها در بین کاربران بسیار مطرح هستند (خصوصاً mp۳) که یک مگابایت آن می‌تواند یک دقیقه موسیقی با کیفیت کافی ذخیره کند. اف (زبان برنامه‌نویسی)
F برنامه نمویسی ماژول گرایانه را ترغیب می‌کند. کد کردن و فهمیدن یک واحد از F ساده است. در مقایسه با برنامه‌نویسی شی گرایانه، برنامه‌نویسی ماژول گرایانه امکان استفاده مجدد بدون هیچ سوء استفاده‌ای را فراهم می‌کند. F یک زیرمجموعه از جدیدترین نسخه فورترن که قدرتمندترین زبان عددی جهان و با دقت و مهارت است، می‌باشد. یادگیری F دو فایده مهم دارد: به دلیل اینکه تنها یک راه برای نوشتن کدها وجود دارد، F یک زبان مجاز نیست. همه کلمات کلیدی و و نام‌های توابع، کلمات رزرو شده در F هستند؛ بنابراین نام‌ها نمی توانند مشابه هیچ کلمه کلیدی باشند. F با بیش از صد روند ذاتی که برای آن ساخته شده‌است، تجهیز شده‌است، به همین دلیل نیازی به کتابخانه‌ها یا ماژول‌های استاندارد اضافه ندارد. کلمات کلیدی زبان و نام‌های توابع ذاتی کلمات کلیدی رزرو شده در F هستند و هیچ اسم دیگری نمی تواند دقیقاً این فرم‌ها را داشته باشد. مجموعه کاراکترهای مشابه با Fortran90/95 با محدودیت 132 کاراکتر را شامل می‌شود. کلمات رزرو شده همیشه به صورت حروف کوچک نوشته می‌شوند. هر حرف بزرگ ممکن است در یک ثابت کاراکتری ظاهر گردد. نام متغرها محدودیتی در کاراکترهای کوچک و بزرگ ندارد. علامت نقل قول به عنوان حائلی برای رشته‌های کاراکتری استفاده می‌شود. F قالب بندی را حمایت می‌کند. یک قالب بندی می‌تواند شامل * (برای قالب بندی راهنمای لیست) یا یک لیست از صفات ویرایشی، کنترل توصیف‌کننده ویراستاری یا موارد قالب بندی لیست باشد. برای جداسازی موارد قالب بندی از کاما استفاده می‌شود. بعد از آخرین پرانتز بندی راست در یک تعیین قالب بندی یا متغیر قالب بندی کاراکتر، استفاده از کاراکترها مجاز نیست. tn ، tln ، trn ، [r]/ ، : ، s ، sp ، ss توصیف‌کننده‌های کنترلی هستند. F کنترل نورد را حمایت نمی‌کند، زیرا این وابسته به فایل و سیستم عامل است. F از تعداد زیادی از عملگرهای استاندارد که در بسیاری دیگر از زبان‌ها استفاده می‌شوند حمایت می‌کند. عملگرهایی که در F حمایت می‌شوند عبارتند از: عملگر تخصیص با علامت تساوی "=" نشان داده می‌شود. علاوه بر این اشاره گر با "<=" و نظرات با "!" نمایش داده می‌شوند. فرایند پشتیبانی
فشرده سازی: چند طرح برای اندازه داده‌های منبع و ذخیره آن‌ها در فضای کم در نظر گرفته شده‌است. این روش یک ویژگی درونی از سخت‌افزار نواری می‌باشد. فرایند جلوگیری از تکثیر: وقتی چند سیستم مشابه در یک ابزار مقصد بکاپ شوند. توانایی تکرار در آن داده بکاپ گرفته شده افزایش خواهد یافت. مثلاً اگر ۲۰ عدد سیستم ویندوزی در یک مخزن داده‌های خود را بکاپ بگیرند، آن‌ها می‌توانند مجموعه مشترکی از فایل‌های سیستم را به اشتراک بگذارند. مخزن داده‌ها فقط کافیست که یک کپی از آن فایل‌ها را در خود ذخیره کند تا هر زمان لازم باشد بتواند هر کدام از سیستم‌های ویندوزی را بازیابی کند. این تکنیک همچنین می‌تواند در سطح فایل یا حتی در سطح بلوکهای خام داده بکار رود و بالقوه منجر به کاهش عظیم فضای ذخیره‌سازی مورد نیاز می‌شود. فرایند جلوگیری از تکثیر میتوند قبل از اینکه هر دیتایی به دیوایس بکاپ منتقل گردد، روی سرور (مثلاً همان ویندوز) انجام شود، که گاهی اوقات به آن "جلوگیری از تکثیر سمت کلاینت/منبع" گویند. این روش همچنین پهنای باند مورد استفاده جهت انتقال داده‌های بکاپ به دیوایس مربوطه را کاهش می‌دهد. این فرایند همچنین می‌تواند در دیوایس بکاپ مقصد انجام گیرد، که گاهی اوقات به آن "جلوگیری از تکثیر درون برنامه‌ای (یا درون خطی - inline) / بک اند (back-end)" گویند. ؛ تکثیر: گاهی اوقات حمایت برای مجموعه دوم رسانه‌ها تکثیر خواهد شد. این عامل آزمایش مجدد تصاویر و بازیابی سرعت می‌باشد. نسخه دوم در محل متفاوت رسانه قرار خواهد گرفت. ؛ فرایند رمز برداری: می‌تواند ظرفیت بالای رسانه را به صورت نوار تشریح کند. این نسخه دوم در چند محل رمزگذاری می‌شود. البته مسائلی نیز دیده شده‌است. رمزگذاری یک فرایند استفاده از cpu است که می‌تواند سرعت حمایت را کاهش دهد. داده‌ها در این حالت به‌طور مؤثر فشرده می‌شوند و بنابراین اجرای آن‌ها آسان‌تر خواهد شد. سوم آنکه ایمنی این حمایت به اندازه ایمنی خط مشی مدیریت می‌باشد. ؛ مرحله بندی: گاهی اوقات این نوع حمایت‌ها می‌توانند قبل از کپی‌برداری مرحله بندی شوند. این فرایند d2d۲t نام دارد که یک سر واژه برای دیسک به دیسک به نوار نام دارد. این در صورتی مفید است که هماهنگی سرعت درایو مقصد بتواند در سیستم شبکه‌ای تحریک شود. این محل اصلی استفاده از روش تغییر داده‌ای است. به خطر افتادن امنیت کامپیوتر در اثر خرابی سخت‌افزار
پس از یک مرحله آموزش مقدماتی، حمله کاملاً خودکار انجام می‌شود و از ترکیبی از یادگیری ماشین ، پردازش صدا و تکنیک های بازشناسی گفتار، از جمله ویژگی های طیف ، مدل‌های پنهان مارکوف و طبقه بندی خطی استفاده می‌شود. دلیل اساسی که می‌توان متن چاپ شده را بازسازی کرد، این است که اگر سوزن‌های بیشتری در یک زمان خاص سوزن بزنند، صدای ساطع شده بلندتر می شود. تعداد سوزن‌ها و شدت تابش صوتی به هم وابسته‌اند. یک مرحله آموزش انجام شد که در آن کلمات فرهنگ لغت چاپ می شوند و مشخصه ویژگی های صوتی این کلمات استخراج و در یک پایگاه داده ذخیره می شوند. از مشخصه ویژگی‌های آموزش دیده برای تشخیص متن چاپ شده انگلیسی استفاده شده است. اما ، این کار به سادگی انجام نمی‌شود. چالش های اصلی عبارتند از: ویرایش تصویر
بسیاری از فرمت‌های فایل تصویری از فشرده سازی داده‌ها برای کاهش حجم فایل و صرفه جویی در فضای ذخیره‌سازی استفاده می‌کنند. فشرده‌سازی دیجیتالی تصاویر ممکن است در دوربین انجام شود یا در رایانه با ویرایشگر تصویر انجام شود. هنگامی که تصاویر در قالب "JPEG" ذخیره می‌شوند، یعنی فشرده‌سازی قبلاً انجام شده‌است. نرم‌افزارهایی وجود دارند که به کاربر اجازه می‌دهند سطح و میزان فشرده‌سازی (یا کاهش حجم نگاره) را تعیین کند. آدرس‌دهی کلمه‌ای
در معماری رایانه، آدرس دهی کلمه‌ای به این معنی است که آدرس‌های حافظه در یک رایانهبه طور منحصر به فرد کلمات حافظه را مشخص می‌کند. معمولاً در مقابل این روش آدرس دهی بایتی استفاده می‌شود، جایی که آدرس‌ها به‌طور منحصر به فرد بایت‌ها را شناسایی می‌کنند. تقریباً تمام معماری‌های رایانه‌ای مدرن از آدرس‌دهی به صورت بایت استفاده می‌کنند و آدرس‌دهی کلمه عمدتاً تنها از منظر تاریخی بررسی می‌شود. رایانه ای که از آدرس دهی کلمه استفاده می‌کند، گاهی اوقات "ماشین کلمه" نامیده می‌شود. آدرس‌دهی کلمه‌ای
به‌طور کلی، حداقل واحد آدرس پذیر در رم (MAU: Minimum Addressable Unit) یک ویژگی خاص از حافظه است. انتزاع‌های مختلف در یک رایانهممکن است از MAUهای متفاوتی استفاده کنند، حتی زمانی که آنها یک حافظه اصلی را نشان می‌دهند. به عنوان مثال، ممکن است یک رایانهبرای مجموعه دستورالعمل‌ها instruction set خود از آدرس‌های ۳۲ بیتی استفاده کند، اما سیستم انسجام حافظه پنهان(cache coherence) CPU ممکن است با حافظه تنها با ریزدانگی(granularity) 64 بایت خطوط کش(cache lines)کار کند، که اجازه می‌دهد هر یک از خطوط کش با تنها یک آدرس ۲۶ بیتی شناسایی شود و سربار حافظه نهان CPU کاهش یابد. بهینه‌سازی حسگری فشرده یک‌بیتی
در بیشتر منابع واژه‌های سنجش فشرده و حسگری فشرده به جای هم بکار می‌روند. در اینجا از هر دو واژه، با یک مفهوم استفاده شده‌است. اما گاهی این تعداد نمونه در ثانیه برای ما گران تمام می‌شود. یعنی با اینکه برای بازسازی کامل به این تعداد نمونه احتیاج داریم اما محدودیت‌هایی نظیر کمبود زمان کافی برای پردازش این تعداد نمونه یا وسیله نمونه بردارِ گران‌قیمت و غیره باعث می‌شوند که باز تعداد نمونه‌ها را کم کنیم. به این کار downsampling یا در اینجا فشرده سازی می‌گویند. حسگری فشرده در واقع این دو عملِ نمونه برداری و فشرده سازی را با هم انجام می‌دهد. رابطه آن را به صورت زیر نشان می‌دهیم formula_2 که در آن x سیگنالی است که سنجش فشرده روی آن صورت می‌گیرد و یک سیگنال اصطلاحاً تنک است. سیگنال تنک به سیگنالی گفته می‌شود که بیشتر درایه‌های آن صفر باشند و مقدار اندکی مقادیر با معنی (یک) داشته باشد. Φ ماتریس اندازه‌گیری و y بردار حاصل از حسگری فشرده می‌باشد. برای ساده‌سازی بیشتر رابطه بالا را با سطح صفر مقایسه می‌کنند و رابطه به صورت زیر در می‌آید formula_3 و بدین صورت y را می‌توان به صورت یک مقدار یک بیتی در نظر درگرفت که یا مقدار ۱ یا مقدار -۱ را به خود می‌گیرد. نیاز به بهینه‌سازی از آنجا پیش می‌آید که گاهی y به علت وجو نویز علامتش تغییر می‌کند و دیگر هم علامت با sign(Φx) نیست؛ لذا قصد داریم جاهایی که علامت y عوض می‌شود را شناسایی کرده و آن را اصلاح کنیم. تابع هدف در اینجا حداقل کردن اندازه تصویر y بر بردار sign(Φx) در محل‌های تعویض علامت است. مسئله بهینه‌سازی را به صورت زیر معرفی می‌کنیم فشرده‌سازی بااتلاف
روش‌های متنوعی برای فشرده‌سازی یک فایل دیجیتال به گونه‌ای که حجم کمتری را اشغال کند وجود دارد، بدون آن که چیزی از خود فایل کاسته شود. به عنوان مثالی ساده، در یک تصویر که شامل تعدادی نقطه است و مثلاً ۲۰۰ نقطه قرمز دارد به جای ذخیره تمام آن‌ها می‌توان ذخیره کرد که ۲۰۰ عدد نقطه قرمز وجود دارد. فشرده‌سازی بااتلاف
در عین حالی که تقلیل داده (فشرده‌سازی، چه بااتلاف و چه بی‌اتلاف) از اهداف اصلی کدگذاری تبدیلی می‌باشد، زمینه پیگیری اهداف موازی دیگری همچون حفظ کامل کیفیت اولیه فایل با حجمی کمتر یا کمک به فرایند متوازن‌سازی صوت (Equalization) را نیز فراهم می‌نماید، چراکه در فرایند فشرده‌سازی انتخابی عمل کرده و به جای تراکم یکنواخت داده، صرفاً بخش‌هایی با کمترین اثرگذاری را فشرده می‌نماید تا ضمن انجام فرایند فشرده‌سازی انتخابی، نرخ بیت (Bit rate) و عمق فایل صوتی را حفظ نماید. همچنین فرایند متوازن‌سازی صوت (Equalization) نیز به طبیعی‌ترین شکل خود در دامنه فرکانس صوت انجام می‌شود، نه در دامنه زمان صوت، که به همین دلیل تصویر نمودن فایل اولیه صوتی به نوسانات فرکانس صوت در طول زمان می‌تواند برای این فرایند مفید واقع شود. فشرده‌سازی داده‌های صوتی
دست‌یافتن به یک فشرده‌سازی اساسی بسیار دشوار است. ابتدا اینکه، اکثریت وسیع ضبط کننده‌های صدا بسیار پیچیده هستند چون از دنیای واقعی ضبط می‌کنند. یکی از روش‌های کلیدی فشرده‌سازی پیدا کردن الگو و تکرار است، داده‌های با بی‌نظمی بیشتر مثل صوت نمی‌توانند به خوبی فشرده شوند. در وضعیت مشابه، عکس‌ها با روش‌های بدون‌اتلاف هم نسبت به عکس‌های کامپیوتری تولید شده کمتر فشرده می‌شوند. اما به‌طور قابل توجه حتی صداهای کامپیوتری تولیدشده هم می‌توانند شامل شکل‌موج‌های(waveform) بسیار پیچیده باشند تا مورد استفاده بسیاری از الگوریتم‌های فشرده‌سازی قرار بگیرند. ماهیت شکل‌موج‌های صداکه معمولاًساده‌کردن آن‌ها (لزوماً پراتلاف) بدون اطلاعات فرکانسی مکالمه که به وسیله گوش انسان قابل تشخیص هستند دشوار است لازم است. به سرعت تغییر می‌کنند بنابراین الگوریتم‌های فشرده‌سازی عمومی برای صوت، و رشته‌های بایتی متوالی که معمولاً مورد استفاده قرار نمی‌گیرند خوب عمل نمی‌کند. به‌هرحال حلقه بافیلتر [-۱ ۱] (که اولین متفاوت را می‌گیرد) دقت می‌کند تا کمی طیف را سفید کند(>decorrelate یا یکنواخت کند) بدین وسیله به رمزگشای فشرده‌سازی بدون اتلاف اجازه می‌دهد تا این کار را انجام دهد. کدگشایی به وسیله کدگشا(decoder)سیگنال اصلی را برمی‌گرداند. رمزگذارهایی مثل >FLAC, Shorten وTTA از پیش‌بینی خطی برای تخمین طیف سیگنال استفاده می‌کنند. در کدکننده، معکوس تخمین‌زننده برای یکدست کردن سیگنال به وسیلهٔ حذف نقاط ماکزیمم طیفی استفاده می‌شود در حالی که به هنگام بازکردن کد تخمین‌زننده برای ساخت مجدد سیگنال اصلی استفاده می‌شود. بنابراین قابلیت‌های استفاده از آن‌ها می‌تواند پیش‌بینی شود به وسیله: بازکردن آن حمایت‌کننده خطا پردازش تصویر
همان‌طوری‌که در آموزش زبان، کلمات به صورت مجزا و جداگانه قرار داده می‌شوند و ما با مرتب کردن آن جملات خاصی می‌سازیم و می‌توانیم در چند جمله، کلمات مشترک را فقط یک‌بار بنویسیم و هنگام مرتب کردن آن‌ها به کلمات مشترک رجوع کنیم، در اینجا هم هر یک از این اجزاء یک موضوع خاص را مشخص می‌کند و ما می‌توانیم اجزاء مشترک را فقط یک‌بار به کار ببریم و هنگام ساختن موضوع به آن‌ها رجوع کنیم. هر یک از موضوعات هم می‌توانند با موضوعات دیگر ترکیب و مجموعه جدیدی را به وجود آورند. این مسئله باعث انعطاف‌پذیری و کاربرد فراوان روش MPEG۴ می‌شود. برای مثال به صحنه بازی تنیس توجه کنید. در یک بازی تنیس می‌توان صحنه را به دو موضوع بازیکن و زمین بازی تقسیم کرد زمین بازی همواره ثابت است، بنابراین به عنوان یک موضوع ثابت همواره تکرار می‌شود ولی بازیکن همواره در حال حرکت است و چندین موضوع مختلف خواهد بود. این مسئله سبب کاهش پهنای باند اشغالی توسط تصاویر دیجیتالی می‌شود. توجه داشته باشید که علاوه بر سیگنال‌های مربوط به این موضوعات، سیگنال‌های هماهنگ‌کننده‌ای هم وجود دارند که نحوه ترکیب و قرارگیری صحیح موضوعات را مشخص می‌کند. آدرس‌دهی کلمه‌ای
فرض کنید برنامه ای می‌خواهد یکی از ۱۲ نشانه سنتی طالع بینی غربی را ذخیره کند. یک علامت واحد را می‌توان در ۴ بیت ذخیره کرد. اگر یک علامت در حداقل واحد آدرس پذیر خود ذخیره شود، اگر از آدرس دهی بایت استفاده شود ۴ بیت استفاده نخواهد شد و ۵۰٪ بازده خواهیم داشت، در حالی که در آدرس دهی کلمه ۳۲ بیتی ۲۸ بیت استفاده نخواهد شد و ۱۲٫۵٪ بازده خواهیم داشت. اگر یک علامت در مینیمم واحد آدرس پذیر MAU با داده‌های دیگر «بسته بندی» شود، آنگاه ممکن است هزینه خواندن و نوشتن در حافظه به نسبت افزایش یابد. برای مثال، برای نوشتن یک علامت جدید در MAU که دادهٔ دیگری نیز در آن بسته‌بندی شده، رایانهابتدا باید مقدار فعلی داخل MAU را خوانده و تنها بیت‌های مناسب را بازنویسی کند و در نهایت مقدار جدید را مجدداً ذخیره کند. در صورتی که برنامه نیاز داشته باشد تا به نخ (thread)های مختلف اجازه دهد تا داده‌های دیگر داخل MAU را به‌طور همزمان تغییر دهد این عملیات بسیار هزینه برخواهد بود. فشرده‌سازی بااتلاف
یک نقطه ضعف مهم روش‌های فشرده‌سازی بااتلاف این است که ویرایش فایل‌های کدگذاری شده به روش‌های فشرده‌سازی بااتلاف منجر به از دست رفتن داده در فرایند کدگذاری مجدد اطلاعات می‌شود. تنها روش مقابله با این مسئله نامطلوب آن است که ویرایش موردنظر خود را بر روی یک کپی از فایل اصلی با کیفیت بالای اولیه (که می‌تواند حاصل کدگشایی یک نسخه کم‌حجم‌تر با روش‌های فشرده‌سازی بی‌اتلاف باشد، چراکه آن روش‌ها چنین مشکلی ندارند) انجام دهیم و از آن یک نسخه کم‌حجم‌تر با روش‌های فشرده‌سازی بااتلاف بسازیم، همان‌گونه که برای ویرایش تصاویر از فرمت خام تصویر () به جای فرمت استفاده می‌شود. کدگذاری هافمن
در علوم کامپیوتر و تئوری اطلاعات، کدگذاری هافمن (به انگلیسی: ) نوع مشخصی از کد پیشوندی (به انگلیسی: ) بهینه است که کاربردی فراوان در فشرده‌سازی بی‌اتلاف اطلاعات دارد. فرایند پیدا کردن یا استفاده از این کد، با بهره‌گیری از الگوریتمی انجام می‌شود که توسط «دیوید هافمن» (زمانی که وی دانشجوی دوره دکتری در دانشگاه MIT بود) توسعه داده شده‌است و برای اولین بار در سال 1952 در مقاله‌ای با عنوان «روشی برای تولید کدی با کمترین تکرار زوائد» منتشر شد. کلمه (معماری رایانه)
در محاسبات، یک کلمه واحد طبیعی داده‌است که توسط یک طراحی پردازنده خاص مورد استفاده قرار می‌گیرد. کلمه یک قطعه داده با اندازه ثابت است که توسط مجموعه دستورالعمل یا سخت‌افزار پردازنده به عنوان واحدی استفاده می‌شود. تعداد بیت‌های یک کلمه ("اندازه کلمه" یا "طول کلمه") یک ویژگی مهم برای هر نوع پردازنده خاص یا معماری رایانه است. برداشت فشار
امروزه قیمت پایین و راحتی استفاده از رایانه‌های مدرن غواصی منجر شده‌است تا بسیاری از غواصان تفریحی، تنها استفاده از جداول مثل RDP را فقط برای یک زمان کوتاه در طول آموزش خود و قبل از استفاده از کامپیوترهای غواصی بیاموزند. در کامپیوترهای غواصی نیز از الگوی مدرج کاهنده حباب که بر طبق همان الگوریتم استفاده شده در جدول‌های RDP بدون نیاز رفع فشار و بر اساس مبنای محاسباتی آنهاست استفاده شده و مدت زمان غوص و میزان نیتروژن جذب شده در بدن غواص را محاسبه می‌نمایند. این در صورتی است که کامپیوترهای غواصی با محاسبه لحظه به لحظه و دقیق غوص مدت زمان بیشتری برای باقی‌ماندن در آب را به غواص ارائه می‌دهند و در نتیجه گزینه‌ای محبوب تر برای بیشتر غواصان است. داده ساختارهای فشرده
در علوم کامپیوتر ،داده ساختار فشرده داده ساختاری است که از فضایی استفاده می‌کند که به نظریه اطلاعات کران پایین نزدیک است؛ ولی (برخلاف دیگر نمایش‌های فشرده) هنوز برای عملیات‌ها کارایی دارد. مفهوم این داده ساختار اولین بار توسط جاکوبسون معرفی شد. با مفهوم رمز گذاری آرایه بیتی، درخت (بدون برچسب) و گراف مسطح. برخلاف الگوریتم فشرده‌سازی بی‌اتلاف داده‌ها، به‌طور کلی داده ساختار فشرده، این ویژگی را دارد که می‌توان بدون ناهم فشرده کردن داده‌ها از آن‌ها استفاده کرد. الگوریتم چندگانه
در علوم کامپیوتر الگوریتم‌های چندگانه در بهینه سازیِ اجرای واقع گرایانه الگوریتم‌های بازگشتی بسیار رایج هستند. به خصوص پیاده‌سازی الگوریتم تقسیم و حل (کاهش و حل) که در آن هر چه به عمق بیشتری در درخت بازگشتی می‌رویم، حجم داده‌ها کاهش می‌یابد. در این حالت یک الگوریتم به عنوان رویکرد کلی در داده‌های بزرگ استفاده می‌شود اما در عمق زیاد درخت بازگشتی به یک الگوریتم دیگر پرش می‌کند که روی داده‌های کوچک‌تر کارآمدتر است. یک مثال رایج این موضوع الگوریتم‌های مرتب‌سازی است. مثلاً مرتب‌سازی درجی که روی داده‌های بزرگ ناکارآمد است اما روی داده‌های کوچک بسیار خوب عمل می‌کند را در نظر بگیرید. برای گام نهایی یعنی بعد از اجرا کردن الگوریتمی دیگر (مانند مرتب‌سازی ادغامی یا مرتب‌سازی سریع) از این نوع مرتب‌سازی استفاده می‌شود چرا که مرتب‌سازی ادغامی و مرتب‌سازی سریع برای داده‌های بزرگ مطلوب هستند ولی سربار قابل توجهی در هنگام استفاده از آن‌ها روی داده‌های کوچک به وجود می‌آید. از این رو از الگوریتمی دیگر در لایه‌های پایین حل بازگشتی استفاده می‌کنند. یک الگوریتم مرتب‌سازی بسیار بهینه الگوریتم مرتب‌سازی تیم است که ترکیبی از مرتب‌سازی ادغامی و مرتب‌سازی درجی به همراه منطق‌های تکمیل‌کننده (از جمله جستجوی دودویی) در منطق ادغام است. حروف معین
در علوم رایانه مخصوصاً در نظریه زبان‌ها و ماشین‌ها، طرح حروف معین توسط و Madhusudan به عنوان تعمیم مشترکی از کلمه‌ها بیان شده‌است همان‌طور که به‌طور سنتی برای مدل‌سازی سازه‌های خطی و درختهای مرتب بدون درجه استفاده می‌شود که به‌طور سنتی برای مدل‌سازی ساختارهای سلسله مراتبی استفاده می‌شود. پذیرنده‌های حالت محدود برای حروف معین که ماشین حروف معین نامیده می‌شود که یک تعریف بیانگرانه‌تر از ماشین محدود را بر روی کلمات بیان می‌کند. کدگذاری خطی زبان‌های پذیرفته شده توسط ماشین حرف معین محدود یک کلاس از زبان‌های پشته‌ای عیان را ارائه می‌دهد. کلاس زبان دوم به‌طور صحیح بین زبان‌های منظم و زبان‌های مستقل از متن قطعی است. از زمان معرفی آنها در سال ۲۰۰۴ تحقیقات زیادی در این زمینه انجام داده‌اند. حافظه رایانه
با اینکه می‌توان واژه «حافظه» را بر هر گونه ابزار انبارش الکترونیکی نامید، ولی بیشتر از واژه بالا برای حافظه‌های سریع با توانایی اندوختن فرار بهره گرفته می‌شود. با اینکه پردازنده ناچار باشد برای بازیابی داده‌ها مورد نیاز خود همیشه از هارد دیسک بهره گیرد، بی‌گمان سرعت پردازش پردازنده (با آن سرعت بالا) کند خواهد گردید. زمانی‌که داده‌ها مورد نیاز پردازنده در حافظه اندوخته گردند، سرعت پردازش پردازنده از دید دستیابی به داده‌های مورد نیاز بیشتر خواهد گردید. از حافظه‌های فراوانی برای نگهداری فرار داده‌ها کاربری می‌گردد. به خطر افتادن امنیت کامپیوتر در اثر خرابی سخت‌افزار
صفحه کلیدهای رایانهٔ شخصی ، صفحه کلیدهای لپ‌تاپ در معرض حملات مبتنی بر افتراق صدا از کلیدهای مختلف هستند. این حمله، به عنوان ورودی، سیگنال صوتی ضبط شده حاوی یک کلمه تایپ شده توسط یک نفر بر روی صفحه کلید و یک فرهنگ لغت می‌گیرد. فرض بر این است که کلمه تایپ شده در فرهنگ لغت وجود دارد. هدف از این حمله بازسازی کلمهٔ اصلی از سیگنال است. این حمله یک صدای ضبط شدهٔ 10 دقیقه ای از کاربر که متن انگلیسی را با استفاده از صفحه کلید تایپ می کند، در نظر می‌گیرد و سپس تا 96٪ از حروف تایپ شده را بازیابی می کند. این حمله ارزان تمام می‌شود زیرا سخت افزارهای مورد نیاز، یک میکروفون سهموی و غیرتهاجمی است زیرا نیازی به نفوذ فیزیکی به سیستم ندارد. این حمله برای شناسایی کلید فشرده شده از یک شبکهٔ عصبی استفاده می‌کند. در این حمله، پردازش سیگنال و ساختمان داده‌ها و الگوریتم‌های کارآمد را با هم ترکیب می‌کنند، تا با موفقیت بتوانند تک کلمه‌هایی را که از 7 تا 13 حرف تشکیل شده‌اند،از یک فایل ضبط شده حاوی صدای فشردن کلیدها در هنگام تایپ کردن آن کلمات، بازیابی کنند. اگرچه صدای کلیک کردن(فشردن) کلیدهای مختلف صفحه کلید با گوش انسان مشابه شنیده می‌شود، در واقع صدای کلیک کردن بر روی هر کلید با هم متفاوت است، زیرا این کلیدها در موقعیت‌های مختلفی بر روی صفحهٔ کیبورد(صفحه کلید) واقع شده‌اند. جریان بیت
الگوریتم‌های فشرده‌سازی اغلب با استفاده از جریان بیت‌ها کد خود را اجرا می‌کنند، زیرا ۸ بیتی که توسط یک بایت (کوچکترین واحد حافظه که قابل‌آدرس‌دهی است) ارائه شده، ممکن است بی فایده باشند. اگرچه این روش به‌طور معمول در زبان‌های سطح پایین اجرا می‌شود، برخی از زبان‌های سطح بالا مانند پایتون و جاوا رابط‌های محلی برای bitstream I/O ارائه می‌دهند. تحلیل رمز
در سال ۱۹۸۰ می‌شد یک عدد ۵۰ رقمی دشوار را با هزینه 10 عملیات تجزیه کرد. در سال ۱۹۸۴ هنر الگوریتم‌های تجزیه اعداد صحیح چنان پیشرفت کرد که می‌شد یک عدد ۷۵ رقمی دشوار را با هزینه 10 عملیات تجزیه کرد پیشرفت‌های فن آوری محاسبات همچنین بدان معنی است که می‌توان عملیات را خیلی سریعتر انجام داد. قانون مور پیش‌بینی می‌کند که سرعت کامپیوتر همچنان در حال افزایش است. تکنیک‌های تجزیه ممکن است همچنان به این کار ادامه دهند، اما به احتمال زیاد به بینش و خلاقیت ریاضی بستگی دارد، که هیچ‌یک از آنها تاکنون با موفقیت قابل پیش‌بینی نبوده‌اند. اعداد ۱۵۰رقمی که قبلاً در RSA مورد استفاده قرار گرفته‌است. تلاش بیشتر از حد بود، اما در رایانه‌های مدرن سریع منطقی نبود. با شروع قرن بیست و یکم، شماره‌های ۱۵۰رقمی دیگر اندازه کلیدی کافی برای RSA محسوب نمی‌شدند. در سال ۲۰۰۵ شماره‌هایی با چند صد رقم هنوز هم برای تجزیه کردن بسیار سخت به نظر می‌رسید، اگرچه روش‌ها به مرور زمان بهبود می‌یابند و برای حفظ سرعت یا روش‌های دیگر مانند رمزنگاری منحنی بیضوی نیاز به اندازه کلیدی دارند. فشرده‌سازی بااتلاف
معمولاً عبارات «فشرده‌سازی بازگشت پذیر» و «فشرده‌سازی بازگشت ناپذیر» به ترتیب به جای «فشرده‌سازی بدون‌اتلاف» و «فشرده‌سازی بااتلاف» به کار برده شده و بر آن‌ها ارجحیت دارند، مخصوصاً در علوم پزشکی، تا از بار منفی کلمه «اتلاف» دوری شود. پردازش گفتار
در این مقاله یک سیستم تشخیص گفتار وابسته به گوینده مورد بررسی قرار گرفته‌است. که این سیستم در کنار معایب خود که از آن جمله می‌توان به شامل نشدن کلمات و جملات محاوره‌ای اشاره کرد و این که این نرم‌افزار برای زبان فارسی طراحی نشده‌است و اخیراً در داخل کشور ایران تلاش‌هایی توسط متخصصین دانشگاه صنعتی شریف جهت دستیابی به نسخه فارسی آن صورت گرفته، مزایای هم در پی دارد که از آن جمله می‌توان به عدم حساسیت آن به زبان و گویش خاص اشاره کرد و اینکه این نرم‌افزار نسبت به سروصدای محیط و همچنین مکان‌های پرنویز حساس نیست و در مقابل چنین مکان‌هایی مقاوم است اشاره کرد. هدفی که این نرم‌افزار دنبال می‌کند آن است که به جای برقراری ارتباط با کامپیوتر توسط ماوس و صفحه کلید و... خود بتوان پیام موردنظر را بیان کرده و کامپیوتر آن فرمان مربوطه را انجام دهد یا به جای تایپ کردن متن موردنظر فقط کافی است که متن موردنظر را از طریق میکروفون به رایانه منتقل کرده و متن را تایپ شده و آماده ببنیم. هدفی که این نرم‌افزار همانند بسیاری از نرم‌افزارهای دیگر دنبال می‌کند ارتقای سطح کیفیت زندگی و تسهیل امور روزمره‌است در صورت استفاده از این نرم‌افزار در ادارات و سازمان‌های دولتی است. وین‌زیپ
وین‌زیپ از جمله نخستین نرم‌افزارهای فشرده سازی رایانه‌ای است، که تا کنون توانسته هر روز با امکاناتی بهتر از روز قبل خود را توانمندتر سازد. با این نرم‌افزار، کاربر قادر خواهد بود فایل‌ها یا پوشه‌ها را فشرده سازی و یکپارچه کرده یا از حالت فشرده، خارج و از آن استفاده نماید. ریسک پنج
بسیاری از رایانه‌های ریسک پنج ممکن است افزونه فشرده سازی را برای کاهش مصرف برق، اندازه کد و استفاده از حافظه اجرا کنند. همچنین برنامه‌هایی در آینده برای پشتیبانی از hypervisors و مجازی سازی وجود دارد. دی‌ان‌ای رایانه
منظور از سخت کردن انجام عکس عمل ذوب است یعنی رشته‌های دی‌ان‌ای سرد می‌شوند. این کار باعث می‌شود که رشته‌های متمم به هم بچسبند. اگر که یکی از رشته‌های تکی مثلاً یکی از نوکلئوتیدها را نداشته باشد و این باعث شود که نتواند به رشتهٔ متمم خود بچسبد با انجام عمل انعقاد که توسط یک آنزیم صورت می‌گیرد دو رشتهٔ دی‌ان‌ای به هم چسبیده و جفت می‌شوند. بخش‌بندی تصویر
برای هر بخش در یک تصویر، این طرح تعداد بیت‌های مورد نیاز برای کدکردن یک تصویر بر اساس بخش‌های داده شده را، تولید می‌کند؛ بنابراین در بین تمامی بخش‌بندی‌های ممکن، هدف پیدا کردن بخش‌بندی‌ای است که کوتاه‌ترین طول کُد ممکن را تولید کند. این کد به سادگی می‌تواند توسط روش خوشه بندی agglomerative حاصل شود. اعوجاج در روش فشرده سازی با اتلاف حاکی از برابری بخش‌بندی‌ها دارد و مقدار بهینه آن می‌تواند برای عکس‌های مختلف، از یکدیگر متفاوت باشد. این پارامتر می‌تواند از روی کانترست بافت‌ها در تصویر حاصل شود. برای مثال وقتی کانترست بافت‌ها در تصویر یکسان است، مانند تصاویر camouflage، خروجی از حساسیت بیشتری برخوردار است و کوانتیزه شدگی کمتری دارد. یکپارچه‌سازی دیسک سخت
هنگام ذخیره‌سازی اطلاعات بر روی دیسک، ممکن است به دلیل پراکنده بودن فضای خالی موجود بر روی دیسک، اطلاعات به صورت پراکنده ذخیره شده و در سکتورهای متوالی قرار نگیرند. البته با توجه به اینکه هنگام ذخیره شدن اطلاعات آدرس محل قرارگیری آن‌ها در جدولی به نام File Allocation Table) FAT) یادداشت می‌شود، سیستم‌عامل جهت بازیابی مجدد آن‌ها با مشکلی مواجه نخواهد شد. با این وجود در صورتی که اطلاعات مرتبط با یکدیگر در سکتورهای متوالی قرار گیرند، بازیابی اطلاعات با سرعت بیشتری انجام خواهد شد. برنامه Disk Defragmenter می‌تواند با مرتب کردن اطلاعات موجود بر روی دیسک سرعت دسترسی به فایل‌ها و برنامه‌ها را افزایش داده و سرعت کار کامپیوتر را متحول نماید. به صورت دیگر فضای خالی دیسک‌ها می‌توانند ۵ فایل داشته باشد A، B، C و E و ۱۰ بلوک از این فضا در حال استفاده است. در این قسمت یک بلوک وجود دارد که به یک واحد سیستم می‌تواند ۱ کیلو و ۱۰ کیلو و ۱ مگابایت سایز اختصاص دهد. و این هیچ سایز مشخصی ندارد. پردازش گفتار
ارزش ایجاد فناوری‌های ترکیب و تشخیص صحبت بسیار زیاد است. صحبت سریع‌ترین و کاراترین روش ارتباط انسان‌هاست. تشخیص صحبت پتانسیل جایگزینی نوشتن، تایپ، ورود صفحه‌کلید و کنترل الکترونیکی را که توسط کلیدها و دکمه‌ها اعمال می‌شود را داراست و فقط نیاز به آن دارد که کمی برای پذیرش توسط بازار تجاری بهتر کار کند. ترکیب صحبت علاوه بر آن که همانند تشخیص صحبت می‌تواند استفاده از کامپیوتر را برای کلیهٔ افراد ناتوان بدنی که دارای توانایی‌های شنوایی و گفتاری مناسب هستند آسا نتر سازد به عنوان یک وسیلهٔ خروجی کاربرپسند در محیطهای مختلف می‌تواند با جایگزین کردن بسیاری از علائم دیداری(انواع چراغها و…) و شنوایی (انواع زنگ‌های اخطار و …) با گفتارهای بیان‌کنندهٔ کامل پیام‌ها استفاده از و رسیدگی به سیستم‌های نیازمند این گونه پیام‌ها را بهینه کند. در اینجا لازم است به این نکته اشاره شود که پیشرفت در فناوری تشخیص صحبت (و همچنین تشخیص گوینده) همان قدر که محدودهٔ دی. اس. پی را در بر می‌گیرد نیازمند دانش به دست آمده از محدوده‌های هوش مصنوعی و شبکه‌های عصبی است. شاید این تنوع دانش‌های مورد نیاز به عنوان عامل دشواری مطالعه ی مبحث پردازش صحبت در نظر گرفته شود حال آن که این گونه نیست و این تنوع راهکارها بخت رسیدن به سیستم با کارایی مطلوب را افزایش می‌دهد. توانایی‌های ابزارهایی که در بخش اول این فصل به آن‌ها اشاره شد امیدواری‌های فراوانی را در زمینهٔ موفقیت ابزارهای موجود فراهم می‌آورد و دامنهٔ وسیع شرکت‌ها و مراکز دانشگاهی که در این زمینه فعالیت می‌کنند بر تنوع در قابلیت‌ها و کاربردهای پیاده‌سازی شدهٔ این ابزارها می‌افزاید. فشرده‌سازی تصویر
- entropy coding