"Bug"-uri?
Daca mai citim prin jur ce este un PSLG poate stim de unde sa luam lucrurile, daca nu nu...
Sa vedem impreuna mai indeaproape de ce un cititor nu are nici o sansa sa inteleaga din cele descrise mai sus care este problema. (Acesta este bug-ul, aceasta este buba.)
O sa marchez lucrurile care m-au iritat la inceput, este insa doar subiectiv (poate doar pentru mine) neclar cum trebuie inteles aau interpretat enuntul.
Dupa aceea le iau pe rand.
Scriu asa ceva in speranta ca ajuta, de exemplu la primul referat in care recomand o privire atenta in audienta... Mai ales in matematica trebuie sa avem o parere mai putin autista asupra expunerilor, deoarece exista multi specialisti si multi nespecialisti...
Citez si marchez:
[Citat] Un PSLG e o structura geometrica , plana formata din 3 multimi:
a) O multime de puncte din plan date prin coordonatele lor, ce se vor numi Varfuri V=
b) O multime de segmente de forma
,i diferit de j cu proprietatea
Adica se poate ca doua muchii sa aiba sursa sau destinatia aceeasi... nu ambele + intersectia oricaror 2 astfel de segmente e multimea vida. Aceste segmente se vor numi Muchii si vor fi orientate.
c) O multime de regiuni, (vor fi poligoane simple si o regiune nemarginita), determinate de muchiile PSLG-ului, numite Fete.
In plus : orice varf apartine la cel putin 2 muchii, PSLG-ul(planar straight line-graph) e structura conexa.
Structura de date folosita ptr stocarea unui PSLG o vom numi DCEL. El arata cam asha
E : 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10.
V1 : 5 , 3 , 7 , 6 , 4 , 5 , 1 , 5 , 5 , 6 .
V2 : 2 , 1 , 4 , 2 , 1 , 3 , 7 , 6 , 7 , 7 .
F1 : 1 , 2 , 1 , 3 , 1 , 2 , 2 , 3 , 5 , 1 .
F2 : 3 , 1 , 4 , 1 , 4 , 1 , 4 , 5 , 2 , 5 .
P1 : 8 , 6 , 7 ,10, 3 , 1 , 5 , 9 , 6 , 8 .
P2 : 4 , 7 , 5 , 1 , 2 , 2 , 9 , 4 ,10, 3 .
Ptr fiecare muchie i vom avea nevoie de 6 campuri de informatii:
V1(i) = varful din care pleaca muchia i
v2(i) = varful in care ajunge muchia i
F1(i) = fata aflata la dreapta muchiei i
F2(i) = fata aflata la stanga muchiei i
P1(i) = prima muchie intalnita cand rotesc muchia i in sens direct trigonometric in jurul lui V1(i)
P2(i) = prima muchie intalnita cand rotesc muchia i in sens direct trigonometric in jurul lui V2(i)
Ipoteza :
1) Nu exista 2 puncte cu aceeasi ordonata.
2) Ptr fiecare varf cu exceptia celui de sus si al celui de jos, exista si muchii care intra in varful respectiv (vin de jos) si muchii care ies (pleaca in sus).
Concluzie :
Se doreste localizarea unui punct (sau mai multe puncte) in acest PSLG cu ajutorul acestor date prin metoda lespezilor. Cine doreste ii pot da si detalii ptr cum sa priveasca problema. |
Si acum scriu ce mi-a trecut prin cap...
- nu stiu ce este "o structura geometrica plana". Cand se da o definitie, trebuie sa se dea in termenii unor lururi mai la indemana, care ar trebui sa fie in ele bine definite.
- incerc sa introduc in scoli "(a)" in loc de "a)", dar nu o sa pot pana cand oamenii nu sunt obligati sa foloseasca editoare.
- segmentele [vi,vj] si [vi, vk] nu au mereu un punct comun?
- ce este o muchie (a unui PSLG)? (Nu mai intreb de sursa si destinatie, ca am probleme sa formulez ceea ce inteleg eu prin orientare.)
- la ce se refera acest + ? (Cu "ambele am avut tocmai probleme.) Putem sa facem sa fie clar unde se termina o propozitie si unde incepe alta?
- cum vor fi orientate? (Sunt deja ca date ale structurii, unde mai folosim orientarea?)
- ce este o regiune? (Un domeniu? Contine muchiile si varfurile?)
- ce este un poligon? ce este un poligon simplu? (conex cumva?) Un poligon este o reuniune de segmente? Este ceva 1-dimensional sau 2-dimensional (se ia cu/fara marginea topologica?)
- determinate cum?
- ce este o structura conexa? Se intelege conexitatea ca in topologie? daca da, cum sa inteleg un PSLG (care este de fapt un triplet, 3 multimi, darea multimilor varfurilor, a muchiilor, a fetelor, cu o structura de orientare si incidenta inca nedezvaluite) in legatura cu conexitatea?
Bun, pana acum nu stim exact ce este un PSLG, dar stim deodata
cam cum arata un DCEL.
- a durat o vreme pana sa imi dau seama ca cu E se indexeaza muchiile...
si ca indicii din F1(i) si F2(i) sunt indicii unei multimi noi de indici, cea a fetelor. P1 si P2 nu le-am inteles. Am incercat sa fac un desen pe hartie...
- direct de doua ori? undeva e "invers" sigur... dar si asa m-am oprit, deoarece nu stiu in ce sens "intalnesc" o alta muchie la rotire. De exemplu cand rotesc cate una din "muchiile ^" unui W care direct sub acel ^ are un ^ inghesuit imediat sub el, de exemplu in
...\/\/...
...\/\/...
ce "intalnesc" mai intai?
- puncte, adica varfuri din PSLG?
- "Ptr" economia de trei litere nu este tocmai dorita...
- ce inseamna "sus"? Probabil ca este vorba de varful cu cea mai mare ordonata...
- a intra si a iesi se refera la orientarea proprie a muchiilor, care ar trebui sa fie data cumva...? In imaginea de pe wiki
http://en.wikipedia.org/wiki/Planar_straight-line_graph
nu am vazut nici un fel de orientare. Aici sunt complet confuzionat. Nu stiu ce sa fac cu aceasta conditie.
- nu stiu care este metoda lespezilor.
- ce este "localizarea"?
- ce este un punct? Un punct din planul in care este dat acest PSLG? (Poate sa fie pe muchie? Poate sa fie varf?) Mai mult, cum se da un punct (de localizat)? Prin coordonatele lui carteziene? Atunci PSLG-ul trebuie sa aiba ca parte de definitie si scufundarea carteziana...
Prea multe intrebari.
Deoarece si la serviciu am prea multe intrebari, am renuntat.
Dar daca doriti ca problema sa mai ramana cu ecou, va rog mult:
Incercati sa dati o descriere (matematica) cu definitii clare si cu suport intuitiv pentru problema intiala.
Regulile sunt simple:
- Obiectele de lucru trebuie sa fie mereu clare, niciodata nu este voie sa fie un obiect fara a fi definit in prealabil.
- Problema generala (localizarea in general) trebuie sa vina cu exemple (desene).
- Problema speciala, cea cu date de introdus (ca input) trebuie sa vina cu suportul uman desenat.
(Veti vedea ca aceasta problema se rezolva mult mai greu decat cea de programare.)
Ramane problema informatica.
Liniile de cod trebuie sa fie suficient de bine documentate. In fiecare moment trebuie sa fie clar oricarui cititor de cod ce se intampla.
Extrag ceva din cod pentru a se vedea cat de criptic stau lucrurile:
Codul nu este citibil (nici daca il introduc in emacs in c-mode cu highlight cu tot) si nu se intelege nimic (din structura de ciclare, din algoritm, din ceea ce reprezinta r si care este rolul lui de exemplu). Din partea mea, asa nu, pe cuvant!
Algoritmul de solutionare trebuie descris undeva cumva clar.
Mie nu mi-a fost clar ce vrea si ce face codul din postarea de si mai sus...
Si am vazut multe la viata mea.
Un mic capac a venit cu o postare de forma
[Citat]
Mister... ordonatele tb sa difere... chiar nu intelegi? Iar o fata are pe putin 3 muchii!!!
|
in care nu am inteles nimic, decat doar primul cuvant in sensul lui propriu, da se nimereste bine. Care ordonate? De unde trebuie o fata sa "posede" pe putin trei muchii? Care structura de incidenta a fost definita unde? (In topologie imi ajunge si o muchie pentru o fata, doar asa ca sa nu se creada ca lucrurile sunt evident evidente.)
In plus, pe mine ma poate tutui oricine, raspund cu aceeasi moneda si imi convine situatia, comunicarea e mai rapida, dar rog a se avea in vedere ca pe aceasta pagina se afla oameni in varstele unei statistici reprezentative a poporului roman civilizat, se afla multi matematicieni foarte versati si oameni cu un rar spirit de observatie si de estetica. Tonul trebuie ajustat...
Stiu ca partea cu informatica si partea cu matematica nu se pot descrie usor si ca este un efort deosebit in partea cu prezentarea, dar daca facem asa dam in matematica de situatia unei abstractizari fara legatura cu intuitia si cu ceva ramas uman, in informatica de cod deadministrabil si neinteligibil, tot asa cam ca orice cod din orice carte de informatica de acum 20 de ani (din litografia Universitatii din Bucuresti, de exemplu).