-
51. Data: 2010-02-11 18:19:07
Temat: Re: BCB Moj ulubiony kod;)
Od: Jacek Czerwinski <...@...z.pl>
bartekltg pisze:
> On 10 Lut, 23:51, "Bastion" <b...@m...pl> wrote:
>> Uzytkownik "Wojciech "Spook" Sura" <s...@s...op.pl> napisal w
wiadomoscinews:hkv1q2$abp$1@news.onet.pl...
>>
> 2.Kontrola nad danymi, ich wieksze bezpieczesntwo -
> nie zmienisz danych w trakcie obliczen, ogolnie, nie zmienisz
> ich poza przewidzianymi przez programiste momentami
> (wcisniecie guzika 'uaktualnij dane na podstawie tabelki').
Tu (tzn w przyk?adzie bastiona) jest wre;cz pewnos'c', z.e ostatnie cyfry
musza; sie pie....lic'. Dodajmy z.e pod BCB w sposób 'ulepszony' w stosunku
do standardów (by? tu wa;tek o zakra;gleniach BCB)
Gdyby te tabelki nie by?y orientacyjna; symulacja; a bankowym
harmonogramem np. do umowy, to krymina?.
-
52. Data: 2010-02-11 18:56:03
Temat: Re: BCB Moj ulubiony kod;)
Od: Mariusz Marszałkowski <m...@g...com>
On 11 Lut, 18:02, bartekltg <b...@g...com> wrote:
> On 11 Lut, 16:22, Mariusz Marszałkowski <m...@g...com> wrote:
>
> > Dlaczego uwazasz ze to bzdura? Taki algorytm jest
> > tym samym co maszyna turinga. Stan to pozycja glowicy,
> > dane to tasma, pozostale tablice to funkjca przejsc.
>
> Nie widze wlasciwie zadnej mozliwosci praktycznego
> zastosowania takiego algorytmu.
No bez przesady. Zobacz np. drzewa i grafy decyzyjne
wraz z algorytmami do ich automatycznego budowania.
Każdy wezel grafu wyglada w przyblizeniu tak:
Node {
index;
max;
min;
index_true;
index_false;
value_true;
value_false;
stan_true;
stan_false;
response;
};
Mozna zbudowac taki graf w postaci tablicy:
Node graf[MAX_NODE];
I nastepnie zrealizowac kazdy problem decyzyjny w tak
prostej procedurze:
Response( data[SIZE_DATA+EXTENSION] , graf[MAX_NODE] ) {
stan = 0;
for( i = 0 ; i<MAX_LOOP ; i++ ) {
if( data[ graf[stan].index ] >= graf[stan].min AND
data[ graf[stan].index ] <= graf[stan].max ) {
data[ graf[stan].index_true ] = graf[stan].value_true;
stan = graf[stan].stan_true;
} else {
data[ graf[stan].index_false ] = graf[stan].value_false;
stan = graf[stan].stan_false;
}
return graf[stan].response;
}
> Jesli chesz uzywac tego jako narzedzia teoretycznego,
> jak maszyna turinga, to inna sprawa, ale tez bys
> musial pokazac jakies ciekawe wlasciwosci
> (bo jest oczko bardziej skomplikowana niz MT)
To żadna nowość, można tego używać np. jako
grafu decyzyjnego. Nie wiem dlaczego uwazasz ze to
jest skomplikowane, po prostu stany, funkcja przejsc
pomiedzy stanami, warunek stopu i koncowa odpowiedz.
Uwazam ze to jest maksymalnie uproszczone, poniewaz algorytm
budujacy taki graf widzi po prostu tablice liczb i moze
nimi dowolnie manipulowac. Kod wykonania tego grafu
tez jest zabojczo prosty, niespelna 10 linii, a mozna chodzic
po dowolnym grafie.
> > Nie bylo mowy ze w tablice nie wolno wbic pomocniczych
> > rozwiazan, albo dowolnych innych pomocniczych danych.
>
> To w koncu moge tym algorytmem cokolwiek policzyc, czy
> musze znac wynik i wstawic go do tabelki:)
Wystarczy do rubryki "response" wsadzic dwie liczby: zero i jeden,
aby policzyc tym algorytmem dowolne zadanie. Czesciowe
wyniki mozna wstawiac w celu przyspieszenia.
Np. mozesz tym algorytmem policzyc problem komiwojazera.
Na poczatek danych wrzucasz opis grafu ktory ma komiwojazer
przejsc. Po opisie grafu mozna wpisac dwa wierzcholki grafu.
Algorytm zwroci jedynke jesli owe dwa wierzcholki sa z soba
bezposrednio polaczone na najkrotszej drodze laczacej i zero
gdy nie sa. W ten sposob trzeba algorytm wywolac dla kazdej
pary wierzcholkow, aby ustalic najkrotsza droge laczaca wszystkie.
Podobnie z innymi problemami optymalizacyjnymi. Mozna za
danymi umiescic probne rozwiazanie, algorytm zwroci jedynke jesli
rozwiazanie probne jest za male i zero jesli jest za duze. Trzeba
taki algorytm wywolywac iteracyjne (wielomianowa ilosc razy) aby
przyblizyc sie do dokladnego rozwiazania dowolnego problemu.
> Bo na razei to wyglada jak jakies wyszukiwanie
> w przestrzeni rozwiazan. Mamy stan, mamy jakies funkcje
> od stanu, jesli nam nie pasuja (u Ciebie sa za male lub za duze)
> odpowiednio modyfikujemy stan. Na koncu wypisujemy
> odpowiedz (stan lub jakas funkcje stanu).
Modyfikujemy tez dane, nie tylko stan, mamy pamiec,
> Tylko po co w to angazowac tabelki:)
Po to tabelki zeby bylo czytelniej. Dlaczego operowac na
ciagu nienazwanych bitow? Tutaj mamy ladnie wydzielone
tabele zakresow, nowych wartosci, nowych stanow, itd.
> > No wlasnie dlatego to mnie tak bardzo ciekawi, ze znane sa tylko takie
> > kosztowne sposoby. Interesuje mnie jaki jest najlepszy algorytm
> > budowania takich tablic (czyli tak naprawde algorytm budowania
> > innego algorytmu), o ograniczonych rozmiarach ktore dla dla
> > wszystkich danych uczacych wypluja wlasciwe rozwiazanie.
>
> Jesli dobrze wylapuje idee, chcesz znalesc tak tabelkowy algorytm
> dla danego problemu i pozniej te probmely w ten sposob rozwiazywac.
> W ogolnosci bedziesz mial z tym problem.
No jest z tym ogromny problem. Mnie nie tylko interesuje taki
tabelkowy
algorytm, ale raczej algorytm do budowania takich tabelkowych
algorytmow
na podstawie danych doswiadczalnych. Do tego chcialbym zeby zbudowane
algorytmy byly optymalne w sensie rozmiaru, szybkosci, dokladnosci.
> Pomysl, jak 'tabelkowo' znalesc najkrotsza droge w grafie (+z wagami).
> Czasem sie da. Znajdz tym algorytmem chocby wysokosc drzewa
> (to sie da dosc bezposrtednio, tylko po co).
No jak trzeba znalezc najkrotsza droge w grafie, to lepiej kola nie
wymyslac. Ale wielu innych algorytmow nie znamy.
> > Sa ciekawsze przypadki. Np. mamy gre kolko i krzyzyk. Algorytm
> > dostaje pary uczace w postaci opisu sytuacji w grze i najlepszego
> > ruchu. Czyli
> > tablica z danymi to bedzie:
> > int plansza[9+rozszerzenie]
> > tablica z odpowiedziami to bedzie numer pola z optymalnym ruchem
> > int response[9] = {1,2,3...9}
> > I algorytm genetyczny musialby dobrac parametry w pozostalych
> > tablicach
> > tak, aby w najmniejszej ilosci krokow zawsze podac optymalny ruch.
>
> Stabelaryzowales gre. Super, ale to juz bylo. A tabelke lepiej
> wypelnic zwyklym przeszukiwaniem drzewa gry.
A jak gra jest tak duza jak np. GO na planszy 19x19? Wtedy
potrzeba heurystyk ktore w miare mozliwosci szybko dzialaja i
dobrze uogolniaja.
> Algorytmy genetyczne, sieci neuronowe i inne wynalazki
> nie sa uniwersalna metoda rozwiazywanie wszytkiego.
> Raczej ostatnia deska ratunku dla pewnej klasy zadan,
> zeby znalesc rozwiazanie nieco lepsze niz losowe.
> Ale jakis czas kazdy sie nimi zachwyca:-)
Moze to kwestia mocy obliczeniowej? Teoretycznie na
super-komputerze mozna stablicowac rozwiazania jakiegos
ogromnego problemu NP-trudnego, nastepnie zasymulowac
wszystkie algorytmy na tych danych i wybrac tylko te ktore
zakonczyly sie przed zadanym czasem i daly poprawne
odpowiedzi na wszystkich danych. Moze w przyszlosci
wlasnie takie symulacje pomoga znalezc kontrprzykad
na to ze NP != P. Wlasciwie to juz dzis sie tak robi, ale
dzis dysponumemy moca obliczeniowa do sprawdzenia
zaledwie jakis wybranych parametrow w programie.
> pozdrawiam
rowniez pozdrawiam
-
53. Data: 2010-02-11 19:12:44
Temat: Re: BCB Moj ulubiony kod;)
Od: Przemyslaw Osmanski <p...@s...soft-system.tnij.pl>
Jacek Czerwinski pisze:
> bartekltg pisze:
>> On 10 Lut, 23:51, "Bastion" <b...@m...pl> wrote:
>>> Uzytkownik "Wojciech "Spook" Sura" <s...@s...op.pl> napisal
>>> w wiadomoscinews:hkv1q2$abp$1@news.onet.pl...
>>>
>> 2.Kontrola nad danymi, ich wieksze bezpieczesntwo -
>> nie zmienisz danych w trakcie obliczen, ogolnie, nie zmienisz
>> ich poza przewidzianymi przez programiste momentami
>> (wcisniecie guzika 'uaktualnij dane na podstawie tabelki').
> Tu (tzn w przyk?adzie bastiona) jest wre;cz pewnos'c', z.e ostatnie
> cyfry musza; sie pie....lic'. Dodajmy z.e pod BCB w sposób 'ulepszony' w
> stosunku do standardów (by? tu wa;tek o zakra;gleniach BCB)
>
> Gdyby te tabelki nie by?y orientacyjna; symulacja; a bankowym
> harmonogramem np. do umowy, to krymina?.
Ze co? Odcyfrować się tego nie da!
pozdrawiam,
Przemek O.
--
www.soft-system.pl
-
54. Data: 2010-02-11 22:05:35
Temat: Re: BCB Moj ulubiony kod;)
Od: "Bastion" <b...@m...pl>
Użytkownik "Jędrzej Dudkiewicz" <j...@g...com> napisał w wiadomości
news:hl0kss$u05$1@news.onet.pl...
>> Podaj konrety.
>
> Konkrety? Czyli co? Chodzi mi o to, że używasz narzędzi pomyślanych do jednego celu
do osiągnięcia innego celu. I to używasz
> narzędzia gorszego niż dostępne.
Podaj konkrety
-
55. Data: 2010-02-11 22:29:26
Temat: Re: BCB Moj ulubiony kod;)
Od: "Bastion" <b...@m...pl>
Użytkownik "Wojciech "Spook" Sura" <w...@s...medi.com.pl> napisał
w wiadomości
news:hl0d9e$120$1@inews.gazeta.pl...
> Bastion wrote:
> Zacznijmy od tego, że nawet nie zabierałbym się do projektowania aplikacji myśląc
panicznie, żeby zmieścić się w n linijkach.
> Płacisz podatek od każdej napisanej linii kodu? Jeśli radość sprawia Ci upychanie
programu w niewielkiej przestrzeni, to raczej
> wyślij Twój pomysł na IOCCC niż chwal się na grupach.
1) To nie tak:
a) zasada przyjeta na grupach dyskusyjnych jest krotka forma i obszerna tresc.
b) zasada programowania, z ktora mialem stycznosc mowi zeby opisywac
rzeczywistosc maksymalnie prosto ale nie prosciej(zabrzmi pewnie enigmatycznie?)
Reasumujac:
1) Nie widze w zaprezentowanym kodzie, zadnych bledow
skladniowych ani logicznych.
2) Kod jest ktorki, logiczny i realizuje zadania dla ktorych zostal powolany
3) W czym widzisz problem?
-
56. Data: 2010-02-11 22:33:36
Temat: Re: BCB Moj ulubiony kod;)
Od: "Bastion" <b...@m...pl>
Użytkownik "Artur M. Piwko" <m...@b...pl> napisał w wiadomości
news:slrnhn7gei.cih.milusi.pysiaczek@buziaczek.pl...
> In the darkest hour on Thu, 11 Feb 2010 08:57:32 +0100,
> Wojciech "Spook" Sura <w...@s...medi.com.pl> screamed:
>>> Kolego, ja tak nie pisze tylko przedstawiam rozwiazanie pewnego
>>> problemu. Laskawie pochyl glowe i zastanow sie jak w 5 linijkach kodu
>>> lepiej mozna zwizualizowac rozwiazanie. Czekam na kod...
>>
>> Zacznijmy od tego, ?e nawet nie zabiera3bym sie do projektowania aplikacji
>> my?l?c panicznie, ?eby zmie?cia sie w n linijkach. P3acisz podatek od ka?dej
>> napisanej linii kodu? Je?li rado?a sprawia Ci upychanie programu w
>> niewielkiej przestrzeni, to raczej wy?lij Twój pomys3 na IOCCC ni? chwal sie
>> na grupach.
>>
>
> Tamtego potworka to raczej do The Daily WTF.
Potrafisz uzasadnic swoja wypowiedz czy tylko urozmaiczasz
watek angielska nomenklatura?
-
57. Data: 2010-02-11 22:53:05
Temat: Re: BCB Moj ulubiony kod;)
Od: "Bastion" <b...@m...pl>
Użytkownik "bartekltg" <b...@g...com> napisał w wiadomości
news:1e1b4586-e0ed-4206-beb3-436a111e35f3@15g2000yqi
.googlegroups.com...
> wezmy przyzwoity problem: energia stanu podstawowego
> uranu. Jak chcesz to rozwiazac przekladaniem zmiennych
> nie wbudowujac wyniku w algorytm.
Bartekltg, robrajasz mnie pomyslowascia i intelektualna odwaga.
Kod na poczatku mial sluzyc do szybkiego obliczenia (i wizualizacji)
wynagrodzenia programisty, ktory podpisuje umowe o prace
na czas nieokreslony, przy zalozeniu 10% progresji w ciagu roku;)
-
58. Data: 2010-02-11 23:05:21
Temat: Re: BCB Moj ulubiony kod;)
Od: bartekltg <b...@g...com>
On 11 Lut, 23:53, "Bastion" <b...@m...pl> wrote:
> Użytkownik "bartekltg" <b...@g...com> napisał w
wiadomościnews:1e1b4586-e0ed-4206-beb3-436a111e35f3@
15g2000yqi.googlegroups.com...
>
> > wezmy przyzwoity problem: energia stanu podstawowego
> > uranu. Jak chcesz to rozwiazac przekladaniem zmiennych
> > nie wbudowujac wyniku w algorytm.
>
> Bartekltg, robrajasz mnie pomyslowascia i intelektualna odwaga.
> Kod na poczatku mial sluzyc do szybkiego obliczenia (i wizualizacji)
> wynagrodzenia programisty, ktory podpisuje umowe o prace
> na czas nieokreslony, przy zalozeniu 10% progresji w ciagu roku;)
Bastion, rozbrajasz mnie swoja niemoznoscia ogarniecia
calosci watku. A moze zwyklą nieswiadomoscia tego,
ze watek nie jest liniowy, a drzewiasty i ze wlasnie wszedles
w poddrzewo gdzie Mariusz cztery dni temu podal swoj
algorytm - zagadke.
Gdzies tam bedzie przycisk zmianiajacy widok
z liniowego na drzewiasty. uzyj, a usenet stanei sie bardziej
zrozumailym miejscem.
pozdr
bartekltg
-
59. Data: 2010-02-11 23:07:34
Temat: Re: BCB Moj ulubiony kod;)
Od: "Wojciech \"Spook\" Sura" <s...@s...op.pl>
Użytkownik "Bastion" <b...@m...pl> napisał w wiadomości
news:hl20c9$1f3$1@news.onet.pl...
(...)
Odpowiedz na proste pytanie:
Czym pojechałbyś do supermarketu po zakupy?
a) Rowerem, motorem lub samochodem osobowym
b) Walcem drogowym, Boeingiem 767 lub 12-kołową ciężarówką?
Pozdrawiam -- Spook.
--
! ._______. Warning: Lucida Console sig! //) !
! || spk || www.spook.freshsite.pl / _ """*!
! ||_____|| spook at op.pl / ' | ""!
! | ___ | tlen: spoko_ws gg:1290136 /. __/"\ '!
! |_|[]_|_| May the SOURCE be with you! \/) \ !
-
60. Data: 2010-02-12 08:22:06
Temat: Re: BCB Moj ulubiony kod;)
Od: "Artur M. Piwko" <m...@b...pl>
In the darkest hour on Thu, 11 Feb 2010 23:33:36 +0100,
Bastion <b...@m...pl> screamed:
>>> Zacznijmy od tego, ?e nawet nie zabiera3bym sie do projektowania aplikacji
>>> my?l?c panicznie, ?eby zmie?cia sie w n linijkach. P3acisz podatek od ka?dej
>>> napisanej linii kodu? Je?li rado?a sprawia Ci upychanie programu w
>>> niewielkiej przestrzeni, to raczej wy?lij Twój pomys3 na IOCCC ni? chwal sie
>>> na grupach.
>>
>> Tamtego potworka to raczej do The Daily WTF.
>
> Potrafisz uzasadnic swoja wypowiedz czy tylko urozmaiczasz
> watek angielska nomenklatura?
>
Czy chcesz koniecznie po raz kolejny usłyszeć argumenty, które padły tu
już wielokrotnie, a których obecności pomimo ich polskiej nomenklatury,
zobaczyć nie chcesz?
--
[ Artur M. Piwko : Pipen : AMP29-RIPE : RLU:100918 : From == Trap! : SIG:226B ]
[ 09:21:10 user up 12346 days, 21:16, 1 user, load average: 0.01, 0.28, 0.84 ]
Overflow on /dev/null; please empty the bit bucket.