eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJaki język?Re: Jaki język?
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!lub
    lin.pl!uw.edu.pl!newsgate.cistron.nl!newsgate.news.xs4all.nl!news2.euro.net!82.
    197.223.106.MISMATCH!feeder1.cambriumusenet.nl!feed.tweaknews.nl!postnews.googl
    e.com!news2.google.com!npeer02.iad.highwinds-media.com!news.highwinds-media.com
    !feed-me.highwinds-media.com!nx01.iad01.newshosting.com!newshosting.com!newsfee
    d.neostrada.pl!unt-exc-02.news.neostrada.pl!atlantis.news.neostrada.pl!news.neo
    strada.pl!not-for-mail
    From: "jacem" <j...@1...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Jaki język?
    Date: Tue, 2 Mar 2010 09:14:00 +0100
    Organization: TP - http://www.tp.pl/
    Lines: 87
    Message-ID: <hmihh9$n69$1@atlantis.news.neostrada.pl>
    References: <hlkh9u$9ji$1@nemesis.news.neostrada.pl>
    <hmb9gb$jnh$1@nemesis.news.neostrada.pl>
    <hmet4e$2pi$1@nemesis.news.neostrada.pl>
    <7...@g...googlegroups.com>
    <hmgjms$88j$1@atlantis.news.neostrada.pl>
    <hmgm9b$e7b$1@atlantis.news.neostrada.pl>
    <hmgu2e$23d$1@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: actv74.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
    Content-Transfer-Encoding: 8bit
    X-Trace: atlantis.news.neostrada.pl 1267517801 23753 83.11.75.74 (2 Mar 2010 08:16:41
    GMT)
    X-Complaints-To: u...@n...neostrada.pl
    NNTP-Posting-Date: Tue, 2 Mar 2010 08:16:41 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5843
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
    Xref: news-archive.icm.edu.pl pl.comp.programming:185177
    [ ukryj 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.


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: