Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
E-Mail in serie prin Excel si Out...

Modul alimentare rulou/jaluzea ex...

Recuperare fișiere dupa form...

Aplicatii stress test RAM
 Asigurare auto hibrid

Asus B550M - PC-ul nu porneste di...

Tzanca Uraganu - Inconjurat de Fe...

explicatie montaj breadboard
 3 Doors Down - Kryptonite

Semnalizati cand virati pe un dru...

Donez Siofor de 1000mg ( diabet t...

Izolatie intre parter si etaj
 Hranirea pasarilor din orase -pro...

[unde] goarna tramvai

UPGRADE interfon de bloc Electra?

Care-i diferenta intre Geberit De...
 

simularea realitatii virtuale

  • Please log in to reply
42 replies to this topic

#1
karax

karax

    Guru Member

  • Grup: Senior Members
  • Posts: 21,839
  • Înscris: 14.10.2017
Ok exista simulatoare de realitate , la universitati in fizica computationala cat si in jocuri si alte aplicatii. Dar aceste simulari sunt nerealiste pentru ca nu poti simula interactiunea unei placi de 1 m patrat de o anumita componenta cu un laser , pur si simplu pentru ca sunt prea multe date. Numai intr-o singura molecula sunt miliarde de atomi , ori probabil ca sa simulezi interactiunea fotoni-1 metru de metal trebuie calculate interactiunile a trilioane de trilioane de trilioane de trilioane de trilioane de atomi sau ceva de genul....
Nici macar pe un supercomputer nu se poate simula o astfel de realitate , pentru ca un CPU ajunge maxim la 3 miliarde de tranzistori , din care 8 iti ia ca sa ai un caracter , pentru 1 obiect cum ar fi o banala particula iti trebuie o multime de tranzistoare ....trebuiesc definite fortele fundamentale , intercatiunile , bagate formule etc etc si asta pentru fiecare obiect-atom sau obiect-molecula in parte ori chiar obiect-particula in parte (presupun ca avem OOP - object oriented programming). Chiar si daca am avea 100 000 de CPU-uri tot nu am ajunge la acel metru de placa ...nici macar la cativa centimetri ....
Tocmai de aceea eu m-am orientat mai mult pe imbunatarirea algoritmilor pentru a ajunge la capaciatea aceea de a simula realitatea. Am plecat de la ideea ca o inmultire este o adunare repetata. De aici ma gandesc si ca interactiunile fotoni-atomi pot fi calculate astfel. Avem interactiunea foton-atom din care 1 singur foton sa zicem ca ricoseaza spre alti atomi. ca atare simularea nu se poate rezuma la un singur atom. Insa putem face calculul unei simetrii perfecte, in care fiecare atom are fix acelasi comportament, si dispersia luminii este fix aceeasi in toti atomii acelei placi de 1 metru. Ca atare am avea acelasi atom multiplicat de trilioande de ori. Insa am putea sa dam un coeficient de asimetrie. Adica daca adaugam o asimetrie de 0,001% in care putini fotoni ricoseaza altfel , calculul final devine diferit. De aia la formula initiala aia de simetrie perfecta se face un calcul de invers proportionalitate sau ceva , in asa fel incat asimetria creste fix cu cat se schikba formula initiala aia de simetrie perfecta.
Astfel pentru a calcula simetria perfecta as lua regulile de combinari
https://matematicape...ate-cate-k.html
Cu diferenta ca eu in loc sa merg 100% numai pe adunare as face o formula care la cateva grupuri anume de atomi sa se faca SCADERE , astfel incat numerele finale rezultate sa nu fie prea mari. Nu stiu cat de eficienta ar fi o astfel de formula insa ma gandesc ca ar fi la final ceva de genul +10-10 care se anuleaza si iti da un rezultat pe care tu il poti compensa cu fix cat la % era daca se facea numai prin adunare si ti-ar da interactiunile finale. Evident formula ar fi una lunga si ar insemna ceva calcule insa s-ar putea face si cu procesoare normale.
La o anume asimetrie , adica o interactiune neliniara fotoni-placa aia de 1 metru, se va calcula o noua formula bazata tot pe combinari , insa adaugat sau scazut invers proportional cu cat e diferenta fata de simetria perfecta.
problema apare daca se vrea a se obtine rezultatul interactiunii intr-un loc anume. caz in care formula trebuie sa aiba drept rezultat acel loc. Pornim dinspre centru sa zicem cu formula si compensam interactiunile ca si cum am fi intr-un plan 2d. stiind ca interactiunile sunt simetrice si pornim spre asimetrie in formula ar trebui sa se vada. repetabilitatile si numerele bagate in combinari ar trebui sa respecte si ordinea asezarilor si interactiunilor atomice si nucleare. astfel incat in formula calculand si compensand se va respecta la final si locul unei anume interactiuni calculate. Un exemplu absolut banal ar fi in genul 10(rezultanta interactiunilor atomului din centru) - 13 (rezultanta interactiunilor atomului imediat la dreapta) - 10(rezultanta celui de-al 3 lea atom imediat la dreapta care are interactiunea ca si primul). Sau si mai complicat de genul : combinari de 10 luate cate 5 de rezultante ale interactiunilor atomilor cu fotoni la unghi x - combinari de 10 luate cate 5 de rezultante ale interactiunilor atomilor cu fotoni la unghi y impartit (sa zicem) la din cat in cat sunt atomii de diferite interactiuni.
Si mai complicat ar fi de genul : (combinari de 10 luate cate 5 de rezultante al interactiunilor atomilor cu fotoni la unghi x + 2 fotoni deviati de la atomul alaturat ) + (combinari de 10 luate cate 5 de rezultante ale interactiunilor atomilor cu fotoni la unghi y +3 fotoni deviati de la atomul alaturat).
Astea sunt exemple oarecum la nimereala insa in genul asta as face. Fiecare respectand locul si pozitia lor pe acel metru de placa in formula. si in rezultatul final trebuind sa respecte locul lor. Si cu chestia ca as folosi si scaderi nu numai adunari pentru ca numerele finale sa nu fie asa mari. si pentru a putea calcula astfel de combinari cu cifre cat mai putine.

#2
YOUR_GOD

YOUR_GOD

    Not assigned

  • Grup: Senior Members
  • Posts: 30,886
  • Înscris: 01.01.2010
Realitatea virtuală este o simulare a realității. Tu ai găsit un procedeu prin care să simulezi simularea realității. Awesome!

Pentru orice fel de simulare, ai nevoie de IA. Niciun om nu poate anticipa variabilele apărute. Doar o IA poate lucra în timp real și, exact ca in realitate, să creeze, nu tot, ci doar ce vezi tu.

#3
maccip

maccip

    45 ani

  • Grup: Senior Members
  • Posts: 33,056
  • Înscris: 06.01.2007

View Postkarax, on 27 aprilie 2019 - 11:57, said:

Numai intr-o singura molecula sunt miliarde de atomi
Ce?

#4
karax

karax

    Guru Member

  • Grup: Senior Members
  • Posts: 21,839
  • Înscris: 14.10.2017

View Postmaccip, on 27 aprilie 2019 - 12:04, said:

Ce?
sorry ma refeream la mol....numarul lui avogadro...
oricum daca e sa o luam asa pe un cm2 de substanta oare cati atomi sunt? miliarde si miliarde

View PostYOUR_GOD, on 27 aprilie 2019 - 12:04, said:

Realitatea virtuală este o simulare a realității. Tu ai găsit un procedeu prin care să simulezi simularea realității. Awesome!

Pentru orice fel de simulare, ai nevoie de IA. Niciun om nu poate anticipa variabilele apărute. Doar o IA poate lucra în timp real și, exact ca in realitate, să creeze, nu tot, ci doar ce vezi tu.
ba deloc..vreau sa simulez direct realitatea , nu sa fac separat o simulare a unei simulari....

Edited by karax, 27 April 2019 - 12:10.


#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,189
  • Înscris: 24.02.2007
Incepe cu ceva simplu: fa o animatie cat mai precisa a miscarii unei mingi aruncate in sus pe verticala. Dupa ce-ti iese asta, discutam si de altele mai avansate.

#6
maccip

maccip

    45 ani

  • Grup: Senior Members
  • Posts: 33,056
  • Înscris: 06.01.2007

View Postkarax, on 27 aprilie 2019 - 11:57, said:

Tocmai de aceea eu m-am orientat mai mult pe imbunatarirea algoritmilor pentru a ajunge la capaciatea aceea de a simula realitatea. Am plecat de la ideea ca o inmultire este o adunare repetata.
Pai te-ai orientat bine, dar stii ce-i aia complexitate a unui algoritm?

Daca tot ai adus in discutie inmultirea, stii care-i complexitatea ei?
Daca o faci prin adunari repetate, e cel mai prost mod de a o face. Complexitatea ei e exponentiala raportata la cantitatea de biti sau numarul de cifre zecimale.
La scoala ai invatat un algoritm cu mult mai eficient, ala de inmultesti cu cate o cifra, asezi rezultatele unele sub alte shiftate si apoi adunate. Complexitatea e patratica.
Dar exista algoritmi si mai buni. De amorul artei cauta algoritmul lui Strassen pentru matrici. E un exemplu bun de reducere a complexitatii la inmultire, el se poate adapta si pentru inmultirea numerelor obisnuite, nu doar pentru matrici, folosinf Transformata Fourier Discreta si alforitmul FFT, un algoritm fundamental in algoritmica numerelor.
Exista si algoritmi mai buni, dar isi arata eficienta abia la numere colosale, cu miliarde de cifre semnificative.
Si exista si o limita teoretica, nu stiu daca a fost gasit pentru inmultire pentru cazul general.

Apoi exista si algoritmi hardware ca o subclasa a algoritmilor.

Studiul tuturor acestor chestii insamna de fapt optimizare.


Ce zici? Te bagi?
Posted Image


Cartea de baza e arta programarii calculatoarelor a lui Donald Knuth.
Eu am doar 1 volum, cautare si sortare. Desi am cumparat-o acum 15 ani, nu am reusit sa trec nici macar de sfertul ei decat frunzarind-o.
Dar daca vrei sa faci ceva serios in domeniul algoritmilor, trebuie neaparat sa parcurgi toata cartea, sa faci toate exercitiile de  acolo care numai usoare nu sunt.

Edited by maccip, 27 April 2019 - 12:24.


#7
jobist

jobist

    Senior Member

  • Grup: Senior Members
  • Posts: 2,746
  • Înscris: 23.04.2010

View Postkarax, on 27 aprilie 2019 - 11:57, said:

... Numai intr-o singura molecula sunt miliarde de atomi ...
Hai meștere zi-ne câți atomi are o meleculă de H2O!

#8
karax

karax

    Guru Member

  • Grup: Senior Members
  • Posts: 21,839
  • Înscris: 14.10.2017

View Postdani.user, on 27 aprilie 2019 - 12:17, said:

Incepe cu ceva simplu: fa o animatie cat mai precisa a miscarii unei mingi aruncate in sus pe verticala. Dupa ce-ti iese asta, discutam si de altele mai avansate.
asta peste 1 an cand termin tratamentul si voi putea sa imi folosesc creierul la capacitate maxima. deocamdata mai am de asteptat.
Pana atunci pot spune doar urmatoarele vizavi de problema pusa de tine:
1 trebuie luat in considerare ca daca vrei un model aproximativ, atunci trebuie sa punem o simetrie a interactiunilor. Astfel avem constanta de atractie gravitationala (se neglijeaza alte forte precum vantul si variatia temperaturii in modelul cerut de tine?) care se aplica in mod simetric asupra fiecarui atom din aceasta minge , pe care o consideram uniforma in ceea ce priveste componenta ei si dispunerea straturilor.
2 se aplica o invartire sau nu a mingiei (dupa cum doresti sa fie simularea) si efectul atractiei gravitationale asupra fiecarui atom, tinand cont ca vectorii linie ai atractiei gravitationale isi schimba unghiul de actiune asupra fiecarui atom in timpul invartirii astfel rezultanta actiunilor este calculata in functie de fiecare unghi.
3 se ia sau nu in considerare aerul din interiorul mingiei?

#9
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,381
  • Înscris: 10.08.2005

View Postmaccip, on 27 aprilie 2019 - 12:04, said:

Ce?
chimie simulata

#10
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,189
  • Înscris: 24.02.2007
Animatia (credibila) first, vorbele ulterior.

#11
karax

karax

    Guru Member

  • Grup: Senior Members
  • Posts: 21,839
  • Înscris: 14.10.2017

View Postmaccip, on 27 aprilie 2019 - 12:20, said:

Pai te-ai orientat bine, dar stii ce-i aia complexitate a unui algoritm?

Daca tot ai adus in discutie inmultirea, stii care-i complexitatea ei?
Daca o faci prin adunari repetate, e cel mai prost mod de a o face. Complexitatea ei e exponentiala raportata la cantitatea de biti sau numarul de cifre zecimale.
La scoala ai invatat un algoritm cu mult mai eficient, ala de inmultesti cu cate o cifra, asezi rezultatele unele sub alte shiftate si apoi adunate. Complexitatea e patratica.
Dar exista algoritmi si mai buni. De amorul artei cauta algoritmul lui Strassen pentru matrici. E un exemplu bun de reducere a complexitatii la inmultire, el se poate adapta si pentru inmultirea numerelor obisnuite, nu doar pentru matrici, folosinf Transformata Fourier Discreta si alforitmul FFT, un algoritm fundamental in algoritmica numerelor.
Exista si algoritmi mai buni, dar isi arata eficienta abia la numere colosale, cu miliarde de cifre semnificative.
Si exista si o limita teoretica, nu stiu daca a fost gasit pentru inmultire pentru cazul general.

Apoi exista si algoritmi hardware ca o subclasa a algoritmilor.

Studiul tuturor acestor chestii insamna de fapt optimizare.


Ce zici? Te bagi?
Posted Image


Cartea de baza e arta programarii calculatoarelor a lui Donald Knuth.
Eu am doar 1 volum, cautare si sortare. Desi am cumparat-o acum 15 ani, nu am reusit sa trec nici macar de sfertul ei decat frunzarind-o.
Dar daca vrei sa faci ceva serios in domeniul algoritmilor, trebuie neaparat sa parcurgi toata cartea, sa faci toate exercitiile de  acolo care numai usoare nu sunt.
evident la momentul asta nu stiu cat de mutl pot invata chestiile astea , avand in vedere ca eu am lacune cu chestii mult mai jos cum ar fi matematica de clasa a -8-a sau liceu. Deh m-a pus naiba sa dau la uman , plus alte probleme survenite dupa aia....
Insa e clar ca ceva ceva stiu eu si caut ceva anume, pe care nu il pot exprima acum.... vedem peste 1 an cand se pare ca o sa imi opreasca injectiile.
De vrut sa ma bag normal ca vreau numai ca nu stiu cat de mult pot recupera din materiile astea care sunt si foarte grele.
De curiozitate zi-mi si mie cam ce fel de matematica trebuie sa invat pentru a ma pricepe la optimizari de genul?
in rest , stiu si eu, daca la varsta asta mai pot invata ceva ce n-am invatat ani de zile? si cat sa ai ambitie sa inveti pe zi ca sa recuperezi? deci e greu....

#12
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,189
  • Înscris: 24.02.2007
Optimizari faci cand ceva merge prea greu/lent. Prima data trebuie sa faci sa treci de pasul "merge".

#13
jobist

jobist

    Senior Member

  • Grup: Senior Members
  • Posts: 2,746
  • Înscris: 23.04.2010

Quote

De curiozitate zi-mi si mie cam ce fel de matematica trebuie sa invat pentru a ma pricepe la optimizari de genul?

Tratat de programare a calculatoarelor a lui Donald Knuth e cu algoritmică nu e cu matematică.
am: 'Algoritmi seminumerici ', 'Sortare și căutare' și  'Algoritmi fundamentali ' (zis Arta Programării calculatoarelor)

Edited by jobist, 27 April 2019 - 12:46.


#14
adicontakt

adicontakt

    Senior Member

  • Grup: Senior Members
  • Posts: 5,201
  • Înscris: 24.08.2007
@karax , la ce ora ti-a zis medicul sa iti iei medicamentele?

#15
ericmario

ericmario

    Fenomembru

  • Grup: Senior Members
  • Posts: 39,921
  • Înscris: 14.12.2007
Doar un alt topic marca karax...

#16
maccip

maccip

    45 ani

  • Grup: Senior Members
  • Posts: 33,056
  • Înscris: 06.01.2007
Adica vrei sa fii un autodidact?

In scoala inveti lucrurile pas cu pas, programa e facuta astfel incat sa nu ai lacune de cunoastere, daca inveti tot ce ti se cere.

Optimizarea algoritmilor? Ti-am spus, incepe cu Knuth. In cartea lui Knuth ai prezentata toata harababura matematica de care ai nevoie, eventuale lacune le poti completa rapid pe wikipedia, daca simti ca e ceva ce nu intelegi.
Si dupa ce ai citit un capitol, ai de facut problemele aferente. Sunt si cateva exemple si.. in rest n-ai nevoie de cat de pura inteligenta si munca individuala. Se gasesc rezolvarile si in carte si pe net, deci te poti verifica.

Dupa ce terminii toata cartea, iti garantez eu ca ai o baza solida pentru a intelege un algoritm.
Insa, tot trebuie sa intri in zona aia, tre sa cunosti un limbaj de programare sa implementezi ceva de test.

Eu de exemplu am implementat(partial + impreuna cu altcineva) o biblioteca de lucru cu imagini de mari dimensiuni (gen 200MB-2GB), operatiuni raster geometrice si radiometrice care sa completeze biblioteca GDAL in vederea corelarii imaginilor. Biblioteca GDAL nu putea lucra cu imagini poligonale de foarte mari dimensiuni sau cu foarte multe vertexuri ale poligoanelor. Cerinta a venit de la un coleg, m-am implicat si eu si impreuna cu el(ghidat de el), am gandit cativa algoritmi, cel mai mult aport propriu a fost la operatiunile de intersectare a unor poligoane (concave) cu (posibil) milioane de vertexuri suprapuse peste un raster de mari dimensiuni (zeci de miliarde de pixeli). Era nevoie de asa ceva pentru optimizarea unor operatii de corelare a imaginilor pentru a scoate valorile paralaxelor in aerofotografierea stereografica multispectrala.
Am folosit o multime de concepte, inclusiv arbori de sortare (Red-Black Tree implementat de mine), TIN/Delaunay (Triangular Irregular Network), implementat de mine, am implementat inclusiv un soi de gramatica booleana (metode care primeau drept argument un arbore reprezentand o expresie booleana). arbore quad (structura raster grosiera, ceva asemanatoare cu piramida imaginilor)


Deci.. depinde de ce vrei sa faci. Pentru ce am spus eu, nu-i nevoie de o matematica colosala, e nevoie insa sa cunosti un limbaj de programare, sa intelegi functionarea conceptelor de programare pe obiecte, sa aplici algoritmi inventati de altii, nu sa reinventezi roata. Dar sa intelegi inainte de a implementa care va fi viteza de executie, sa stii unde sa optimizezi, care e bucla critica.. chestii de-astea.

Edited by maccip, 27 April 2019 - 13:00.


#17
YOUR_GOD

YOUR_GOD

    Not assigned

  • Grup: Senior Members
  • Posts: 30,886
  • Înscris: 01.01.2010

View Postdani.user, on 27 aprilie 2019 - 12:17, said:

Incepe cu ceva simplu: fa o animatie cat mai precisa a miscarii unei mingi aruncate in sus pe verticala. Dupa ce-ti iese asta, discutam si de altele mai avansate.
Adică, să învețe Java.


View Postkarax, on 27 aprilie 2019 - 12:12, said:

ba deloc..vreau sa simulez direct realitatea , nu sa fac separat o simulare a unei simulari....
Deci, o copie, un exercițiu. Asta este simularea. Te pregătește pentru "the real thing". Tu, bag de seamă, vrei să creezi o realitate. Și asta este funny pentru că cele mai luminate minți ale lumii nu inteleg concepte de bază, cum ar fi gravitația. Ca idee, avem posibilitatea tehnologică să creem orice, problema apare când ajungem la soft. Asta ne lipsește și de aici pleacă totul.
Tu știi exact ce vrei? Discuția acestea pare că-și formează subiectul pe parcurs. Și eu ciudat...

#18
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,570
  • Înscris: 30.07.2003

View Postkarax, on 27 aprilie 2019 - 11:57, said:

tranzistori , din care 8 iti ia ca sa ai un caracter
Ai 256 caractere. Apoi nu trebuie sa le prelucreze in paralel, merge si in serial.

Edited by neagu_laurentiu, 27 April 2019 - 13:17.


Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate