Кстати, тоже сделал интересное наблюдение. Почему-то часто встречаю в том числе на хабре, что умные, образованные люди - находят какую-то конкретную задачу, которую конкретная модель не может решить, и на этом основании строят обобщения уровня, что LLM в принципе не понимают (или даже утверждается принципиальная невозможность такого понимания моделями, построенными на существующих принципах) время, индукцию, и т.д., тут может быть какой угодно аспект. Подавляющее большинство аргументов типа таких, что другие модели справляются, что подавляющее большинство задач на понимание этого же аспекта модель успешно решает, просто не замечается.
Чаще всего доводится слышать в ответ аргумент, что задача была в обучающей выборке или же нагуглена сетью, уже и предлагал таким людям самостоятельно придумать задачи и проверить способность справляться LLM с такими уникальными задачами, но на такие замечания я также ответов не получал.
Моё ИМХО - не все люди ищут как оно в объективной реальности, а ищут именно подтверждение своих убеждений - в данном случае намеренно ищут задачи в которых LLM тупят, даже самые умнейшие из людей, похоже, этому подвержены
Я проводил подобный эксперимент, пока что o3 справляется немного хуже, чем сильная команда знатоков, но результат показывает сопоставимый, где-то примерно 80% от правильных ответов команды знатоков у меня на нескольких играх показывала, в том числе и во время трансляции игры - делал для чистоты эксперимента, пока ответы на вопросы не появились в сети (подчëркиваю это, т.к. в комментариях выше высказавшихся увидел скептицизм, впрочем каждый сам может поставить эксперимент в каких угодно условиях).
Помимо вопросов ЧГК пробовал генерировать картинки в Dallie-3 с какой-нибудь идеей или загадкой, придуманной мной, чтоб уж наверняка исключить наличие этих сведений в весах LLM, со многими такими задачками o3 справлялась, с собственноручно придуманными каламбурами тоже справлялась в основном, но обязательно в ответе допускала какой-нибудь ляп, когда уже казалось, что полностью его разгадала.
А всем кто сомневается в способности LLM рассуждать - могу предложить попробовать самим придумать какую-нибудь шутку, задачу, сгенерировать картинку и попросить сеть порассуждать, это же просто и доступно каждому
Опять же, не совсем понятно, почему по единственному примеру делается общий вывод, что LLM не умеют работать с мат. индукцией. У меня задачки с реккурентными соотношениями, требующие для своего решения рассуждения по индукции какие-то LLM решали.
Опять же иногда возникает ощущение путаницы, доходит вплоть до того, что утверждают, что LLM не AI. То что LLM не AGI - я соглашусь, но даже простой минимаксный алгоритм игры в шахматы, считающий на пару ходов я готов называть AI - программа, которая автоматизирует какую-то интеллектуальную деятельность.
Также часто говорят, вот существуют люди, которые могут решить ту или иную задачу, а ни одна LLM типа не может, у меня сразу вопрос возникает - а причëм тут всё человечество сразу возникает в качестве противопоставления? Давайте возьмëм одного человека у которого есть интеллект и сознание и будем его сравнивать на заранее отобранном наборе разноплановых задач, на логику, математику, геометрию, программирование, индукцию, игры, головоломки, эрудицию, эмоциональный интеллект, планирование, бизнес-задачи, юмор, каламбуры, креативность, пространственное мышление, составленные заранее специалистами и будем сравнивать кто насколько процентов справится.
Даже более того, добавлю, по правилу ((a+b)/2;(a-b)/2) Вы из пары с дробными положительными значениями a и b никак не получите пару с натуральными значениями, если нужно могу строгое математическое доказательство предоставить
А то что b всегда будет положительно можно легко по индукции доказать, также если необходимо могу доказательство привести
По 19 задаче по пункту б доказательство возрастания a тривиально следует из того, что последующее a - это сумма предыдущего положительного a и положительного b.
В пункте в по условию задачи, из того, что a и b натуральны, а новые пары получаются только с помощью сложения и вычитания, мы не сможем выйти из кольца целых чисел. Вероятно она это неявно подразумевает, что натолкнувшись на дробные числа, мы уже выходим за пределы начальной пары
Вы взяли первые пары цепочки, наверное она имела в виду, что с некоторого n (а конкретно начиная с 3 пары гарантировано), общий делитель текущей и последующих пар будет сохраняться (не обязательно он будет наибольшим, в особенности для пар n и n+2 - общим делителем будет целиком число из пары n). А это действительно так, это очень хорошо, что сеть подметила и использовала, а предложенные вами пары и так уже начальные в цепочке, перед парой (5,1) может быть только пара (3,2). И далее, используя эту логику, найдя наибольший общий делитель (как раз с целью размотать цепочку до начала), она верно разматывает цепочку до самой первой пары. Формулирует мысли она криво, а по факту решила верно
Современные ИИ очень сильны и во многих задачах найдут решение не хуже человека, но иногда буксуют и на простейших заданиях сыпятся. Дал третьему Гроку простейшую программу для анализа остановится ли она когда-нибудь или нет, он дал неверный ответ, хотя абсолютно любой программист даст ответ в два счëта, и тут встал вопрос, а насколько вообще можно доверять его решениям, если он заваливается на простейших примерах, нужно очень тщательно всё за ними проверять.
Вот задача, на которой он завалился:
Определить остановится ли когда-нибудь выполнение следующей программы:
int i = 2;
while (i%2==0) {
i += 2;
if (i==1000000000){
i = 0;
}
}
P.S. проверил сейчас, решает он этот пример, но буквально пару-тройку недель назад утверждал, что из-за переполнения программа остановится, хотя, очевидно, этого не произойдёт, и программа будет работать вечно
Там вообще, судя по кусочку кода, исходную строку посимвольно циклом обходят, использование кодов символов не исключит посимвольный обход. Тут напрашивается что-то вроде СтрРазделить(ИсходнаяСтрока, "abcd...").Количество() - 1
Спасибо за статью. Воспользуюсь, чтобы оценить отобранные позиции стокфишем, для дальнейшего тюнинга этими позициями с адекватными оценками - оценочной функции своего движка.
Не совсем только понял про рыбку, ведь это совсем другой движок был, скорее уж вяленая рыбка. А также прошу пояснить причëм тут оценка Alfa Zero и lc0, насколько мне известно они совсем на других принципах работают нежели стокфиш, и оценка у них совершенно по-разному устроена. Да, и там и там за оценку отвечают нейросети, но они совершенно непохожи по архитектуре, насколько удалось понять. Если неправ, прошу поправить.
д.) даëт преподу понять насколько внимательно его слушают студенты
е.) возможно способствует лучшему запоминанию студентами материала, т.к. им активнее приходится вовлекаться в рассуждения, другими словами - позволяет привлечь большее внимание к обсуждаемой теме
Прошу прощения, ошибся. Получается там 350км при решении как в статье, а не как ранее написал 300км, если сокращать каждые 50км количество мотоциклов вдвое. Там последний же проедет 100км, а не 50. Т. е. по 50км проедут 50, 25, 12, 6 и 3 мотоцикла соответственно, а последний проедет 100км, итого 350км. Но при таком подходе мы выкинем 2 мотоцикла с бензином в сумме на целый бак. В случае, если изначально количество мотоциклов 2^n, то выкидывать мотоциклы с бензином не придётся. Для 64 мотоциклов, при том подходе, который описан в решении в статье - они проедут 400км.
Тоже, когда читал решение к задаче про мотоциклы подумал, а не существует ли ещё какого способа перелить бензин? Чем обоснован выбор сокращения мотоциклов в два раза всегда? К тому же не получилось у меня 350км, как в решении. Только для 64-х мотоциклов вышло таким способом получить 350км, ну тут даже чисто логически кажется, что для 50-ти мотоциклов это число будет меньше. Тут получилось, что сначала 50 мотоциклов проехали 50км, затем 25 мотоциклов проехали ещё 50км, далее по логике остаются только 12 мотоциклов, либо 13 с неполным баком, но всё равно до 350км никак не получилось досчитать. Если округлять в меньшую сторону, то выходит, что по 50км проедут 50, 25, 12, 6, 3, 1 мотоцикл соответственно. Т. е. выходит всего 300км.
И ещё встаëт такой вопрос, а можно ли как-то строго доказать, что более оптимального решения, чем предложенное Вами выше не существует? Так-то интуитивно кажется, что не должно существовать. Ведь мы избавляемся от лишнего мотоцикла ровно тогда, когда его бензин без остатка можно разлить по остальным. Но, как показывает практика, иногда находятся какие-то контринтуитивные решения, которые оказываются более оптимальными.
Кстати, тоже сделал интересное наблюдение. Почему-то часто встречаю в том числе на хабре, что умные, образованные люди - находят какую-то конкретную задачу, которую конкретная модель не может решить, и на этом основании строят обобщения уровня, что LLM в принципе не понимают (или даже утверждается принципиальная невозможность такого понимания моделями, построенными на существующих принципах) время, индукцию, и т.д., тут может быть какой угодно аспект. Подавляющее большинство аргументов типа таких, что другие модели справляются, что подавляющее большинство задач на понимание этого же аспекта модель успешно решает, просто не замечается.
Чаще всего доводится слышать в ответ аргумент, что задача была в обучающей выборке или же нагуглена сетью, уже и предлагал таким людям самостоятельно придумать задачи и проверить способность справляться LLM с такими уникальными задачами, но на такие замечания я также ответов не получал.
Моё ИМХО - не все люди ищут как оно в объективной реальности, а ищут именно подтверждение своих убеждений - в данном случае намеренно ищут задачи в которых LLM тупят, даже самые умнейшие из людей, похоже, этому подвержены
Я проводил подобный эксперимент, пока что o3 справляется немного хуже, чем сильная команда знатоков, но результат показывает сопоставимый, где-то примерно 80% от правильных ответов команды знатоков у меня на нескольких играх показывала, в том числе и во время трансляции игры - делал для чистоты эксперимента, пока ответы на вопросы не появились в сети (подчëркиваю это, т.к. в комментариях выше высказавшихся увидел скептицизм, впрочем каждый сам может поставить эксперимент в каких угодно условиях).
Помимо вопросов ЧГК пробовал генерировать картинки в Dallie-3 с какой-нибудь идеей или загадкой, придуманной мной, чтоб уж наверняка исключить наличие этих сведений в весах LLM, со многими такими задачками o3 справлялась, с собственноручно придуманными каламбурами тоже справлялась в основном, но обязательно в ответе допускала какой-нибудь ляп, когда уже казалось, что полностью его разгадала.
А всем кто сомневается в способности LLM рассуждать - могу предложить попробовать самим придумать какую-нибудь шутку, задачу, сгенерировать картинку и попросить сеть порассуждать, это же просто и доступно каждому
Опять же, не совсем понятно, почему по единственному примеру делается общий вывод, что LLM не умеют работать с мат. индукцией. У меня задачки с реккурентными соотношениями, требующие для своего решения рассуждения по индукции какие-то LLM решали.
Опять же иногда возникает ощущение путаницы, доходит вплоть до того, что утверждают, что LLM не AI. То что LLM не AGI - я соглашусь, но даже простой минимаксный алгоритм игры в шахматы, считающий на пару ходов я готов называть AI - программа, которая автоматизирует какую-то интеллектуальную деятельность.
Также часто говорят, вот существуют люди, которые могут решить ту или иную задачу, а ни одна LLM типа не может, у меня сразу вопрос возникает - а причëм тут всё человечество сразу возникает в качестве противопоставления? Давайте возьмëм одного человека у которого есть интеллект и сознание и будем его сравнивать на заранее отобранном наборе разноплановых задач, на логику, математику, геометрию, программирование, индукцию, игры, головоломки, эрудицию, эмоциональный интеллект, планирование, бизнес-задачи, юмор, каламбуры, креативность, пространственное мышление, составленные заранее специалистами и будем сравнивать кто насколько процентов справится.
Даже более того, добавлю, по правилу ((a+b)/2;(a-b)/2) Вы из пары с дробными положительными значениями a и b никак не получите пару с натуральными значениями, если нужно могу строгое математическое доказательство предоставить
А то что b всегда будет положительно можно легко по индукции доказать, также если необходимо могу доказательство привести
По 19 задаче по пункту б доказательство возрастания a тривиально следует из того, что последующее a - это сумма предыдущего положительного a и положительного b.
В пункте в по условию задачи, из того, что a и b натуральны, а новые пары получаются только с помощью сложения и вычитания, мы не сможем выйти из кольца целых чисел. Вероятно она это неявно подразумевает, что натолкнувшись на дробные числа, мы уже выходим за пределы начальной пары
Вы взяли первые пары цепочки, наверное она имела в виду, что с некоторого n (а конкретно начиная с 3 пары гарантировано), общий делитель текущей и последующих пар будет сохраняться (не обязательно он будет наибольшим, в особенности для пар n и n+2 - общим делителем будет целиком число из пары n). А это действительно так, это очень хорошо, что сеть подметила и использовала, а предложенные вами пары и так уже начальные в цепочке, перед парой (5,1) может быть только пара (3,2). И далее, используя эту логику, найдя наибольший общий делитель (как раз с целью размотать цепочку до начала), она верно разматывает цепочку до самой первой пары. Формулирует мысли она криво, а по факту решила верно
Проверял на o3, усложнëнную версию задачи решает:
<spoiler title="Скриншоты">
</spoiler>
По 19 заданию есть вопросы. Всё же неплохо было бы выделить правила
a(n+1)=a(n)+b(n) и b(n+1)=a(n)-b(n)
a(n+2)=2*a(n) и b(n+2)=2*b(n)
чего сеть не сделала, а прямым перебором попыталась решить.
Выделив эти правила можно более аккуратно показать, что ответ в пункте б невозможен для любых a не кратных 100 и 101 для начальной пары (100,1)
Аналогично в пункте в доказательство можно сделать более общим и строгим
k здесь номер итерации.
Вот если бы сеть ещё и эти правила сначала вывела, а потом использовала, было бы совсем хорошо
Современные ИИ очень сильны и во многих задачах найдут решение не хуже человека, но иногда буксуют и на простейших заданиях сыпятся. Дал третьему Гроку простейшую программу для анализа остановится ли она когда-нибудь или нет, он дал неверный ответ, хотя абсолютно любой программист даст ответ в два счëта, и тут встал вопрос, а насколько вообще можно доверять его решениям, если он заваливается на простейших примерах, нужно очень тщательно всё за ними проверять.
Вот задача, на которой он завалился:
Определить остановится ли когда-нибудь выполнение следующей программы:
int i = 2;
while (i%2==0) {
i += 2;
if (i==1000000000){
i = 0;
}
}
P.S. проверил сейчас, решает он этот пример, но буквально пару-тройку недель назад утверждал, что из-за переполнения программа остановится, хотя, очевидно, этого не произойдёт, и программа будет работать вечно
В свежих версиях платформы можно и так, но только на сервере и в толстом клиенте:
СтрНайтиВсеПоРегулярномуВыражению(НРег(ИсходнаяСтрока), "[a-z]", Истина).Количество()
Кстати, видел по-моему в БСП забавный код по удалению из строк, содержащих номера телефонов, все символы кроме цифр, код там был примерно такой:
ДопустимыеСимволы = "0123456789";
ЛишниеСимволы = СтрСоединить(СтрРазделить(ИсходнаяСтрока, ДопустимыеСимволы));
ИтоговаяСтрока = СтрСоединить(СтрРазделить(ИсходнаяСтрока, ЛишниеСимволы));
Там вообще, судя по кусочку кода, исходную строку посимвольно циклом обходят, использование кодов символов не исключит посимвольный обход. Тут напрашивается что-то вроде СтрРазделить(ИсходнаяСтрока, "abcd...").Количество() - 1
Спасибо за статью. Воспользуюсь, чтобы оценить отобранные позиции стокфишем, для дальнейшего тюнинга этими позициями с адекватными оценками - оценочной функции своего движка.
Не совсем только понял про рыбку, ведь это совсем другой движок был, скорее уж вяленая рыбка. А также прошу пояснить причëм тут оценка Alfa Zero и lc0, насколько мне известно они совсем на других принципах работают нежели стокфиш, и оценка у них совершенно по-разному устроена. Да, и там и там за оценку отвечают нейросети, но они совершенно непохожи по архитектуре, насколько удалось понять. Если неправ, прошу поправить.
Я бы ещё добавил:
д.) даëт преподу понять насколько внимательно его слушают студенты
е.) возможно способствует лучшему запоминанию студентами материала, т.к. им активнее приходится вовлекаться в рассуждения, другими словами - позволяет привлечь большее внимание к обсуждаемой теме
Прошу прощения, ошибся. Получается там 350км при решении как в статье, а не как ранее написал 300км, если сокращать каждые 50км количество мотоциклов вдвое. Там последний же проедет 100км, а не 50. Т. е. по 50км проедут 50, 25, 12, 6 и 3 мотоцикла соответственно, а последний проедет 100км, итого 350км. Но при таком подходе мы выкинем 2 мотоцикла с бензином в сумме на целый бак. В случае, если изначально количество мотоциклов 2^n, то выкидывать мотоциклы с бензином не придётся. Для 64 мотоциклов, при том подходе, который описан в решении в статье - они проедут 400км.
Тоже, когда читал решение к задаче про мотоциклы подумал, а не существует ли ещё какого способа перелить бензин? Чем обоснован выбор сокращения мотоциклов в два раза всегда? К тому же не получилось у меня 350км, как в решении. Только для 64-х мотоциклов вышло таким способом получить 350км, ну тут даже чисто логически кажется, что для 50-ти мотоциклов это число будет меньше. Тут получилось, что сначала 50 мотоциклов проехали 50км, затем 25 мотоциклов проехали ещё 50км, далее по логике остаются только 12 мотоциклов, либо 13 с неполным баком, но всё равно до 350км никак не получилось досчитать. Если округлять в меньшую сторону, то выходит, что по 50км проедут 50, 25, 12, 6, 3, 1 мотоцикл соответственно. Т. е. выходит всего 300км.
И ещё встаëт такой вопрос, а можно ли как-то строго доказать, что более оптимального решения, чем предложенное Вами выше не существует? Так-то интуитивно кажется, что не должно существовать. Ведь мы избавляемся от лишнего мотоцикла ровно тогда, когда его бензин без остатка можно разлить по остальным. Но, как показывает практика, иногда находятся какие-то контринтуитивные решения, которые оказываются более оптимальными.