0 / 0 / 1
Регистрация: 08.12.2011
Сообщений: 69
1

Кодирование фразы Методом Шеннона-фано и Хаффмена

08.12.2011, 16:57. Показов 13525. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем))))
помогите мне написать программу,пожалуйста))))
мне необходимо написать программу на языке Visual Basic for Applications лучше в Excel про "кодирование фразы Методом Шеннона-фано и Хаффмена" например фразы


_ПАРК_БРОМ_БОРЩ_ЛУПА_ТРУД_
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2011, 16:57
Ответы с готовыми решениями:

Оптимальное кодирование, методы Шеннона-Фано и Хаффмена
Помогите, плиз.... а то не знаю, как решать.... << Составьте программу оптимального кодирования...

Кодирование методом Шеннона-Фано и Хаффмана
Добрый день уважаемые форумчане, не могу выполнить задание по дискретной математике, нужно написать...

Кодирование Шеннона-Фано
Как реализовать метод Шеннона-Фано без использования дерева?

Кодирование Фано-Шеннона
Добрый день. Есть недочет в коде, цель закодировать и декодировать строку алгоритмом Фано-Шеннона....

17
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
08.12.2011, 19:49 2
в каком объеме помощь то нужна
0
0 / 0 / 1
Регистрация: 08.12.2011
Сообщений: 69
08.12.2011, 20:34  [ТС] 3
ну если возможно то буду рад готовой программе,а если нет,то любой помощи
если честно то в программировании я ничего не смыслю а прогу нужно сдавать
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
08.12.2011, 20:40 4
если в
Цитата Сообщение от Yakov112 Посмотреть сообщение
в программировании я ничего не смыслю
то и
Цитата Сообщение от Yakov112 Посмотреть сообщение
то любой помощи
как таковой зачем
просто


Цитата Сообщение от Yakov112 Посмотреть сообщение
буду рад готовой программе
кстати, кажется это два в одном надо
0
0 / 0 / 1
Регистрация: 08.12.2011
Сообщений: 69
08.12.2011, 20:48  [ТС] 5
ну немного я понимаю,но это очень-очень мало((((

да в чем заключается
два в одном
?
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
08.12.2011, 21:20 6
Цитата Сообщение от Yakov112 Посмотреть сообщение
Методом Шеннона-фано и Хаффмена
вот буковка "И" тут скорей всегл указывает, что это 2 метода, хотя и очень похожи
0
0 / 0 / 1
Регистрация: 08.12.2011
Сообщений: 69
08.12.2011, 21:48  [ТС] 7
возможно и разные но сходятся к одному конечно, а вот что касается разности кодов в программе это я уже не представляю


gaw, так ты мне можешь помочь с ее написанием???ПОЖАЛУЙСТА,ПОМОГИ
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
08.12.2011, 22:14 8
Цитата Сообщение от Yakov112 Посмотреть сообщение
лучше в Excel
Кодирование текста!
1
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
08.12.2011, 22:15 9
ну раз
Цитата Сообщение от Yakov112 Посмотреть сообщение
любой помощи
тогда
Допустим, у нас есть следующая таблица частот:
15 7 6 6 5
А Б В Г Д

Этот процесс можно представить как построение дерева, корень которого — символ с суммой вероятностей объединенных символов, получившийся при объединении символов из последнего шага, его n0 потомков — символы из предыдущего шага и т. д.

Чтобы определить код для каждого из символов, входящих в сообщение, мы должны пройти путь от листа дерева, соответствующего этому символу, до корня дерева, накапливая биты при перемещении по ветвям дерева. Полученная таким образом последовательность битов является кодом данного символа, записанным в обратном порядке.

Для данной таблицы символов коды Хаффмана будут выглядеть следующим образом.
А Б В Г Д
0 100 101 110 111

Поскольку ни один из полученных кодов не является префиксом другого, они могут быть однозначно декодированы при чтении их из потока. Кроме того, наиболее частый символ сообщения А закодирован наименьшим количеством бит, а наиболее редкий символ Д — наибольшим.


ну естественно, что таблица частот - скоолько раз встречается буква
1
0 / 0 / 1
Регистрация: 08.12.2011
Сообщений: 69
08.12.2011, 22:38  [ТС] 10
Казанский, а можно комментарии попросить? в программе что каждый процесс объясняет?
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
08.12.2011, 22:51 11
Казанский
а вот в коде по ссылке, там двоичные коды по какому приципу набраны

я знаком с методом, о котором говорил Юра, а тут что то не вруб
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
08.12.2011, 22:52 12
Программа, как видите, не моя. В функции code каждая буква заменяется на соответствующую строку нулей и единиц. То есть считается, что дерево уже выращено и закодировано.
1
0 / 0 / 1
Регистрация: 08.12.2011
Сообщений: 69
08.12.2011, 23:09  [ТС] 13
теперь стало понятнее что к чему, а как тогда составить код дерева кодирования,причем для каждой фразы свое?
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
08.12.2011, 23:21 14
Цитата Сообщение от Казанский Посмотреть сообщение
дерево уже выращено
0
0 / 0 / 1
Регистрация: 08.12.2011
Сообщений: 69
08.12.2011, 23:49  [ТС] 15
gaw, не у оно то предполагаемо выращено,разве не так? а по методу то для каждого примера свое дерево,как я помню с пар,а тут не так вроде или я чего то не так понимаю
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
09.12.2011, 00:26 16
Цитата Сообщение от YuraAAA Посмотреть сообщение
Допустим, у нас есть следующая таблица частот:
15 7 6 6 5
А Б В Г Д
т.е. исходную фразу надо просчитать -- сколько раз в ней чего встречается
и получится вот такая таблица, понятно что для "коловорот" --- к-1 л-1 в-1 р-1 т-1 о-4
дальше надо считать вероятности к,л,в,р,т-1/9 о-4/9
в то же время для "колобок" это будет уже др таблица
0
0 / 0 / 1
Регистрация: 08.12.2011
Сообщений: 69
09.12.2011, 00:43  [ТС] 17
это я понимаю,но вот в программе куда этот поиск делся? там не ищется вероятность встречи букв, там сразу функцию запускают, хотя я еще не до конца разобрался и пока не понял все что там делается
0
406 / 75 / 6
Регистрация: 31.01.2011
Сообщений: 111
Записей в блоге: 1
09.12.2011, 11:20 18
Я тоже как то делал для себя метод шифрования, приложу слегка упрощенный вариант
может кому и сгодиться
Visual Basic
1
2
3
4
5
6
7
Public Function codepass(st As String)
Dim i&
For i = 1 To Len(st)
codepass = codepass & Format((Asc(Mid(st, i, 1)) + 2) * 2 + i + Len(st), "00000")
Next
codepass = StrReverse(codepass)
End Function
Visual Basic
1
2
3
4
5
6
7
8
Public Function decodePass(st As String)
Dim i&, x&
st = StrReverse(st)
For i = 1 To Len(st) Step 5
x = x + 1
decodePass = decodePass & Chr((CLng(Mid(st, i, 5)) - x - (Len(st) / 5)) / 2 - 2)
Next
End Function
1
09.12.2011, 11:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.12.2011, 11:20
Помогаю со студенческими работами здесь

Кодирование Шеннона-Фано
Окей мы посчитали вероятности символов и прочие штуки.. Далее нужно создать таблицу уник....

Код Шеннона-Фано кодирование и декодирование
Нужно с помощью матлаб написать программу, которая кодирует буквы, цифры введенные с клавиатуры в...

Кодирование+декодирование методами Шеннона-Фано и Хемминга
Требуется сабж на Delphi. Дается файл, который следует закодировать, потом полученный...

Шифрование методом Шеннона-Фано
Помогите пожалуйста создать на Java код который будет шифровать методом Шеннона фано плз).


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru