Teknologio

teknologio, komputiko, scienco kaj aliaj studemulaj temoj

Posts tagged programado

1 note

WWDC: Kaj mi ne ĉeestas

Ĉijare estas la unua kiam mi kaj unu miaj kunlaborantoj estis permesitaj iri al WWDC.  Tiu estas la Mond-Vasta Konferenco por Disvolvantoj.  (angle: world wide developer’s conference).  Funkciigita de Apple por ties disvolvantoj.  La konferenco okazas ĉi-semajne, kaj Apple jam anoncis multajn novaĵojn pri la operaciumoj por iPhone kaj Makintoŝo dum la ĉefa prezento.  La estro de mia firmao permesis nin iri, li estis preta aĉeti por ni ambaŭ la flugbiletojn, kaj eĉ pagi por la hotela ĉambro en Sanfrancisko, kaj tiam, subite, tujtuj post la ekhavebleco de la konferencaj biletoj, ili estis forvenditaj… ĉiu lasta bileto.  Nekredeble rapide ili vendiĝis. Bone por Apple.  Malĝoje por ni.

Filed under programado

1 note

Libera volo en determinita mondo

Mi legis universitatan paperon en la reto hieraux pri proponitaj sciencaj eksperimentoj kiuj, supozeble, povus elmontri la gradon de libera volo kiom havas la subjekto de la eksperimento. Nu, la subjekto cxiam proponita estas besto, neniam sugestita estis homo. Fakte li specife volis kompari ranojn kaj senvostsimiojn.

La eksperimento metas la beston en situacion kie gxi povas kalkuli la rezulton de siaj agoj, kaj kiu mezuras la eblecon de la besto fari decidojn surbaze de tio kio estas la plej bona rezulto por gxi.

Estis supozita ke la simio senvosta (pli inteligenta ol la vosta vario) povus kalkuli enmense ke unu ebleco malpli bonas la alian kaj libere fari la decidon elekti la pli bonan. Dume, la rano, estis supozita, ne havas tiun mensan kapablon, kaj cxiam respondas rekte al siaj sensinformoj.

La eksperimentoj, laux mia kompreno, neniam faritas kaj restas nur scienca propono. Sed, levigxas kompreneble la demando, kio estas libera volo? Kunlaboranto mia argumentis ke tiu kiu estas la pli bona ebleco povas esti determine kalkulita. Kaj, do, se la simio elektas tiun kiu pli bonas cxiam, ankoraux gxi ne havas liberan volon.

Filosofie li pravas. Sed filosofie oni povas determini cxiun kiu estas teorie determinebla sen atente kiel komplikaj estus la kalkuloj en realo.

Eminentaj sciencistoj kaj libroverkistoj, kiel Steven Pinker kaj Douglas Hofstader, proponas ke libera volo estas abstrakta nocio al kiu oni alvenas kiam teorie determineblaj sistemoj estas tro komplikaj kaj tro malgrandskalaj por efektive esti determinataj en realtempo en la fizika mondo. Tiam ni nomas la precezon nedeterminebla, aux libera.

La cxefekzemplo estas la homa cerbo. Ecx se gxi estas fizika masxino, kaj fundamente determinebla, en la reala mondo por determini ties estontajn decidojn oni devus havi kompletan bildon de la nuna stato de la tuto, kiu estas malebla sen mortigante la homon. Plie, ecx se ni havus tian kompletan bildon oni devus esti kapabla fari la kalkulojn kiujn la cerbo faros, perfekte, kaj multe pli rapide ol gxi por havi eblecon antauxvidi tion kion gxi konkludos. Modeli la fizikan mondon, kaj simuligi gxin en realtempo farigxas fundamente malebla tuj kiam la simulita sistemo transiras certan limon de komplikeco. Kiu certe la homa menso transiris antaux centaj milionoj da jaroj.


-afisxita per iphona blogpress.

Filed under opinia scienco programado artefarita intelekto

1 note

La solvo de unikodo kaj signovica komparado

Post ne tro multe da tempo mi sukcesis trovi la bonan solvon de la afero kiel kompari signovicojn faritajn el unikodaj signoj.

La magia serĉtermino en google estas:  UnicodeData.txt

Tiu ĉi doserio enhavas ĉiun signon de la tuta unikoda signaro.  Ĉiu vico listas unue la unikodan signan ciferon plus aldonaj informoj pri la signo, apartigitaj per punktokomoj.  Tiu respondas preskaŭ ĉiujn miajn demandojn.

Ekzemple, ni havas la “angstrom” signo, kiu estas ia scienca aŭ matematika simbolo konsistante el majuskla A kun cirkleta supersigno.  Ties unikoda cifero estas 212B.  En alia kolumno de la sama vico listiĝas ke tiu ĉi estas kongrua kun unikoda signo 00C5 kiu nomiĝas ne “angstrom” sed nur latina signo A kun supera cirkleta signo, memevidente identaj signoj.  Tiam la 00C5 vico listas ke tiu ĉi estas kongrua kun du signa sinsekvo 0041 030A.  0041 estas la unikoda cifero por la latina A sen ĉapeloj. Notu ankaŭ la brilon de unikodo, ke tiu 0041 samas kun 41 en ASCII.  030A listiĝas en la dosiero aliloke kun la priskribo: Kombinanta cirkleto supera. (Combining ring above.)  Aliaj informoj en tiu vico indikas ke 030A ne okupas spacon per si mem, sed nur povas esti uzata kombine kun aliaj signoj.

Sprita uzo de tiu ĉi ampleksa datumbazo-en-tekstodosiero ebligas min, kaj nin ĉiujn, sukcese kompari signovicojn faritajn el malsamaj unikodaj signoj, je kiu ajn grado de kongruo kiun la programisto deziras.

Mia sola lamento pri la datumbazo, sed kun kiu mi lernos vivi, estas ke la kopirajta signo estas listigita kiel tiu tute ne havas kongruan sinsekvon.  Laŭ mi la logika kongrua sinsekvo estus la tri ASCII signoj (c).  Sed la unikoda verkistoj malkonsentas tiun opinion.  Aliflanke, kaj ĝoje la unuopa signo por unu duono ja listas la tri signojn 1/2 kiel ekvivalenton.  Tre bone!

Filed under programado

Notes

Unikodo kaj komparado inter ĉapelitaj kaj neĉapelitaj literoj

Freŝdate mi atentas multe kiel plej bone kompari vicojn de literoj, efektive de unikodaj signoj, senzorge pri la ĉapeloj.  Krom ĉapeloj mi ankaŭ volas kompari signojn kiuj estas proksimume similaj.  Unu ekzemplo de ĉi lasta estas: Se en unu signovico oni uzas la unuopa unikoda signo por kopirajto, la c en malgranda cirklo, sed iu alia uzas tri sinsekvaj signoj, (c).  Iusence, gravasence fakte, tiu trilitera sinsekvo estas uzata por signfi ĝuste la sama kiel la speciala unikoda kopirajtsigno.

Do, mi volas verki metodon de signovica objekto, en mia programara projekto, kiu ebligas al la programisto kompari signovicojn senzorgante pri aŭ la literaj ĉapeloj aŭ la maniero uzita esprimi oftajn simbolojn.  La komparo redonus jese aŭ nee pri la ekvivalenteco de la du vicoj.   Ekzemploj donindas: (donotaj en Javaskripto, kaj parte angle)

var vicoA = “Copyright © 2011, Gregorio Naçu”;

var vicoB = “Copyright (c) 2011, Gregorio Nacu”;

Mia familia nomo (kiu estas rumanidevena, sed francigita kiam la avo enmigris montrealon) havas kromsignon sub la c.  Ankaŭ la kopirajtsigno estas esprimita malsame.  Mi volas ke rezulto, malsupra-ekzemple, redonu jese:

var rezulto = vicoA.komparuSenzorganteCxapeloj(vicoB);

Por fari tiun mi estas studanta kiel unikodo funkcias, kaj serĉas tabelojn kiuj listas ekvivalentajn sinsekvojn de signoj.  Multaj solvoj abundas en la reto sed plej ofte tiuj estas nekompletaj kaj nur kovras latindevenaj signoj.  Mi volas havi tabelon multe pli ampleksa kiu povas kovri la grekan, rusan, hebrean kaj aliajn alfabetojn, kaj kiu ankaŭ listas uzindajn ekvivalentojn inter unusignaj simboloj kaj multlsignaj tamen pli oftaj signaj simbolsinsekvoj.

© == (c)

÷ == /

½ == 1/2

Kaj tiel plu.  Se vi, kara leganto, havas iajn helpajn sugestojn, b.v. sendi mesaĝon al mi.

Filed under programado

0 notes

Artefarita Intelekto: Projekto

Ekde 2008, mi pasigis multe da tempo laborante pri projekto fari artifaritan intelekton.  Malkiel multaj aliaj projektoj similaj, mia diferenciĝas laǔ la angulo de kiu mi alproksimiĝas la problemojn.

Ĉefe mi konscie evitas komplikan komprenodevigon pri matematiko.  Matematiko necesas por modeli kiel la informoj fluas de parto al parto, kaj por havi kompletan komprenon pri ĝuste kiel ĉiu aparatero interfunkcias.  Tamen, en naturo neniu kaj nenio havas tiun komprenon, ankoraŭ vivo funkcias belege.  Do, mia alpaŝo estas pli imiti la procezojn de naturo.

Mi laboris sole dum kelkaj jaroj, sed la problemo estas tiom vasta ke oni facile malmotiviĝas pro la amplekso.  Mi nun serĉas kunlaboranto en unu el miaj samoficejanoj.  Niaj alpaŝaj ideoj estas sufiĉe similaj ke mi supozas ke lia helpo estos bonvena.

Se iu el miaj legantaro interesiĝas pri tiu ĉi temo, feliĉe mi pri ĝi skribus pli.

Filed under programado projekto artefarita intelekto