piatok 22. apríla 2011
utorok 5. apríla 2011
Evolučné algoritmy - Simulované žíhanie
Úloha:
Použite simulované žíhanie s gaussovskou mutáciou so sigmou 0,1 umiestnenia vrcholov na nájdenie rozmiestnenia vrcholov kompletného grafu pre n=4 až n=10 s čo najmenším počtom prekrížení. Počiatočné umiestnenia vrcholov by mali byť v štvorci o jednotkovej hrane, ale mutácie môžu vysunúť vrcholy mimo tohto štvorca. Použite verziu bez a s pokutovou funkciou, penalizujúcou vybočenie vrcholov ďaleko od stredu štvorca. Vypočítajte priemer a smerodajnú odchýlku na počet pokusov k dosiahnutiu cieľa pre každý z grafov.
Riešenie:
Parametre algoritmu:
Energia je počet prekrížení
Teplota klesá každých 250 pokusov
Mutácia je posunutie jedného vrcholu
Pokutová funkcia: čím väčšia vzdialenosť mutovaného vrcholu od stredu štvorca tým väčšia pravdepodobnosť, že túto mutáciu nepoužíjeme.
Výsledok algoritmu:
Celá prezentácia
Zdrojový kód v Scala-e
Použite simulované žíhanie s gaussovskou mutáciou so sigmou 0,1 umiestnenia vrcholov na nájdenie rozmiestnenia vrcholov kompletného grafu pre n=4 až n=10 s čo najmenším počtom prekrížení. Počiatočné umiestnenia vrcholov by mali byť v štvorci o jednotkovej hrane, ale mutácie môžu vysunúť vrcholy mimo tohto štvorca. Použite verziu bez a s pokutovou funkciou, penalizujúcou vybočenie vrcholov ďaleko od stredu štvorca. Vypočítajte priemer a smerodajnú odchýlku na počet pokusov k dosiahnutiu cieľa pre každý z grafov.
Riešenie:
Parametre algoritmu:
Energia je počet prekrížení
Teplota klesá každých 250 pokusov
Mutácia je posunutie jedného vrcholu
Pokutová funkcia: čím väčšia vzdialenosť mutovaného vrcholu od stredu štvorca tým väčšia pravdepodobnosť, že túto mutáciu nepoužíjeme.
Výsledok algoritmu:
Celá prezentácia
Zdrojový kód v Scala-e
Evolučné algoritmy
Úloha
1.a) Predpokladajte, že pracujete v prostredí genetického programovania, ktorého jazyk pozostáva z konštanty 1 a operácie +. Koľko uzlov má najmenší strom, ktorým vypočítate číslo n? Napríklad číslo 3 môže byť vyjadrené ako výraz ((1+1)+1), ktorého strom má 5 vrcholov, 3 koncové jednotky a dva operátory +.
2n + 1
1.b) Napíšte pseudokód, ktorý bude schopný zanalyzovať a zbehnúť kód v tvare výrazu (+(+ 1 1)1)
symbols <- read from right to left
foreach (symbol <- symbols)
{
if space
next
if opening_parenthesis
operator <- pop
operand1 = <- pop
operand2 = <- pop
pop //closing parenthesis
push operator.apply(operand1, operand2)
else
push symbol
}
pop
2.b) Predpokladajte, že pracujete v prostredí genetického programovania, ktorého jazyk pozostáva z konštanty 1, operácie +, SQR, STO, a RCL, kde SQR znamená druhú mocninu čísla v pamäti, STO znamená operáciu, ktorá zoberie jednu hodnotu,, dá ju do externej pamäti a vráti hodnotu v pamäti. RCL inštrukcia vráti hodnotu pamäti. Predpokladajte, že ľavý argument operácie + je vyhodnotený pred pravým. Nájdite najmenší strom, ktorý vypočíta čísla n=3,4,5,...12.
Celá prezentácia
1.a) Predpokladajte, že pracujete v prostredí genetického programovania, ktorého jazyk pozostáva z konštanty 1 a operácie +. Koľko uzlov má najmenší strom, ktorým vypočítate číslo n? Napríklad číslo 3 môže byť vyjadrené ako výraz ((1+1)+1), ktorého strom má 5 vrcholov, 3 koncové jednotky a dva operátory +.
2n + 1
1.b) Napíšte pseudokód, ktorý bude schopný zanalyzovať a zbehnúť kód v tvare výrazu (+(+ 1 1)1)
symbols <- read from right to left
foreach (symbol <- symbols)
{
if space
next
if opening_parenthesis
operator <- pop
operand1 = <- pop
operand2 = <- pop
pop //closing parenthesis
push operator.apply(operand1, operand2)
else
push symbol
}
pop
2.b) Predpokladajte, že pracujete v prostredí genetického programovania, ktorého jazyk pozostáva z konštanty 1, operácie +, SQR, STO, a RCL, kde SQR znamená druhú mocninu čísla v pamäti, STO znamená operáciu, ktorá zoberie jednu hodnotu,, dá ju do externej pamäti a vráti hodnotu v pamäti. RCL inštrukcia vráti hodnotu pamäti. Predpokladajte, že ľavý argument operácie + je vyhodnotený pred pravým. Nájdite najmenší strom, ktorý vypočíta čísla n=3,4,5,...12.
Celá prezentácia
nedeľa 17. októbra 2010
Alcatel OT 800 - nastavenie práv nepodpísanýchJ2ME aplikácií
Štandardne tento telefón neumožnuje povoliť pripojenie na internet bez toho aby nebolo potvrdené používateľom aspon jeden krát po spustení aplikácie. Čo znamená, že ked spustím 5 krát Operu, tak musím 5 krát potvrdiť: "Áno chcem povoliť pripojenie na internet... "
Toto neplatí pre aplikácie, ktoré su podpísané niektorou uznávanou CA, čo nie sú skoro žiadne. Riešenie je nasledovné:
1. vypnúť telefón
2. pripojiť cez USB kábel k PC
3. otvoriť si pamäť telefónu (približne 10 MB veľká)
3. v adresári @Java zmeniť obsah súboru _policy.txt na nasledovné:
.
alias: net_access
javax.microedition.io.Connector.http,
javax.microedition.io.Connector.socket,
javax.microedition.io.Connector.https,
javax.microedition.io.Connector.ssl,
javax.microedition.io.Connector.datagram,
javax.microedition.io.Connector.serversocket,
javax.microedition.io.Connector.datagramreceiver
alias: application_auto_invocation
javax.microedition.io.PushRegistry
alias: massage
javax.microedition.io.Connector.sms,
javax.microedition.io.Connector.cbs,
javax.wireless.messaging.sms.send,
javax.wireless.messaging.sms.receive,
javax.wireless.messaging.cbs.receive,
javax.microedition.io.Connector.mms,
javax.wireless.messaging.mms.send,
javax.wireless.messaging.mms.receive
alias: multimedia_capture
javax.microedition.media.control.RecordControl,
javax.microedition.media.control.VideoControl.getSnapshot
alias: read_user_data_access
javax.microedition.pim.ContactList.read,
javax.microedition.pim.EventList.read,
javax.microedition.pim.ToDoList.read,
javax.microedition.io.Connector.file.read
alias: write_user_data_access
javax.microedition.pim.ContactList.write,
javax.microedition.pim.EventList.write,
javax.microedition.pim.ToDoList.write,
javax.microedition.io.Connector.file.write
alias: local_connectivitive
javax.microedition.io.Connector.comm
domain: minimum
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: maximum
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: operator
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: manufacturer
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: thirdparty
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: trusted
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: untrusted
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
Týmto sa nastavia aj nepodpísaným aplikáciam rovnaké práva ako podpísaným.
Toto neplatí pre aplikácie, ktoré su podpísané niektorou uznávanou CA, čo nie sú skoro žiadne. Riešenie je nasledovné:
1. vypnúť telefón
2. pripojiť cez USB kábel k PC
3. otvoriť si pamäť telefónu (približne 10 MB veľká)
3. v adresári @Java zmeniť obsah súboru _policy.txt na nasledovné:
.
alias: net_access
javax.microedition.io.Connector.http,
javax.microedition.io.Connector.socket,
javax.microedition.io.Connector.https,
javax.microedition.io.Connector.ssl,
javax.microedition.io.Connector.datagram,
javax.microedition.io.Connector.serversocket,
javax.microedition.io.Connector.datagramreceiver
alias: application_auto_invocation
javax.microedition.io.PushRegistry
alias: massage
javax.microedition.io.Connector.sms,
javax.microedition.io.Connector.cbs,
javax.wireless.messaging.sms.send,
javax.wireless.messaging.sms.receive,
javax.wireless.messaging.cbs.receive,
javax.microedition.io.Connector.mms,
javax.wireless.messaging.mms.send,
javax.wireless.messaging.mms.receive
alias: multimedia_capture
javax.microedition.media.control.RecordControl,
javax.microedition.media.control.VideoControl.getSnapshot
alias: read_user_data_access
javax.microedition.pim.ContactList.read,
javax.microedition.pim.EventList.read,
javax.microedition.pim.ToDoList.read,
javax.microedition.io.Connector.file.read
alias: write_user_data_access
javax.microedition.pim.ContactList.write,
javax.microedition.pim.EventList.write,
javax.microedition.pim.ToDoList.write,
javax.microedition.io.Connector.file.write
alias: local_connectivitive
javax.microedition.io.Connector.comm
domain: minimum
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: maximum
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: operator
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: manufacturer
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: thirdparty
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: trusted
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
domain: untrusted
allow: net_access
allow: application_auto_invocation
allow: massage
allow: multimedia_capture
allow: read_user_data_access
allow: write_user_data_access
allow: local_connectivitive
Týmto sa nastavia aj nepodpísaným aplikáciam rovnaké práva ako podpísaným.
utorok 28. septembra 2010
ASM - zadania
Vypracované štyri zadania s predmetu Assemblery.
Zadanie č.1 : Manipulácia s textom
Zadanie č.2: Zobrazte na zvolene miesta obrazovky styri znaky. Pohybujte postupne kurzorom po celej obrazovke. Ak kurzor narazi na znak, zmeni ho na iny.Osetrite krajne body obrazovky.
Zadanie č.3: Práca s bitovými operáciami
Zadanie č.4: Práca s reťazcami
Archív so zadaniami
Zadanie č.1 : Manipulácia s textom
Zadanie č.2: Zobrazte na zvolene miesta obrazovky styri znaky. Pohybujte postupne kurzorom po celej obrazovke. Ak kurzor narazi na znak, zmeni ho na iny.Osetrite krajne body obrazovky.
Zadanie č.3: Práca s bitovými operáciami
Zadanie č.4: Práca s reťazcami
Archív so zadaniami
Prihlásiť na odber:
Príspevky (Atom)