|
|
На: Russian AI Cup Codetroopers
Добавлено: 10 дек 13 4:37
|
Автор: daner а что именно смущает вас в их ответе? то что они вам не предложили побитовое сравнение? |
|
А побитка тоже не будет работать Автор: daner а пример технологии обязательно должен работать сегодня? и именно в России? |
|
Вам на форуме мало ненаучных фантастов и сферических коней в вакууме?
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 10 дек 13 10:51
Изменено: 10 дек 13 10:57
|
Автор: Victor G. Tsaregorodtsev А побитка тоже не будет работать
|
|
Конечно будет. Float специально так устроены что в битовом представлении имеют лексикографический порядок. Так что берете поинтер , приводите его к целому и сравниваете целые числа. ну при желании проверяете разницу в единицу (в целом представлении). Тут главное убедиться что компилятор выравнивание не сделал.
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 11 дек 13 5:25
Изменено: 11 дек 13 5:26
|
Автор: daner Конечно будет. Float специально так устроены что в битовом представлении имеют лексикографический порядок. |
|
Не будет. Не забываем про нормализацию (выделение константной двойки как основания степени, которая (двойка) потом отбрасывается) - поэтому мантиссы и экспоненты отличающихся на копейку чисел могут быть сильно различными. Пример (чисто с потолка - не компутерный) - разница между 1.00000 и 9.999999е-1 (я тут сделал нормализацию в виде помещения только одной значащей цифры перед запятой). И мантиссы, и экспоненты отличаются чуть ли не по всем битам, кроме знакового. Т.е. считайте, что ликвидацией константной двойки - акцентируются именно отличия (одинаковый бит - пропадает).
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 11 дек 13 7:19
|
Автор: Victor G. Tsaregorodtsev
Не будет. Не забываем про нормализацию (выделение константной двойки как основания степени, которая (двойка) потом отбрасывается) - поэтому мантиссы и экспоненты отличающихся на копейку чисел могут быть сильно различными. Пример (чисто с потолка - не компутерный) - разница между 1.00000 и 9.999999е-1 (я тут сделал нормализацию в виде помещения только одной значащей цифры перед запятой). И мантиссы, и экспоненты отличаются чуть ли не по всем битам, кроме знакового. Т.е. считайте, что ликвидацией константной двойки - акцентируются именно отличия (одинаковый бит - пропадает). |
|
я же не предлагал вам расстояния хемминга вычислять. я написал, что нужно перевернуть в целое (через поинтер) и проверить. Целые числа в вашем примере будут отличаться ОООООЧЕНЬ на чуть-чуть (ну буквально на 1 или 2)
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 11 дек 13 7:46
|
D.> сами изобретатели/исследователи вполне себе были технарями, нет, все-таки изобретателями предикатов, сетей, продукций (правил) были именно философы-логики, философы-психологи, философы-лингвисты. Притензии г.176. cмешны ('ИИ это инженерное дело!') как будто изобретать принципиальные идеи это инженерное дело. есть прямая и обратная трофическая пирамида - философы питаются опытом практики, но и практика питается разработкой общих идей и концепций. Кажется, вопрос выдохся естественым порядком и своею очевидностью. VGT> не надо исторических примеров а что поменялось? по-моему вы говорите о каком-то уж слишком прямолинейном подходе к реализации НТ-проекта. Как будто ныне не практикуются рабочие совещания, полуформальная клординация работ, политические игры вокруг вопросов бюджетирования, согласования интересов и требований, анализ (в т.ч. и неформальный) промежуточных результатов, многотуровые циклы проектирования-реализации..
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 12 дек 13 5:52
Изменено: 12 дек 13 6:14
|
Автор: daner я же не предлагал вам расстояния хемминга вычислять. я написал, что нужно перевернуть в целое (через поинтер) и проверить. Целые числа в вашем примере будут отличаться ОООООЧЕНЬ на чуть-чуть (ну буквально на 1 или 2) |
|
Таки чуть побольше может быть (в т.ч. и потому, что какие-то пары циферок-примеров комп не сможет представить точно - и исказит одну в одну сторону, другую - в другую). В общем, у меня для копеечных (при задании чисел в символьном виде) плавучих различий получались различия и на 5 целых единиц. Но всё равно. Вы тут говорите правильно - но как провести различия именно в последней значащей цифре? сколько целых единиц в качестве порога для сравнения возьмём?
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 12 дек 13 8:41
|
Автор: Victor G. Tsaregorodtsev
Таки чуть побольше может быть (в т.ч. и потому, что какие-то пары циферок-примеров комп не сможет представить точно - и исказит одну в одну сторону, другую - в другую). В общем, у меня для копеечных (при задании чисел в символьном виде) плавучих различий получались различия и на 5 целых единиц. Но всё равно. Вы тут говорите правильно - но как провести различия именно в последней значащей цифре? сколько целых единиц в качестве порога для сравнения возьмём? |
|
ну не знаю, как у вас там 5 получилось у меня с вашим пример вышло следующее CODE: #define INT(X) (*((int*)(&X))) #define DO(...) cout<<#__VA_ARGS__ <<endl; __VA_ARGS__ ; #define PRINT( X ) cout<<#X ": FLOAT="<<X<<", HEX="<<HEX<<INT(X)<<", INT="<<DEC<<INT(X)<<endl; #define HEX std::hex<<std::uppercase #define DEC std::dec std::cout.precision(7); std::cout<<std::scientific;
DO( float f1 = 1.00000, f2 = 9.999999E-1 ) PRINT(f1) PRINT(f2) DO( int delta = INT(f1)-INT(f2) ) cout<<"delta = "<<DEC<<delta<<endl; DO( INT(f2)++ ) PRINT(f2) DO( INT(f2)++ ) PRINT(f2)
RESULT: float f1 = 1.00000, f2 = 9.999999E-1 f1: FLOAT=1.0000000e+00, HEX=3F800000, INT=1065353216 f2: FLOAT=9.9999988E-01, HEX=3F7FFFFE, INT=1065353214 int delta = INT(f1)-INT(f2) delta = 2 INT(f2)++ f2: FLOAT=9.9999994E-01, HEX=3F7FFFFF, INT=1065353215 INT(f2)++ f2: FLOAT=1.0000000E+00, HEX=3F800000, INT=1065353216
так что, чем меньше единиц, тем точнее результат, в плане значимых цифр. Так как разница получается еще и относительная величине сравниваемых чисел, т.е. чем они больше, тем разница между двумя смежными числами больше. т.е. логическое значение этой самой дельты: сколько реальных (т.е. тех которые понимает компьютер) дробных чисел находится между двумя проверяемыми числами. На мой взгляд это максимум что можно выжать из компьютера.
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 13 дек 13 4:29
|
Автор: daner ну не знаю, как у вас там 5 получилось
|
|
А, я понял. Это результат моих более грубых опытов. А то когда задаёшь 2.0000000f и 2.0000001f - комп таки уравнивает оба числа (второе - округляет до двух), и я смотрел на разницы в шестой, а не седьмой цифре после запятой. Седьмая-то гарантируется не всегда. А вот для 2.000001f уже получается разница именно в 4 единицы до двойки (т.е. если бы я задал вместо 2.0000001f число 2.0000002f - то и получил бы единичную целую разницу, потому что округления до двойки не произошло бы). А где-то при единичной разнице в шестой цифре после запятой я получал и 5 единиц разницы целых, потому что первое число в паре не было точно представимо в плавучке, а исказилось чуть в противоположную сторону (до такого плавучего числа, до которого оказалось ближе).
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 14 дек 13 23:59
|
так разговор идет о различии между 0.01=.01+-.004 и 0.01=.010+-.0004? дефектность конструктивной арифметики по сравнению с 'идеальной' не свидетельствует, что естественный интеллект есть дефект интеллекта 'божественного', раз ему все-таки доступен контроль точности, ошибки округления и анализ численной устойчивости вычислительных схем.. просто студенты не всегда рефлексируют основания..
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 16 дек 13 2:23
|
Это не форум. Это водопад флуда. Как тему закрыть? А впрочем ... Помойки для флуда тоже нужны, дабы в других местах поменьше флуда было )
|
|
|
| |
|
На: Russian AI Cup Codetroopers
Добавлено: 18 дек 13 8:29
|
Если б столько времени и букв они вложили в код, выиграли бы макбук 15-дюймовый по сабжу. Но кто на что силен...
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 24 янв 15 2:24
|
Я всё понял. Обсуждение Вам больше не инетерсно. Волю запускает сознание... Ясно... А сознание что запускает? Воля?... Извините, что нагружаю. Спасибо за дискуссию.
Вот Вам совет: пользуйтесь позитивной логикой. Никогда не давайте определение через отрицание другого определения. Позитивно этот совет будет звучать так: всегда давайте определение через другие определения - избежите пустого словоблудия.
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 24 янв 15 2:34
|
Автор: Эгг (остерегайтесь подделок, у меня > 5907 сообщений)
Я всё понял. Обсуждение Вам больше не инетерсно. Волю запускает сознание... Ясно... А сознание что запускает? Воля?... Извините, что нагружаю. Спасибо за дискуссию.
...
|
|
Беседы поддержания для , но и не только... У буддистов (философов) воля почти тождественна сознанию. Вернее - осознанности.
|
|
|
|
На: Russian AI Cup Codetroopers
Добавлено: 24 янв 15 2:39
|
да не слова это имярека, это бот копипастит, интересно как ряд участников начинают разговаривать с железякой.
|
|
|
|