Какво получавате, когато срещнете гатанка с програмист?
Получавате това, което заслужавате!

(трябва да го запазя PG-13 bois...)

Действие -1: Пъзелът

О, знаете пъзела. ВСЕКИ ПОЗНАВА ПЪЗЕЛА.

вие предполагате, и предполагате, и предполагате... и с всяко предположение виждате, че доверието ви като англоговорящ намалява (освен ако не успеете да го познаете за по-малко от пет опита, тогава можете да развиете езиковата си мощ)

Преди да продължите, препоръчвам ви да се запознаете с играта, преди да превъртите надолу:



Акт -2: Проблемът

Кратко и просто: Кой е най-ефективният начин да отгатнете дума от пет букви

Ако нашият речник/речник/корпус има N-думи, какъв е най-малкият брой опити, в които можете да познаете думата?

Напълно произволно предположение ще изисква Nопита в най-лошия случай. Този подход на „груба сила“ е валидно решение, но всъщност не е нещо за празнуване.

Случайното отгатване също не е много интуитивно! Когато направите предположение, получавате много „информация“ обратно от играта.

Никой разумен човек, който играе за победа, не би познал дума, съдържаща R, V, E, C, U и L!

Защо тогава трябва компютърът?

Аз: „Нито един нормален човек не би направил нещо“
Също така аз: **продължава да прави същото нещо**

Има ли някакъв начин, по който можем да използваме тази информация и да аргументираме пътя си процедурно?

Действие -3: Количествено определяне на информация

Ключът към решаването на тази игра не е да се фокусирате върху отгатването на думите. Целта е да увеличим максимално информацията, която можем да извлечем от всяко предположение. Нашата надежда е, че колкото повече научаваме за отговора, толкова по-малък става наборът от предположения (тъй като можем да отхвърлим думи, които не съответстват на информацията, която сме научили)

Увеличете максимално информацията, извлечена от всяко предположение

Добре тогава, как да определим количествено информацията?

Ако не сте съгласни просто да повярвате на думата ми, ето формулата за изчисляване на информацията:

Интересно е да се отбележи, че математиката зад това идва от физична концепция, наречена „Ентропия“. Аз съм твърде мързелив (и съм ужасен учител), така че просто ще свържа добър ресурс, за да науча за това.

Така че, да…

Това, което търсим, е да изчислим ентропията/информацията на всяка дума. По-точно азбуките в думите.

Акт -4: Информация

Малко след като започнах да работя по проблема, забелязах, че любимият ми канал в YouTube, 3Blue1Bronwn, направи видеоклип, обясняващ техния подход към този проблем.

Моят подход е подобен, но няколко предположения са различни.

Следните са допусканията на моя модел:

  • Всички думи с 5 букви са еднакво вероятно да бъдат избрани от играта. (Набор от 15 000+ думи).
  • Информацията за една дума е сумата от информацията за всяка азбука
  • Вероятностната мярка, използвана за измерване на информация за дадена азбука, е вероятността азбуката да се появи на определена позиция!

Следователно, например:
Вероятността буквата „C“ да се появи на първа позиция е

По този начин информацията, научена чрез отгатване на C на първо място, е:

И накрая, общата информация, съдържаща се в една дума, например: „C R A N E“ е:

И това, приятели, е всичко!

Действие -5: До … Код

Не е забавно, ако не „ВИЖДАТЕ“ как тази идея работи!

И така, без повече шум, позволете ми да покажа резултатите от кода

Добре, знам, че това не е най-добрият резултат. Но това беше първата итерация

Ето кодовата база! уведомете ме, ако имате някакви предложения!



Акт -5: Заключителна бележка

Това беше забавно предизвикателство и за щастие кодирането също не отне цяла вечност. Не е най-доброто, но като се има предвид академичното натоварване на курса, съм доволен от резултатите; за сега.

Въпреки че е изключително удовлетворяващо да видиш своя бот да печели в игра на думи, това предизвикателство ми напомни защо обичам толкова много науката и математиката! Решението на проста игра на думи произтича от термодинамиката и математиката просто обобщава проблема.

Вдъхновение може да бъде намерено, дори и в най-мрачните времена, ако човек само си спомни да запали светлината.

Последни мисли:

Кой мислите, че ще спечели кръг от wordle?

Математикът Пери или Лингвистът Стив?