Temat e kurrikulës

Kurrikula e projektit Shatranj.ai mund të aksesohet përmes lms.shatranj.ai

Më poshtë janë përmbledhjet e shkurtra të temave brenda kurrikulës.

Mësimi 1 – Fushëveprimi i kursit dhe prioritetet

  • Prezanton projektin Shatranj.AI, themelet e tij Erasmus+, organizatat partnere dhe platformat digjitale.
  • Vizioni i projektit, konteksti i Erasmus KA2
  • Institucionet partnere dhe fokusi në trashëgiminë kulturore
  • Përmbledhje e platformave (redaktori, LMS, mjetet e kodimit)
  • Rolët e mësuesve dhe rezultatet e nxënësve
  • Përmbledhje e strukturës së kurrikulës
  • Hyrje në Python/Jupyter

Mësimi 2 – Hyrje në Informatikë dhe Konfigurimi i Python-it

  • Studentët mësojnë konceptet themelore të përpunimit të të dhënave dhe instalojnë Python/Jupyter.
  • CPU, RAM, I/O bazë
  • Bitë, bajtet, përfaqësimi binar
  • Instalimi i JupyterLab
  • Ekzekutimi i parë i bllokut Python
  • Variablat, shprehjet e thjeshta
  • Qasja në dosjet Drive

Mësimi 3 – Llojet e të dhënave në Python

  • Përfshin llojet e të dhënave të integruara të Python-it dhe operacionet bazë.
  • Integerë, numra me presje, vargje, booleanë
  • Konvertimi i tipit
  • Lista dhe indeksimi
  • Konceptet e ndryshueshmërisë
  • Ushtrime me figurat e shahut si fije

Mësimi 4 – Kushtet, ciklet, rrjedha e kontrollit

  • Prezanton logjikën, ciklet dhe programet interaktive.
  • Logjika Nëse/elif/tjetër
  • Operacionet Booleane
  • Ciklet For/While
  • Ndalo/vazhdo
  • Programet e thjeshta të hyrjes

Mësimi 5 – Funksionet, Fushëveprimi, Parametrat

  • Mëson kod modular me funksione.
  • Përcaktimi i funksioneve
  • Parametrat dhe kthimet
  • Fusha lokale/globale
  • Lambda-të
  • Projekt funksional i vogël (llogaritës i vlerës së pjesës)

Mësimi 6 – Skedarë, përjashtime, biblioteka, testimi

  • Puna me skedarë dhe kod të qëndrueshëm.
  • Skedar lexo/shkruaj
  • Përpiqu/përjashto
  • Importimi i bibliotekave
  • Testim i thjeshtë
  • Menaxhimi i hyrjeve të pavlefshme

Mësimi 7 – OOP, Klasat, TicTacToe

  • Ekspozimi i parë me OOP.
  • Klasat dhe objektet
  • Atributet dhe metodat
  • Modelimin e lojërave
  • Zbatimi i TicTacToe
  • Debugimi i kodit OOP

Mësimet 8 – Përfaqësimi i tabelës së shahut dhe shatranjit

  • Përfaqësimet e tabelës për shah dhe shatranxh
  • Sistemet e koordinatave dhe strategjitë e indeksimit
  • Strukturat e të dhënave të brendshme për gjendjen e bordit
  • UTF-8 dhe paraqitja simbolike e pjesëve
  • Integrimi me redaktorët e bordit dhe mjetet e vizualizimit

Mësimet 9 – Lëvizja e copave, Përditësimet e gjendjes së lojës dhe Kushtet terminale

  • Rregullat e lëvizjes së figurave në shah dhe shatranxh
  • Gjenerimi i lëvizjeve ligjore kundrejt atyre pseudo-ligjore
  • Përditësimi i gjendjes së lojës pas një lëvizjeje
  • Zbulimi i kontrollit dhe vetëkontrollit të paligjshëm
  • Detektimi i kushteve terminale: mat dhe pat

Mësimet 10 – Problemet e kërkimit dhe kalimi në graf

  • Formulimi i problemit të kërkimit: gjendjet, veprimet, tranzicionet dhe qëllimet
  • Grafët dhe pemët e hapësirës së gjendjes
  • Kërkimi në thellësi të parë (DFS)
  • Kërkimi me gjerësi të parë (BFS)
  • Kërkimi me kosto uniforme (UCS)
  • Udhëzime për gjurmimin e grafëve dhe vizualizim
  • Shembuj të thjeshtë me shah dhe të bazuar në rrjetë

Ligjëratat 11 – Kërkimi heuristik dhe pemët e lojës kundërshtare

  • Funksionet heuristike dhe kërkimi i informuar
  • Pranueshmëria dhe qëndrueshmëria
  • Kërkim A*
  • Pema e kërkimit dhe e lojës kundërshtare
  • Funksionet e vlerësimit për gjendjet e lojës
  • Kërkimi minimax
  • Expectiminimax për mjedise stocastike dhe të pasigurta
  • Prunimi Alpha–beta dhe përmirësimet e performancës
  • Funksionet e vlerësimit për gjendjet e lojës
  • Shembuj armiqësorë të bazuar në shah

Mësimi 12 – Tura me kalë (Tura e kalorësit)

  • Eksploron turneun e kalorësit me rikursion dhe heuristika.
  • Lëvizja e grafit kalorës
  • Turne të hapura/të mbyllura
  • Kthim mbrapa me DFS
  • Euristika Warnsdorff
  • Lidhje me TSP

Mësimi 13 – Enigma e tetë mbretëreshave

  • Kënaqja e kufizimeve me rikthim prapa.
  • Logjika e sulmit të Mbretëreshës
  • Kërkim rekursiv
  • Teknikat e optimizimit
  • Referenca historike për mbretëreshën
  • Zbatimet e bllokut të shënimeve

Mësimi 14 – Gruri dhe problemi i tabelës së shahut

  • Hangavere matematikore dhe rritje eksponenciale.
  • Dyfishimi në tabelën e shahut
  • Fuqitë e 2-së
  • Enigma lloj-Mount Fuji të përdorura në intervista, enigma të matematikës së aplikuar
  • Katrore magjike
  • Hangavërtitë logjike të Smullyanit
  • Problemet me pllakat Knight dhe problemet e tjera me pllakat në rrjetë

Mësimi 15 – Minimax, Alpha-Beta, Logika e Matjes së Mbretit

  • Kërkim i thellë kundërshtar dhe fundlojëra shahu.
  • Llogaritje minimax
  • Prerja alfa-beta
  • Opozitë, triangulim
  • Burime historike (Al-Adli, Reti)

Mësimi 16 – Diamanti i Sulit (Studim historik i fundlojës)

  • Analiza historike e fundlojës së shahut, bazat e të dhënave të fundlojës, programimi dinamik, hashing
  • Biografia e Al-Suli
  • Rikonstruimi i fazës përfundimtare
  • Opozita dhe triangulimi
  • Teoria e katrorëve përkatës
  • Zgjidhja me kod e programimit dinamik për dilemën 1000-vjeçare në C/C++
  • Inspektimi i zgjidhjes në play.shatranj.ai dhe gjithashtu përmes blloqeve të shënimeve dhe tabelave ASCII

Mësimi 17 – Përshtatja e Stockfish për të luajtur Shatranj, Rybka–Deep Blue–Stockfish Historia

Eksploron se si motorët modernë të shahut kanë evoluar dhe si motorët me kod të hapur mund të përshtaten me variantet historike.

  • Kërkimi me forcë bruto i Deep Blue
  • Rybka dhe ngritja e motorëve të përqendruar në vlerësim
  • Stockfish si një motor i hapur, i drejtuar nga komuniteti
  • Si Stockfish përfaqëson figurat, lëvizjet dhe rregullat
  • Modifikimi i lëvizjes së figurave (ferz, vezir), vlerësimi, rregullat e ligjshmërisë
  • Ndërtimi i kërkimit dhe vlerësimit të përputhshëm me Shatranjin

Mësimi 18 – Bazat e Mësimit të Përforcimit: Botë rrjetore, Programim dinamik dhe Kompleksitet

Prezanton mësimin e përforcimit (RL) duke zgjidhur një botë rrjetë të vogël saktësisht kur rregullat janë të njohura, pastaj tregon pse ky qasje “i gjithdijshëm” dështon në lojëra të mëdha si shahu.

  • Cikli agjent–mjedis; gjendjet, veprimet, shpërblimet, episodet; faktori i zbritjes γ.
  • Vlerësimi i politikës (“robot i rrëshqitshëm”) dhe iteracioni i vlerës (“gjuetar i thesarit”) duke përdorur rezervimet e Bellmanit.
  • Përhapja e vlerës vizuale dhe nxjerrja e një politike optimale nga funksioni i vlerës.
  • Mallkimi i dimensionalitetit: kompleksiteti i hapësirës së gjendjes kundrejt atij të pemës së lojës; motivimi i numrit të Shannon-it.
  • Lojërat historike “gjigande” (p.sh., shahu i Tamerlanit, Go) si kontekst përse është e nevojshme të mësohet.

Mësimi 19 – Mbretëresha e Ngrirë: Mësimi Q në tabelë në FrozenLake

Lëvizjet nga planifikimi drejt mësimit: agjenti fillon pa hartë dhe mëson një politikë përmes provës dhe gabimit duke përdorur Q-learning tabelar.

  • Formuloni FrozenLake/Frozen Rook si një MDP: S, A, R, P, gjendjet terminale, γ.
  • Rregulli i përditësimit të Q-learning dhe eksplorimi ε-greedy (orari eksplorim→shfrytëzim).
  • Trajno një agjent në Gymnasium FrozenLake; krahaso tranzicionet deterministike me ato rrëshqitëse.
  • Inspektoni atë që është mësuar përmes hartave të nxehtësisë në Q-tabela / shigjetave të politikës; rregulloni α, γ, ε dhe numrin e episodeve.
  • Mësimet e shkallëzimit: shpërblime të rralla, njohje e vonuar dhe pse hartat më të mëdha janë më të vështira.

Mësimi 20 – Mat me dy turre kundër mbretit të vetëm: Mësimi me diferencë kohore në praktikë

Aplikon Q-learning në një fund loje të vogël shahu dhe e bën bazën e kodit RL “të vërtetë” duke ndarë bllokun e shënimeve të eksperimentit nga modulet e të mësuarit dhe trajnimit.

  • Mësimi me ndryshim kohor (TD): identifikoni gabimin TD brenda përditësimit të Q-learning; pse përditësimet TD gjatë lojës.
  • Pse mësimi Monte Carlo është shumë i ngadaltë për lojëra të ngjashme me shahun me shpërblim të vonuar.
  • Staku i inxhinierisë: rl.py (Q-memory + përditësimi TD), trainer.py (cikli i episodit, orari i eksplorimit), notebook si laborator.
  • Kodoni pozicionet e shahut si gjendje të lexueshme nga makina (FEN) dhe trajnoni një agjent tabelar në një hapësirë gjendjesh të kufizuara të finales së lojës/enigmës.
  • Kufizimet: pse metodat tabulare dështojnë për shahun e plotë (mallkimi i dimensionalitetit) dhe nevoja për afrimimin e funksioneve.

Mësimi 21 – Rrjetet e thella Q: nga tabelat Q te rrjetet nervore

Prezanton afrimin e funksionit për RL duke zëvendësuar tabelën Q me një rrjetë nervore (DQN) dhe duke e aplikuar atë në disa lojëra tavoline të vogla.

  • Pse tabelat Q nuk shkallëzohen: ka shumë gjendje; përgjithësimi kërkon një model që mund të “parashikojë” vlera për pozicione të panjohura.
  • Cikli i trajnimit të Deep Q-Network (DQN): buferi i riprodhimit, rrjeti target, përditësimet me mini-batch, zbehja ε.
  • Zbato dhe eksperimento me DQN në lojëra si Connect-4 (4Connect), Fox & Hounds dhe Othello/Reversi.
  • Diagnostika: kurbat e të mësuarit, çështjet e stabilitetit (mbitestimimi, divergjenca) dhe masat praktike për zbutje.
  • Krahaso qasjet: DQN kundrejt vlerësimit në stil NNUE dhe vlerësimit të hartuar me dorë (HCE) për të diskutuar kompromiset e arkitekturës.

Mësimi 22 – Monte Carlo Rollouts dhe MCTS në Qirkat

Ndërton një mjedis të plotë Qirkat dhe më pas përparon nga implementime të rastësishme drejt një kërkimi të plotë të pemës Monte Carlo (MCTS) me selektim UCT.

  • Zbato kornizën e rregullave Qirkat (tabela 5×5, C3 bosh) dhe rregullën e kapjes maksimale që detyron sekuenca kapjesh.
  • Gjenerimi i lëvizjes që numëron linjat e kapjes, imponon kapjen e detyrueshme dhe filtron kapjet me gjatësi maksimale.
  • Vijat bazë të Monte Carlos: shpërndarje të rastësishme dhe vlerësim i sheshtë i lëvizjeve Monte Carlo para shtimit të ri-përdorimit të pemës.
  • Pipeline-i MCTS: seleksionim, zgjerim, zbatim/vlerësim, përhapje e prapme; zgjedhja përfundimtare e lëvizjes me UCT/numër vizitash.
  • Regjistrime të riprodhueshme të lojës dhe mjete auditimi për riprodhim hap pas hapi dhe debugim.

Mësimi 23 – AlphaZero në Othello/Reversi

Përmirëson MCTS-në në një kërkim në stilin AlphaZero duke shtuar një rrjet nervor që furnizon një politikë paraprake dhe një vlerësim të vlerës, pastaj stërvitet përmes vetë-lojës.

  • Urdhëroni intuitën me një demonstrim të vogël ‘Connect2’ AlphaZero, pastaj transferoni idetë në Othello.
  • Zëvendësoni UCT me PUCT: kombinoni statistikat e vizitave me një politikë të mësuar paraprakisht për të udhëhequr eksplorimin.
  • Kokat e rrjetit nervor: politika (probabilitetet e lëvizjeve) dhe vlera (vlerësimi i pozicionit) përdoren në vend të simulimeve të rastësishme.
  • Cikli AlphaZero: vetë-lojë → objektivat e trajnimit (π, z) → përditësim i rrjetit → përsërit; vlerësim përmes ndeshjeve/log-eve të turneut.
  • Kodimi i lëvizjeve i ndërgjegjshëm ndaj rrugës për sekuenca kapjeje me gjatësi të ndryshueshme, në mënyrë që rrugët e ndryshme të kapjes të mbeten të dallueshme.

Mësimi 24 – AlphaZero në Qirkat: PUCT, rrjetat e politikës/vlerës dhe vetë-loja

Përmirëson MCTS-në në një kërkim në stilin AlphaZero duke shtuar një rrjet nervor që furnizon një politikë paraprake dhe një vlerësim të vlerës, pastaj stërvitet përmes vetë-lojës.

  • Urdhëro intuitën me një demonstrim të vogël ‘Connect2’ AlphaZero, pastaj transfero idetë te Qirkat.
  • Zëvendësoni UCT me PUCT: kombinoni statistikat e vizitave me një politikë të mësuar paraprakisht për të udhëhequr eksplorimin.
  • Kokat e rrjetit nervor: politika (probabilitetet e lëvizjeve) dhe vlera (vlerësimi i pozicionit) përdoren në vend të simulimeve të rastësishme.
  • Cikli AlphaZero: vetë-lojë → objektivat e trajnimit (π, z) → përditësim i rrjetit → përsërit; vlerësim përmes ndeshjeve/log-eve të turneut.
  • Kodimi i lëvizjeve i ndërgjegjshëm ndaj rrugës për sekuenca kapjeje me gjatësi të ndryshueshme, në mënyrë që rrugët e ndryshme të kapjes të mbeten të dallueshme.

Mësimi 25 – Damë turke (Dama):

Alfa-Beta, MCTS i udhëhequr nga PUCT, Alpha Zero

Zbaton damën turke dhe krahasohet me kërkimin klasik (alpha–beta) me MCTS duke përdorur një ekzekutues ndeshjesh të ripërdorshëm dhe log-e simulimi në grup.

  • Motor loje: përfaqësimi i bordit, lëvizjet e lejuara me kapje me shumë kërcime dhe kodimi i rrugës së lëvizjes.
  • Funksioni i vlerësimit plus agjenti i kërkimit Negamax/Alpha-Beta; kompromiset midis thellësisë dhe forcës.
  • Agjenti MCTS për damat turke dhe krahasimet ballë për ballë kundër alfa–beta.
  • Universal match runner (play_game) dhe utilitetet e simulimit në grup për eksperimente të riprodhueshme.
  • Regjistrime të eksportueshme (të kompresuara në zip) për rishikim dhe debugim në klasë.