-
Data: 2013-09-25 07:56:12
Temat: Re: funkcja haszująca/skrótu
Od: Przemysłąw Dębski <p...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Piotrne pisze:
> W dniu 2013-09-24 06:06, bartekltg pisze:
>
> > Pytacz pewnie by docenił dwa słowa, skąd wzorek;)
>
>
> Wzorek jest spisany m.in. tu:
> http://math.stackexchange.com/questions/349924/funct
ion-mapping-combinations-to-natural-numbers
>
>
> Wyjaśnić go można obrazowo na trójkącie Pascala
> ze współczynnikami dwumianowymi. Dla podanego
> przykładu (kombinacje 2 elementów z 6) znajdujemy
> liczbę C(6,2) = 15. Tyle jest różnych kombinacji.
> Jednocześnie tyle jest różnych "dróg" prowadzących
> od liczby 15 do jedynki na górze trójkąta - przyjmując,
> że poruszamy się zawsze o "piętro" w górę (do n-1),
> w lewo (do k-1) lub w prawo (do k). Każda spośród tych
> dróg reprezentuje inną kombinację: element należy
> do podzbioru, jeśli "skręciliśmy w lewo" (wybraliśmy k-1).
>
> Pozostaje więc ponumerowanie dróg (i jednocześnie kombinacji).
> Dla przykładowej 15 (= 5 + 10) przyjmujemy, że 5 początkowych
> numerów (0 do 4) pochodzi z "piątki", a 10 kolejnych numerów
> (5 do 14) z "dziesiątki". Przenosząc się o poziom wyżej:
> numery 5 do 14 pochodzą z "czwórki" (5 do 8) oraz "szóstki"
> (9 do 14). I tak dalej...
Dzięki za pomoc, algorytm działa idealnie na moich danych, choć to jak
działa nie do końca jeszcze rozumiem :) Współczynniki stablicowałem.
Uzupełniając jeszcze Twoją odpowiedź dla Wojtka, dlaczego nie liczby w
systemie 52. Tak (w sensie - bitowo)zakodowane kombinacje można łatwo
testować na okoliczność zawierania lub nie elementów przy pomocy
operatorów bitowych. Ma to znaczenie gdy podzbiór który obrabiam jest
zdefiniowany w taki sposób, że generowanie iteracyjne jedynie
prawidłowych kombinacji jest skomplikowane i raczej mało efektywne.
Przykład:
Tu muszę nadmienić, że tablica do której robiliśmy wskazania, jest tylko
przejściową do innej, posortowanej wg. takiego klucza, który gwarantuje
(poza przypadkami szczególnymi), że podzbiory które będziemy badać będą
w niej ciągłe (wszystkie wartości od indeksu a do b). Wracając o
przykładu - odniosę się do faktycznych danych. Mamy zbadać coś we
wszystkich kombinacjach par od QQxxx do AAxxx, przy czym w xxx nie może
być kilku konkretnych kart. Ponieważ mają to być pary, generując
iteracyjnie musiał bym zadbać by xxx oprócz kart których nie mogą z
założenia zawierać, nie zawierały w sobie róznych innych tworów typu np.
55x, które z jednej pary tworzą dwie pary. Natomiast jeśli wyjdę od
strony tablicy w której pary AA-QQ są w ciągłym zakresie indeksów i nie
ma wśród nich kart klasy innej niż para (tak jest posortowana tablica)
wówczas pozostaje mi zbadać tylko jawnie zadane warunki nie zawierania
konkretnych kart. Przy bitowym zakodowaniu robię to najczęściej jednym
AND, przy kodowaniu w systemie 52 muszę się gimnastykować.
Pozdrawiam
Następne wpisy z tego wątku
- 25.09.13 12:36 JDX
- 25.09.13 15:05 p...@g...pl
- 25.09.13 17:30 JDX
- 25.09.13 19:01 Ghost
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-12 Warszawa => PC Hardware Expert / Specjalista PC <=
- 2025-07-12 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2025-07-12 Warszawa => Administrator IT <=
- 2025-07-12 Warszawa => IT Administrator <=
- 2025-07-12 Warszawa => Asystent/tka ds. Administracji <=
- 2025-07-12 Warszawa => Specjalista/stka ds. Organizacji <=
- 2025-07-12 Warszawa => MENA New Business Manager <=
- 2025-07-12 Gdynia => Controlling systems Consultant <=
- 2025-07-12 Warszawa => Developer Microsoft Dynamics 365 Finance & Operations (D36
- 2025-07-12 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-07-12 Warszawa => Dyrektor IT <=
- 2025-07-12 Warszawa => IT Director <=
- 2025-07-12 Czy wypowiedź Kaczyńskiego o Braunie jest skarżalna? ["działa z OBCEJ inspiracji"]
- 2025-07-11 Rejestrator temperatur - termopara, siec
- 2025-07-11 DPD, przeniesienie numerów z a2mobile i z Orange