2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1 ... 44, 45, 46, 47, 48
 
 Re: Тестирование возможностей ChatGPT
Сообщение14.10.2024, 12:18 


01/09/14
478
Есть такая формула Таппера, которая у меня вызвала лёгкое недопонимание. Чат помог разобраться, хотя и не без напряга.

(Оффтоп)

Раскажи про формулу Таппера вкратце без многословия

ChatGPT
Думал на протяжении 5 секунд
Формула Таппера — математическая формула, которая при определенном построении графика отображает своё собственное изображение.

Приведи эту формулу без пояснений

$\[
\frac{1}{2} < \left\lfloor \mod\left( \left\lfloor \dfrac{y}{17} \right\rfloor \cdot 2^{ -17 \left\lfloor x \right\rfloor - \mod\left( \left\lfloor y \right\rfloor, 17 \right)}, 2 \right) \right\rfloor
\]$

Что такое игрек и икс в этой формуле?

В этой формуле
x и y — переменные, представляющие координаты на плоскости:
x: горизонтальная координата (обычно в диапазоне от 0 до 106).
y: вертикальная координата, связанная с закодированным изображением; это большое число, которое определяет, какое изображение будет отображено при построении графика неравенства.
При построении графика этого неравенства с указанными x и y, формула визуализирует закодированное в
y изображение.

Как в переменной может быть что-то закодировано? Например, мы строим график f(x) у нас есть формула и переменная икс, которая может быть любым действительным числом. В переменной икс нет битов, чтобы что-то кодировать. Звучит как полная бессмыслица.

Вы правы, обычно переменные x и y в математических функциях принимают любые значения из определенного диапазона. Однако в формуле Таппера y играет особую роль: это большое фиксированное число, которое содержит закодированное изображение.

Пример для наглядности:

Представьте, что у вас есть изображение размером 17 пикселей по высоте.
Вы преобразуете это изображение в двоичный код и объединяете все биты в одно большое число y.
Используя формулу Таппера с этим y, вы строите график неравенства. В результате на графике появляется исходное изображение.

Я не понимаю. Мы вместо икс и игрек подставляем координаты, чтобы узнать закрасить точку или не закрасить. Вместе с тем игрек это большое фиксированное число. Если мы подставляем вместо игрек 0, то что происходит с этим числом, оно заменяется нулём?

Понимаю ваше замешательство. В формуле Таппера есть особенность: хотя она записана с переменными x и y, на практике y выступает как фиксированное большое число, а x и y в неравенстве используются для перебора координат при построении графика.

Хотя y присутствует в формуле как переменная, при построении графика она варьируется в небольшом диапазоне над фиксированным значением k. Формула использует значения x и y для извлечения соответствующих битов из k, чтобы определить, закрасить ли пиксель в точке (x,y).

Что происходит, если подставить y=0:

Если вы подставите y=0 в формулу, она не сможет правильно извлечь биты из k, поскольку формула рассчитана на y в диапазоне от k до k+17.

не понимаю, если там есть k, то почему его явно не вписать в формулу, сделай это

Хорошо, давайте запишем **формулу Таппера** с явным указанием константы $\( k \)$:

$\frac{1}{2} < \left\lfloor \mod\left( \left\lfloor \dfrac{k + v}{17} \right\rfloor \cdot 2^{ -17 \left\lfloor x \right\rfloor - \mod\left( k + v, 17 \right)}, 2 \right) \right\rfloor$

Здесь:

- $\( k \)$ — фиксированное большое число, в котором закодировано изображение.
- $\( v \)$ — переменная, принимающая целые значения от 0 до 16, соответствующие вертикальным позициям пикселей в изображении.

 Профиль  
                  
 
 Re: Тестирование возможностей ChatGPT
Сообщение16.10.2024, 00:36 


04/07/23
62
Задал боту старую задачку с форума по рег. выражению от wrest Загадочный regexp.
Сначала бот ответил так

(Оффтоп)

Это регулярное выражение состоит из двух частей, разделенных символом "|", который означает логическое "или".

Первая часть: ^.?$

^ соответствует началу строки.
. соответствует любому символу (кроме символа новой строки).
? делает предыдущий символ необязательным, т.е. он может встречаться 0 или 1 раз.
$ соответствует концу строки.
Итак, первая часть регулярного выражения соответствует строкам, которые содержат не более одного символа.

Вторая часть: ^(..+?)\1+$

^ соответствует началу строки.
(..+?) - группа, соответствующая двум или более символам (любым, кроме символа новой строки). Знак "?" после "+" делает квантификатор жадностью, т.е. он будет соответствовать как можно меньшему количеству символов.
\1 - обратная ссылка на первую группу, т.е. она соответствует той же последовательности символов, что и первая группа.
+ после \1 означает, что эта последовательность должна встречаться один или более раз.
$ соответствует концу строки.
Итак, вторая часть регулярного выражения соответствует строкам, которые состоят из повторяющейся последовательности символов (длиной 2 или более символов).

В целом, это регулярное выражение соответствует строкам, которые либо пусты, либо содержат только один символ, либо состоят из повторяющейся последовательности символов (например, "ababab", "123123123", но не "ababc" или "123456").

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

(Оффтоп)

Да, строка "aaa" подходит под это выражение. Вторая часть регулярного выражения, ^(..+?)\1+$, требует повторяющейся последовательности длиной 2 или более символов, но в данном случае повторяющаяся последовательность состоит из одного символа "a", который повторяется три раза.

Однако, из-за того, что (..+?) требует как минимум 2 символов, эта часть выражения не может соответствовать строке "aaa" напрямую.

Но, первая часть выражения, ^.?$, не подходит, поскольку строка "aaa" содержит более одного символа.

Однако, если мы рассмотрим вторую часть выражения более внимательно, то увидим, что (..+?) может соответствовать двум символам "aa", а затем \1+ может соответствовать последнему символу "a", который является повторением предыдущей последовательности "aa" не в полном объеме, а как часть повторяющейся последовательности "a".

Но это не так, поскольку (..+?) требует как минимум 2 символов.

Однако, выражение ^(..+?)\1+$ не требует, чтобы повторяющаяся последовательность была самой короткой возможной, она просто требует, чтобы она была повторена полностью хотя бы один раз.

Итак, строка "aaa" на самом деле соответствует выражению, если рассматривать повторяющуюся последовательность как "a", но не как часть (..+?), а как часть \1+. Но это не так, поскольку (..+?) требует как минимум 2 символов.

На самом деле, строка "aaa" соответствует выражению, если считать, что (..+?) соответствует "aa", но \1+ соответствует только "a", что не является полным повторением "aa".

Но это не так.

На самом деле, строка "aaa" соответствует выражению, потому что (..+?) может соответствовать "a" и еще одному символу, который является частью повторяющейся последовательности, и \1+ может соответствовать оставшимся символам.

Но это не так, поскольку (..+?) требует как минимум 2 символов.

Но это выражение на самом деле соответствует строке "aaa", потому что есть еще одна возможность: (..+?) может соответствовать "aa" и \1+ не может соответствовать, но выражение имеет еще одну часть: ^.?$|..., которая не соответствует, но есть еще одна возможность для (..+?), а именно: (..+?) может соответствовать "a" и еще одному символу "a", который является частью повторяющейся последовательности из одного символа "a", и \1+ может соответствовать оставшемуся символу "a".

И это действительно так.

Итак, да, строка "aaa" на самом деле соответствует этому выражению.

 Профиль  
                  
 
 Re: Тестирование возможностей ChatGPT
Сообщение16.10.2024, 00:57 


01/09/14
478
Регулярные выражения это то ещё извращение. Я когда-то изучил, а потом напрочь забыл. И оказалось - правильно сделал. Теперь можно попросить бота и он выдаст тебе нужную регулярку по описанию.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 708 ]  На страницу Пред.  1 ... 44, 45, 46, 47, 48

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group