Faydalı məsləhətlər

Gizli Santa Alignment Alqoritmi

Pin
Send
Share
Send
Send


ELLE, Anonim Yeni İl Hədiyyələri Mübadiləsi Mərasiminin Necə Olacağını Bildirir

Yeni il üçün cəmi üç həftədən çox vaxt qalıb - ailəniz, dostlarınız, qonşularınız və həmkarlarınız üçün hədiyyələr barədə düşünməyin vaxtı gəldi. Ancaq böyük bir ictimai dairəniz varsa və sadəcə hər birini bəxş etmək imkanınız yoxdursa nə olacaq? Bu vəziyyətdə Gizli Şaxta baba köməyə gələcək. Bu, böyük bir şirkət üçün yaxşı bir Milad oyunudur, anonim hədiyyələr mübadiləsi - heç bir günah, məyusluq və 1 yanvarda atılmaq məcburiyyətində qaldıqları ağacın altından on axmaq ucuz şey.

Alqoritmin ilk mərhələsi

Beləliklə, hər bir iştirakçıya adları əlifba sırası ilə 1-dən N-ə qədər bir nömrə verilir. Bu məlumat açıqdır və bütün iştirakçılara çatdırılır.

Sonra ilk iştirakçı təsadüfi olaraq natural ədədlərin böyük bir dəstini yaradır (ən azı 2N lazımdır), bunların heç biri uyğun gəlmir. Bu dəst əvvəlcə heç kimlə paylaşılmır. Birinci iştirakçı, bu nömrələri artan sırada rahatlığı üçün yazır, onlardan birini təsadüfi seçir, seçilmiş nömrəni dəstdən çıxarır və qalan dəsti ikinci iştirakçıya ötürür. Nəticədə, ilk iştirakçının yazdığı 2 şey var: başlanğıc dəsti və seçdiyi nömrə.

5 iştirakçı ilə bir nümunə.

Birinci iştirakçı ilkin dəst hazırlayır: 3, 46, 50, 89, 94, 95, 101, 500, 783, 5003, 5765, 7003

Seçilmiş: 783
İkinci iştirakçıya keçdi: 3, 46, 50, 89, 94, 95, 101, 500, 5003, 5765, 7003

İkinci iştirakçı da dəstdən ixtiyari bir nömrəni seçir, dəstdən çıxarır və qalan dəsti növbəti iştirakçıya ötürür. 3, 4 və 5-ci iştirakçılar da bunu edirlər. Beşinci, sonuncu, iştirakçı özü üçün bir sıra seçir, amma bu günə qədər heç kimə bir şey ötürmür.

İkinci iştirakçı alır (bir daha təkrar edirik): 3, 46, 50, 89, 94, 95, 101, 500, 5003, 5765, 7003
İkinci iştirakçı seçir: 3

Üçüncü iştirakçı alır: 46, 50, 89, 94, 95, 101, 500, 5003, 5765, 7003
Üçüncü tərəf seçir: 94

Dördüncü iştirakçı alır: 46, 50, 89, 95, 101, 500, 5003, 5765, 7003
Dördüncü tərəf seçir: 5765

Beşinci iştirakçı alır: 46, 50, 89, 95, 101, 500, 5003, 7003
Beşinci tərəf seçir: 101

Balans qurun: 46, 50, 89, 95, 500, 5003, 7003

Bu alqoritmin ilk mərhələsidir. Şərh: sonda hər bir iştirakçıda hamıya məlum olmayan bir nömrə var (daha doğrusu, hər bir iştirakçı çox sayda bir sıra bilir, bu barədə sonrakı iştirakçılar öz nömrələrini ondan seçdiklərini bilir - ancaq bu qəribələri dəqiq tanımağa imkan verən heç bir məlumat vermir. ədədlər). İndi seçilmiş nömrələrin bütün dəstini iştirakçıların hər birinə birtəhər çatdırmağın bir yolunu tapsaq, onda donorların təyin edilməsi vəzifəsi həll ediləcəkdir: hər bir iştirakçı son nəticə üçün seçilmiş nömrələrin bu seriyasında son nəticəni almaq üçün kifayət etməlidir.

Tutaq ki, artıq seçilmiş nömrələrin hamısını izah etmək üçün bir yol tapmışıq (ümumiyyətlə bunu alqoritmin 2-ci mərhələsində edəcəyik) və iştirakçılar hədiyyə etdikləri nömrələri öyrəndilər. Problem ondadır ki, bir və ya daha çox iştirakçı öz nömrələrini əldə edə bilər ki, bu da son nəticəni səhv edir. Bu alqoritmin böyük bir mənfi cəhətidir, çünki bu vəziyyətə düşmə ehtimalı olduqca yüksəkdir, lakin artan N. ilə azalsa da, ən azı 2 çıxış var:

Öz nömrəsini alan iştirakçı hər kəsdən əvvəldən lotu təhvil verməsini xahiş edir. Hamı düzgün nömrəni aldıqlarını təsdiqləməyincə bu prosedur təkrarlanmalıdır.

  • Öz nömrəsini alan iştirakçı, hamıdan xahiş edir ki, yekun nəticələrə müəyyən olunmuş ballar olmadan təsadüfi dəyişikliklər tətbiq etsin. Bu dəyişmə açıq şəkildə hazırlanır və bütün iştirakçılara çatdırılır. Hər bir iştirakçı bu dəyişikliyi istedadının sayına tətbiq etməlidir. Hamı düzgün nömrəni aldıqlarını təsdiqləməyincə bu prosedur təkrarlanmalıdır. Bu üsul yalnız bir fiziki görüş üçün uyğundur, çünki uzaqdan əlaqə təsadüfi bir dəyişməyə zəmanət verə bilməz (məsələn, bir permütasyon yaratmaq istənən birisi, istedadlı şəxsin istədiyi digər nömrəsinə verilmiş şəxs nömrəsini sərbəst olaraq tərcümə edə bilər).

  • 5 iştirakçı ilə nümunədə, seçilmiş nömrələrin necə görünəcəyi belədir:

    1-ci iştirakçı seçdi (yenə təkrar edirik): 783
    2-ci iştirakçı seçdi (təkrarlayın): 3
    3-cü iştirakçı seçdi (təkrarlayın): 94
    4-cü iştirakçı seçdi (təkrarlayın): 5765
    5-ci iştirakçı seçdi (təkrarlayın): 101

    Artan qaydada seçilmiş nömrələrin siyahısı (təkrar edirəm - gizli şəkildə bütün iştirakçılara necə məlumat verəcəyimizi bilirik): 3 94 101 783 5765

    Hədiyyələrin ümumi sayı:

    1-ci iştirakçı: 783 seçdi, 3 94 101 783 5765 təyin olundu - mükafat verilən şəxsin sayı 4
    2-ci iştirakçı: 3-ü seçdi, 3-ü seçin 3 94 101 783 5765 - mükafat verilən şəxsin sayı
    3-cü iştirakçı: 94 seçdi, 3 94 101 783 5765 - 2 nəfərin sayı
    4-cü iştirakçı: 5765 seçdi, 3 94 101 783 5765 - təqdim olunanların sayı
    5-ci iştirakçı: 101 seçdi, dəst 3 94 101 783 5765 - təqdim olunanların sayı

    Yenidən yerləşdirmə tələb olunmur.

    Alqoritmin ikinci mərhələsi

    Beləliklə, hər kəsə "ayrılmış" nömrələrin yığımını necə izah edirsiniz? Bu ikinci mərhələnin vəzifəsidir. Birinci iştirakçı, son iştirakçı ona sonda qalan dəsti söyləsə, bu dəsti tanıya bilər (məsələn, 46, 50, 89, 95, 500, 5003, 7003). Birinci iştirakçı üçün bu dəsti başlanğıcdan çıxartmaq kifayətdir və kənarlaşdırmanın nəticəsi iştirakçıların seçdiyi istənilən nömrələr dəsti olacaqdır. Qeyd edək ki, bu aksiya ilə ilk iştirakçı hələ digər iştirakçıların aldıqları nömrələri açıqlamağa imkan verən heç bir məlumat bilmir.

    Təəssüf ki, hesablanmış dəsti zəncirdən daha aşağı götürmək və hesabat vermək mümkün deyil, çünki yalnız son məlumat verən iştirakçı bu məlumatdan son iştirakçı tərəfindən seçilmiş sayını dərhal hesablayacaq və buna görə istedadlı insanı tanıyacaq.

    Bu problemin həlli aşağıdakı kimidir. Artıq qeyd edildiyi kimi, son iştirakçı son qalan dəsti birincisinə keçir. Birinci iştirakçının aşağıdakı məlumatları var:

    Başlanğıc dəsti: 3, 46, 50, 89, 94, 95, 101, 500, 783, 5003, 5765, 7003

    Seçilmiş nömrə: 783

    Son təyin olunmuş balans: 46, 50, 89, 95, 500, 5003, 7003

    Birinci iştirakçı, yuxarıda qeyd edildiyi kimi, bütün iştirakçıların seçdiyi nömrələr toplusunu hesablayır: 3, 94, 101, 783, 5765 və onunla birlikdə təqdim olunan şəxsin nömrəsini tanıyır - 4.

    İndi, bu andan etibarən, hər bir iştirakçı, birincisindən başlayaraq, növbəti iştirakçıya N nömrələri toplusunu söyləyəcəkdir. Belə bir dəsti almış hər kəs onu bütün iştirakçıların seçdiyi nömrələr toplusu hesab etməli və müvafiq olaraq hədiyyəsinin sayını hesablamalıdır. Ancaq hər addımda seçilmiş nömrələrin orijinal dəsti deyil, dəyişdiriləcək, lakin hədiyyə edilən şəxsin sayının orijinal olduğu kimi hesablanmasının eyni nəticəsini verəcəkdir. Eyni zamanda dəyişdirilmiş dəst başqalarının seçdikləri nömrələri tapmaq üçün hər hansı bir fürsəti istisna edəcəkdir.

    Belə dəyişdirilmiş dəsti tərtib etmək üçün iştirakçı əvvəlki iştirakçıdan aldığı dəsti götürməlidir (ilk iştirakçı olduqda - yuxarıda təsvir olunduğu kimi hesablanmış dəst) və nömrəsini (ilk mərhələdə seçilmiş) ilkindən başqa hər hansı bir nömrə ilə əvəz etməlidir. İşə qəbul mərhələsi, aşağıdakı məhdudiyyətlərlə:

    • Əvəz edilmiş nömrə əvvəlki iştirakçıdan alınan dəstə daxil edilməməlidir,
    • Əvəz edilmiş nömrə dəyişdirilmiş dəstdə eyni seriya nömrəsinə sahib olmalıdır, orijinal dəstdəki əvəz edilmiş nömrə ilə eyni olmalıdır.

    Nümunədə, ilk iştirakçı, seçilmiş nömrəni 3, 94, 101, 783, 5765-də 783 ilə əvəz edir. Onun 783 ilə əvəzlənməsinə icazə verilən nömrələr 500 və 5003-dir. Tutaq ki, 783 ilə 5003 əvəz etməyi seçir və dəsti ikinci iştirakçıya ötürür. 3, 94, 101, 5003, 5765.

    Qalan iştirakçılar da bunu edirlər. Nümunəni sona çatdırırıq.

    İkinci iştirakçı:
    Birinci mərhələdə - 3, 46, 50, 89, 94, 95, 101, 500, 5003, 5765, 7003
    Seçilmiş sayı 3-dür
    2-ci mərhələdə - 3, 94, 101, 5003, 5765

    3 ilə əvəz edilə bilər - 46, 50, 89
    50 əvəz etməyi seçirik, 50, 94, 101, 5003, 5765 nömrəli bir dəsti keçirik

    Üçüncü tərəf:
    Birinci mərhələdə - 46, 50, 89, 94, 95, 101, 500, 5003, 5765, 7003
    Seçilmiş sayı - 94
    2-ci mərhələdə - 50, 94, 101, 5003, 5765

    94 - 89, 95 ilə əvəz edilə bilər
    89 əvəz etməyi seçirik, 50, 89, 101, 5003, 5765 nömrəli bir dəsti keçirik

    Dördüncü üzv:
    Birinci mərhələdə - 46, 50, 89, 95, 101, 500, 5003, 5765, 7003
    Seçilmiş Nömrə - 5765
    2-ci mərhələdə - 50, 89, 101, 5003, 5765

    5765 - 7003 ilə əvəz edilə bilər
    7003 əvəz etməyi seçirik (müəyyən alternativlər yoxdur), 50, 89, 101, 5003, 7003 dəstini keçirik

    Beşinci üzv:
    Birinci mərhələdə - 46, 50, 89, 95, 101, 500, 5003, 7003
    Seçilmiş sayı - 101
    2-ci mərhələdə - 50, 89, 101, 5003, 7003

    Dəstlərin mübadiləsi başa çatdı, iştirakçılar hədiyyə edilənlərin sayını hesablamaqla məşğul ola bilərlər.
    Bu yanaşma olan iştirakçıların heç birinin digər insanların nömrələri haqqında heç nə öyrənə bilməyəcəyinə əmin ola bilərsiniz.

    Hər şey, alqoritm tamamlandı. Açığı, iştirakçının öz nömrəsinə sahib olmaq şansına görə yuxarıda göstərilən tez-tez edilən mübadilə əlavə olaraq daha iki çatışmazlıq görürəm:

    Dəstdən bir nömrə seçən iştirakçının təsadüfi olması heç bir şəkildə təmin edilmir. Heç kim ilk iştirakçını narahat etmir, məsələn, dəstdəki son nömrəni seçmək və bununla praktik olaraq özünü N-ə bərabər olan hədiyyə olunan şəxsin nömrəsi ilə təmin etmək. Bu problem aradan qaldırılır, əgər qeyd edildiyi kimi, iştirakçılar alqoritmin sonunda razı olduqda hər kəsə məlum olmayan təsadüfi permutasiyanı əlavə tətbiq etməyə razıdırlar. sabit nöqtələr, lakin onun təsadüfi olması da bir şəkildə təmin edilməlidir.

  • Alqoritm, hədiyyə olunanların sayına əlavə bir məhdudiyyət yaratmağı bilmir (məsələn, hər 2 iştirakçıya və ya müəyyən 2 iştirakçıya bir-birinə hədiyyə vermələrini qadağan edir).

  • Sona qədər oxuyanların hamısına təşəkkür edirəm və Yeni iliniz mübarək :) Alqoritmdə daha çox problem tapan və ya mövcud olanları həll edən birinə bir çərəz!

    Gizli Santa qaydaları:

    1. Hər bir iştirakçı üçün iki bərabər hissədən bir kart hazırlayırıq.
    2. Yuxarıda "X nömrəsiniz" yazırıq və aşağıda "X nömrəsinə hədiyyə verirsiniz" yazırıq. Yarımfundakı nömrələr uyğun olmalıdır. Yuxarıdakı "Sən 1 nömrəlisən" deyərsə, alt hissədə "1 nömrəyə hədiyyə edirsən" olmalıdır.
    3. Vərəqləri altına yazıb qarışdırırıq.
    4. Onları dönmədən bir sıraya qoyduq və hər bir kartın yarısını kəsdik.
    5. Bundan sonra, yuxarı yarıları dəyişdiririk, onları sağa və ya sola köçürürük və ortaya çıxan kartları yapışdırırıq.
    6. İndi hər bir iştirakçı bir kart seçə bilər.
    7. Hər kəsin adını və aldığı nömrəni yazdığı bir siyahı hazırlayırıq.
    8. Hər kəsin hədiyyələrə sərf etməyə hazır olduğu məbləği müzakirə edirik.

    Hədiyyələr mübadiləsinin anonimliyi mütləq təmin edilir, çünki kartları kəsmədən əvvəl qarışdırdınız. Yuxarıdakı və aşağıdakı rəqəmlər üst-üstə düşməyəcək ki, heç kim özünü uzatmasın.

    Gizli Santa və onun qaydaları

    Gizli Santa oyununu təşkil etmək üçün nə lazımdır? Ən asan seçim, təşkilatın bütün iştirakçılarının adları ilə kağız parçaları hazırlamaq, bükmək və şapka qoymaqdır. Qarışdırın. Bir hədiyyə üçün qiymət aralığını göstərin. Deyək ki, 1000 rubldan ucuz deyil, 2000 rubldan baha deyil ki, ən qənaətcillər "Hamısı eyni qiymətə" axışından bəzəkli bir şamdan qurtulmağa çalışmasınlar, ən səxavətli dizayner butiklərindəki nadir əşyalara görə müflis olacaqlar.

    Razılığa gəldikdən sonra, şapkaları bir dairədə gəzdirin - hər biri adından bir kağız kağızı çıxartın. Onu heç kimə göstərmə! Birdən öz adınızla bir parçaya rast gəlsəniz, şapkaya qaytarın və yenidən lotu çəkin. Kağızınızı kor-koranə seçən şəxs Gizli Şaxta babanız olacaq. Sən də kağız parçası sənə məxsus olan üçün “Gizli Şaxta baba” olacaqsan.

    Püşkatmadan sonra hədiyyələrin paylanması günü və yerini müəyyənləşdirmək lazımdır. Bir qayda olaraq, belə bir flash mob iş yerində aparılır. Sonra siz və həmkarlarınız bunu Yeni il tətili öncəki son iş günü ofisdə təşkil edə və səssizcə adresinizə masanın altına bir hədiyyə qoya bilərsiniz. Yeni ili qeyd edəcək dostlarınız arasında "Gizli Şaxta baba" oynamağa qərar verərsinizsə, 31 dekabr tarixində Milad ağacı altında hədiyyələr olan imzalı qutuları qoyun.

    Hədiyyə təklifləri:

    - Zövqünüzə uyğun bir şey, xüsusən də ətir, kosmetika və alt paltar almamalısınız - hədiyyə ilə itirəcəyiniz ehtimal çox yüksəkdir;

    - Oyunun bir hissəsi kimi ədəbsiz suvenirlər və ya bir cinsi mağazadan əşyalar vermək yaxşı bir fikir deyil. Alıcının zarafatını qiymətləndirməsi ehtimalı azdır,

    - Alıcınız tanınmış içki və yemək sevgilisi olsa da, Alkoqol və qida gizli Santa üçün də şübhəli bir seçimdir.

    - Sosial şəbəkələrdəki səhifəsində kiçik bir araşdırma aparmaqla və ya qohumlarından soruşmaqla alıcınızın üstünlükləri və hobbi barədə məlumat almağa çalışın.

    - Sizin adresiniz üçün praktik bir şey, ehtimal ki, rəfində toz yığmayacaq bir şey alın. Bir xoruzun mənasız və amansız heykəlcikindən daha çox hədiyyə təəssüratı (teatr biletləri, SPA-ya səyahət və ya dırmaşma divarına sertifikat) olsun.

    - Hədiyyəni seçməkdə çətinliklərin olacağını əvvəlcədən bilsəniz, iştirakçılarla ümumi bir arzu siyahısını hazırlayın, ofisdəki mantar taxtasına yapışdırın və ya hər kəsə elektron poçtla göndərin.

    - Ayrıca, püşkatmadan əvvəl bir ad ilə istədiyiniz hədiyyələrin qısa siyahısını yaza bilərsiniz,

    - Hədiyyə üçün gözəl qablaşdırma ilə maraqlanmalısınız - buna görə almaq ikiqat xoş olacaq. Qarışıqlıq içində səhv səhv əllərə düşməməsi üçün qutuya böyük hərflərlə imza atmağı unutmayın.

    Gizli Santa online

    Qərbdən bizə gələn anonim hədiyyə mübadiləsi ənənəsi İnternetdə getdikcə populyarlaşmaqdadır. İndi bütün sosial şəbəkələrdə Gizli Şaxta baba qrupları 2017 mövcuddur, burada qeydiyyatdan keçmiş hər bir üzvün adresi haqqında məlumat göndərilir. Bundan əlavə, yerindən asılı olmayaraq hər kəs başqasının Santa ola biləcəyi ayrı saytlar yaradılmışdır. Kompüter sistemi sizin adresinizin kim olacağını müəyyənləşdirir və hər kəs təsadüfi bir ünvan alır və burada poçtla hədiyyə göndərməyi öhdəsinə götürür. İnternetdəki belə kütləvi flaşmoblarda iştirak edənlərin sayı on minlərlə insana çatır. Belə layihələrin yaradıcılarına görə, onların əsas məqsədi ticarət deyil, bayram əhval-ruhiyyəsi yaratmaqdır. Yeni il üçün bir hədiyyə olmadan heç kim qalmamalıdır!

    Videoya baxın: Game Theory: Petscop - The GHOST Inside a HAUNTED Game (Sentyabr 2020).

    Pin
    Send
    Share
    Send
    Send