powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Доказательство теормы. Поиск доказательства либо докажите сами.
25 сообщений из 29, страница 1 из 2
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38628359
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. В книге "Алгоритмические трюки для программистов" Генри Уоренна встретил следующую теорему
Генри Уоренн Теорема . Функция, отображающая слова в слова, может быть реализована посредством операций побитового сложения, вычитания, и, или, отрицания тогда и только тогда, когда каждый бит результата зависит только от битов исходных операндов в той же позиции и правее нее.


Доказательство не приводится. Подскажите где найти доказательство, либо докажите эту теорему.
Если эта теорема действительно имеет место быть, то возможно следует сформулировать как:
Генри Уоренн Теорема . Функция, отображающая последовательность бит в последовательность бит, может быть реализована посредством операций побитового сложения, вычитания, и, или, отрицания тогда и только тогда, когда каждый бит результата зависит только от битов исходных операндов в той же позиции и правее нее.
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38629608
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее идёт,
Ал трюки для программистов, УорренНаибольший интерес представляет утверждение, что любая из функций сложения, вычитания, и, или и не может быть вычислена справа налево, так что любая комбинация этих функций также обладает этим свойством, т.е. может быть вычислена справа налево.


Таким образом, следует вывод (по Уоррену, и я с ним согласен), что любая комбинация этих функций, может быть вычислена справа налево. (Хотя опять таки, должно быть строгое математическое описание пространства, и свойств операций, наверняка где-то есть)

Осталось только найти факт того, что любой оператор отображающий слова в слова представим в виде комбинаций функций побитового сложения, вычитания, и, или, отрицания (т.е эти операции образуют, в некотором смысле, базис ).

И тогда мы докажем эту теорему частично. Мы не докажем фразу "тогда и только тогда". Тут нужно подумать.

PS. Уже прошёл день. Неужели ни у кого нет мыслей ? Это ведь интересно !
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38629831
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercuryPS. Уже прошёл день. Неужели ни у кого нет мыслей ? Это ведь интересно !

эммм. нет :) Это не интересно. Сорри :)

Не... возможно это интересно конечно, но в данном случае теорема настолько вырвана из контекста, что мне например не понятно о чём речь.

1. "отображающая слова в слова" - не понятен термин "отображающая"
2. "когда каждый бит результата зависит только от битов исходных операндов в той же позиции и правее нее." - это математика... какой класс не помню )) второй наверное :). Мы складываем и отнимаем числа справа-налево (от меньшего разряда к большему). операция же побитового отрицания вообще считается бит в бит (ну то есть на значение определённого бита влияет только бит операнда в той же позиции).


Потому даже не знаю :) Это не теорема... это просто правило счёта. Аксиома... Если бы наша система счёта была другой, она могла бы предусматривать совсем другие правила (например возьмём римские числа... к ним почти ни одно правило греческого счёта не применимо)
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630260
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отображение.

Представьте множество элементов А и B. Представьте закон, по которому каждому элементу a принадлежащему А, однозначно ставится в соответствие элемент b принадлежащий B. Этот закон и есть отображение множества А на множество B. По простому функция или оператор.

Например, пусть задано множество слов (все вариации байта, от 0000 0000 до 1111 1111), обозначим это множество за B.
Оператор P действующий из B в B(P=B->B), это и есть отображение.

Например, оператором P может быть: P(b)=b&(b-1), этот оператор будет устанавливать первый правый бит равный 1 в 0.



Не уверен что это аксиома, да и автор говорит о том что доказательство существует. Видимо нужно копать либо в теории чисел, либо в булевой алгебре
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630295
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Ты не умничай, ты пальцем покажи" (с) :) из анекдотов

SashaMercury, ты какую-то заумную формулировку выдернул из книжки и просишь ее обосновать. Может она вырвана из контекста, может полностью содержит все необходимое в себе, но без примеров никто ее не хочет даже пытаться понять. Приведи конкретные примеры применения этой теоремы. Тут нет теоретиков, тут все практики.
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630343
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury...

Не уверен что это аксиома, да и автор говорит о том что доказательство существует. Видимо нужно копать либо в теории чисел, либо в булевой алгебре

Так, с определением скудненько конечно, но разобрались. отображение - это применение (вычисление) некой функции к заданному значению (аргументу).

по поводу теоремы. Как я говорил всё зависит от системы счёта (точнее от системы записи числа). А давайте записывать числа справа-налево (то есть меньший разряд находится левее... как например числа представлены у интеловцов (intel) в оперативке).
Теперь Ваша теорема побитового сложения и вычитания работает? )) Нет... потому что теперь бит зависит наоборот от битов находящихся левее данного :).

Потому это не теорема... это просто правило ведения счёта и записи чисел (слева-направо)... изменения этих правил рушит данную "теорему". Потому это аксиома (общепринятое правило, определение).
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630448
Фотография 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, мы не сможем записать в виде комбинаций побитового сложения, и, или, отрицания.


Согласен с вами, Дмитрий, формулировка не совсем хорошая, на мой взгляд.

Програмёр, мне понятно почему вы настаиваете на том, что это аксиома.
Возможно, вы поняли теоремутак:
Над байтом можно делать операций побитовой суммы, разности, побитовых и, или, не, в том случае, когда каждый бит результата зависит от предыдущих.
это неправильно, смысл, с большой долей вероятности другой. А именно, как я описал выше
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630463
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне пора. Надеюсь завтра теорема сдвинется. И Моуринью выиграет Атлетико ;)
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630464
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ваши мысли C:
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630499
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока чистил зубы, думал. Разобрался со своим же примером, оператор P представим в виде:
not_x&(x+1) - 1
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630653
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, мы не сможем записать в виде комбинаций побитового сложения, и, или, отрицания.


Согласен с вами, Дмитрий, формулировка не совсем хорошая, на мой взгляд.

Програмёр, мне понятно почему вы настаиваете на том, что это аксиома.
Возможно, вы поняли теоремутак:
Над байтом можно делать операций побитовой суммы, разности, побитовых и, или, не, в том случае, когда каждый бит результата зависит от предыдущих.
это неправильно, смысл, с большой долей вероятности другой. А именно, как я описал выше

Я ни в коем случае не настаиваю. Даже больше, я изначально признался что не совсем понимаю что именно означает данная формулировка. В моём понимании, это просто констатация факта, что мы не можем выразить число с помощью комбинации функций суммы, разницы или побитовых логических операций, в случае если на значение какого либо бита результата влияет бит операнда стоящий на "высшей" позиции.

Это вполне логично... но математическому обоснованию (я так думаю по крайней мере) не подлежит. На уровне восприятия это объясняется тем, что мы при вычислении простых математических и логических операций (кроме умножения и деления, которые, кстати, тут не вспоминаются по указанным причинам) переносим десятки, а не десятые... потому каждый разряд операнда может влиять на тот же разряд результата, или же на более значимые (стоящие левее).


А вообще, в читаемой Вами книжке изложены какие-то теоремы, заставляющие Вас задуматься об их обоснованности, при чём я не вижу для них явного практического применения. А Вы? Просто если и Вы не видите, так зачем тогда на таких "теоремах" зацикливаться? Даже больше... я бы задумался о правильности выбора книги :)
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630664
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S. Под "слово" в данном случае подразумевается беззнаковое число (ну то есть аналог word в asm?). Просто только в этом случае представленное в первом посте умозаключение будет верным.... Иначе же, как только числа становятся знаковыми (signed), есть большая разница в операциях 0x0001+0x0001 и 0x0001+0x1001.

Ещё раз повторю, практическое применение теоремы спорно, и учитывая что чаще приходится работать со знаковыми величинами, данная теорема может ввести в заблуждение.
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630766
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формула для оператора P не верна, не подходит для x=1111 1111
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630773
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр 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,
мы затратим три операции.

Т.о. как минимум это оптимизация, а в более широком смысле мне кажется что это достаточно фундаментальная теорема, и достаточно важная.


авторя бы задумался о правильности выбора книги :)
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630774
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр А вообще, в читаемой Вами книжке изложены какие-то теоремы, заставляющие Вас задуматься об их обоснованности, при чём я не вижу для них явного практического применения. А Вы? Просто если и Вы не видите, так зачем тогда на таких "теоремах" зацикливаться? Даже больше... я бы задумался о правильности выбора книги :)


Книга очень хорошая, я её уже просмотрел, буду читать. Мне очень нравится, и вам рекомендую ;) Она не может не понравится программисту :)
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38630775
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
7*4=28
прошу прощение, написал одно, в голове посчитал другое (8*4), а написал третье :D
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38632695
Фотография 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 . Но она платная. Может быть кто-нибудь знает где можно найти её бесплатно ?
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38632810
Strangecat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 . Но она платная. Может быть кто-нибудь знает где можно найти её бесплатно ?

Да выучи ты петушка наконец, и доказывай сколько душе угодно.
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38633213
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не то.
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38633366
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,

вспомни алгебру, решение системы линейных уравнений через треугольную матрицу.
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38633465
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahov вспомни алгебру, решение системы линейных уравнений через треугольную матрицу.

о Господи. Вам могу вспомнить n методов решения СЛАУ: метод градиентного спуска, метод прогонки, релаксации, Якоби, и наконец школьные матричный, Крамера, Гаусса.. и я не расписываю все проекционные методы в конце концов.

Как мне это поможет ? Не говорите абстрактно, пожалуйста.
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38633500
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне пора..Александр, если вы докажете, будет здорово, удачи ;)
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38633527
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во время водных процедур ваша мысль мне стала понятна, вы имеете ввиду обратный ход. Но доказательство из этого не сложилось. Нарисуйте пожалуйста вашу версию полностью.
PS
Лично у меня загвоздка в том чтобы показать какие операции образуют базис. И почему
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38633529
Фотография SashaMercury
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не опечатка, я имею ввиду именно операции а не элементы. Просто так более понятно что я хочу
...
Рейтинг: 0 / 0
Доказательство теормы. Поиск доказательства либо докажите сами.
    #38633636
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMercury,

А насчет базиса все довольно просто:
для отдельного бита справедливы все законы алгебры логики,
в частности, способ построения ДНФ.
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Доказательство теормы. Поиск доказательства либо докажите сами.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]