Ia prezantim

Preview:

Citation preview

Tematikat

• Te mesuarit ne sistemet e inteligjences artificiale

• Gjuhet e programimit te inteligjences artificiale

• Disa koncepte te psikologjise artificiale

KONCEPTI I TE MESUARIT

• Vetepermiresim

• Aftesi per t’u adaptuar me situata te reja

• Modifikimi i sjelljes

• Formulimi i koncepteve , tendenca drejtpermiresimit, aftesia per te kryerpergjithesime apo per tu shkeputur prej tyredrejt situatave te vecanta

METODA TE TE MESUARIT

• Nepermjet burimeve te jashtme ne

lidhje me sistemet e IA (H-D ne

lidhje me boten e jashtme)

• Investigime mbi burimet e reja te

informacionit

• Vleresimi i pasojave te veprimeve te

kryera me pare

METODA TE TE MESUARIT (VAZHDIM ...)

• Rote learning

• Advice learning

• Learning concepts

from examples or

evidence

METODA TE TE MESUARIT (VAZHDIM ...)

• Learning by

exploration

• Learning by

analogy

ALGORITME TE TE MESUARIT

Dy tipe kryesore te algoritmave :

• Pergjithesim drejt specifikimit (G-S)

• Specifik drejt pergjithesimit (S-G)

ALGORITME TE TE MESUARIT (VAZHDIM...)

Nje pershkrim ci“mbulon” nje ekzemplarelementar nese:

-Konsiston ne njeelement pozitiv.

-Eshte inkonsistentme nje element negativ.

KonsistencaShpjegimi“Mbulimi”

PROLOG

Gjuheprogramimi e nivelit te

larte

General purpose

Aftesillogaritese

“linguistike”

Gjuhedeklaruese

E bazuar ne “rregullat”

Joeksplicite

Baze tedhenashdinamike

Klauzolat

Faktet • has(house, door)

Qellimet • ?-has(What, door)

Rregullat• has(X, door) : - is_house(X)

Elemente te gjuhes

does_research(rjs).documents_research(rjs).writes_proposals(rjs).gets_funded(rjs).prepares_lectures(rjs).lectures_well(rjs).gets_good_evaluations(rjs).gets_tenure (Faculty): - publishes (Faculty),gets_research(Faculty), teaches_well(Faculty)publishes(Professor): - does_research(Professor),documents_research(Professor)gets_research (Researcher): - writes_proposals(Researcher), gets_funded(Researcher)teaches_well (Educator): -prepares_lectures(Educator),lectures_well(Educator),gets_good_evaluations(Educator)

# Kerkimi me i thjeshte i informacionit do te ishte sipas sintakses: ?-gets_tenure(Who)

TRAJTIM SIPAS SHEMBUJVE :

Aplikim i IA per mbrojtjen e sistemeveelektrike te fuqise :

(VAZHDIM…)

protected_by( Line_x, Breaker_l, Breaker_r ),generation(Breaker_l),generation(Breaker_r)// rregull per funksionimin e celesit te anes se majte te linjes:correct_oper_left(Line_x, Breaker_l, Breaker_r): -protected_by(Line_x, Breaker_l, Breaker_r), fault(Line_x), generation( Breaker_l),operated( Line_x, Breaker_l).correct_oper_right( Line_x, Breaker_l, Breaker_r): -protected_by( Line_x, Breaker_l, Breaker_r),fault(Line_x),generation(Breaker_r),operated(Line, Breaker_r).

Per te arritur nje pershkrim te kenaqshem me prolog do te nevojitej :

①Topologjia e rrjetit ose

ndryshe pershkrimi linjave te

interkoneksionit. Ketu duhen

specifikuar ne menyre eksplicitetipet dhe kahet e

lidhjeve.

Percaktimi ivendndodhjes se gjeneratoreve.

Percaktimi istatusit te te

gjithecelesave.

Maksimalisht mund te kemi keqfunksionim vetem nga nje celes

Celesi qe mund te keqfunksionoje ka nje ose me shume celesa backup

Maksimalisht mund te kete probleme vetem ne nje linje

Relete detektojne probleme vetem sipas nje kahu

Per sistemin e Backup pranojme:

Topologjiaprotected_by( Line, Breaker1, Breaker2)interpretimi i pohimit: “linja me emrin variabel Line eshte e mbrojtur nga celesat me emra variabelBreaker1 dhe Breaker2”.Kodi per kete pjese per rrjetin me siper:

protected_by(line1, 1, 2),protected_by(line2, 3, 4),protected_by(line3, 5, 6),protected_by(line4, 7, 8).

// connect(Breaker1_name, Breaker2_name) ky funksion do te thote qe dy celesat me emra variabel Breaker1_name, Breaker2_name jane te lidhur me njeri-tjetrin me ane te busit perkates.

connect(2,3),connect(2,6),connect(2,7),connect(3,6),connect(3,7),connect(6,7).

generation(Breaker_name) qe do te thote qe me celesin te vendosur si argument kemi nje gjenerator te lidhur.

generation(1),generation(4),generation(5),

” operate(Breaker_name)” qe do te thote se deklarojme se cilet celesa jane vendosur ne gjendje pune. Ne rastin ne studim pranojme skenarin e meposhtem:

operate(1),operate(4),operate(5).

// me siper jepet deklarimi i fakteve// me tej procedojme me rregullatconnection(B1,B2) : - connect(B1,B2),//other_breaker(known_breaker_name, unknown_breaker_name)other_breaker(B1,B2) : - protected_by( _ , B1, B2),other_breaker(B1,B2) : - protected_by( _ , B2, B1).has_gen( B ) : - generation ( B ), !.has_gen( B ) : - connection(B,B1),other_breaker(B1,B2),has_gen(B2), !.

Topologjia(Vazhdim…)

back_up( B1, B2). (B2 eshte nje nga celesat qe mund t’i japin backup B1)back_up(B1,B2): - not(generation(B1)),

connection(B1,B3),other_breaker(B3, B2),has_gen(B2).

//Kodi per te testuar nese backup nuk funksionoi:backup_did_not_work(B1,B2) : - back_up(B1,B2),

not(operate(B2)).

//Shembull per gjetjen e gjeneratoritprotected_by(line1,1,2),

protected_by(line2,3,4),

protected_by(line3,5,6),

connect(2,3),

connect(4,5),

generation(1),

generation(6), connection(B1,B2) : - connect(B1,B2),

connection(B1, B2) : - connect (B2,B1),

other_breaker(B1,B2) : - protected_by( _ , B1, B2),

other_breaker(B1, B2) : - protected_by ( _ , B2, B1),

has_gen(B) : - generation (B),

write(‘Breaker’), write(B),

write(‘is connected to a generation directly.’),

nl, has_gen (B) : - connection ( _ , B, _ , B1),

other_breaker(B1,B2),

write(‘Breaker’), write(B),

write(‘is not connected to a generation correctly’),

nl, write(‘but’),

write(‘ it is connected to breaker’),write (B1), nl,write(‘and breaker’), write(B1),write(‘protect a line’),write(‘ with breaker’ ), write(B2), write(‘.’),nl.has_gen(B2), !.

Pergjigjetpas

simulimitdo teishin:

Percaktimi i vendndodhjes se problemit :

no_source_coming(B1) :- not(has_gen(B1)).

no_source_coming(B1) :- has_gen(B1),operate(B1).

no_source_coming(B1) :- back_up(B1,_),

not(backup_did_not_work(B1,_)).

//Per te gjetur linjen ne te cilen kemi problemi aplikojme kodin e meposhtem:

elect_isolated(L, B1, B2) :-no_source_coming(B1),

no_source_coming(B2), !.

// Interpretim dhe display

printout(B) :- has_gen(B),operate(B),

write(‘Breaker’),

write(B),

write(‘operated correctly.’), nl, !.

printout(B) :- has_gen(B),

not(operate(B)),

write(‘Breaker’),

write(B),

write(‘malfunctioned.’), nl,

not(printbackup(B)), !.

Programi i plote per gjetjen e problemitne linje dhe mbrojtjen e sistemit:

// mbi topologjine

protected_by(line1,1,2).

protected_by(line2,3,4).

protected_by(line3,5,6).

protected_by(line4,7,8).

connect( 2,3).

connect(2,6).

connect(2,7).

connect(3,6).

connect(3,7).

generation(1).

generation(4).

generation(5).

// statusi i celesave

operate(1).

operate(4).

operate(5).

// rregullat

connection(B1,B2) :-connect(B1,B2).

connection(B1,B2) :-connect(B2,B1).

(Vazhdim…)

other_breaker(B1,B2) :-protected_by( _, B1, B2),other_breaker(B1,B2) :-protected_by( _, B2, B1).has_gen(B) :- generation(B) !.has_gen(B) :- connection(B,B1),

other_breaker(B1,B2),has_gen(B2), !.

back_up(B1,B2) :-not(generation(B1)),

connection(B1, B3),

other_breaker(B3,B2),

has_gen(B2).back_up__not_work(B1,B2) :-back_up(B1,B2),

not(operate(B2)).no_source_coming(B1) :-not(has_gen(B1)).no_source_coming(B1) :-has_gen(B1),

operate(B1).no_source_coming(B1) :-back_up(B1,_),

not(backup_did_not_work(B1,_)).fault(L, B1, B2) :-no_source_coming(B1),

no_source_coming(B2), !.//printbackup(B) jep informacion mbi gjithe celesat qe operuan ne menyre korrekte dhe kthen FALSE

printbackup(B) :- back_up(B,B1),

operate(B1),

write(‘Breaker’),

write(B1),write(‘

operated correctly as a back_up breaker’),

nl, fail.

(Vazhdim…)

// printout jep interpretimin perkates

printout(B) :- has_gen(B),

operate(B),

write(‘Breaker’),

write(B),

write(‘operated correctly’), nl, !.

printout(B) :- has_gen(B),

not(operate(B)),

write(‘Breaker’),

write(B),

write(‘malfunctioned’),nl,

not(printbackup(B)), !.

// Goal

run :- protected_by(L,B1,B2),

fault(L,B1,B2),

write(‘Possible fault location is on’),

write(L), nl,

printout(B1),

printout(B2),

nl, nl,

fail.

Logjika Kohore

Pohimet qe kane qene te verteta me pare, mund te jene edhe sot te tilla, por nuk mund te flasim per te ardhmen. (RWT proces dinamik)

Vendimet e marra(apo te mosmarra)ne kohen

aktuale shkaktojneqe situata tecaktuara ne teardhmen te kene

gjendje tecaktuara.

Njerezit arsyetojne dhe planifikojne ne

nje sfere historie , bazohen ne

deadline, pohime dhe kufizime te tjera kohore.

Sipasrregullave

IF <statement> ... THEN

<consequent>

Sipaslogjikeskohore

WHEN<statement> .... THEN ...

- Henceforth(subsequently)- Until- Never- Eventually- Previously- Before, after dhe during

Trajtim i RWT sipas nje shembulli

holds(A,I)

/* database */

current(1989),

born(Morris,1974), born(Jesse,1983),

born(Ruffie,1979), born(Ralphie, 1965),

born(Harry, 1981), born(Rasp,1980),

born(Tiger, 1960), killed(Ruffie,1983),

died(Ralphie, 1971), died(Tiger, 1964),

died(Morris, 1985).

// shembuj pohimesh te kushtezuara RWTwas_alive(X) :- born(X, _ ),

dead(X),unborn(X) :- born(X,date),

current(Now),Now<Date,

unborn(X) :- not(born(X, _ )),will_die(X) :- born(X, then),

current (Now),Then=<Now,not(dead(X)),

dead(X) :- died(X,When),current(Now),Now>When,

dead(X) :- killed (X, When),current(Now),Now>When,

age(X, Years) :- born(X,Date),current(Now),

Years is Now-Date,Years> 0,not(dead(X)).alive(X) :- born(X, _ ),

not(dead(X)),same_age(X,Y) :- not (X,Y),

alive(X),

alive(Y), age(X,A1),

age(Y,A2), A1==A2,

// pohime te kushtezuara bazuar

ne RWT me intervale kohore

lifespan(X,Begin,End) :-

born(X,Begin),

Killed(X,End),

lifespan(X,Begin,End) : -

born(X,Begin),

died(X,End),

alive_at_same_time(X,Y) :-

lifespan(X,Bx,Ex),

lifespan(Y,By,Ey),

not(X=Y), overlap(Bx,Ex,By,Ey).

// pohime te kushtezuara te

nevojshme

overlap(Bx,Ex,By,Ey) :-

contained_in(Bx,By,Ey),

overlap(Bx,Ex,By,Ey) :-

contained_in(Ex,By,Ey),

overlap(Bx,Ex,By,Ey) :-

contained_in(By,Bx,Ex),

overlap(Bx,Ex,By,Ey) :-

contained_in(Ey,By,Ex),

contained_in(A, B, C) :-

bound(A),

B=<A, bound(C), A=<C,

contained_in(A,B,C) :- bound(A),

B=<A, not(bound(C)),

not(P) :- call(P), !, fail.

bound(X) :- nonvar(X).

F(A); P(A);G(A);H(A);

Psikologjia Artificiale

PSIKOLOGJIA ESHTE STUDIMI I PROCESEVE

MENTALE DHE SJELLJES SE INDIVIDEVE.

PSIKOLOGJIA ARTIFICIALE ESHTE

STUDIMI I PROCESEVE “MENTALE” TE NJE

SISTEMI TE NDERTUAR SIPAS INTELIGJENES

ARTIFICIALE NGJASHEM ME NJEREZIT.

Psikologjianjohese

Te mesuarit

Memoria

Perceptimi

Te folurit

Logjika

Adaptimi

Sipas Dan Curtis, IA i afrohet IH kur :

• SIA jane ne gjendje te marrin te gjitha vendimet ne menyre autonome,

bazuar ne informacionin qe mund te jete: - ri; abstrakt; joeksplicit.

• SIA jane ne gjendje te autoprogramohen, bazuar ne informacionin e ri,

nderkohe qe jane ne gjendje te zgjidhin ne menyre te mevetesishme

problemet qe kane lidhje me programimin e tyre edhe kur informacioni

eshte i paplote.

• Dy kushtet me siper vlejne plotesisht per evolimin dhe performancen e

sistemit, por jane te pavlefshme kur flasim per sistemin baze te operimit.

•Njohja artificiale:

Njohja artificiale ka te beje me SIA dhe se si ato mesojne,

integrohen dhe se si perdorin informacionin qe tashme kane.

•Intuita artificiale:

Mund te konceptohet si nje metodike per te arritur ne

zgjidhjen e problemeve me ane te nje menyre qe eshte e

ndryshme nga logjika.

•Emocionet njerezore vs “emocionet” e makinave.