مكتبة لتوليد الجناس ومعالجتها.
سيينوسيتوو | UT TENSIO، SIC UIS
روبرت هوك، دي بوينتيا ريستيتيوتيفا
(تتطلب '[d4hines/anagramaton.core : as a])؛؛ تتطلب المكتبة قاموسًا كمدخل، على شكل سلاسل مصفوفة. إليك مثال.(def الكلمات (str/split (slurp "/usr/share/dict/words") #"n");; بعد ذلك نحتاج إلى إجراء بعض المعالجة المسبقة على القاموس (def word-map (a/dict->word-mapwords));; الآن يمكنك البدء في تشكيل الجناس الناقصة!(a/anagrams word-map "read") => #{["عزيزي"] ["يجرؤ"] ["يقرأ"] ["أ" "أحمر"] ["إعلان" "إعادة"]}
يقوم الباحثون في علم النفس بالتحقيق في قدرة الأشخاص على حل الجناس الناقصة. على هذا النحو، فهم بحاجة إلى طريقة لتوليد حل الجناس الناقصة والتحقق منه.
لغرض هذا المشروع، دع التعريفات التالية تحمل:
الكلمة: واحدة من مجموعة كلمات يونكس القياسية.
الجناس الناقص: كلمة أو سلسلة كلمات مكونة من إعادة ترتيب حروف سلسلة أخرى، مثل زحف رانت ، مكونة من نجار .
لغز الجناس الناقص: سلسلة ليست كلمة ولكنها عبارة عن الجناس الناقص.
حل الجناس الناقص: كلمة مصنوعة من نفس الحروف من الجناس الناقص معين.
الجناس الناقص غير القابل للحل: سلسلة ليست كلمة ولا الجناس الناقص (قليلاً من التسمية الخاطئة، إيه؟).
الحل يجب أن:
كن مكتبة مغلقة...
يمكن أن تولد ألغاز الجناس الناقص ..
متفاوتة الصعوبة...
والتحقق من أن كلمة معينة هي الحل للجناس الناقص معين...
بينما تكون سريعة بما يكفي لاستخدامها بشكل تفاعلي في REPL.
تحتوي خدمة Wordsmith على عدد هائل من المقابض التي يمكنك تشغيلها لإنشاء الجناس الناقصة الرائعة. هذا الشيء رائع. من المغري جدًا إنشاء مكتبة عميل لواجهة برمجة التطبيقات الخاصة بهم والقيام بذلك ...
https://en.wikipedia.org/wiki/Scrabble_letter_distributions من كان يظن
http://norvig.com/mayzner.html - تفسيرات جيدة حقًا، وتحديثات لجداول البيجرام https://stackoverflow.com/a/12477976 - الخوارزمية الأساسية للعثور على الجناس الناقصة للكلمة الواحدة http://pi.math.cornell.edu /~mec/2003-2004/cryptography/subs/digraphs.html - جدول Biggram الذي أستخدمه https://web.stanford.edu/class/cs9/sample_probs/Anagrams.pdf - شرح جيد للخوارزمية http://www.ssynth.co.uk/~gay/anagabout.html - التنفيذ، ولكن بتفاصيل رديئة
https://stackoverflow.com/a/881367 - الإلهام
شكرًا لـseancorfield وdpsutton وporkostomus للمساعدة في خوارزمية الجناس الجزئي!
هل سنتعامل مع عبارات الجناس الناقص (الجناس متعددة الكلمات)؟
كل تعريف قرأته حتى الآن يعرّف الجناس الناقص بأنه "كلمة أو عبارة أو اسم". على الرغم من أنني لست متحمسًا للتعقيد الإضافي الذي ستضيفه الجناس الناقصة متعددة الكلمات (أوامر من حيث الحجم أكثر)، أعتقد أنه يجب التعامل معها للبقاء صادقين مع المشكلة.
ماذا سنفعل لتحسين السرعة؟
بأقل قدر ممكن. التحسين المبكر وكل ذلك.
كيف سنقيس "الصعوبة"؟
انظر القسم التالي.
كيف هيك هل تقيس صعوبة الجناس الناقص؟ اتضح أن هذا موضوع للكثير من البحث والنقاش الأكاديمي.
إليك الملخص السريع والقذر لبحثي حتى الآن:
يبدو أن مايزنر وتريسلت هما المرجعان التاريخيان في هذا الشأن، وقد تم الاستشهاد بهما في العديد من الدراسات المشابهة لهذه الدراسة.
لديهم الكثير من الدراسات التي تدرس آثار الدراسات المختلفة، على سبيل المثال هذه الدراسة.
لقد دار في ذهني الكثير من هذا، ولكن يبدو أن تردد البيجرام هو أحد هذه الترددات