|
|
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. В книге "Алгоритмические трюки для программистов" Генри Уоренна встретил следующую теорему Генри Уоренн Теорема . Функция, отображающая слова в слова, может быть реализована посредством операций побитового сложения, вычитания, и, или, отрицания тогда и только тогда, когда каждый бит результата зависит только от битов исходных операндов в той же позиции и правее нее. Доказательство не приводится. Подскажите где найти доказательство, либо докажите эту теорему. Если эта теорема действительно имеет место быть, то возможно следует сформулировать как: Генри Уоренн Теорема . Функция, отображающая последовательность бит в последовательность бит, может быть реализована посредством операций побитового сложения, вычитания, и, или, отрицания тогда и только тогда, когда каждый бит результата зависит только от битов исходных операндов в той же позиции и правее нее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2014, 04:38 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Далее идёт, Ал трюки для программистов, УорренНаибольший интерес представляет утверждение, что любая из функций сложения, вычитания, и, или и не может быть вычислена справа налево, так что любая комбинация этих функций также обладает этим свойством, т.е. может быть вычислена справа налево. Таким образом, следует вывод (по Уоррену, и я с ним согласен), что любая комбинация этих функций, может быть вычислена справа налево. (Хотя опять таки, должно быть строгое математическое описание пространства, и свойств операций, наверняка где-то есть) Осталось только найти факт того, что любой оператор отображающий слова в слова представим в виде комбинаций функций побитового сложения, вычитания, и, или, отрицания (т.е эти операции образуют, в некотором смысле, базис ). И тогда мы докажем эту теорему частично. Мы не докажем фразу "тогда и только тогда". Тут нужно подумать. PS. Уже прошёл день. Неужели ни у кого нет мыслей ? Это ведь интересно ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 02:52 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryPS. Уже прошёл день. Неужели ни у кого нет мыслей ? Это ведь интересно ! эммм. нет :) Это не интересно. Сорри :) Не... возможно это интересно конечно, но в данном случае теорема настолько вырвана из контекста, что мне например не понятно о чём речь. 1. "отображающая слова в слова" - не понятен термин "отображающая" 2. "когда каждый бит результата зависит только от битов исходных операндов в той же позиции и правее нее." - это математика... какой класс не помню )) второй наверное :). Мы складываем и отнимаем числа справа-налево (от меньшего разряда к большему). операция же побитового отрицания вообще считается бит в бит (ну то есть на значение определённого бита влияет только бит операнда в той же позиции). Потому даже не знаю :) Это не теорема... это просто правило счёта. Аксиома... Если бы наша система счёта была другой, она могла бы предусматривать совсем другие правила (например возьмём римские числа... к ним почти ни одно правило греческого счёта не применимо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 10:33 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Отображение. Представьте множество элементов А и B. Представьте закон, по которому каждому элементу a принадлежащему А, однозначно ставится в соответствие элемент b принадлежащий B. Этот закон и есть отображение множества А на множество B. По простому функция или оператор. Например, пусть задано множество слов (все вариации байта, от 0000 0000 до 1111 1111), обозначим это множество за B. Оператор P действующий из B в B(P=B->B), это и есть отображение. Например, оператором P может быть: P(b)=b&(b-1), этот оператор будет устанавливать первый правый бит равный 1 в 0. Не уверен что это аксиома, да и автор говорит о том что доказательство существует. Видимо нужно копать либо в теории чисел, либо в булевой алгебре ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 15:21 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
"Ты не умничай, ты пальцем покажи" (с) :) из анекдотов SashaMercury, ты какую-то заумную формулировку выдернул из книжки и просишь ее обосновать. Может она вырвана из контекста, может полностью содержит все необходимое в себе, но без примеров никто ее не хочет даже пытаться понять. Приведи конкретные примеры применения этой теоремы. Тут нет теоретиков, тут все практики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 15:36 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
SashaMercury... Не уверен что это аксиома, да и автор говорит о том что доказательство существует. Видимо нужно копать либо в теории чисел, либо в булевой алгебре Так, с определением скудненько конечно, но разобрались. отображение - это применение (вычисление) некой функции к заданному значению (аргументу). по поводу теоремы. Как я говорил всё зависит от системы счёта (точнее от системы записи числа). А давайте записывать числа справа-налево (то есть меньший разряд находится левее... как например числа представлены у интеловцов (intel) в оперативке). Теперь Ваша теорема побитового сложения и вычитания работает? )) Нет... потому что теперь бит зависит наоборот от битов находящихся левее данного :). Потому это не теорема... это просто правило ведения счёта и записи чисел (слева-направо)... изменения этих правил рушит данную "теорему". Потому это аксиома (общепринятое правило, определение). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 16:04 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
УорренТеорема. Функция, отображающая слова в слова, может быть реализована посредством операций побитового сложения, вычитания, и, или, отрицания тогда и только тогда, когда каждый бит результата зависит только от битов исходных операндов в той же позиции и правее нее. У нас есть некий оператор над байтом. Мы "действуем оператором P" на слово x, ( в математике пишут Px). Неизвестно как именно мы подействовали. Ну вот вам пример: x-старый байт y-получившийся байт оператор P: y0=x0; y1=x0&x1; y2=x0&x1&x2; . . . y7=x0&x1&x2...&x7. Обратите внимание, при получении каждого бита y c индексом j, мы используем только байты x с индексами i<=j. Согласно теореме, я могу представить оператор P в виде комбинации операций побитового сложения, и, или, отрицания. Подумаю завтра какая формула будет для этого случая. Теперь, пусть некий оператор K, будет задан таким образом: y0=x0; y1=x0&x7; ... y7=x7; Как вы заметили, второй бит байта y, считается через 8 бит байта x. Это противоречит условию теоремы, и потому оператор K, мы не сможем записать в виде комбинаций побитового сложения, и, или, отрицания. Согласен с вами, Дмитрий, формулировка не совсем хорошая, на мой взгляд. Програмёр, мне понятно почему вы настаиваете на том, что это аксиома. Возможно, вы поняли теоремутак: Над байтом можно делать операций побитовой суммы, разности, побитовых и, или, не, в том случае, когда каждый бит результата зависит от предыдущих. это неправильно, смысл, с большой долей вероятности другой. А именно, как я описал выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 17:14 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Мне пора. Надеюсь завтра теорема сдвинется. И Моуринью выиграет Атлетико ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 17:27 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Спасибо за ваши мысли C: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 17:27 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Пока чистил зубы, думал. Разобрался со своим же примером, оператор P представим в виде: not_x&(x+1) - 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 17:56 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryУорренТеорема. Функция, отображающая слова в слова, может быть реализована посредством операций побитового сложения, вычитания, и, или, отрицания тогда и только тогда, когда каждый бит результата зависит только от битов исходных операндов в той же позиции и правее нее. У нас есть некий оператор над байтом. Мы "действуем оператором P" на слово x, ( в математике пишут Px). Неизвестно как именно мы подействовали. Ну вот вам пример: x-старый байт y-получившийся байт оператор P: y0=x0; y1=x0&x1; y2=x0&x1&x2; . . . y7=x0&x1&x2...&x7. Обратите внимание, при получении каждого бита y c индексом j, мы используем только байты x с индексами i<=j. Согласно теореме, я могу представить оператор P в виде комбинации операций побитового сложения, и, или, отрицания. Подумаю завтра какая формула будет для этого случая. Теперь, пусть некий оператор K, будет задан таким образом: y0=x0; y1=x0&x7; ... y7=x7; Как вы заметили, второй бит байта y, считается через 8 бит байта x. Это противоречит условию теоремы, и потому оператор K, мы не сможем записать в виде комбинаций побитового сложения, и, или, отрицания. Согласен с вами, Дмитрий, формулировка не совсем хорошая, на мой взгляд. Програмёр, мне понятно почему вы настаиваете на том, что это аксиома. Возможно, вы поняли теоремутак: Над байтом можно делать операций побитовой суммы, разности, побитовых и, или, не, в том случае, когда каждый бит результата зависит от предыдущих. это неправильно, смысл, с большой долей вероятности другой. А именно, как я описал выше Я ни в коем случае не настаиваю. Даже больше, я изначально признался что не совсем понимаю что именно означает данная формулировка. В моём понимании, это просто констатация факта, что мы не можем выразить число с помощью комбинации функций суммы, разницы или побитовых логических операций, в случае если на значение какого либо бита результата влияет бит операнда стоящий на "высшей" позиции. Это вполне логично... но математическому обоснованию (я так думаю по крайней мере) не подлежит. На уровне восприятия это объясняется тем, что мы при вычислении простых математических и логических операций (кроме умножения и деления, которые, кстати, тут не вспоминаются по указанным причинам) переносим десятки, а не десятые... потому каждый разряд операнда может влиять на тот же разряд результата, или же на более значимые (стоящие левее). А вообще, в читаемой Вами книжке изложены какие-то теоремы, заставляющие Вас задуматься об их обоснованности, при чём я не вижу для них явного практического применения. А Вы? Просто если и Вы не видите, так зачем тогда на таких "теоремах" зацикливаться? Даже больше... я бы задумался о правильности выбора книги :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 22:15 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
P.S. Под "слово" в данном случае подразумевается беззнаковое число (ну то есть аналог word в asm?). Просто только в этом случае представленное в первом посте умозаключение будет верным.... Иначе же, как только числа становятся знаковыми (signed), есть большая разница в операциях 0x0001+0x0001 и 0x0001+0x1001. Ещё раз повторю, практическое применение теоремы спорно, и учитывая что чаще приходится работать со знаковыми величинами, данная теорема может ввести в заблуждение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2014, 22:28 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Формула для оператора P не верна, не подходит для x=1111 1111 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2014, 03:02 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Програмёр P.S. Под "слово" в данном случае подразумевается беззнаковое число (ну то есть аналог word в asm?). Просто только в этом случае представленное в первом посте умозаключение будет верным.... Иначе же, как только числа становятся знаковыми (signed), есть большая разница в операциях 0x0001+0x0001 и 0x0001+0x1001. Книга не там где у меня компьютер, но возможно речь идёт о беззнаковых, позже проверю. Програмёр Ещё раз повторю, практическое применение теоремы спорно, и учитывая что чаще приходится работать со знаковыми величинами, данная теорема может ввести в заблуждение. Нууу. Как минимум оптимизация различных операций с байтами, за счёт замены на побитовые короткие аналоги. На например с приведённым оператором P. Пусть W -множество всех байт от 0000 0000 до 1111 1111, тогда W/1111 1111 множество W без 1111 1111(от 0000 0000 до 1111 1110). Допустим мы ввели оператор P действующий из W/1111 1111->W/1111 1111 как я говорил выше: y0=x0; y1=x0&x1; y2=x0&x1&x2; . . . y7=x0&x1&x2...&x7. Для получения y мы используем 7*3=32 операции &. Если же мы, зная эту теорему, подумаем и получем аналогичную запись оператора P в виде not_x&(x+1) - 1, мы затратим три операции. Т.о. как минимум это оптимизация, а в более широком смысле мне кажется что это достаточно фундаментальная теорема, и достаточно важная. авторя бы задумался о правильности выбора книги :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2014, 05:52 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Програмёр А вообще, в читаемой Вами книжке изложены какие-то теоремы, заставляющие Вас задуматься об их обоснованности, при чём я не вижу для них явного практического применения. А Вы? Просто если и Вы не видите, так зачем тогда на таких "теоремах" зацикливаться? Даже больше... я бы задумался о правильности выбора книги :) Книга очень хорошая, я её уже просмотрел, буду читать. Мне очень нравится, и вам рекомендую ;) Она не может не понравится программисту :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2014, 05:55 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
7*4=28 прошу прощение, написал одно, в голове посчитал другое (8*4), а написал третье :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.05.2014, 05:57 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. К этой теореме автор ссылается на журнал Communication of the ACM 20 - 1977 -6. На статью Henry S. Warren Jr.: Functions Realizable with Word-Parallel Logical and Two's-Complement Addition Instructions. 439-441 . Но она платная. Может быть кто-нибудь знает где можно найти её бесплатно ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2014, 04:36 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
SashaMercuryЗдравствуйте. К этой теореме автор ссылается на журнал Communication of the ACM 20 - 1977 -6. На статью Henry S. Warren Jr.: Functions Realizable with Word-Parallel Logical and Two's-Complement Addition Instructions. 439-441 . Но она платная. Может быть кто-нибудь знает где можно найти её бесплатно ? Да выучи ты петушка наконец, и доказывай сколько душе угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2014, 09:47 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Это не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2014, 13:50 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
SashaMercury, вспомни алгебру, решение системы линейных уравнений через треугольную матрицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2014, 15:26 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov вспомни алгебру, решение системы линейных уравнений через треугольную матрицу. о Господи. Вам могу вспомнить n методов решения СЛАУ: метод градиентного спуска, метод прогонки, релаксации, Якоби, и наконец школьные матричный, Крамера, Гаусса.. и я не расписываю все проекционные методы в конце концов. Как мне это поможет ? Не говорите абстрактно, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2014, 16:12 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Мне пора..Александр, если вы докажете, будет здорово, удачи ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2014, 16:29 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Во время водных процедур ваша мысль мне стала понятна, вы имеете ввиду обратный ход. Но доказательство из этого не сложилось. Нарисуйте пожалуйста вашу версию полностью. PS Лично у меня загвоздка в том чтобы показать какие операции образуют базис. И почему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2014, 16:45 |
|
||
|
Доказательство теормы. Поиск доказательства либо докажите сами.
|
|||
|---|---|---|---|
|
#18+
Это не опечатка, я имею ввиду именно операции а не элементы. Просто так более понятно что я хочу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2014, 16:47 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38633213&tid=1341373]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
153ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 499ms |

| 0 / 0 |
