» »

Thomasov problem

Thomasov problem

1 2
3
»

Phil ::

Ne 54 ni dosegel. S 6 6 6 6 6 6 sem dosedaj dosegel največ 184 točk. Napreduje pa zelo počasi. Preveč sloni na brute-force tale moj program, pa ga pri velikem številu figur zabaše. Bom pustil kakšno uro, dve.
LP

Alec999 ::

_ _ _ _ _ _ _ _
_ _ _ p _ _ _ _
_ _ l _ p _ _ _
_ p _ q h l _ _
_ _ p h k t p _
_ _ _ p t p _ _
_ _ _ _ p _ _ _
_ _ _ _ _ _ _ _
tock: 53

Powerd by Cman.

gumby ::

še ena šahovska: na koliko načinov je možno rešiti problem, ko se je treba s konjem "sprehoditi" po šahovnici (1x stopiti na vsako polje)?

enkrat sem naredil brute-force program še na "ta veliki" mašini na faxu v MB, pa mi je prekinil program, ker sem porabil preveč procesorskega časa>:D :D

je mogoče to rešiti na bolj enostaven način?

Thomas ::

Ja link, ane.

Sploh še ni znan odgovor, na koliko različnih načinov lahko konj predirja šahovnico.

Hm ... hm .... a mi to znamo zračunat?

:\
Man muss immer generalisieren - Carl Jacobi

pramarko ::

Ej, kaj v bistvu pomeni brute-force in kaj AI in kaj napredni algoritmi (oz. nek podoben izraz, ki ga je uporabil cman)... konkretno v primeru tega "šahovskega" programa?

Brute-force po moje pomeni iskanje rešitev med kombinacijami, ki jih uokvirijo pravila (pravila kako lahko premikamo posamezne figure, koliko je posameznih figur,...). Ja?
Kaj pa je AI v tem programcku?

Ocitno mora AI nekako usmerjati brute-force, tako da zmanjša število možnih kombinacij...???
Kaj pa so potem napredni algoritmi?

snow ::

brute-force preizkusi VSE mozne resitve, teh pa je v tem primeru ogromno in racunalnik bi si vzel kar dosti dosti casa da bi preveril vse moznosti.

Thomas ::

Brute force način reševanja problemov je to, da preveriš vse "teoretično možne" rešitve.

Da tak program izboljšaš, pa dodajaš razna hevristična pravila. To so SAMO že prej izračunani (meta)teoremi. Pravila (ali pravila o pravilih), po domače.



Naprimer:

Izračunati je kvadratni koren iz 625.

Brute force:

1*1=625? Nop.

2*2=625? Nop.

3*3=625? Nop.

4*4=625? Nop.

5*5=625? Nop.

......

25*25=625? Yea!

Če pa vemo, da 20*20=400 in da lahko začnemo od 21 naprej ... potem pa to že ni več samo brute force.

V praksi je vsak ali vsaj večina programov nekje med brute force in Hevristic ALgorithm.

:)




Man muss immer generalisieren - Carl Jacobi

Gandalfar ::

Thomas: kul razlaga :)

Thomas ::

To je je samo zato, ker imam zelo razčiščene pojme.

:))
Man muss immer generalisieren - Carl Jacobi

tx-z ::

zanimivo..kako pa to navadn kalkulator računa,, kako bi pa zvedu koren od števila npr.627 z brute force??
tx-z

Thomas ::

Takole, naprimer.

Lahko bi tudi postavil domine tako, da bi njihovo padanje izračunalo Sqrt iz kateregakoli števila. Tisto število bi ponazoril z biti. Stoječe domine 1, padle pa 0. 128 naprimer, takih bitov na nekem mestu strukture, ki bi ga imenoval R1.

Potem bi sprožil začetno domino, in v R2 bi po koncu padanja videl, kaj je Sqrt števila, ki si ga označil v R1 - samo s postavitvijo domin.



Kako jih postaviti? Bi blo treba premislit. Da se pa.

:)





Man muss immer generalisieren - Carl Jacobi

Thomas ::

Potem mora pa biti jasno tudi to, da z dovolj prav razporejenimi dominami, bi lahko simulirali (počasi sicer) P4 z naloženim OS in še čemerkoli.

Tudi vsak drug fizikalni sistem, vključno z našimi možgani in našim Vesoljem.


Pa bi lahko (kot upload) živel na tem substratu? Na veliki ravnini padajočih domin, ki simulirajo nek svet?

Seveda da ja. Počutil bi se pa (naprimer) ravno tako kot se zdaj. Znotraj nekega sveta.


:)

Man muss immer generalisieren - Carl Jacobi

Eschelon ::

Thomas

P4 z dominami? Zanka? Pogojni skok? Sinhronizacija?

Thomas ::

Vse to.

Ne vem koliko domin bi potrebovali, da bi njihovo padanje zagotavljalo 10 letno laufanje domino emulacije P4, vendar to niti ni pomembno.

Temu se reče Church-Turingov izrek.


See?

:)
Man muss immer generalisieren - Carl Jacobi

Eschelon ::

Poznam C-T hipotezo in tudi vem, kaj je turingov stroj. Pa vendar s turingovim strojem ni zgoraj omenjenih problemov, pri dominah pa so. Kako bos pri dominah izvedel zanko?

Eschelon ::

Kaj pa problem ustavljanja?

Thomas ::

Problem ustavljanja ne rešiš niti s svojim "realnim" P4.

Niti s svojimi možgani.

Vsak fizikalni sistem je neidealna simulacija tega ali onega Turingovega stroja. Sčasoma drugega, ne skozi istega.

:)
Man muss immer generalisieren - Carl Jacobi

Thomas ::

Neskončnega Do - Loop ne moreš nasimulirati z nobenim P4.

Samo prvih 1020 ali še manj korakov.

Tako tudi domin, ki bi se podirale, zmanjka.

Kako natančno gre (pogojna) zanka z dominami pa nimam pojma. Podobno kot ne vem, koliko je 333333.

Oboje je (približno enako mislim) težko zračunat. Da se pa nedvomno. Rezultat obstaja.


:)
Man muss immer generalisieren - Carl Jacobi

pramarko ::

Glede turingovega stroja - v A new kind of science sem prebral definicijo in mi ni niti priblizno jasno, zakaj bi bil vsak fizikalni sistem neidealna simulacija tega ali onega turingovega stroja? A ni trditev enaka, ce recem, da je vsak fizikalni sistem neidealna simulacija enega celičnega avtomata?? Zakaj ravno turingov stroj?

Thomas ::

Turingove mašine se dajo emulirati s celularnimi avtomati.

Ali pa z rekurzivnimi funkcijami.

Vse to, pa še kaj, so ekvivalentne zadeve. Vzemi katere hočeš, tiste ki se ti zdijo pripravnejše.

S temi ali onimi ali tretjimi, se pa da izračunati vse, kar je izračunljivo.

Vprašanje okusa, kaj izbereš. Deep down - je isto!

:)
Man muss immer generalisieren - Carl Jacobi

Pixy222 ::

Hej, vem da je zelo stara tema pa bom vseeno nekaj napisal. Včeraj smo se s kolegi vsedli skupaj in sem jim zastavil to nalogo. V dobri uri smo prišli do rešitve 52 potem se je zataknilo. Tukaj vidim, da ste s programi prišli do 53, ali se je kdo še kaj ukvarjal s to nalogo je res 53max?

lp

Thomas ::

Problem rešuje special designed program, ki ga lahko zvlečete dol, s critticall.com-a. Ni nujno, da je našel optimum, kadarkoli ga je kdo pognal. Vedno pa dokaj hitro pride do te rešitve 53, kar nekoliko poveča verjetnost, da je to res optimum. Nujno pa ni.

Kljub temu, da v program lahko vnesete druge nabore figur, kjer so rešitve enostavno dokazljive, jih najde ravno tiste.

Ve se pa ne. Vedelo se bo, če človek ali program najde rešitev 54. Če ta seveda je.
Man muss immer generalisieren - Carl Jacobi

Bellatrix ::

Bi prosu če lahko še nekej razložiš :). Torej dokler imam odprt program bo ta iskal rešitve, ali se ustavi sam ?
Rešitev je pa 53 zaenkrat. Kako v program vnesem druge figure ?
People are quick to judge and slow to correct themselves.

Zgodovina sprememb…

genesiss ::

Eno off topic vprašanje, kako se pri genetskih algoritmih določi ~optimalna velikost populacije? Obstaja kaka metoda "prek palca"?

Hvala

Zgodovina sprememb…

  • spremenil: genesiss ()

Thomas ::

Kako v program vnesem druge figure ?


Tam imaš input, levo zgoraj. Klikni in vnesi številke.

kako se pri genetskih algoritmih določi ~optimalna velikost populacije? Obstaja kaka metoda "prek palca"?


Tle je čist čez palec. 100 top menažerij (zverinjakov) pozicij živi, v vsakem trenutku.
Man muss immer generalisieren - Carl Jacobi

Bellatrix ::

Kolk pa je vseh možnih pozicij s temi figurami na šahovnici ?
People are quick to judge and slow to correct themselves.

Thomas ::

10^20, cca.
Man muss immer generalisieren - Carl Jacobi

Bellatrix ::

In ta program pregleda vse možne pozicije ?
People are quick to judge and slow to correct themselves.

Thomas ::

Ne, sej v tem je bistvo da ne. Bruta forca zanko, ki bi vse pregledala, nadomesti z evolucijsko aproximacijo. Je precej (BISTVENO) hitrejša, vendar dostikrat pride do optimuma, ravno tako, kakor bi prišlo preizkišanje vseh variant, torej kot bi prišla bruta forca.

Kar je zelo zanimivo in zelo pomembno.
Man muss immer generalisieren - Carl Jacobi

genesiss ::

Bi se ti kdaj splačalo po dolgem vztrajanju v nekem lokalnem optimumu resetirati zadevo (recimo verjetnost mutacije na 100%)?

Zgodovina sprememb…

  • spremenil: genesiss ()

Thomas ::

Seveda. Populacije so otočki nepovezanih pozicij, ki ne vedo ena za drugo. To so pravzaprav skoki v neznano in evolucija od tam.
Man muss immer generalisieren - Carl Jacobi

Pixy222 ::

Hvala za odgovor, bom potegnil dol program in se še sam probal malo poigrat!
1 2
3
»


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Šahovski problem - mat v dveh potezah (strani: 1 2 3 4 )

Oddelek: Znanost in tehnologija
19120173 (8616) msjr
»

Igra šah

Oddelek: Programiranje
283754 (2925) mallard
»

Go: človek proti računalniku 2-0 (strani: 1 2 3 )

Oddelek: Novice / Znanost in tehnologija
12529044 (24420) Thomas
»

Kasparov vs Junior (strani: 1 2 3 4 )

Oddelek: Znanost in tehnologija
18314977 (11838) Thomas
»

vaša sintaksa pri programiranju (strani: 1 2 )

Oddelek: Programiranje
986906 (4709) Thomas

Več podobnih tem