Здравствуйте, Privalov, Вы писали:
S>>Давайте попробуем еще раз — но чтобы решением был код. P>Пусть матрицу Гильберта обернёт, размером 10х10, и чтобы относительная погрешность не более 5%.
Дайте задание так, как давали бы человеку. На каком ЯП должен быть результат и т.д. Давайте честно.
Здравствуйте, inoremap, Вы писали:
I>Полгода назад понадобился способ поиска последовательности байт в потоке на python, без считывания всех данных потока в память, гугл нашел вариант https://stackoverflow.com/questions/73841021/find-a-pattern-in-a-stream-of-bytes-read-in-blocks который мне не подошел, сейчас уже не вспомню по какой причине, все генераторы кода, что я попробовал, выдавали нерабочие варианты, иногда состоящие из частей кода ответа на stackoverflow.
Типа такого:
def find_sequence_in_stream(stream, sequence, buffer_size=4096):
# Буфер для хранения части потока, которая может содержать начало искомой последовательности
buffer = b''while True:
# Читаем данные из потока
data = stream.read(buffer_size)
if not data:
# Если поток закончился, выходимbreak# Объединяем предыдущие данные с новыми
data = buffer + data
# Пытаемся найти последовательность
index = data.find(sequence)
if index != -1:
# Если последовательность найдена, возвращаем её позициюreturn index
# Оставляем в буфере последние байты на случай, если последовательность пересекает границу порций
buffer = data[-len(sequence) + 1:]
# Если последовательность не найдена, возвращаем -1return -1
Здравствуйте, Shmj, Вы писали:
P>>Пусть матрицу Гильберта обернёт, размером 10х10, и чтобы относительная погрешность не более 5%.
S>Дайте задание так, как давали бы человеку. На каком ЯП должен быть результат и т.д. Давайте честно.
Именно так это задание и звучало, когда я работал в НИИ.
Вычислить матрицу, обратную матрице Гильберта. 10х10. Относительная погрешность не более 5%.
P.S. Напомнило рассказ, где искусственный интеллигент отвергал любые вопросы на том основании, что они неверно сформулированы.
Здравствуйте, Privalov, Вы писали:
P>Именно так это задание и звучало, когда я работал в НИИ. P>Вычислить матрицу, обратную матрице Гильберта. 10х10. Относительная погрешность не более 5%.
Так вам был ясен контекст. Дайте задачу так, как будто к вам в НИИ пришел совсем новый человек и вы даете ему задание таким образом, чтобы у него не осталось вопросов.
Здравствуйте, Shmj, Вы писали:
S>Так вам был ясен контекст. Дайте задачу так, как будто к вам в НИИ пришел совсем новый человек и вы даете ему задание таким образом, чтобы у него не осталось вопросов.
Ну вот, я же говорил. ИИ не понимает вопросы. Со всей шириной его охвата и знанием всех языков мира.
Он не знает, что такое матрица Гильберта. Он не знает, что такое обратная матрица. Он не знает, что такое 10х10. Он может только свистоперделки.
Здравствуйте, Privalov, Вы писали:
P>Ну вот, я же говорил. ИИ не понимает вопросы. Со всей шириной его охвата и знанием всех языков мира. P>Он не знает, что такое матрица Гильберта. Он не знает, что такое обратная матрица. Он не знает, что такое 10х10. Он может только свистоперделки.
Нет, дело не в этом. Вам в каком виде нужен результат? Я просил чтобы результатом был — исходный код. На каком языке вам нужно, какие параметры входящие какие исходящие? Дайте краткое Т.З. в том виде, в котором его получает человек.
Здравствуйте, Privalov, Вы писали:
P>Здравствуйте, Shmj, Вы писали:
S>>Так вам был ясен контекст. Дайте задачу так, как будто к вам в НИИ пришел совсем новый человек и вы даете ему задание таким образом, чтобы у него не осталось вопросов.
P>Ну вот, я же говорил. ИИ не понимает вопросы. Со всей шириной его охвата и знанием всех языков мира. P>Он не знает, что такое матрица Гильберта. Он не знает, что такое обратная матрица. Он не знает, что такое 10х10. Он может только свистоперделки.
Сейчас не проверял. Когда в НИИ матаном занимался, мы для обращения матриц использовали SVD-разложение. Гильберта брали в качестве теста. Она симметричная, положительно определённая и очень плохо обусловлена где-то, начиная с 7х7. И всю работу мы делали на Фортране.
P.S. Столько лет прошло, я, кроме названий, уже почти ничего не помню.
UPD. Регуляризацию мы не использовали. Возникли сложности с подбором параметра регуляризации. Деталей опять же не помню.
Здравствуйте, Privalov, Вы писали:
bnk>>Я попробовал задать вопрос в твоей формулировке. Для решения он взял питон. Вот результат. Имеет смысл? bnk>>https://chatgpt.com/share/66eaca05-2e64-8004-a7cb-d50661d815cb
P>Сейчас не проверял. Когда в НИИ матаном занимался, мы для обращения матриц использовали SVD-разложение. Гильберта брали в качестве теста. Она симметричная, положительно определённая и очень плохо обусловлена где-то, начиная с 7х7. И всю работу мы делали на Фортране. P>P.S. Столько лет прошло, я, кроме названий, уже почти ничего не помню.
P>UPD. Регуляризацию мы не использовали. Возникли сложности с подбором параметра регуляризации. Деталей опять же не помню.
Я вот тоже проверить результат (правильно или неправильно) не могу, но может кто подскажет
Вообще мое мнение такое что программистам таки прийдется уйти на покой в перспективе 10-20 лет.
И оно сможет писать новые и поддерживать существующие полноценные приложения просто по техзаданию.
Здравствуйте, bnk, Вы писали:
bnk>Вообще мое мнение такое что программистам таки прийдется уйти на покой в перспективе 10-20 лет. bnk>И оно сможет писать новые и поддерживать существующие полноценные приложения просто по техзаданию.
Это вряд ли. Вон рядом Shmj ничего не понял из моего вопроса. Значит, техзадание не сможет сформулировать. То есть о полноценных приложениях можно забыть.
Банковский софт работает потому, что он там с 70-х годов живёт. И то, мне известен по крайней мере один случай, когда у банка полетели одновременно основной и резервный датацентры.
Здравствуйте, bobby23, Вы писали:
B>пока не обьявится на этом форуме и не заломает всех своим дигитэл брэйном, можно не волноваться, пить пивко и смотреть сериалы
Как он может тут появиться если регистрация новых пользователей уже давно невозможна, потому что почта не работает
S>Так вам был ясен контекст. Дайте задачу так, как будто к вам в НИИ пришел совсем новый человек и вы даете ему задание таким образом, чтобы у него не осталось вопросов.
джуниор что-ли? Ну GPT сейчас и пишет код на уровне джуниора. Самые базовые вещи умеет, а что-то посложнее — уже начинается "растолкуй, как и что ты хочешь".
Здравствуйте, bnk, Вы писали:
bnk>Здравствуйте, bobby23, Вы писали:
B>>пока не обьявится на этом форуме и не заломает всех своим дигитэл брэйном, можно не волноваться, пить пивко и смотреть сериалы
bnk>Как он может тут появиться если регистрация новых пользователей уже давно невозможна, потому что почта не работает
ну так пусть проявит чудеса thinking out of the box, о которых рассказывает ТС. Напишет владельцу форума по другим каналам связи, чтоб тот добавил его в базу вручную. Или ему это все надо объяснять?
Опять "джуниор" какой-то получается.
Код рабочий, но на каждом шаге происходит три выделения памяти и одно копирование, без которых можно было бы обойтись, также результат — мало полезная позиция во временном буфере.
Здравствуйте, inoremap, Вы писали:
I>Код рабочий, но на каждом шаге происходит три выделения памяти и одно копирование, без которых можно было бы обойтись, также результат — мало полезная позиция во временном буфере.
Я просто скопировал вашу реакцию и вот что получил:
def find_sequence_in_stream(stream, sequence, buffer_size=4096):
seq_len = len(sequence)
buffer = bytearray(buffer_size)
tail = bytearray()
position = 0 # Текущая позиция в потокеwhile True:
# Читаем данные в буфер
read_bytes = stream.readinto(buffer)
if read_bytes == 0:
# Если поток закончился, выходимbreak# Проверяем, не осталась ли часть последовательности на границе буфераif tail:
data = tail + buffer[:read_bytes]
else:
data = buffer[:read_bytes]
# Пытаемся найти последовательность
index = data.find(sequence)
if index != -1:
# Если последовательность найдена, возвращаем её позицию в потокеreturn position + index - len(tail)
# Если не нашли, обновляем позицию
position += read_bytes
# Оставляем хвост для проверки на следующем шагеif read_bytes >= seq_len - 1:
tail = data[-(seq_len - 1):]
else:
tail = data
# Если последовательность не найдена, возвращаем -1return -1
Тут получается загвоздка — кто-то должен проверить результат и сказать оно или нет. А оно или нет, смысл всего этого, инициатором — пока может быть только человек. Нужно лишь знать чего ты хочешь.
Самому GPT ничего не нужно, т.е. у него нет способности наслаждаться и страдать — следовательно и желаний быть никаких не может.
По этому инициатор смысла — всегда человек. Человек хочет наслаждаться и/или избежать страдания, это заставляет его что-то делать. И только человек может сказать что именно он хочет получить, соответствует ли полученное тому что нужно. Возможно что с будущем начинать будем с той части, которая проверяет результат.
Здравствуйте, Shmj, Вы писали:
S>Самому GPT ничего не нужно, т.е. у него нет способности наслаждаться и страдать — следовательно и желаний быть никаких не может. S>По этому инициатор смысла — всегда человек. Человек хочет наслаждаться и/или избежать страдания, это заставляет его что-то делать. И только человек может сказать что именно он хочет получить, соответствует ли полученное тому что нужно. Возможно что с будущем начинать будем с той части, которая проверяет результат.
Опять ты на свою излюбленную тему съехал. Верной дорогой идем к сакральному — "у него нет души" (тм)