eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › zaawansowane ai
Ilość wypowiedzi w tym wątku: 49

  • 31. Data: 2012-04-17 18:32:51
    Temat: Re: zaawansowane ai
    Od: " " <f...@N...gazeta.pl>

    M.M. <m...@N...gazeta.pl> napisał(a):

    > <f...@N...gazeta.pl> napisał(a):
    >
    > > o jakim grafie ty mowisz? ja nie mam zadnych grafow tylko mape
    > > ktorej okolice czytam, nie bardzo wiem do czego uzywa sie grafow
    > > w programoaniu np programow do gry w warcaby czy tic tac toe
    > > - nie zajmowalem sie tym,
    > To przypomnij sobie czasy gdy pisałeś A* :D
    >

    mam tu kod algorytmu na najkrotsza droge sprzed 10 lat (z poczatkow
    nauki c) (nie chce mi sie tego czytac ale gdybym mial teraz to zrobic to
    bym tylko troche poprawil owczesny 'drewniany styl' (glupie nazwy itd)
    i tego mw i dzis uzyl (jest w c wiec jest dosyc szybkie)

    polega to na wypoczkowaniu kolejnej obwodki z poprzedniej az dojedzie sie
    do celu - nie pamietam jak to jest dokladnie z tym grafem i jak to jest
    'wszerz'


    void wypelnijmapeskalaremodleglosci(int XS, int YS, int XK, int YK)
    {
    int dx[8]={-1,0,1,-1,1,-1, 0, 1};
    int dy[8]={ 1,1,1, 0,0,-1,-1,-1};

    #define MAX_POJ_NACZOLOFALI 3000

    TypeTWOINT lista1[MAX_POJ_NACZOLOFALI];
    TypeTWOINT lista2[MAX_POJ_NACZOLOFALI];

    TypeTWOINT* listaprzerabianych=lista1;
    TypeTWOINT* listapaczkowanych=lista2;
    TypeTWOINT* tmp;

    int value_paczkowanych=1; // p/on/czkowanych tj. tworzonych w nowej
    generacji z listy przerabianych
    int j=0; // tutaj i jest aktualna pozycja na liscie
    przerabianych, j na tworzonych
    int czykonczymy=FALSE;

    //ini - od takiej krotkiej listy startujemy

    listaprzerabianych[0].x=XK;
    listaprzerabianych[0].y=YK; VGAEKRAN[320*YK+XK]=0;
    listaprzerabianych[1].x=KONIEC_OZN;

    do
    {

    for(int i=0; i<MAX_POJ_NACZOLOFALI;i++)
    {
    if(listaprzerabianych[i].x==KONIEC_OZN) break;

    // paczkuj_nowe_dookola_punktu

    for(int ii=0; ii<8; ii++)
    {
    int xp=listaprzerabianych[i].x+dx[ii];
    int yp=listaprzerabianych[i].y+dy[ii];

    if(value_paczkowanych<VGAEKRAN[320*yp+xp] && VGAEKRAN[320*yp+xp]!
    =255)
    {
    listapaczkowanych[j].x=xp;
    listapaczkowanych[j].y=yp;
    VGAEKRAN[320*yp+xp]=value_paczkowanych;
    j++;
    if(xp==XS && yp==YS) czykonczymy=TRUE;
    }
    }
    }
    listapaczkowanych[j].x=KONIEC_OZN;

    //odwrocenie macierzy i od nowa

    tmp=listapaczkowanych; listapaczkowanych=listaprzerabianych;
    listaprzerabianych=tmp;
    j=0; value_paczkowanych++;

    }
    while(!czykonczymy);

    }





    void narysujterazdroge(int XS, int YS)
    {

    int dx[8]={-1,0,1,-1,1,-1, 0, 1};
    int dy[8]={ 1,1,1, 0,0,-1,-1,-1};


    int x=XS;
    int y=YS;

    int xp, yp;
    do {
    //------
    for(int i=0; i<8; i++)
    {
    xp=(x+dx[i]);
    yp=(y+dy[i]);
    unsigned valx=VGAEKRAN[320*y+x];
    unsigned valxp=VGAEKRAN[320*yp+xp];
    if(valxp==0) return;
    if(valxp<valx) break;
    }
    //-------- w xp yp jest teraz nizszy sasiad x y


    VGAEKRAN[320*y+x]=150;
    x=xp; y=yp;

    // delay(10);

    } while(1);

    }






    >
    > > za to kiedys klepalem dosyc duzo roguelika
    > > (ktory jest wlasnie tilowym erpegiem z botami) i mam w tym troche
    > > doswiadczenia (swietnie sie programuje takie rzeczy ijest tu
    > > duzo ciekawych tematow - kiedys indziej napisze o tym wiecej)
    > Ja za to nie wiem co to jest tilowy erpeg :)
    >
    > Pozdrawiam
    >
    >


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 32. Data: 2012-04-17 18:42:05
    Temat: Re: zaawansowane ai
    Od: " M.M." <m...@N...gazeta.pl>

    <f...@N...gazeta.pl> napisał(a):

    > > > majac ta procedure moge zapuszczac ja np dla wszystkich osmiu
    > > > sasiednich pol krowy i kierowac ja na to pole ktore jest najmniej
    > > > animozyjne (co wymagaloby malego sortowania :( - nie chce mi sie pisac)
    > > Nawet bardzo małego sortowania, wystarczy wybrać jedno najlepsze :)
    > >
    >
    > niby tak, z tym ze jak kilka bedzie rownie najlepszych to nie
    > mozna zawsze wziac pierwszego z lewej, trzeba zbudowac małą listkę
    > i uczciwie w niej zalosować - z podobnymi problemami wiazal sie
    > pierwszy odrzucony przeze mnie pomysl, ->
    >
    > skanujesz okolice i szukasz najblizszej postaci do omijania
    > po czym idziesz w przeciwna do niej strone,
    >
    > jesli bylaby tylko jedna to prosta rzecz, ale jesli bylyby np
    > trzy najblizsze (np w ringu 2), to co wtedy ?
    >
    > 1) trzeba ew budowac liste i losowac - wole unikac budowania
    > takich list,
    > 2) nawet jesli zbuduje liste i wylosuje A to nie znaczy ze unikajac
    > A krowa nie pojdzie prosto w kierunku B
    >
    > wersja z wagowym zliczaniem jakosci pol do wejscia na nie wydaje sie
    > miec lepszą jakosc krowa powinna chodzic znacznie rozumniej

    Krowa jest na każdym polu przez jakiś czas. W danej chwili z każdego
    pola ma jakieś korzyści. Np. w danej chwili krowa ma takie potrzeby:

    struct Krowa {
    float pragnienie;
    float głód;
    float seks;
    float bezpieczeństwo_cielaka;
    float bezpieczeństwo_swoje;
    };

    Potrzeby zmieniają się albo wg reguły losowej albo deterministycznej.
    Krowa np. planuje 30 przyszłych tików gry i chce maksymalizować
    zaspokojenie swoich potrzeb. Każde pole dostarcza jej tych
    potrzeb:
    struct Pole {
    float woda;
    float pokarm;
    float odległość_do_samca;
    float odległość_od_drapieżników;
    float odległość_od_ludzi;
    };

    Analogicznie cechy pola zmieniają się albo losowo, albo deterministycznie.

    Krowa chce tak zaplanować swoje 30 ruchów aby maksymalizować sumę korzyści
    płynących z przebywania na nich. Korzyści mogą być wg wzoru:
    korwa.pragnienie * pole.woda + krowa.głód * pole.pokarm ...
    krowa.bezpieczenstwo_swoje * ( pole.odleglosc_od_ludzi +
    pole.odleglosc_od_drapieznikow ) ...

    Któreś z pól które krowa może zbadać swoimi zmysłami albo odtworzyć jego
    stan w swojej pamięci zapewni największe korzyści. Więc dla bieżących
    potrzeb krowy któreś z otaczających pól będzie najlepsze. Ale po drodze
    krowa też może sobie skubać trawkę, też musi czuć się bezpieczna, więc
    liczy się nie tylko pole docelowe, ale cała podróż. Czyli krowa szuka
    najlepszej trasy i wybiera pierwsze pole które prowadzi tą trasą.

    Jakimś algorytmem zachłannym można taką trasę wyliczyć i krowa może
    zrobić krok w jej kierunku. Potem kwestia dobrania parametrów, żeby
    potrzeby krowy i zasoby na polach sensownie się zmieniały i powinno
    działać lepiej niż zwykle się wymaga w takich grach.

    Pozdrawiam


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 33. Data: 2012-04-17 19:16:36
    Temat: Re: zaawansowane ai
    Od: " " <f...@N...gazeta.pl>

    M.M. <m...@N...gazeta.pl> napisał(a):

    > <f...@N...gazeta.pl> napisał(a):
    >
    > > > > majac ta procedure moge zapuszczac ja np dla wszystkich osmiu
    > > > > sasiednich pol krowy i kierowac ja na to pole ktore jest najmniej
    > > > > animozyjne (co wymagaloby malego sortowania :( - nie chce mi sie
    pisac)
    > > > Nawet bardzo małego sortowania, wystarczy wybrać jedno najlepsze :)
    > > >
    > >
    > > niby tak, z tym ze jak kilka bedzie rownie najlepszych to nie
    > > mozna zawsze wziac pierwszego z lewej, trzeba zbudowac małą listkę
    > > i uczciwie w niej zalosować - z podobnymi problemami wiazal sie
    > > pierwszy odrzucony przeze mnie pomysl, ->
    > >
    > > skanujesz okolice i szukasz najblizszej postaci do omijania
    > > po czym idziesz w przeciwna do niej strone,
    > >
    > > jesli bylaby tylko jedna to prosta rzecz, ale jesli bylyby np
    > > trzy najblizsze (np w ringu 2), to co wtedy ?
    > >
    > > 1) trzeba ew budowac liste i losowac - wole unikac budowania
    > > takich list,
    > > 2) nawet jesli zbuduje liste i wylosuje A to nie znaczy ze unikajac
    > > A krowa nie pojdzie prosto w kierunku B
    > >
    > > wersja z wagowym zliczaniem jakosci pol do wejscia na nie wydaje sie
    > > miec lepszą jakosc krowa powinna chodzic znacznie rozumniej
    >
    > Krowa jest na każdym polu przez jakiś czas. W danej chwili z każdego
    > pola ma jakieś korzyści. Np. w danej chwili krowa ma takie potrzeby:
    >
    > struct Krowa {
    > float pragnienie;
    > float głód;
    > float seks;
    > float bezpieczeństwo_cielaka;
    > float bezpieczeństwo_swoje;
    > };
    >
    > Potrzeby zmieniają się albo wg reguły losowej albo deterministycznej.
    > Krowa np. planuje 30 przyszłych tików gry i chce maksymalizować
    > zaspokojenie swoich potrzeb. Każde pole dostarcza jej tych
    > potrzeb:
    > struct Pole {
    > float woda;
    > float pokarm;
    > float odległość_do_samca;
    > float odległość_od_drapieżników;
    > float odległość_od_ludzi;
    > };
    >
    > Analogicznie cechy pola zmieniają się albo losowo, albo deterministycznie.
    >
    > Krowa chce tak zaplanować swoje 30 ruchów aby maksymalizować sumę korzyści
    > płynących z przebywania na nich. Korzyści mogą być wg wzoru:
    > korwa.pragnienie * pole.woda + krowa.głód * pole.pokarm ...
    > krowa.bezpieczenstwo_swoje * ( pole.odleglosc_od_ludzi +
    > pole.odleglosc_od_drapieznikow ) ...
    >
    > Któreś z pól które krowa może zbadać swoimi zmysłami albo odtworzyć jego
    > stan w swojej pamięci zapewni największe korzyści. Więc dla bieżących
    > potrzeb krowy któreś z otaczających pól będzie najlepsze. Ale po drodze
    > krowa też może sobie skubać trawkę, też musi czuć się bezpieczna, więc
    > liczy się nie tylko pole docelowe, ale cała podróż. Czyli krowa szuka
    > najlepszej trasy i wybiera pierwsze pole które prowadzi tą trasą.
    >
    > Jakimś algorytmem zachłannym można taką trasę wyliczyć i krowa może
    > zrobić krok w jej kierunku. Potem kwestia dobrania parametrów, żeby
    > potrzeby krowy i zasoby na polach sensownie się zmieniały i powinno
    > działać lepiej niż zwykle się wymaga w takich grach.

    to jest za trudne do realizacji - u mnie krowa nie planuje 30
    ruchow do przodu (inaczej wygrywala by pewnie w szachy z kasparowem)
    ani nie calkuje wszystkich mozliwych tras pod wzgledem korzysci ;-)-
    jest uproszczony algorytm ktory uwzglednia wiele czynnikow ale w
    sposob uproszczony - typu jesli krowa jest bardziej glodna niz
    spiaca to je a jesli bardziej spiaca niz glodna to spi, jak chce
    sie ruszyc to sprawdza sobie ktore pole jejnajbardziej pasuje
    pod wzgledem zagrozen itp (troche za duzo sie rozgadalem ntt
    nie mialem zamiaru gadac na ten temat 5 godzin tylko zakodowac
    kawalek - ale mozliwe ze bede jeszcze podejmowac temat ai i
    roguelikow bo jest tam sporo ciekawych kwestii)






    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 34. Data: 2012-04-17 19:29:39
    Temat: Re: zaawansowane ai
    Od: " " <f...@N...gazeta.pl>

    M.M. <m...@N...gazeta.pl> napisał(a):

    > <f...@N...gazeta.pl> napisał(a):
    >
    > > zażółcony <r...@c...pl> napisał(a):
    > >
    > > > W dniu 2012-04-17 16:10, f...@N...gazeta.pl pisze:
    > > > >>
    > > > >> Nie wiem... zasymulować to może magnesami i tarciem? Wrogowie to
    > > > >> magnesy odpychające, zielone pastwiska to magnesy przyciągające. Do
    > > > >> tego uwzględnić tarcie (wystarczy statyczne) aby krowa nie rozpędzała
    > > > >
    > > > > za to dobrze ze poruszasz temat pastwisk, tez rozwazalem pola
    > > > > z trawa przyciagajace krowe, ale chwilowo staram sie wyklepac
    > > > > jakos 'ogolne ai' z ktorego krowa jest jednym z przypadkow (cowarda),
    > > > >
    > > > > oprogramowanie samej krowy jednak tez mnie interesuje np
    > > > > koncepcja by krowa po wejsciu w tryb pragnienia skierowala sie
    > > > > w poszukiwaniu wody - problemem by bylo okreslic algorytm
    > > > > poszukiwania wody ale mozna po prostu podac krowie stale wspolrzedne
    > > > > np rzeki i skierowac tam krowe przez A* lub prostrzy lokalny
    > > > > sposob docierania do punktu (mysle by nie uzywac A* (choc mam juz
    > > > > napisany bo lata temu uzywalem) tylko opracowac jakis uproszczony
    > > > > lokalny algorytm typu skieruj sie w lini prostej do celu jesli
    > > > > przeszkoda na drodzewylosuj pole w bok (albo wylosuj pole randem
    > > > > kilka tur) - chodzi o taki algorytm ktory dzialalby chocby
    > > > > dla przypadkow prostych przeszkud po drodze na trudniejszych moglby
    > > > > ew krowe zwodzic - zna ktos taki lokalny algorytm ktory by
    > > > > dzialal?
    > > >
    > > > I tu znów polecam algorytm zapachu. Możesz zaimplementować
    > > > kilka różnych zapachów, jedne są dla krowy atrakcyjne, inne
    > > > wręcz odrażające. W największym uproszczeniu masz tylko dwa zapachy
    > > > - zapach jedzenia(wody) i zapach wroga. Ale możesz mieć ich więcej,
    > > > np. zapach nagrzanego byka, który ma w sobie zarówno coś z
    > > > atrakcyjności, jak i smaczek niebezpieczeństwa :) a krowa musi
    > > > podejmować decyzję - co ważniejsze :)
    > > >
    > > > Całkiem serio mówię :)
    > >
    > > to z bykiem to mi sie za bardzo nie podoba ;-) to jest
    > > dobre jako konepcja symulowania zapachu ale jako podloze
    > > do danej sytuacji z krowa zbyt kosztowne (mam duza mape +
    > > duzo postaci szukam stosunkowo dobrze dzialajacych uproszczen
    >
    > Cele krowy padają blisko niej. A więc jak dowolną metodą wyznaczasz
    > trasę, to kontrolujesz odległość. Jeśli odległość przekroczy
    > pewną wartość, to nie szukasz dalej. Zadanie okazało się zbyt
    > trudne dla krowy, a algorytm nie musi męczyć się z ogromną
    > mapą:)
    > Pozdrawiam
    >

    poruszanie to odzielny temat, moj model gierki jest prosty
    (bardziej toporny, kafelki sa spore itp (wrzuce moze za jakis czas
    pod linka ale wolalbym by sie to zrobilo choc troche grywalne)
    i do niego jakies bardziej skomplikowane marszruty postaci nie sa
    potrzebne, chce oprogramowac proste tryby ("coward" jak
    wspomniana wlasnie krowa "ataker" ("predator") czyli niejako
    odwrotnosc itd- i przede wszystkim polapac sie w tym i zobaczyc
    czy uda mi sie to ladnie zakodowac - co jest lekkim wyzwaniem





    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 35. Data: 2012-04-17 20:01:47
    Temat: Re: zaawansowane ai
    Od: " M.M." <m...@N...gazeta.pl>

    <f...@N...gazeta.pl> napisał(a):

    > M.M. <m...@N...gazeta.pl> napisał(a):
    >
    > > <f...@N...gazeta.pl> napisał(a):
    > >
    > > > > > majac ta procedure moge zapuszczac ja np dla wszystkich osmiu
    > > > > > sasiednich pol krowy i kierowac ja na to pole ktore jest najmniej
    > > > > > animozyjne (co wymagaloby malego sortowania :( - nie chce mi sie
    > pisac)
    > > > > Nawet bardzo małego sortowania, wystarczy wybrać jedno najlepsze :)
    > > > >
    > > >
    > > > niby tak, z tym ze jak kilka bedzie rownie najlepszych to nie
    > > > mozna zawsze wziac pierwszego z lewej, trzeba zbudowac małą listkę
    > > > i uczciwie w niej zalosować - z podobnymi problemami wiazal sie
    > > > pierwszy odrzucony przeze mnie pomysl, ->
    > > >
    > > > skanujesz okolice i szukasz najblizszej postaci do omijania
    > > > po czym idziesz w przeciwna do niej strone,
    > > >
    > > > jesli bylaby tylko jedna to prosta rzecz, ale jesli bylyby np
    > > > trzy najblizsze (np w ringu 2), to co wtedy ?
    > > >
    > > > 1) trzeba ew budowac liste i losowac - wole unikac budowania
    > > > takich list,
    > > > 2) nawet jesli zbuduje liste i wylosuje A to nie znaczy ze unikajac
    > > > A krowa nie pojdzie prosto w kierunku B
    > > >
    > > > wersja z wagowym zliczaniem jakosci pol do wejscia na nie wydaje sie
    > > > miec lepszą jakosc krowa powinna chodzic znacznie rozumniej
    > >
    > > Krowa jest na każdym polu przez jakiś czas. W danej chwili z każdego
    > > pola ma jakieś korzyści. Np. w danej chwili krowa ma takie potrzeby:
    > >
    > > struct Krowa {
    > > float pragnienie;
    > > float głód;
    > > float seks;
    > > float bezpieczeństwo_cielaka;
    > > float bezpieczeństwo_swoje;
    > > };
    > >
    > > Potrzeby zmieniają się albo wg reguły losowej albo deterministycznej.
    > > Krowa np. planuje 30 przyszłych tików gry i chce maksymalizować
    > > zaspokojenie swoich potrzeb. Każde pole dostarcza jej tych
    > > potrzeb:
    > > struct Pole {
    > > float woda;
    > > float pokarm;
    > > float odległość_do_samca;
    > > float odległość_od_drapieżników;
    > > float odległość_od_ludzi;
    > > };
    > >
    > > Analogicznie cechy pola zmieniają się albo losowo, albo deterministycznie.
    > >
    > > Krowa chce tak zaplanować swoje 30 ruchów aby maksymalizować sumę korzyści
    > > płynących z przebywania na nich. Korzyści mogą być wg wzoru:
    > > korwa.pragnienie * pole.woda + krowa.głód * pole.pokarm ...
    > > krowa.bezpieczenstwo_swoje * ( pole.odleglosc_od_ludzi +
    > > pole.odleglosc_od_drapieznikow ) ...
    > >
    > > Któreś z pól które krowa może zbadać swoimi zmysłami albo odtworzyć jego
    > > stan w swojej pamięci zapewni największe korzyści. Więc dla bieżących
    > > potrzeb krowy któreś z otaczających pól będzie najlepsze. Ale po drodze
    > > krowa też może sobie skubać trawkę, też musi czuć się bezpieczna, więc
    > > liczy się nie tylko pole docelowe, ale cała podróż. Czyli krowa szuka
    > > najlepszej trasy i wybiera pierwsze pole które prowadzi tą trasą.
    > >
    > > Jakimś algorytmem zachłannym można taką trasę wyliczyć i krowa może
    > > zrobić krok w jej kierunku. Potem kwestia dobrania parametrów, żeby
    > > potrzeby krowy i zasoby na polach sensownie się zmieniały i powinno
    > > działać lepiej niż zwykle się wymaga w takich grach.
    >
    > to jest za trudne do realizacji - u mnie krowa nie planuje 30
    > ruchow do przodu (inaczej wygrywala by pewnie w szachy z kasparowem)
    > ani nie calkuje wszystkich mozliwych tras pod wzgledem korzysci ;-)-
    Nie trzeba wszystkich całkować ani nie trzeba tego robić super
    dokładnie. Zastanawiam się nad takim przykładem: Jest sadzawka z
    której wypływa strumyk. Sadzawka z jednej strony jest otoczona
    stromym brzegiem, a z drugiej łagodnym. Przy tym brzegu łagodnym
    krowa może się bez problemu napić. Przy tym stromym też
    może, ale wpadnie do wody i zanim dopłynie do brzegu to jest
    pewne prawdopodobieństwo że się utopi, albo ją zje krokodyl. Soczysta
    trawa rośnie przy brzegu stromym. W dalszej odległości od sadzawki
    jest las z wilkami które mogą krowę zjeść. Na strumyku jest mostek
    którym krowa może przejść, ale często przechodzą nim ludzie których
    się boi. W dodatku w różnych miejscach przy brzegu sadzawki ludzie
    mogą rozpalać ogniska. Jak zrobić sensowne zachowanie krowy bez
    całkowania tras po korzyściach? Najkrótsza droga do celu nic nie
    da, bo krowa wlezie w ognisko, albo wpakuje się na mostek między
    ludzi :) Spanie gdy chce się jej bardziej spać niż jeść da taki
    efekt że zaśnie w ognisku :)

    Pozdrawiam


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 36. Data: 2012-04-17 20:29:02
    Temat: Re: zaawansowane ai
    Od: "Jordan Szubert" <u...@j...us.to>

    Dnia 17-04-2012 o 20:01:47 M.M. <m...@n...gazeta.pl> napisał(a):

    [...]
    > Nie trzeba wszystkich całkować ani nie trzeba tego robić super
    > dokładnie. Zastanawiam się nad takim przykładem: Jest sadzawka z
    > której wypływa strumyk. Sadzawka z jednej strony jest otoczona
    > stromym brzegiem, a z drugiej łagodnym. Przy tym brzegu łagodnym
    > krowa może się bez problemu napić. Przy tym stromym też
    > może, ale wpadnie do wody i zanim dopłynie do brzegu to jest
    > pewne prawdopodobieństwo że się utopi, albo ją zje krokodyl. Soczysta
    > trawa rośnie przy brzegu stromym. W dalszej odległości od sadzawki
    > jest las z wilkami które mogą krowę zjeść. Na strumyku jest mostek
    > którym krowa może przejść, ale często przechodzą nim ludzie których
    > się boi. W dodatku w różnych miejscach przy brzegu sadzawki ludzie
    > mogą rozpalać ogniska. Jak zrobić sensowne zachowanie krowy bez
    > całkowania tras po korzyściach? Najkrótsza droga do celu nic nie
    > da, bo krowa wlezie w ognisko, albo wpakuje się na mostek między
    > ludzi :) Spanie gdy chce się jej bardziej spać niż jeść da taki
    > efekt że zaśnie w ognisku :)

    Fakt, że prawdziwe krowy zwykle w ogniskach nie sypiają, ale tutaj też
    krowa nie musi być doskonale inteligentna, wystarczy, że bardziej się boi
    ogniska, niż chce spać
    Ogólnie, chciałbym zwrócić uwagę na to, że algorytm określający, co krowa
    powinna zrobić, by odnieść największą korzyść, nawet uwzględniający
    niedoskonałą wiedzę o środowisku, niekoniecznie jest algorytmem najlepiej
    pokazującym, co prawdziwa, głupia krowa robi

    --
    Jordan Szubert


  • 37. Data: 2012-04-17 21:20:53
    Temat: Re: zaawansowane ai
    Od: " M.M." <m...@N...gazeta.pl>

    Jordan Szubert <u...@j...us.to> napisał(a):

    > Fakt, że prawdziwe krowy zwykle w ogniskach nie sypiają, ale tutaj też
    > krowa nie musi być doskonale inteligentna, wystarczy, że bardziej się boi
    > ogniska, niż chce spać
    > Ogólnie, chciałbym zwrócić uwagę na to, że algorytm określający, co krowa
    > powinna zrobić, by odnieść największą korzyść, nawet uwzględniający
    > niedoskonałą wiedzę o środowisku, niekoniecznie jest algorytmem najlepiej
    > pokazującym, co prawdziwa, głupia krowa robi

    Widziałem głównie krowy na łańcuchach, nie wiem co by robiły jakby miały
    trochę więcej swobody i by musiały trochę zatroszczyć się o swoje przetrwanie.
    Natomiast wiem co robił mój kot, a podobno jest mniej inteligentny od takich
    zwierząt jak psy czy świnie. Otóż mój kot uwielbiał bawić się w aportowanie
    piłki zrobionej z ugniecionej foli aluminiowej. Rzucałem mu a on biegł za
    nią i przynosił z powrotem aby mu dalej rzucać. Gdy wrzucałem mu na
    przeszkody, np. na wysoką szafę, to kot dobiegł do szafy, chwilę postał,
    jakby się zastanawiał. Potem ruszył w koło szafy aż napotkał stojący obok
    fotel. Po fotelu wskoczył na szafę, znalazł piłkę i przyniósł. Za drugim
    razem gdy wrzucałem mu na szafę, to wbiegał od razu po fotelu, nie zastanawiał
    się, ani nie obchodził w koło. Myślę więc że krowa w dzikich warunkach
    mogłaby całkiem inteligentnie unikać zagrożenia i szukać sobie lepszych
    pastwisk. Szczególnie gdyby pole manewru miał w zasięgu wzroku/węchu.
    Pozdrawiam


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 38. Data: 2012-04-19 17:03:46
    Temat: Re: zaawansowane ai
    Od: " " <f...@N...gazeta.pl>

    <f...@N...gazeta.pl> napisał(a):

    > A.L. <l...@a...com> napisał(a):
    >
    > > On Mon, 16 Apr 2012 21:13:55 +0000 (UTC), Edek Pienkowski
    > > <e...@g...com> wrote:
    > >
    > > >Dnia Mon, 16 Apr 2012 18:15:14 +0000, fir napisal:
    > > >
    > > >> czy ktos moze powiedziec czym zajmuje sie zaawansowwane ai?
    > > >> (takie np jaki zajmuje sie ktos kto robi doktorat z 'ai')
    > > >
    > > >Z a się zgodzę, ale już z i nie.
    > > >
    > > >> jakos nie mam wizji co to takiego
    > > >> (obecnie akurat klepie w pewnym sensie nawet zlozone
    > > >> ai w swojej gierce - z poczatku pisalo mi sie lepiej
    > > >> ostatnio jakos zdeczka 'siadlem')
    > > >
    > > >Boty tu, boty tam? ;)
    > > >
    > > >Edek
    > >
    > > Jako czlonek AAAI (Association for the Advancement of Artificial
    > > Intelligence) od ponad 20 lat z checia bym odpisal. Gdyby nie smutny
    > > fakt ze Original Poster siedzi u mnie w KF
    > >
    > > A.L.
    >
    > hehe ;-)
    >

    jest wyjscie z tej sytuacji -> a.l. musi udzielic mi amnstii


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 39. Data: 2012-04-19 17:49:13
    Temat: Re: zaawansowane ai
    Od: zażółcony <r...@c...pl>

    W dniu 2012-04-17 16:38, f...@N...gazeta.pl pisze:

    > tutaj w przypadku prostej krowy bylyby dwa problemy ->
    >
    > mam duzo postaci>10 tys i duza mape> 1000x1000
    > i updatowanie dla kazdej z nich mapy zapachu by troche
    > trwalo (co prawda jest to chyba (*)koszt porownywalny z
    > rozgladaniem sie, gdzie kazda postac przy kazdym rozejrzeniu
    > sie musi przeczytac np do 400 sasiadujacych pol - to ujdzie
    > ale jest to lekkie obciazenie)
    >
    > (*) po zastanowieniu wychodzi ze jendak znacznie wiekszy bo
    > tzrebaby chyba przetwarzac cala mape wzgledem zapachow a to
    > by zmulilo jak nie wiem co
    >
    > poaztym, zapachy mieszalyby sie i trzebeby kombinowac z podzialam
    > na podtypy i/lub uzywac wielu map do trzymania roznych - za duza
    > komplikacja za duzo ramu i za wolno

    Żebyś dobrze zrozumiał - updatowanie mapy dla jednego zapachu
    robisz tylko raz - nie przypadkiem wspomniałem o automatach
    komórkowych. Wtedy nie ma tu problemu dużej ilości postaci,
    bo każda z nich generuje tylko zapach 'pod sobą' o wielkości 10.
    W jednym cyklu gry musisz teraz przejść 1000 x 1000 pól i
    zaktualizować mapę zapachu zgodnie z regułą max(sąsiedzi)-1
    Robisz to raz a nie tyle razy, ile jest postaci.

    Po drugie - w grach zazwyczaj wystarczy podział na 'dobrych' i
    'złych', więc wszyscy źli pachną tak samo. Ale masz rację
    - jeśłi to nieuniknione, to wprowadzenie większej ilości
    typów zapachów sytuację komplikuje. Natomiast jeszcze bym
    nie rezygnował - na automatach komórkowych możesz zgrabnie
    zaimplementować więcej możliwości. Najprostsze byłoby
    założenie, że zapachy się przykrywają, tzn. niektóre są
    silniejsze. Wtedy masz maksa 'dwukryterialnego', troszeczkę
    bardziej złożona funkcja wyboru, ale bez przesady.

    Algorytm zapachu jest o tyle ciekawy, że zapach rozchodzi się
    z pewnym opóźnieniem, nie niknie od razu po zniknięciu
    swojego źródła, automatycznie znajduje luki np. w murach.

    Ja kiedyś zaimplementowałem na tym algorytm 'potwora'
    wyszukującego na mapie i pożerającego diamenty :)
    Po zapachu potrafił je wyszukać nawet w najbardziej zawiłych
    labiryntach, nie był za to w stanie ich wyczuć przez mur,
    Gubił trop po zawaleniu przejścia przez kamienie, by go
    po jakimś czasie (nie od razu) odzyskać, gdy w jakimś innym
    miejscu planszy pojawiło się przejście.

    Gdyby pokombinować, to można też spróbować na automatach komórkowych
    zaimplementować algorytm zapachu ukierunkowanego, który
    by bardziej przypominał światło, ale trzeba by się wtedy
    trochę bardziej pobawić, każdy automat musiałby mieć więcej
    pamięci, by wiedzieć skąd światło przyszło i jaki jest
    jego rozrzut 'na przyszłość'. Myślę, że dałoby się
    tu uzyskać całkiem niezły efekt czegoś w rodzaju
    'zapachu wyrzucanego kierunkowo', zachowującego się
    bardziej jak dźwięk, czyli coś pośredniego między
    zapachem a światłem, wystarczającego, by z dużej
    odległości widzieć niedokładnie, z dużym wpływem przeszkód
    zasłaniających prosty kierunek, a dokładnie widzieć z bliska.


  • 40. Data: 2012-04-20 10:26:31
    Temat: Re: zaawansowane ai
    Od: zażółcony <r...@c...pl>

    W dniu 2012-04-17 21:20, M.M. pisze:
    > Jordan Szubert<u...@j...us.to> napisał(a):
    >
    >> Fakt, że prawdziwe krowy zwykle w ogniskach nie sypiają, ale tutaj też
    >> krowa nie musi być doskonale inteligentna, wystarczy, że bardziej się boi
    >> ogniska, niż chce spać
    >> Ogólnie, chciałbym zwrócić uwagę na to, że algorytm określający, co krowa
    >> powinna zrobić, by odnieść największą korzyść, nawet uwzględniający
    >> niedoskonałą wiedzę o środowisku, niekoniecznie jest algorytmem najlepiej
    >> pokazującym, co prawdziwa, głupia krowa robi
    >
    > Widziałem głównie krowy na łańcuchach, nie wiem co by robiły jakby miały
    > trochę więcej swobody i by musiały trochę zatroszczyć się o swoje przetrwanie.
    > Natomiast wiem co robił mój kot, a podobno jest mniej inteligentny od takich
    > zwierząt jak psy czy świnie. Otóż mój kot uwielbiał bawić się w aportowanie
    > piłki zrobionej z ugniecionej foli aluminiowej. Rzucałem mu a on biegł za
    > nią i przynosił z powrotem aby mu dalej rzucać. Gdy wrzucałem mu na
    > przeszkody, np. na wysoką szafę, to kot dobiegł do szafy, chwilę postał,
    > jakby się zastanawiał. Potem ruszył w koło szafy aż napotkał stojący obok
    > fotel. Po fotelu wskoczył na szafę, znalazł piłkę i przyniósł. Za drugim
    > razem gdy wrzucałem mu na szafę, to wbiegał od razu po fotelu, nie zastanawiał
    > się, ani nie obchodził w koło. Myślę więc że krowa w dzikich warunkach
    > mogłaby całkiem inteligentnie unikać zagrożenia i szukać sobie lepszych
    > pastwisk. Szczególnie gdyby pole manewru miał w zasięgu wzroku/węchu.
    > Pozdrawiam

    Krowa, tak jak Twój kot, szybko nauczyłaby się chodzić do wodopoju
    utartą ścieżką. Tego faktu uczenia nie widać w tych algorytmach,
    które tu omawiamy. 'Głupia' krowa nie wejdzie w ognisko, ale
    może dostać histerii, kiedy pojawi się ono nieoczekiwanie
    na utartej ścieżce :)

strony : 1 ... 3 . [ 4 ] . 5


Szukaj w grupach

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: