Дослідження частотних характеристик мови

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інші

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра БІТ / Звіт до лабораторної роботи № 1 Дослідження частотних характеристик мови з навчальної дисципліни: “ Методи та засоби криптоаналізу ” Львів – 2012 Мета роботи - дослідження частотних характеристик мови Теоретичні відомості Метод частотного аналізу відомий вже більше тисячі років! Винахідником його є знаменитий учений арабського світу IX століття: Абу Юсуф Якуб ібн-ісхак Ібн-ас-Сабах ібн-Умран ібн-Ісмаліл аль-Кінді. Скорочено вченого прийнято називати Аль Кінді. Стверджується, що вірогідність появи окремих букв, а також їх порядок в словах і фразах природної мови підкоряються статистичним закономірностям: наприклад, пара букв, що стоять поряд, «ця» в російській та і в украінській мові вірогідніша, ніж «ци», а «оь» в російській мові так і в українській не зустрічається зовсім (зате часто зустрічається, наприклад, в чеченській). Аналізуючи достатньо довгий текст, зашифрований методом заміни, можна по частотах появи символів провести зворотню заміну і відновити початковий текст. Важливими характеристиками тексту є повторюваність букв (кількість різних букв в кожній мові обмежена), пари букв, тобто (m-грам), сполучуваність букв одна з одною, чергування голосних і приголосних і деякі інші особливості. Важливо відмітити, що ці характеристики є достатньо стійкими. Ідея полягає в підрахунку чисел входжень кожної nm можливих m-грамм в достатньо довгих відкритих текстах T=t1,t2,..,tl, складених з букв алфавіту {a1, a2,.., an}. При цьому є видимими підряд m-граммы тексту, що йдуть: t1t2…tm, t2t3… tm+1,.., ti-m+1tl-m+2.tl. Якщо L (ai1ai2 . aim) - число появ m-граммы ai1ai2…aim у тексті T, а L - загальне число підрахованих m-грам, то при достатньо великих L частоти L (ai1ai2 . aim)/ L, для даної m-граммы мало відрізняються один від одного. Через це, відносну частоту вважають наближенням вірогідності P (ai1ai2…aim) появи даної m-граммы у випадково вибраному місці тексту (такий підхід прийнятий при статистичному визначенні вірогідності). В загальному частоту букв в процентному виразі можна визначити таким чином: підраховується скільки разів вона зустрічається в шифро-тексті, потім отримане число ділиться на загальне число символів шифро-тексту; для виразу в процентному виразі, ще помножується на 100. Але існує деяка різниця значень частот, яка пояснюється тим, що частоти істотно залежать не тільки від довжини тексту, але і від характеру тексту. Наприклад, текст може бути технічного змісту, де рідкісна буква Ф може стати досить частою. Тому для надійного визначення середньої частоти букв бажано мати набір різних текстів. Завдання до лабораторної роботи Написати програму, яка розраховує частотні характеристики введеного тексту (розмір тексту – 3-5 тис. слів). Провести частотний аналіз тексту, вибраного в інтернеті згідно варіантів, наведених в таблиці. При роботі з мовами інших країн рекомендується користуватись перекладачем сайту http://translate.google.com.ua/ ?hl=uk&tab=wT, або іншим, що є в наявності. Варіант 22  Мова фр.  Тип техн.   Текст програми EntryPoint.cs using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.IO; namespace LAB1_FA_CORE { class EntryPoint { static void Main(string[] args) { StreamWriter sw = new StreamWriter("log.txt"); string text = string.Empty; if (args[0] == "-i") { if (!File.Exists(args[1])) { Console.WriteLine("Error. File {0} does not exists!", args[1]); return; } text = File.ReadAllText(args[1]); } else { Console.WriteLine("Error. Use the key -i"); return; } Dictionary<char, int> result = FrequencyAnalyze.Research(text); foreach (KeyValuePair<char, int> current in result.OrderBy(key => key.Value).Reverse()) { Console.WriteLine("{0} = {1}", current.Key, current.Value); sw.WriteLine("{0}\t{1}", current.Key, current.Value); } Console.WriteLine("Кiлькiсть символiв: {0}", text.Length); Console.WriteLine("Розмiр словника: {0}", result.Count); Console.WriteLine("Результат збережено в log.txt"); sw.Close(); Console.ReadLine(); } } } FrequencyAnalyze.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LAB1_FA_CORE { class FrequencyAnalyze { public static Dictionary<char, int> Research(string text) { char[] carr = text.ToCharArray(); Array.Sort<char>(carr); Dictionary<char, int> chars = new Dictionary<char, int>(); int counter = 1; char curr = carr[0]; for (int i = 1; i < carr.Length; i++) { if (char.IsWhiteSpace(carr[i])) continue; if (curr != carr[i]) { chars.Add(carr[i - 1], counter); counter = 1; curr = carr[i]; } else counter++; } return chars; } } } Вибраний текст Le chemin de fer est un systeme de transport guide servant au transport de personnes et de marchandises. Il se compose d'une infrastructure specialisee, de materiel roulant et de procedures d'exploitation faisant le plus souvent intervenir l'humain, meme si dans le cas des metros automatiques cette intervention se limite en temps normal a de la surveillance. Par metonymie, « chemin de fer » designe aussi les societes exploitantes, souvent appelees autrefois « compagnies ». Les employes du chemin de fer sont les « cheminots ». L'expression « chemin de fer » est apparue officiellement dans l'ordonnance royale du 26 fevrier 1823 autorisant la construction de la premiere ligne francaise a Saint-Etienne1. L'adjectif correspondant, « ferroviaire », qui derive de l'italien ferrovia, est apparu vers 1911. Le systeme ferroviaire est aussi utilise sous diverses declinaisons specialisees : metros2, tramways, chemins de fer a cremaillere. L'infrastructure des chemins de fer est appelee voie ferree. Elle se compose, la plupart du temps, de deux files de rails poses sur des traverses, d' appareils de voie, passages a niveau, de la signalisation et, le cas echeant, des installations de traction electrique (sous-stations, catenaires, etc.). Le materiel roulant circule communement en convois, appele trains ou rames. Les convois sont composes de wagons ou de voitures tractes par des locomotives. Il peut egalement s'agir de rames autotractees, c'est-a-dire incluant leur propre systeme de traction. L'humain est au centre des systemes ferroviaires couramment rencontres, que ce soit pour la conduite des trains, l'orientation des convois vers leur destination, la securisation des voyageurs ou marchandises transportees. Le travail de l'humain est encadre par des procedures. Tres tot, on a legifere sur le chemin de fer. En France, la loi du 15 juillet 1845 (Abrogee par Ordonnance n° 2010-1307 du 28 octobre 2010 et transposee le 1er decembre 2010 dans le Code des Transports) pose les bases de la Police du Chemin de Fer (statut des voies ferrees, servitudes, droits et devoirs des exploitants et des tiers, controle des titres de transport, etc.). Depuis, de nouvelles lois et de nombreux reglements sont venus la completer, en ce qui concerne la securite, l'organisation et le service public.L'un des premiers exemples de chemin guide est celui du Diolkos, un systeme permettant aux bateaux de franchir l'isthme de Corinthe en Grece, construit au VIe siecle av. J.?C. Des chariots pousses par des esclaves[ref. necessaire] et par des betes de somme circulaient dans des blocs de pierre entailles. Ce « chemin de fer » primitif a fonctionne approximativement jusqu'en l'an 900[ref. necessaire]. Les premiers wagons tractes par des chevaux sont apparus en Grece et dans l'Empire romain aux alentours de l'an 1, utilisant eux aussi une voie constituee de pierres entaillees. La reapparition des transports guides a eu lieu en Europe aux alentours de 15503, pour des voies minieres. Celles-ci utilisaient des rails de bois. La premiere voie ferree a ete etablie au Royaume-Uni au debut du XVIIe siecle, principalement pour le transport du charbon d'une mine a un canal, d'ou il pouvait etre charge sur des barges. On trouve des traces de ce genre de chemins de fer a Broseley dans le Shropshire. Les rails etaient constitues de bois nu, les roues etaient munies de boudins, comme sur les vehicules ferroviaires actuels. En 1768, la compagnie Coalbrookdale eut l'idee de remplacer ses rails en bois par des rails en fonte moulee, pour limiter l'usure de la voie et transporter de plus lourdes charges. Les rails de fer sont apparus au debut du XVIIIe siecle. L'ingenieur William Jessop concut des rails prevus pour etre utilises avec des roues sans boudin : ils constituaient une sorte de corniere. Ces rails devaient etre utilises pour un projet dans le secteur de Loughborough, Leicestershire en 1789. En 1790 il etait de ceux qui fonderent une acierie a Butterley, Derbyshire pour produire des rails (entre autres). Le premier chemin de fer ouvert au public a ete le Surrey Iron Railway, ouvert en 1802 par Jessop4. Les convois etaient tractes par des chevaux. La premiere locomotive a vapeur a fonctionner sur des rails a ete construite par Richard Trevithick et essayee en 1804 a Merthyr Tydfil au Pays de Galles. Cette tentative ne fut pas couronnee de succes, l'engin etant si lourd qu'il brisait la voie. En 1811, John Blenkinsop concut la premiere locomotive reellement utilisable5. Il fit breveter (No 3431) un systeme de transport du charbon mu par une locomotive a vapeur. La ligne fut construite, raccordant Middleton Colliery a Leeds. La locomotive a ete construite par Matthew Murray de Fenton, Murray and Wood. Le Middleton Railway fut donc le premier chemin de fer a utiliser la vapeur avec succes dans un objectif commercial. C'est egalement le premier a faire l'objet d'actes juridiques. Le premier reseau voit le jour en Europe continentale dans la region de Saint-Etienne, en France, entre 1827 (Louis-Antoine Beaunier) et 1830 (Marc Seguin). En Europe et en Amerique du Nord, la periode de plus grand developpement du chemin de fer va de 1848 a 1914. Apres la Premiere Guerre mondiale, le chemin de fer continue a se developper, notamment les lignes secondaires a voie etroite, mais il est fortement concurrence, sur les courtes distances, par l'automobile et le camion. Apres la Seconde Guerre mondiale arrive la concurrence de l'avion sur les longues distances ; les lignes secondaires disparaissent. La crise petroliere de 1973 marque le debut du renouveau du chemin de fer, principalement pour les transports de voyageurs a l'interieur des grandes metropoles et grace a de nouvelles lignes intercites, parcourues par des trains a grande vitesse. La sustentation magnetique (dite Maglev), dont une ligne de 43 km a ete mise en exploitation en 2005 a Shanghai (Chine), pourrait devenir un concurrent viable. Результат виконання програми Microsoft Windows [Version 6.1.7601] (c) Корпорац?я Майкрософт (Microsoft Corp.), 2009. Ус? права захищено. C:\Users\StormShadow>Laba1.exe -i french.txt e = 814 s = 390 r = 377 a = 340 i = 337 t = 317 n = 313 o = 268 u = 229 l = 220 d = 199 c = 176 p = 136 m = 120 v = 77 , = 61 . = 53 f = 50 h = 48 g = 43 ' = 34 b = 32 L = 30 1 = 29 y = 26 x = 17 0 = 16 q = 12 E = 12 C = 12 8 = 12 I = 10 2 = 10 - = 9 ) = 9 ( = 9 j = 8 M = 8 3 = 8 S = 7 4 = 7 w = 6 9 = 6 7 = 6 5 = 6 k = 5 G = 5 A = 5 T = 4 R = 4 P = 4 J = 4 F = 4 D = 4 B = 4 V = 3 ] = 2 [ = 2 X = 2 W = 2 O = 2 N = 2 : = 2 6 = 2 U = 1 ? = 1 ; = 1 Кiлькiсть символiв: 5983 Розмiр словника: 67 / / Висновок При виконанні даної лабораторної роботи була розроблена програма, яка знаходить частоту зустрічання букв в французькій мові.
Антиботан аватар за замовчуванням

22.05.2013 20:05-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!