Contents

Blog tags RSS

All entries

Grand Slam

29 May 2009 (ELTE personal) (7 comments)

A mai analízis 8 vizsgával meglett a royal flush: mind a nyolc kollokvium, és (még anno, két éve) a szigorlat is jeles lett.

Gondolom, a kommentek között mindjárt feltűnik még száz ember, aki a progmaton ugyanezt megcsinálta, de szarok rá, én ma ennek örülök. Egyébként is egy állati izgalmas ride volt ez a négy év a matematika egy szeletének felépítményén át. Megérte! És sok más tantárggyal és előadóval ellentétben, az előadások 90+ százaléka izgalmas és érdekes volt nemcsak utólag, hanem akkor és ott ülve is.

Relativisztikus hiperszámítógépek

7 May 2009 (programming ELTE)

Tegnap egy nagyon érdekes előadáson vettem részt, ahol Németi István és team-je ismertette a hiperszámítás megvalósíthatóságának vizsgálata terén elért eredményeit.

A hiperszámítás olyan teoretikus kiszámítási modellekkel foglalkozik, amelyek kvalitatíven erősebbek a Turing-gépeknél (pl. meg tudják oldani a Turing-gépek megállási problémáját, vagy akár Gödel nemteljességi tételén is túl tudnak lépni. Németiék az általános relativitáselmélet eredményeit felhasználva konstruáltak egy olyan hipotetikus rendszert, amely a programozó, mint megfigyelő szempontjából nézve véges idő alatt képes végtelen sok számítást elvégezni. Mint többször hangsúlyozták az előadás alatt, a javaslatukról azt nem állítják, hogy megvalósító, de jelenleg ismert fizikai ismereteink szerint semmi nem zárja ki a megvalósíthatóságát.

Az alapötletük az, hogy a programozó egy számítógép felprogramozása után egy alkalmasan megválasztott pályán beleesik egy forgó fekete lyukba. "Kívülről" nézve a programozó az eseményhorizonton átesve "megfagy", órája végtelenül lelassul. "Belülről", a programozó szemszögéből viszont ennek a duálisa történik: a számítógép órája egyre gyorsul. Ennek eredményeképpen azalatt a (programozó számára) véges idő alatt, amíg átesik az eseményhorizonton, a számítógép számára végtelen idő telik el, ezért aztán bármilyen (nem korlátos) számítás eredményét megkaphatja. Ez azt jelenti, hogy pl. a ZFC konzisztenciáját megvizsgálhatjuk úgy, hogy az összes lehetséges (nyilván megszámlálhatóan végtelen számú) tételt egyenként vizsgáljuk, és az első inkonzisztencia megtalálásakor elindítunk egy űrhajót a programozó után. Ha a programozó nem találkozik az utánaküldött űrhajóssal azalatt a (számára véges!) idő alatt, amíg átesik az eseményhorizonton, akkor az azt jelenti, hogy a végtelen idő alatt (vagyis az összes lehetséges tétel vizsgálata során) nem találtunk ellentmondást, vagyis a ZFC konzisztens.

Nyilván az elmélet működéséhez egy csomó peremfeltételnek teljesülnie kell -- kezdve például azzal, hogy végtelen időre (és a számítás energiaigénye miatt végtelen anyagra) van szükség, vagyis ha a világegyetem jövője egy Nagy zutty jellegű összezuhanást tartogatna, akkor a módszer nem működne -- de a legújabb mérések azt mutatják, hogy a világegyetem folyamatosan tágul.

Mivel nem vagyok fizikus, a fenti, konyhanyelvű magyarázatban természetesen meg sem próbáltam kitérni azokra a problémákra, amiket például az jelent, hogy a programozó túlélje az utazást, vagy hogy az eredményekkel utánaküldött űrhajó ténylegesen utol is érje. Ezeket a részleteket természetesen tisztázza például ez a cikk.

A fenti leírás alapján talán nem egyértelmű, de mindenképp megemlítendő, hogy a programozó természetesen kijönni nem tud a fekete lyukból, a pl. a ZFC konzisztenciájáról szerzett ismereteit már csak a lyuk "túloldalán", egy másik univerzumban tudja felhasználni. Az előadók ennek kapcsán megemlítették annak a lehetőségét is, hogy egyfajta "Noé bárkája", akár maga a Föld haladjon át a (nyilván alkalmasan óriási) fekete lyukon, maguk mögött hagyva ebben az univerzumban egy gépet és annak kiszolgáló-civilizációját, a számítógépbe beprogramozva az összes, Turing-elven nem megoldható, érdekes problémát.

Ennyit az előadás tartalmáról -- de sajnos mindenképp mesélnem kell még a formájáról is. Az történt ugyanis, hogy egy óriási pofavizit lett az előadás: a fél IK tanári kar ott tobzódott, de csak hogy lássanak és látszódjanak -- az egyik végigpofázta az előadást a mellette ülőnek, a másik átlag ötpercenként dőlt a padra majdnem elaludva; az aktívabbak meg jöttek az olyan jellegű kérdésekkel, hogy "bár én nem értek a csillagászati részéhez, de...", amivel persze nincs is semmi baj, de utána ne kezdjen el még három visszakérdésben hitetlenkedni... Szerencsére az előadó nem volt szívbajos, a tényleg hülye kérdésre szemrebbenés nélkül vágta rá, hogy nem tud válaszolni, mivel a kérdés nem értelmes.

Titanic 2009 itiner

24 March 2009 (movies titanic)

Ezeket tervezzük idén megnézni a Titanic filmfesztiválon:

MikorMitHol
Március 28 16:30 Velem mi lesz? Kino
Március 28 20:30 Gyerekek gyermeke Örökmozgó Filmmúzeum
Március 31 21:00 Időbűnök Toldi
Április 3 21:00 A legnagyobb japán Toldi
Április 4 16:30 Fejetlen ember keze Kino
Április 5 15:00 Fél(ek) a sötétben Toldi
Április 5 18:30 Nem tudok élni nélküled Örökmozgó Filmmúzeum

Odüsszeisz-fázis

20 March 2009 (personal theater zene)

Úgy egy hónapja hallottam a rádióban, programajánló gyanánt, hogy a Táp Színháznak van valami Odüsszeia-feldolgozása, és Busa Pista játsza a főszereplőt. Namármost Mc Busa mindig jöhet, meg a rap-opera műfaj is izgalmasan hangzott, úgyhogy keddre vettünk Vikivel két jegyet a Trafóba. Az előadás mindenképp élményszámba ment.

Kezdődik az egész ott, hogy a végére sem derült ki, hogy most ez egy olyan darab, aminek az a koncepciója, hogy nincs készen az előadás (és ettől persze teljesen kész van), vagy pedig tényleg nincs még készen. Mindenesetre az előadás kezdete előtt vagy fél órával, a Trafó kávézójában üldögélve, feltűnt hogy a vendégek kb. fele leendő szereplő, egy nő meg járja őket végig egy papírral hogy akkor most ezt húztuk mégis ki meg ehelyett jössz inkább majd itt. JIT rendezés.

Continue reading »

Eliminating magic strings from ELisp's (interactive)

17 March 2009 (programming language)

If you hate magic string API's as much as I do, you'll like this macro replacing Emacs's (interactive) declaration. It allows you to rewrite the following function definition:

(defun foo (pos str)
  "Foobarize the current cursor position and some text entered by the user at the prompt"
  (interactive "d\nsPlease enter a value for str: "
  (foobarize pos str)))

into the much cleaner form below:

(defun/interactive foo ((pos :pos) (str "Please enter a value for str"))
  "Foobarize the current cursor position and some text entered by the user at the prompt"
  (foobarize pos str)))

It currenty only supports :pos, :region and strings entered at the prompt, but the code is trivial to extend to other initializers.

Older entries: