-
Data: 2010-03-02 08:14:00
Temat: Re: Jaki język?
Od: "jacem" <j...@1...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Użytkownik "slawek" <s...@h...pl> napisał w wiadomości
> Ja tam "nie myślę" - tzn. nie stosuję jakiegoś formalnego algorytmu. Więc
> raczej blado od tej strony. :)
Mózg przetwarza, i to intensywnie.
Zagraj w tetris.
A potem przyłóż dłoń do czoła.
Przekonasz się jakie gorące. ;-)
Podejmujesz decyzje "odruchowo", to jasne. Ale nie są przypadkowe.
Czymś się kierujesz.
> Kiedyś napisałem program grający w kółko i krzyżyk - algorytm był
> jednolinijkowy, do dziś pamiętam:
> n = (n + 1) mod 9
> Sprawdza się na planszy 3x3, AI zawsze jako druga, numeracja pól jakoś
> tam sobie szła. Nie wygra i nie przegra. Czysty minimax.
A na planszy 5x5?
>> Ludzie, którzy na codzień zajmują się tworzeniem gier, na pewno dadzą
>> wyczerpującą odpowiedź. Przypuszczam, że tego typu problemy mają już
>> dawno rozpracowane.
> Zgoda, ale NIE chodzi o to aby ZROBIĆ TO - ale aby zastanowić się JAK
> DUŻE TO BYŁOBY WYZWANIE.
> I odpowiedź niekoniecznie nieomylna - może algorytm da się streścić w
> paru linijkach? A może porządny algorytm to jakieś 10 tysięcy linii
> kodu? Mnie nie interesuje, by taki napisać (bo i po co?) - ale aby
> zorientować się, jak bardzo ufacie swoim ulubionym językom
> programowania. Jeżeli ktoś np. pisze, że PHP jest cool - a potem nie
> potrafi ocenić, ile musiałby naklepać tego PHP aby mieć "program
> rozwiązujący łamigłówkę Tetris" - to czy PHP jest taki cool? Zamiast
> PHP podstawcie sobie inne języki, przeiterujcie.
Nie mam swojego ulubionego języka.
To tylko narzędzie.
Może być C++, Java, C#...
> Jeszcze jedno - zakładam że program nie musi być the best - takim
> "terisowym mistrzem" - patrz Głęboko Niebieski i gra w szachy. Chodzi
> tylko o to, by grał sportowo, uczciwie. Dlatego odpadają programy
> upuszczające klocki tak jak są, albo upuszczające je z losowym obrotem
> i przemieszczeniem. Pewnym utrudnieniem mogłoby być przesuwanie klocków
> tak, aby wlazły pod inne (pozwalamy opaść w pewnym położeniu... i myk w
> lewo lub prawo gdy będą już na dole) - więc załóżmy że tego robić nie
> wolno.
> Ja bym próbował np. tak jak poniżej. Nie twierdzę, że to dobre
> rozwiązanie.
> Przesunięć jest może 10, obroty mnożą to przez 4, symetria może
> zredukować. Czyli jakieś do 40 pozycji do rozpatrzenia, powiedzmy 2^5.
> Typów klocków jest może z 2^4. Stąd przewidywanie jakie przyjdą kolejne
> dwa (mając już jeden) i spasowanie ich daje łącznie (2^5)^3 * (2^4)^2 =
> 2^23 = 8 milionów kombinacji. To niedużo - jeżeli jeszcze uda nam się
Skoro klocki pojawiają się przypadkowo, to jaki sens przewidywania?
A ty przewidujesz, który klocek następny podczas układania bieżącego?
> ograniczyć trochę (usunąć te, które są ewidentnie złe, odfiltrować
> symetryczne). Czyli wstawiamy klocek tak, aby optymalnie pasował -
> biorąc pod uwagę kolejne dwa, których jeszcze nie ma. I od nowa.
> Musimy jeszcze jakąś reprezentację mieć planszy, klocków, definicję
> "optymalności" - nie mówię że to łatwe i nie jest pracochłonne.
> Ale zakładam, że program ma prawo się mylić - tzn. nie musi sprawdzać
> wszystkich możliwości, może używać funkcji random (jeżeli to uzasadnione).
> Trzebaby pogooglać - może są jacyś entuzjaści tego typu programów. Ale
> nie chodzi o sam program - lecz o zagadnienie, które: a. można
> zaprogramować; b. nie jest to "typowe" programowanie
> kadry-płace-excel-webmastering-cholera-wie-co; c. fajne jakieś takie
> wyszło.
> Moim zdaniem ciekawiej jest porównywać "jak duży ma być program
> układający Tetris" - niż programy "Hello, I am Jan... Jan B."
> slawek
Wszystko zależy od poczynionych założeń początkowych i uproszczeń.
Im prościej, tym bardziej elegancko. :-)
Przypuszczam, że najkrótszy (ale najmniej czytelny) kod byłby w Ruby'm.
(pomijam Perla)
j.
Następne wpisy z tego wątku
- 02.03.10 09:41 slawek
- 03.03.10 08:52 jacem
- 03.03.10 13:52 slawek
- 03.03.10 14:33 Jędrzej Dudkiewicz
- 03.03.10 17:21 slawek
- 04.03.10 10:10 jacem
- 04.03.10 10:11 jacem
- 04.03.10 10:25 jacem
- 04.03.10 10:57 slawek
- 04.03.10 11:02 slawek
- 04.03.10 13:17 jacem
- 04.03.10 13:22 jacem
- 08.03.10 12:32 Selvin
- 10.03.10 17:42 slawek
Najnowsze wątki z tej grupy
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- 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
Najnowsze wątki
- 2025-12-26 Gdańsk => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-26 Kraków => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-12-26 Kraków => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-26 wymieniłem termostat
- 2025-12-26 Warszawa => Senior Backend Java Developer <=
- 2025-12-25 Finlandia przywraca swastykę
- 2025-12-25 Skuteczność wymiaru sprawiedliwości
- 2025-12-24 Felgi
- 2025-12-24 2,5 x więcej niż Li-Ion
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump
- 2025-12-24 Podżeganie?
- 2025-12-24 => Senior Algorithm Developer (Java/Kotlin) <=
- 2025-12-24 otwarcie drugiej obwodnicy Trójmiasta




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem