{"id":23265741,"url":"https://github.com/andreip/t1-ml","last_synced_at":"2026-01-28T17:30:56.563Z","repository":{"id":15496766,"uuid":"18230653","full_name":"andreip/t1-ml","owner":"andreip","description":null,"archived":false,"fork":false,"pushed_at":"2014-04-01T11:06:30.000Z","size":768,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-12T12:57:00.556Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"D","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andreip.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-29T00:28:29.000Z","updated_at":"2014-05-14T17:22:19.000Z","dependencies_parsed_at":"2022-08-25T16:21:54.283Z","dependency_job_id":null,"html_url":"https://github.com/andreip/t1-ml","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreip%2Ft1-ml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreip%2Ft1-ml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreip%2Ft1-ml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andreip%2Ft1-ml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andreip","download_url":"https://codeload.github.com/andreip/t1-ml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247450800,"owners_count":20940938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-19T15:32:18.205Z","updated_at":"2026-01-28T17:30:56.535Z","avatar_url":"https://github.com/andreip.png","language":"D","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Petre Andrei, 342 C3\n\nIdei reprezentari stari\n=======================\n\nL - #linii\nC - #coloane\n\nAm inclus si simetria ca potential de utilizare insa n-am folosit-o fiindca era\nmai dificil de programat.\n\nFolodind idei din [1], am decis sa aleg urmatoarele strategii (calcule facute\npentru o tabla generica de L x C):\n- folosind Skyline, voi retine doar o lista de diferente intre coloane adiacente\n  e.g. fie hi, hj doua coloane adiacente, atunci D = |hi - hj|\n- folosind Resolution, voi considera ca de la un prag in colo ales, Prag, nu mai\n  conteaza diferenta D din Skyline, astfel ea devine\n  D = min(Prag, |hi - hj|), unde Prag e hardcodat la o valoare, e.g. Prag = 7.\n- folosind Simetria starilor voi putea reduce numarul de stari retinute la\n  jumatate (foarte importanta!).\n\n\nStari tabla, general\n====================\n\n* numarul maxim de stari ar fi 2^(L*C), fiindca fiecare celula poate fi ocupata\nsau goala.\n* folosind Skyline, retinem doar D = |hi - hj|, deci vom avea maxim\n  L^(C-1) stari, rationand ca pentru doua hi,hj coloane adiacente avem maxim L\n  valori\n* folosind Prag, reducem la cel mult 7^(C-1) stari, pentru ca L nu poate depasii\n  acel Prag (nu consideram utila informatia dincolo de un prag).\n* folosind Simetria, rezulta 7^(C-1) / 2 stari pe tabla.\n\n\nConcret, numar stari, inclusiv piese\n====================================\n\nPentru ca in implementare folosesc numai prima tehnica (Skyline),\npentru maxim LxC = 10x6, avem un numar de stari 10^5 ~ 2^16-2^17 maxim stari.\n\nAvem 7 piese (A-G):\n=\u003e o piesa are 2^2 miscari stanga (medie) x 2^2 rotiri = 2^4 miscari\n=\u003e maxim 2^3 piese x 2^4 miscari fiecare = 2^7 stari piese\n\n\nTotal\n-----\n\n=\u003e Maxim stari folosind ideile prezentate este:\n\n  2^7 stari piese * 2^17 stari tabla = 2^24 stari totale\n\n, reprezentabil intr-un calculator modern fara prea mari batai de cap.\n\n\nGrafic, plot octave\n===================\n\nFisierele implicate sunt in directorul grafice/.\n\nAm folosit myfun.m si urmatoarele comenzi:\n\u003e\u003e\u003e load score2\n\u003e\u003e\u003e length(score2)\nans =  100000\n\u003e\u003e\u003e plot(1:length(score2), score2, 'bx')\n\u003e\u003e\u003e hold on\n\u003e\u003e\u003e avgs_line = myfun(score2);\n\u003e\u003e\u003e length(avgs_line)\nans =  1000\n\u003e\u003e\u003e plot(linspace(1,length(score2),length(avgs_line)), avgs_line, 'r-')\n\nAm reusit sa rulez pentru 100k date doar pentru dist2 si am adaugat un grafic\nin directorul grafice/.\n\nVoi mai adauga un fisier score3 cu 100k date sau mai mult la adresa[2], cu\naceeasi arhiva trimisa acum, aceiasi parametri alpha,gamma,delta.\n\n[1]: http://www.cs.huji.ac.il/~lirchi/AIP/Tetris3.pdf\n[2]: http://swarm.cs.pub.ro/~anpetre/.ml-t1/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreip%2Ft1-ml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreip%2Ft1-ml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreip%2Ft1-ml/lists"}