Спасибо за краткое оригинальное решение. Но! IMHO условия крайне ненаглядные. Сравниваются яблоки с апельсинами.
Winslow = blue
AND Marcolla+1 = white
AND red = whiskey
AND Morley = green
AND cigar_case IN (Morley-1, Morley+1)
AND Finch = pendant
AND Fraeport = ring
В одном из разжёвываний был сказан очень простой алгоритм, где думать вообще не требуется. Но опять таки, я не гуглил решения этой загадки на английском.
Думаю, всё-таки как-то ChatGPT решила загадку, но вот если придумать аналогичные, то не факт, что справится.
Не подскажешь, что в конечном итоге Хомяк - это html и javascript, которые создаются c помощью Flutter? Или какой-то байт-код, который исполняет браузер?
С помощью ограничений мы сжимаем задачу всего лишь до 80 вариантов, что есть в статье.
Без этого можно столкнуться с тем, что таблицу с 5^5 строк нам придётся джойнить саму к себе, что даст гораздо больше вариантов, а именно (5^5=3125)^5, что сильно меньше, чем 80^5.
А без этого второго джойна будет трудно обработать условия относительного местоположения.
В похожей задачке человек обошёлся одним мегаджойном, который без учёта условий тоже даёт (5^5)^5 строк. Я значительно облегчил работу планировщику запросов, а он отдал всю оптимизацию на откуп планировщику. SQL Server справился (не знаю за какое время), MySQL сделал это по моей технике за время меньшее миллисекунды.
А явный или неявный джойн - это значения не имеет.
Портсигар был продемонстрирован одной дамой, а другая заметила, что её родной Морли славится такими вещами, значит Портсигар принадлежит даме из Морли.
Нет. Это значит только, что рядом с дамой с портсигаром сидела дама из Морли.
Дама в зелёном только что покинула Морли (это ещё раз подтверждает, что она не из Морли).
Это подтверждает, что она из Морли. Если это условие выкинуть вообще, так как, в теории, путешественница могла посещать вообще что угодно, то есть 7 вариантов решения задачи.
Скрытый текст
+------+----------+------------+-------+---------+----------+------+---------+------------+-------+---------+---------+------+---------+------------+-------+-------+----------+------+---------+------------+-------+---------+---------+------+---------+---------+--------+---------+----------+
| pos | name | item | color | drink | city | pos | name | item | color | drink | city | pos | name | item | color | drink | city | pos | name | item | color | drink | city | pos | name | item | color | drink | city |
+------+----------+------------+-------+---------+----------+------+---------+------------+-------+---------+---------+------+---------+------------+-------+-------+----------+------+---------+------------+-------+---------+---------+------+---------+---------+--------+---------+----------+
| 1 | Marcolla | cigar-case | green | cider | Serkonos | 2 | Contee | order | white | absent | Morley | 3 | Winslow | ring | blue | rum | Freiport | 4 | Finch | coulomb | red | whiskey | Danuol | 5 | Natsiou | diamond | purple | coctail | Bailton |
| 1 | Marcolla | order | green | cider | Serkonos | 2 | Natsiou | diamond | white | coctail | Bailton | 3 | Winslow | cigar-case | blue | rum | Danuol | 4 | Finch | coulomb | red | whiskey | Morley | 5 | Contee | ring | purple | absent | Freiport |
| 1 | Marcolla | cigar-case | green | cider | Serkonos | 2 | Finch | coulomb | white | coctail | Morley | 3 | Winslow | order | blue | rum | Danuol | 4 | Natsiou | diamond | red | whiskey | Bailton | 5 | Contee | ring | purple | absent | Freiport |
| 1 | Marcolla | order | green | cider | Serkonos | 2 | Finch | coulomb | white | coctail | Morley | 3 | Winslow | cigar-case | blue | rum | Danuol | 4 | Natsiou | diamond | red | whiskey | Bailton | 5 | Contee | ring | purple | absent | Freiport |
| 1 | Marcolla | ring | green | coctail | Freiport | 2 | Contee | order | white | absent | Danuol | 3 | Winslow | diamond | blue | rum | Morley | 4 | Natsiou | cigar-case | red | whiskey | Bailton | 5 | Finch | coulomb | purple | cider | Serkonos |
| 1 | Marcolla | ring | green | coctail | Freiport | 2 | Contee | cigar-case | white | absent | Danuol | 3 | Winslow | diamond | blue | rum | Morley | 4 | Natsiou | order | red | whiskey | Bailton | 5 | Finch | coulomb | purple | cider | Serkonos |
| 1 | Marcolla | diamond | green | coctail | Morley | 2 | Contee | cigar-case | white | absent | Danuol | 3 | Winslow | ring | blue | rum | Freiport | 4 | Natsiou | order | red | whiskey | Bailton | 5 | Finch | coulomb | purple | cider | Serkonos |
+------+----------+------------+-------+---------+----------+------+---------+------------+-------+---------+---------+------+---------+------------+-------+-------+----------+------+---------+------------+-------+---------+---------+------+---------+---------+--------+---------+----------+
7 rows in set (0.04 sec)
Спасибо за краткое оригинальное решение.
Но!
IMHO условия крайне ненаглядные. Сравниваются яблоки с апельсинами.
В одном из разжёвываний был сказан очень простой алгоритм, где думать вообще не требуется. Но опять таки, я не гуглил решения этой загадки на английском.
Думаю, всё-таки как-то ChatGPT решила загадку, но вот если придумать аналогичные, то не факт, что справится.
Не подскажешь, хомяк каждый тап отправляет на сервер или раз в N минут скидывает, чтобы сервера не перегружать?
Не подскажешь, что в конечном итоге Хомяк - это html и javascript, которые создаются c помощью Flutter? Или какой-то байт-код, который исполняет браузер?
И какое было вознаграждение за этот баг?
Браво! Хотел поднять вам карму, но без статей выше 4х Хабр не разрешает.
Добавил информацию в статью об этом способе со ссылкой на вас и ваш комментарий.
Отлично! Удивительно, почему планировщик MySQL не смог справиться с запросом, когда использовались реальные таблицы... Есть идеи?
С помощью ограничений мы сжимаем задачу всего лишь до 80 вариантов, что есть в статье.
Без этого можно столкнуться с тем, что таблицу с 5^5 строк нам придётся джойнить саму к себе, что даст гораздо больше вариантов, а именно (5^5=3125)^5, что сильно меньше, чем 80^5.
А без этого второго джойна будет трудно обработать условия относительного местоположения.
В похожей задачке человек обошёлся одним мегаджойном, который без учёта условий тоже даёт (5^5)^5 строк. Я значительно облегчил работу планировщику запросов, а он отдал всю оптимизацию на откуп планировщику. SQL Server справился (не знаю за какое время), MySQL сделал это по моей технике за время меньшее миллисекунды.
А явный или неявный джойн - это значения не имеет.
Да, её разжёвывали множество раз в сети.
На Хабре решения головоломки Эйнштейна на SQL я не нашёл. С трудом я нашел то, о чём вы говорите.
IMHO, моё решение короче, элегантнее и содержит меньше условий, но суть похожа.
В общем случае, это плохой подход, так как вариантов может быть настолько много, что не хватит всех жёстких дисков мира, чтобы создать все комбинации.
И этот вариант головоломки Эйнштейна не включает относительное местоположение, что заметно упрощает её, в сравнении с задачей Джиндоша.
Ответ верный, но в рассуждениях есть ошибки.
Нет. Это значит только, что рядом с дамой с портсигаром сидела дама из Морли.
Это подтверждает, что она из Морли. Если это условие выкинуть вообще, так как, в теории, путешественница могла посещать вообще что угодно, то есть 7 вариантов решения задачи.
Скрытый текст
Рассуждения сомнительные, однако ответ верный.
Можете прислать как конкретно ответила нейросеть?
Я задал эту загадку Copilot (bing.com) и получил неверный ответ:
Да, к сожалению, это так. Это политика администрации ресурса.
Как могут быть связаны булевы формулы и задача коммивояжёра?
Вы же помните как в фильме главный актор чуть не сошёл с ума от того, что рейтинговые агентства специально делали неправильные рейтинги?
Большинство людей с правильным прогнозом в этой ситуации бы просто разорилось.
В минимальных требованиях ничего про специализированные процессоры нет.
Откуда такая информация?
А разве когда-либо этот француз сидел за колючей проволокой в концлагере? Немцы же очень гуманно оккупировали Францию.