Я знаю "канонический" ответ (круглую крышку в принципе невозможно уронить в люк который она закрывает), но он на мой вкус очень странный. Эти крышки и специально-то обратно на место у меня получается положить со второй-третьей попытки. Кроме того, крышка реалистичной толщины и с реалистичной "полочкой" не пролезет в собственное посадочное место даже будь она квадратной.
1) Они не всегда круглые, автор этого комментария воочию видел квадратные.
2) Они в общем случае не обязаны иметь форму колодца под ними (основание крышки всё равно делается отдельно).
3) Насколько я понимаю, в основном "так исторически сложилось" - есть налаженный процесс изготовления крышек, который сейчас или когда-то в прошлом было проще наладить для условно круглых и нет причины эту форму менять. (Я бы ожидал что сейчас их отливают, что позволяет сделать любую простую форму со сравнимой лёгкостью.)
Впервые (нет) на арене: нумерую все рациональные числа. Беру рациональное число p/q, записываю p и q в восьмеричной системе счисления, объединяю через 8. Например: 355/113 -> 0543 / 0161 -> 5438161. Всё, все рациональные числа получили по натуральному номеру и ещё прорва натуральных номеров осталась.
Нет никакого фундаментального отличия "природы" от "системы", по крайней мере на уровне онлайн-казино. Кидает шарик в рулетку живой крупье или генерируется следующий член гаммы блочного шифра - с точки зрения игрока это гипотезы с одним и тем же распределением исходов. То что абстрактное казино что-то "знает" - совершенно неважно, если миры в которых оно "знает" и "не знает" эмпирически неотличимы.
Вся «удача» — это разница в информационных правах: казино знает всё, игрок не знает ничего.
"Удача" казино в том, что а) математическое ожидание выигрыша для игрока отрицательно (именно для этого на рулетке есть сектор "зеро", к примеру); б) у казино на порядки больше капитала (cf. "задача о разорении игрока"). Разницы между генератором в который можно подглядеть и гипотетическим идеальным генератором, равно непредсказуемым для всех сторон, в смысле этих двух факторов нет.
Да, в принципе казино может мухлевать. Но для этого ему всё ещё совершенно не требуется предсказывать значение генератора, оно может просто заменить очередной выход генератора желаемым - как искусный крупье может намеренно выбросить "красное" на рулетке по заказу.
Уверен, что реальные казино используют более сложные генераторы, но суть не меняется: перед нами не случайность, а алгоритм, тщательно скрывающий свой порядок.
"Боле сложный генератор" может использовать источники истинной битовой энтропии (т.е. выдавать разные выходы в программно идентичных ситуациях).
Почти наверняка его реализация использует какой-нибудь современный блочный шифр, что делает
время и денежные ресурсы для того, чтобы определить выигрышную стратегию в игре
эффективным образом бесконечными: вы пытаетесь разработать стратегию взлома AES, и, спойлер, у вас это не получится.
Но проблема ли это?
идет игра, в игре есть два игрока: казино и пользователь
"Игрок" подразумевает, что казино принимает какие-то решения в ходе игры. Но в большинстве игр (не уверен что во всех, может есть странные исключения) крупье действует по жёстко заданному алгоритму. Иными словами, нет никакой разницы, знает или нет крупье при игре в блэкджек, что следующая карта в колоде - туз: он обязан взять карту в зависимости от текущих очков, даже если это было бы неоптимальное решение.
Математически, общая информация между поведением игрока и состоянием генератора равна нулю (потому что игрок не в состоянии установить состояние генератора), но и общая информация между поведением казино и состоянием генератора равна нулю (потому что у казино нет свободы поведения).
В теории игр это означает перевод игры из категории азартных, где есть элемент случайности, в категорию стратегических, где игра идет в соответствии с определёнными закономерностями
Это... очень базовый результат теории игр - что в детерминированных играх всё ещё могут быть оптимальны смешанные стратегии (т.е. оптимальная стратегия может включать действие "кинуть (свой собственный) кубик"). Обратно, даже если исходы игры есть лотереи, в VNM-предположениях нет фундаментальной разницы между лотереей с вероятностью некоторого исхода 1 и лотереей, у которой все исходы имеют вероятности <1.
(Отдельно, меня раздражает фраза "настоящая случайность": это понятие, в отличие от "вероятности при условии данных априорных гипотез", очень тяжело определить. Скажем, я сейчас взял две монетки и предлагаю вам угадать, орлом ли выпадет вторая. При этом первую я подбросил сразу, и если на ней выпал орёл - я уже подбросил вторую, а если решка - подброшу только после того как вы ответите. Является ли угадываемое вами значение при этом "по-настоящему случайным"?..)
Это франшиза (франчайз, кто как произносит), вполне стандартная штука. Её лучше видно для ресторанов (Rostic's / Il Patio это активно делали): сам считаешь аренду/найм/продукты/etc, ты получаешь известную вывеску в обмен на правила использования этой вывески. Для WB пространство собственных решений поуже, кажется в основном это про прикинуть отношение стоимости аренды к потоку через точку.
Так можно пронумеровать некоторые иррациональные числа (например: 2, √2, ³√2, ⁴√2, ...). Но у вас не получится составить последовательность, которая включила бы в себя все иррациональные числа (обычно доказывается через т.н. "диагональный аргумент" Кантора).
У меня довольно плохо с чувством "красиво" для таких рукомахательных объяснений, если что. Может получиться перегружено. Но, например:
Возьмём теперь точку (x₀, y₀) и проведём через неё прямую, её уравнение есть k(x-x₀) + (y-y₀) = 0 (исключим из рассмотрения вертикальные прямые). Если x₀ и y₀ рациональны, то при любом иррациональном k это уравнение не имеет иных рациональных решений (рациональное решение (x₁, y₁) позволило бы записать k = -(y₁-y₀)/(x₁-x₀)) - прямая с таким наклоном не пересекает вообще никаких иных рациональных точек. Если же x₀ (y₀) иррационально, то мы всегда можем провести вертикальную (соответственно горизонтальную) прямую через эту точку: x=x₀ (y=y₀), которая, очевидно, не имеет рациональных точек. Если хочется провести именно "наклонную" прямую, то можно поступить хитрее: взять a=x₀+y₀, b=2x₀+y₀. Поскольку x₀ = b-a, y₀= 2a-b, то по крайней мере одно из a, b иррационально. Пусть, для примера, это будет a. Возьмём k = 1 (соответственно 2 для иррационального b). Имеем kx+y = a, во всех рациональных точках левая часть рациональна, тогда как правая иррациональна.
а значение c такое, что x и y одновременно не принимают рациональных значений в одной точке.
Неконструктивное описание. Получается: "если взять такие параметры, что прямая не проходит ни через одну рациональную точку, то она не проходит ни через одну рациональную точку". Что, э... верно, но не очень интересно (в частности, из такого определения не очевидно что c вообще существует).
Если в любой сколь угодно малой области будет бесконечное количество точек, плотность нельзя назвать бесконечной. Это недостаточное условие?
а) если это так, то у нас нет "точки в свободной области", потому что всякая область не является свободной от выбранных точек. б) из условия " бесконечным количеством не совпадающих по своему положению точек однородно таким образом, чтобы у каждой точки координаты были рациональными " не следует что во всякой области будет бесконечно много точек, я привёл контрпример.
Они сделали вывод, что, хотя чат-боты и созданы для поддержания диалога, с технической точки зрения они представляют собой машины, которые предугадывают следующее слово в последовательности на основе огромного объёма полученного текста.
Ого. Сами додумались, или подсказал кто?
А по существу - люди взяли план урока от GPT и проверили его по своим методичкам, а не по живым детям. С учётом того, что к методичкам... есть вопросы (скажем, в них иногда фигурирует постулат что разделение детей на группы по способностям - Плохое Решение Которое Никогда Не Может Работать), ценность исследования условна.
Другими словами, на бесконечной числовой прямой все рациональные числа займут всего одну единицу длины.
Не больше единицы (отрезки могут перекрываться).
Заполним бесконечную плоскость бесконечным количеством не совпадающих по своему положению точек однородно таким образом, чтобы у каждой точки координаты были рациональными. Например, (1; 2), (1/3; 3/8) и т.д. Плоскость будет заполнена точками с бесконечной плотностью.
Нет, в общем случае не будет. Контрпример: набор точек вида (n, m). Он бесконечный, точки не совпадают, их координаты рациональны. "Плотность точек", однако, при любом разумном определении будет конечной. Что значит "однородно" - не совсем понятно: обычно под однородностью имеется в виду что-то вроде "группа симметрий множества включает в себя все параллельные переносы", но для счётного множества точек на плоскости это недостижимо.
Поставим точку в свободной области и проведем через нее прямую вида y = kx + c, где k – иррациональное число. Данная прямая не коснется ни одну из заданных точек
Кто такая свободная область? Если множество точек таки всюду плотно, то свободных областей у меня нет. Поставил точку с координатами (√2, √2+2). Провёл через неё прямую y = √2x + √2. Прямая прошла через точку ( -1, 0). Что я сделал не так?
Ну так задача о разборчивой невесте - это maximizer, а не satisficer: мы проигрываем и если берём кандидата номер 2, и если кандидата номер 2000.
А в модели "нас устроит любой кандидат из top-10%, и чем дольше мы ищем, тем больше упущенная прибыль", на глаз (точно не считал) влияет соотношение дисперсии и цены каждого дня поиска, даже при бесконечной очереди.
Потому что абсолютного времени нет. Для землянина, время на корабле течёт медленнее. Для капитана корабля, время на Земле течёт медленнее. Если один из них - для простоты корабль, - развернётся и вернётся к начальной точке, симметрия нарушится: один из них ускорялся, а другой нет. Поэтому тогда "на самом деле" время текло медленнее для капитана корабля, и он будет моложе своего брата-близнеца (домоседа).
Всякая чушь типо "ты, крутой веб разработчик" от бесполезного до вредного.
О вариациях "ты даёшь советы лаконично и по делу" писали разные люди. По моему опыту, не то чтобы это повышает точность ответов, но может "разблокировать" комментарии в духе "вот тут у тебя написана фигня, больше так не делай". (Как личная статистика, я ни разу не получал таких комментариев без дополнительного промпта и несколько раз получал с ним, но специально одинаковые запросу не проверял.)
Но самое полезное в промпте - передача информации о своих навыках, чтобы LLM не разжёвывала что такое CRTP или какие бывают численные методы решения дифуров.
Самое смешное, что можно попросить доработать персональный дополнительный промпт саму LLM.
Нет? В смысле, если LLM по некоторому запросу написала пары (вопрос, ответ), из этого ну нифига не следует, что в ответ на вопрос из этой пары она сгенерирует тот же ответ. Я прямо сейчас из интереса попросил у Grok три задачи на C++, после чего скормил их ему же, и он в третьей накосячил (не фатально, но достаточно заметно).
В язык затащили новую фичку. Но она оказалась малость недоделанной
Что недоделанного в самой фиче? Она работает как и обещалось, возможности объявлять что угодно в области видимости цикла нет, её и раньше не было.
Я бы сказал "схрена ли такое правило линтера", но и правило разумное: если вы никак не используете x вне цикла, то что он вообще делает? Если это хитрое преобразование коллекции с аккумулятором, то правило линтера намекает вынести его в отдельную функцию (или воспользоваться std::transform):
static void TransformData(std::vector<int>* data){ int x = 0; for(int& elem : *data){ elem = x += elem; } } (Если линтер и в этом случае считает код нарушением, то ИМХО лучше написать явное исключение, чем if(data->empty()) return;)
Наконец, при 30-минутном билде может иметь смысл прогонять линтер локально, чтобы такие штуки не сваливались на голову сюрпризами?..
С умножением та же логика (что хочется чтобы произведение некоторого множества было равно произведению произведений по разбиению, и эта логика не ломалась бы если какие-то множества в разбиении пустые).
Опять же, для положительных множителей хочется общее правило "логарифм произведения равен сумме логарифмов".
Факториал обычно определяется или впрямую как произведение всех натуральных из [1,n], или комбинаторно, как количество перестановок n-элементного множества. То что n! = Г(n+1) - теорема, не определение.
Факториал следует общему правилу "сумма пустого множества слагаемых определена и равна 0, произведение пустого множества множителей определено и равно 1", которое очень-очень удобно в дискретной математике.
Я знаю "канонический" ответ (круглую крышку в принципе невозможно уронить в люк который она закрывает), но он на мой вкус очень странный. Эти крышки и специально-то обратно на место у меня получается положить со второй-третьей попытки. Кроме того, крышка реалистичной толщины и с реалистичной "полочкой" не пролезет в собственное посадочное место даже будь она квадратной.
1) Они не всегда круглые, автор этого комментария воочию видел квадратные.
2) Они в общем случае не обязаны иметь форму колодца под ними (основание крышки всё равно делается отдельно).
3) Насколько я понимаю, в основном "так исторически сложилось" - есть налаженный процесс изготовления крышек, который сейчас или когда-то в прошлом было проще наладить для условно круглых и нет причины эту форму менять. (Я бы ожидал что сейчас их отливают, что позволяет сделать любую простую форму со сравнимой лёгкостью.)
Впервые (нет) на арене: нумерую все рациональные числа. Беру рациональное число p/q, записываю p и q в восьмеричной системе счисления, объединяю через 8. Например: 355/113 -> 0543 / 0161 -> 5438161. Всё, все рациональные числа получили по натуральному номеру и ещё прорва натуральных номеров осталась.
Нет никакого фундаментального отличия "природы" от "системы", по крайней мере на уровне онлайн-казино. Кидает шарик в рулетку живой крупье или генерируется следующий член гаммы блочного шифра - с точки зрения игрока это гипотезы с одним и тем же распределением исходов. То что абстрактное казино что-то "знает" - совершенно неважно, если миры в которых оно "знает" и "не знает" эмпирически неотличимы.
"Удача" казино в том, что а) математическое ожидание выигрыша для игрока отрицательно (именно для этого на рулетке есть сектор "зеро", к примеру); б) у казино на порядки больше капитала (cf. "задача о разорении игрока"). Разницы между генератором в который можно подглядеть и гипотетическим идеальным генератором, равно непредсказуемым для всех сторон, в смысле этих двух факторов нет.
Да, в принципе казино может мухлевать. Но для этого ему всё ещё совершенно не требуется предсказывать значение генератора, оно может просто заменить очередной выход генератора желаемым - как искусный крупье может намеренно выбросить "красное" на рулетке по заказу.
"Боле сложный генератор" может использовать источники истинной битовой энтропии (т.е. выдавать разные выходы в программно идентичных ситуациях).
Почти наверняка его реализация использует какой-нибудь современный блочный шифр, что делает
эффективным образом бесконечными: вы пытаетесь разработать стратегию взлома AES, и, спойлер, у вас это не получится.
Но проблема ли это?
"Игрок" подразумевает, что казино принимает какие-то решения в ходе игры. Но в большинстве игр (не уверен что во всех, может есть странные исключения) крупье действует по жёстко заданному алгоритму. Иными словами, нет никакой разницы, знает или нет крупье при игре в блэкджек, что следующая карта в колоде - туз: он обязан взять карту в зависимости от текущих очков, даже если это было бы неоптимальное решение.
Математически, общая информация между поведением игрока и состоянием генератора равна нулю (потому что игрок не в состоянии установить состояние генератора), но и общая информация между поведением казино и состоянием генератора равна нулю (потому что у казино нет свободы поведения).
Это... очень базовый результат теории игр - что в детерминированных играх всё ещё могут быть оптимальны смешанные стратегии (т.е. оптимальная стратегия может включать действие "кинуть (свой собственный) кубик"). Обратно, даже если исходы игры есть лотереи, в VNM-предположениях нет фундаментальной разницы между лотереей с вероятностью некоторого исхода 1 и лотереей, у которой все исходы имеют вероятности <1.
(Отдельно, меня раздражает фраза "настоящая случайность": это понятие, в отличие от "вероятности при условии данных априорных гипотез", очень тяжело определить. Скажем, я сейчас взял две монетки и предлагаю вам угадать, орлом ли выпадет вторая. При этом первую я подбросил сразу, и если на ней выпал орёл - я уже подбросил вторую, а если решка - подброшу только после того как вы ответите. Является ли угадываемое вами значение при этом "по-настоящему случайным"?..)
Это франшиза (франчайз, кто как произносит), вполне стандартная штука. Её лучше видно для ресторанов (Rostic's / Il Patio это активно делали): сам считаешь аренду/найм/продукты/etc, ты получаешь известную вывеску в обмен на правила использования этой вывески. Для WB пространство собственных решений поуже, кажется в основном это про прикинуть отношение стоимости аренды к потоку через точку.
Так можно пронумеровать некоторые иррациональные числа (например: 2, √2, ³√2, ⁴√2, ...). Но у вас не получится составить последовательность, которая включила бы в себя все иррациональные числа (обычно доказывается через т.н. "диагональный аргумент" Кантора).
У меня довольно плохо с чувством "красиво" для таких рукомахательных объяснений, если что. Может получиться перегружено. Но, например:
Возьмём теперь точку
(x₀, y₀)и проведём через неё прямую, её уравнение естьk(x-x₀) + (y-y₀) = 0(исключим из рассмотрения вертикальные прямые).Если x₀ и y₀ рациональны, то при любом иррациональном k это уравнение не имеет иных рациональных решений (рациональное решение
(x₁, y₁)позволило бы записатьk = -(y₁-y₀)/(x₁-x₀)) - прямая с таким наклоном не пересекает вообще никаких иных рациональных точек.Если же x₀ (y₀) иррационально, то мы всегда можем провести вертикальную (соответственно горизонтальную) прямую через эту точку:
x=x₀(y=y₀), которая, очевидно, не имеет рациональных точек.Если хочется провести именно "наклонную" прямую, то можно поступить хитрее: взять
a=x₀+y₀,b=2x₀+y₀. Посколькуx₀ = b-a,y₀= 2a-b, то по крайней мере одно из a, b иррационально. Пусть, для примера, это будетa. Возьмёмk = 1(соответственно 2 для иррациональногоb). Имеемkx+y = a, во всех рациональных точках левая часть рациональна, тогда как правая иррациональна.Неконструктивное описание. Получается: "если взять такие параметры, что прямая не проходит ни через одну рациональную точку, то она не проходит ни через одну рациональную точку". Что, э... верно, но не очень интересно (в частности, из такого определения не очевидно что
cвообще существует).а) если это так, то у нас нет "точки в свободной области", потому что всякая область не является свободной от выбранных точек.
б) из условия " бесконечным количеством не совпадающих по своему положению точек однородно таким образом, чтобы у каждой точки координаты были рациональными " не следует что во всякой области будет бесконечно много точек, я привёл контрпример.
Ого. Сами додумались, или подсказал кто?
А по существу - люди взяли план урока от GPT и проверили его по своим методичкам, а не по живым детям. С учётом того, что к методичкам... есть вопросы (скажем, в них иногда фигурирует постулат что разделение детей на группы по способностям - Плохое Решение Которое Никогда Не Может Работать), ценность исследования условна.
Не больше единицы (отрезки могут перекрываться).
Нет, в общем случае не будет. Контрпример: набор точек вида (n, m). Он бесконечный, точки не совпадают, их координаты рациональны. "Плотность точек", однако, при любом разумном определении будет конечной.
Что значит "однородно" - не совсем понятно: обычно под однородностью имеется в виду что-то вроде "группа симметрий множества включает в себя все параллельные переносы", но для счётного множества точек на плоскости это недостижимо.
Кто такая свободная область? Если множество точек таки всюду плотно, то свободных областей у меня нет.
Поставил точку с координатами (√2, √2+2). Провёл через неё прямую y = √2x + √2. Прямая прошла через точку ( -1, 0). Что я сделал не так?
Ну так задача о разборчивой невесте - это maximizer, а не satisficer: мы проигрываем и если берём кандидата номер 2, и если кандидата номер 2000.
А в модели "нас устроит любой кандидат из top-10%, и чем дольше мы ищем, тем больше упущенная прибыль", на глаз (точно не считал) влияет соотношение дисперсии и цены каждого дня поиска, даже при бесконечной очереди.
Потому что абсолютного времени нет.
Для землянина, время на корабле течёт медленнее.
Для капитана корабля, время на Земле течёт медленнее.
Если один из них - для простоты корабль, - развернётся и вернётся к начальной точке, симметрия нарушится: один из них ускорялся, а другой нет. Поэтому тогда "на самом деле" время текло медленнее для капитана корабля, и он будет моложе своего брата-близнеца (домоседа).
Принцип наименьшего действия и все его родственники?
О вариациях "ты даёшь советы лаконично и по делу" писали разные люди. По моему опыту, не то чтобы это повышает точность ответов, но может "разблокировать" комментарии в духе "вот тут у тебя написана фигня, больше так не делай". (Как личная статистика, я ни разу не получал таких комментариев без дополнительного промпта и несколько раз получал с ним, но специально одинаковые запросу не проверял.)
Но самое полезное в промпте - передача информации о своих навыках, чтобы LLM не разжёвывала что такое CRTP или какие бывают численные методы решения дифуров.
Самое смешное, что можно попросить доработать персональный дополнительный промпт саму LLM.
Нет?
В смысле, если LLM по некоторому запросу написала пары (вопрос, ответ), из этого ну нифига не следует, что в ответ на вопрос из этой пары она сгенерирует тот же ответ. Я прямо сейчас из интереса попросил у Grok три задачи на C++, после чего скормил их ему же, и он в третьей накосячил (не фатально, но достаточно заметно).
Что недоделанного в самой фиче? Она работает как и обещалось, возможности объявлять что угодно в области видимости цикла нет, её и раньше не было.
Я бы сказал "схрена ли такое правило линтера", но и правило разумное: если вы никак не используете
xвне цикла, то что он вообще делает? Если это хитрое преобразование коллекции с аккумулятором, то правило линтера намекает вынести его в отдельную функцию (или воспользоватьсяstd::transform):static void TransformData(std::vector<int>* data){int x = 0;for(int& elem : *data){elem = x += elem;}}(Если линтер и в этом случае считает код нарушением, то ИМХО лучше написать явное исключение, чем
if(data->empty()) return;)Наконец, при 30-минутном билде может иметь смысл прогонять линтер локально, чтобы такие штуки не сваливались на голову сюрпризами?..
С умножением та же логика (что хочется чтобы произведение некоторого множества было равно произведению произведений по разбиению, и эта логика не ломалась бы если какие-то множества в разбиении пустые).
Опять же, для положительных множителей хочется общее правило "логарифм произведения равен сумме логарифмов".
Факториал обычно определяется или впрямую как произведение всех натуральных из [1,n], или комбинаторно, как количество перестановок n-элементного множества. То что n! = Г(n+1) - теорема, не определение.
Факториал следует общему правилу "сумма пустого множества слагаемых определена и равна 0, произведение пустого множества множителей определено и равно 1", которое очень-очень удобно в дискретной математике.
Упс...
(Оптимистично) Ну, зато получилась иллюстрация к дальнейшему диалогу о неизбежности ошибок :)