INTERLNG Archives

Discussiones in Interlingua

INTERLNG@LISTSERV.ICORS.ORG

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
"Daniele Nicolucci (Jollino)" <[log in to unmask]>
Reply To:
INTERLNG: Discussiones in Interlingua
Date:
Sun, 19 Oct 2003 00:13:15 +0200
Content-Type:
text/plain
Parts/Attachments:
text/plain (126 lines)
Sabato, 18 ott 2003, alle 23:28 Europe/Rome, [log in to unmask] ha 
scritto:

> Si on simplemente extrapola iste tendentias, on
> trova que nostre computatores habera, plus o minus in
> le anno 2040, le capacitate de un cerebro human.
> Probabilemente iste processo de evolution continuara
> e post 2040 nostre computatores essera plus
> intelligente que nos.  Inter altere cosas, illos
> probabilemente habera nostre capacitates visual
> e linguistic.

Iste dies post mi operation, io passa mi tempore legente re le 
linguages de programmation logic, como Prolog, LISP, CLIPS, benque io 
non cognosce le mathematica logic nec io es studente de ingenieria 
informatic.

On sovente lege que LISP es "le lingua" del IA (intelligentia 
artificial). Prolog es un linguage deductive con le qual le machina 
deduce responsas a questiones re le factos que illo cognosce. CLIPS es 
un linguage pro le disveloppamento de systemas que cambia e que debe 
cambiar post cambios definite.
Ma toto isto se applica a systemas experte: io pote describer in Prolog 
alicunes relationes, per exemplo que un cosino es le filio o le filia 
del frater o del soror del patre o del madre. Io pote definir mi 
familia, e decir que Antonio es frater de mi madre e que Carolina e su 
sposa, e que lor filios se appella Erika e Mattia.
Post, io pote demandar a Prolog si Erika es mi cosina, e illo va 
deducer que si, illa es mi cosina.

Similmente, on pote ampliar iste idea e construer, per exemplo, un base 
de cognoscentia (knowledge base) con factos e regulas re le production 
de carta, e scriber un programma (imperative) que usa le logic 
deductive de Prolog pro decider si ille ligno es bon o non. Esque le 
tronco es troppo vetule? Esque illo veni de un zona in le qual le clima 
ha essite mal assi que on necessita un ulterior controllo?

Toto isto, in veritate, poterea esser facite anque per un database 
"static", sin capacitates deductive. On pote usar un database MySQL e 
usar alicun 'queries' pro vider si le tronco es sufficientemente bon - 
statisticamente - pro le uso destinate.

Assi, que es IA? IA es le possibilitate, pro le machina, de ampliar le 
datos autonomamente, usante le "experientia" (datos precedente). E IA 
es le possibilitate, pro le programmator, de abstraer le conceptos a un 
nivello plus alte, e isto simplifica le gestion del systema.

Per exemplo, multe inter vos ha certemente jocate le adventures textual 
multo famose in le annos '80-'90. Illos era jocos textual in le qual on 
legeva le description del loco e lo que on poteva prender o usar, e 
scribeva commandos como:
   PRENDE MONETA
   PONE MONETA SUPER LE TABULA
Un mundo como isto, con objectos que ha proprietates (le portabilitate, 
le mobilitate...) es extrememente difficil a construer con un linguage 
classic. Le structuras e le referentias (e le difficultates de gestion) 
cresce exponentialmente post cata modifica.

Con Prolog, in vice, on simplemente va definir factos e regulas, per 
exemplo:
---8<---
camera(cocina). % isto defini que cocina es un camera
camera(hall).           % ... que hall es un camera
camera(banio).          % ...

porta(cocina, hall).    % un porta es inter le cocina e le hall
porta(banio, hall).     % ...

hic(cocina).            % ubi es le jocator (stato initial)

connecte(X,Y) :- porta(X,Y).    % si un porta existe inter X e Y
connecte(X,Y) :- porta(Y,X).    % o inter Y e X, X e Y es connectite.

pote_vader(Loco) :-                     % pro omne X tal que X es le valor de le factos 
"hic"
    hic(X),                                     % [e nos sape que nos ha uno], controlla si
    connect(X, Loco).                   % il ha un connection inter X e Loco.
pote_vader(_) :-                        % si no...
    write('Infelicemente, tu non pote vader illac ab hic.'), nl,        % 
scribe le message
    fail.                                                                               % e da error

move(Loco) :-                   % nos necessita saber ubi le jocator debe vader
    retract(hic(_)),            % nos elimina le facto "hic" (il non importa le 
valor)
    asserta(hic(Loco)).         % e nos lo reimposta con le valor nove

vade(Loco) :-                   % quando le jocator vole vader ad alicubi
    pote_vader(Loco),           % nos controlla si ille pote vader illac
    move(Loco).                 % e nos le face vader
--->8---

Io non va explicar le listato linea per linea (io ha scripte alicunos 
commentos pro le plus curiose inter vos :), ma si on cognosce un pauc 
de programmation classic (imperative) on pote vider como il non ha 
typos de datos, e anque le linea de distinction inter datos e 
proceduras (factos e regulas) es multo subtil.
Prolog sape nihil re lo que es un "camera" o un connection inter duo 
cameras. Iste cosas ha un significato pro le programmator, non pro le 
machina.
E isto permitte un semplification del gestion del systema experte 
notevolissime.


Lo que io vole dicer con toto isto (que inutilitate que io ha scripte!) 
es que actualmente lo que le Intelligentia Artifical es realmente non 
es le puero semi-human del bellissime film AI, nec le cyborgs de 
Terminator... In iste momento, le IA es le gestion automatic de 
systemas experte: un base de cognoscentia limitate a un argumento o un 
ambito particular, cuje decisiones es strictemente relative a ille 
ambito.

Machinas non va prender le controllo del mundo como in matrix: illos 
non pote, proque scriber un systema experte complexe como le mundo 
requirerea un systema experte complexe como le mundo. E un tal loop non 
existe, pro obvie rationes.
Nos pote dormir tranquillemente... ;)


Prologamente
Daniele
-- 
Daniele Nicolucci (Jollino)
"Jos haluat tietää kuinka paljon rakastan sinua,
katso merta ja laske sen aallot."

ATOM RSS1 RSS2