Archive for » január, 2010 «

kedd, január 26th, 2010 | Author:

Minap kicsit utánaolvasgattam a módszereknek, ami alapján a daytrader – rövid idejű részvénykereskedéssel foglalkozó adóvevő – eldönti, hogy mit vásároljon. Vannak módszerek, amikkel meg lehet mondani, hogy minek az ára emelkedik, minek az ára csökken. Sok-sok nagy koponya foglalkozott már ezzel, és meg is alkottak formulákat, amiket ma sokat alkalmaznak.
Oké. Tegyük fel, hogy valaki megfigyel egy összefüggést: ha kis emelkedő szakasz után fél órán át nagyjából egyforma szinten marad egy részvény ára, akkor hirtelen emelkedni fog. Megtámogatja megfigyelésekkel, publikálja, mindenki örül és az emberek elkezdik használni. Emberünk azonban csak röhög a markába, mert tudja, hogy humbug az egész. Aztán megfigyeli a tőzsdét, és láss csodát: kiderül, hogy tényleg így van.
Egy másik ember pedig mondjuk azt a valós (általam légbőlkapott, de tételezzük fel a történet kedvéért, h igaz) megfigyelést teszi, hogy az az értékpapír, ami a napi záráskor az utolsó fél órában 5 és 10 pont között emelkedik, az nyitáskor további 10 pontot fog emelkedni. Emberünk jóhiszeműen közzé teszi a megfigyelést, és hamarosan kiderül, hogy ezek az értékpapírok nem emelkednek, hanem esnek nyitásnál.

Miért van ez? A kulcsszó a publikálás: a tőzsde viselkedése a tőzsdei szereplők viselkedését tükrözi, azt pedig befolyásoljak az ilyen jellegű információk. Az első esetben az emberek vásárolják azt az értékpapírt, mert tudják, hogy emelkedni fog. Ettől emelkedik. A másodikban nap végén vesznek, nap elején eladnak, hogy meglovagolják a hullámot, ettől a nap eleji ár lemegy. Az információ képes önmagát validdá és invaliddá tenni.

Sokkal absztraktabban, nézzük ezt a kérdést: “Hányan tudják a helyes választ erre a kérdésre?” Ha én tudom, az egy. Ha elmondom neked, akkor a helyes válasz oszcillálni kezd, innentől invalidálta magát az információ, azáltal, hogy terjedt.

Semmit nem akarok ebből kihozni. Csak rácsodálkoztam.

Category: Hobbi  | Tags:  | Leave a Comment
péntek, január 22nd, 2010 | Author:

Belefutottam egy ilyen hibába tegnap Scala-ban:

scala> def func():String = {
     |   for(i <- 1 to 2) {
     |     println("do something here")
     |   }
     | }
<console>:5: error: type mismatch;
 found   : Unit
 required: String
         for(i <- 1 to 2) {
             ^

A hiba látszólag a i változó típusa. A valóságban az i teljesen jó, a hiba a for ciklus visszatérési értéke. A Scala a függvény utolsó kiértékelt kifejezését használja visszatérési érték gyanánt, és a ciklus ebben az esetben nem ad vissza semmit, szemben a függvény String visszatérési értékével.

Category: Hobbi, Szakmai  | Tags:  | Leave a Comment
csütörtök, január 21st, 2010 | Author:

Az előző bejegyzésben írt feladat megoldása Scala-ban:

Update: átírtam kicsit a jobb érthetőség kedvéért.

package calc

object Calc {
    def main(args: Array[String]) {
        var str = ""
        var limit = if (args.length > 0) args(0).toInt else 10
        for(i <- 0 to limit) {
            str = calcNext(str)
            println(str)
        }
    }

    def calcNext(in:String):String = {
        in match {
            case "" => "1"
            case _ => {
                    val init = (0, in(0), "")
                    val (_, _, value) = ( init /: (in + " ") ) { calcNextStr }
                    value
                }
        }
    }

    def calcNextStr( t:(Int, Char, String), next:Char ) = {
        val (count, ch, aggr) = t
        if(ch == next) {
            (count+1, next, aggr)
        } else {
            (1, next, aggr + count.toString + ch)
        }
    }
}

Az eredmény pedig 5 elemre:
1
11
21
1211
111221
312211

Category: Hobbi  | Tags:  | Leave a Comment
csütörtök, január 21st, 2010 | Author:

Csak igy ekezetek nelkul, parasztosan: mivel eppen Scala-t tanulok, kitalaltam magamnak egy egyszeru feladatot, amin gyakorolhatom a Scala funkcionalis jelleget.

Van egy szamsor, ami a kovekezokeppen nez ki:

  • 1
  • 11
  • 21
  • 1211
  • 111221
  • 312211

SPOILER a zarojelek kozott: ( Minden elem az elozobol szamolhato a kovekezo modon: leirjuk sorban, hogy melyik elembol mennyi van egymas utan, mielott egy masik elem jonne, azaz pl. a 1211 utani sort igy szamoljuk ki: 1 db 1-es, 1 db 2-es, 2 db 1-es, leirva 11 12 21, space nelkul 111221. Az elso elem 1. )

A feladat a szamsor elemeinek kiirasa. Az alkalmazas parameterkent fogadja azt, hogy hanyadik elemig szamolja es irja ki oket. Ezt mindenki a sajat kedvenc nyelven megirhatja. A kovetkezo bejegyzesben megmutatom a Scala kodot, amit en alkottam ra.

Category: Hobbi, Szakmai  | 4 Comments
péntek, január 15th, 2010 | Author:

A sci-fi könyvek, filmek igen kedvelt témája az időutazás. Hihetetlen mennyiségű dolgot kitaláltak már ezzel kapcsolatban, az időutazás paradoxona is gyakorlatilag mindenki előtt ismert. Még egy tipikus hibát is el szoktak véteni.. na mit? Azt, hogy az időutazó számára az aktuális idősíkban eltelő idő teljesen lényegtelen abból a szempontból, hogy ha másik idősíkba ugrik, mivel kvázi meg tudja választani az időutazás pontos végpontját az időben.. (Erre láttam egy nagyon elegáns megoldást egy filmben.. ott nem igazi időutazás volt, hanem az időben sodrodó féreglyuk, amelynek ennél fogva mindkét végén telt az idő..)
Van azonban egy kérdés, amit még soha, sehol nem láttam: Érvényes-e az energiamegmaradás az időre is? Egyértelmű, hogy az időutazás nélküli univerzumban (most nem veszem figyelembe a fekete lyukakat) az energia mennyisége állandó az időben, a térbeli elhelyezkedése változik maximum. Gondoljunk azonban bele: Mint tudjuk, a tömeg megfeleltethető energiának. Amikor anyagot küldünk A időpillanatból B időpillanatba, az utazás irányától függően A és B között vagy energia fölösleg, vagy energia deficit lesz az univerzumban.
Milyen módon lehetne ezt a problémát feloldani?
1: Az időben nem érvényesül az energiamegmaradás. Probléma megoldva.
2: Valóban energiadeficit vagy sufficit lenne, emiatt
2a: ..az univerzum egyensúlya felborul és megsemmisül
2b: ..a test új anyagállapotba kerül, amelyben az anyaga nem feleltethető meg energiának (avagy nincs anyaga, vö. szellemek)
2c: ..az időutazás nem lehetséges
3: Azonos nagyságú, ellentétes irányú energiaáramlás lép fel..
3a: ..anyag formájában
3a1: de ez honnan a fenéből jön?
3a2: milyen sebességgel? robbanás?
3a3: majd energiává alakul, ld. 3b
3b: ..energia formájában
3b1: ..és ebből sugárzás lesz a kiindulási ponton
3b1a: Milyen spektrumban?
3b2: ..majd anyaggá alakul, ld. 3a
3b2a: Milyen anyaggá?
4: egyéb

Category: Hobbi  | 3 Comments
csütörtök, január 14th, 2010 | Author:

Az egyik ok, amiért szeretnék a Google-nél dolgozni.. az az, hogy pet project, már ha ez nem csak egy urban legenda, de most a másik okról fogok írni. Már pár napja érlelgetem magamban ezt a gondolatot, és témában is ide illik, szóval itt van:
Azért szeretnék a Googlenél dolgozni, mert ők fogják megalkotni az első Mesterséges Intelligenciát. Igen, így nagy betűvel. Az “első” szó igazából félrevezető, de erre mindjárt visszatérek.
Nem feltétlenül tudatosan törekednek erre, bár szerintem igen. Azt sem állítom, hogy mindent csak ezért csinálnának, de sokmindent igen.
A jelek, ami miatt így gondolom:
- A keresőmotorjuk asszociatív
- Rengeteg adatod gyűjtenek, mégpedig összefüggéseiben. Nem csak a keresésre gondolok, hanem a gmailes levelekre, gtalkos és wave-es csevegésre
- Gyakorlatilag minden platformon van valami Google termék, ahol proci van
- Marha sok nagy koponya dolgozik nekik
- A Go egyik igazán erős oldala a párhuzamosság

Az egyik ellenérv, ami viszont elgondolkoztatott, az a Google Games teljes hiánya. Nem csinálnak játékokat.. de miért? Hiszen annyit hallunk a játékok AI-járól..
Csak azokról azt tudni kell, hogy a valóságban az sokkal inkább szimulált viselkedések halmaza, mint valódi intelligencia. Továbbá, nem az a feladatuk, hogy győzzenek, hanem az, hogy kihívást nyújtsanak.
Egyébként, ha van/lesz a googlenek AI-ja, az fog játszani. És arra fog törekedni, hogy nyerjen.

Ja, még egy gondolat: Miért? Képzeljünk el egy entitást, ami mindenütt ott van, minden telefon, fax, számítógép a része. Folyamatosan figyel, hogy ne rosszalkodjunk. Nem korlátoz meg mindent, csak óv bennünket egymástól. Mint a jó szülő – hagyja a gyereket önállóan cselekedni, amíg az nem veszélyezteti magát vagy másokat.
Erre jó az ő AI-juk. Tulajdonképpen talán az egyetlen AI, ami mindenhol ott lesz.

Category: Hobbi  | Tags:  | Leave a Comment
szerda, január 13th, 2010 | Author:

Megint esik a hó, minek eredményeképp kb. leállt a tömegközlekedés. A szokásoshoz képest vagy két óra késéssel érkeznek a kollégák.

Ami a munkát illeti, érdekes, bár számomra visszalépés. Olyan, mintha vegyítenék a legrosszabb dolgokat a vízesés és a fürge fejlesztési megoldásokból. Igyexem bevezetni az elmúlt két évben tanult jó dolgokat, amennyire lehet..

Category: Személyes  | One Comment
szerda, január 06th, 2010 | Author:

Pont valamikor december elején: Lenne kedved Londonban dolgozni? – kérdezte a budapesti főnököm. Lenne hát, mondtam, akkor már jócskán unva a vidéki életet. Rendben – mondta ő. December 14 – mondta megint csak ő, két nap múlva – az menne? Megállt a gyomromban az ütő, ahogy a teniszezők mondanák, ámde hangosan bólintottam erre is.
Jan 4 – mondta Pál egy nappal később. UTÁLUNK – mondta a Pityinger meg a Váradi, de csak mert irigykedtek. Ők is unják Anglia segglyukáta vidéki életet, nyilván.
Szerezzünk albérletet. Költözzünk át. Menjünk vissza két napra vidékre. Vezessünk vissza Londonba. Intézzük el a GP-t, mielőtt repülünk.
Akkor most havazik – mondta az időjárás. Sajnos nem tudok taxit küldeni – mondta a diszpécser. Meg fogok szülni – mondta Gréta. Szerencsére tévedett, de nem sokon múlott.

Folyt köv – mondom én.