Računalna simulacija. Računalni modeli

Počnimo s definicijom riječi modeliranje.

Modeliranje je proces konstruiranja i korištenja modela. Pod modelom se podrazumijeva materijalni ili apstraktni objekt koji u procesu proučavanja zamjenjuje izvorni objekt, zadržavajući njegova svojstva koja su važna za ovo proučavanje.

Računalna simulacija kao metoda spoznaje koja se temelji na matematičko modeliranje. Matematički model je sustav matematičkih odnosa (formule, jednadžbe, nejednadžbe i predznak logički izrazi) odražava bitna svojstva predmeta ili pojave koja se proučava.

Vrlo je rijetko moguće koristiti matematički model za određene izračune bez korištenja računalne tehnologije, što neizbježno zahtijeva izradu nekog računalnog modela.

Pogledajmo detaljnije proces računalnog modeliranja.

2.2. Uvod u računalno modeliranje

Računalno modeliranje je jedan od učinkovite metode studiranje složeni sustavi. Računalni modeli lakši i praktičniji za istraživanje zbog svoje sposobnosti provođenja računalnih eksperimenata u slučajevima kada su pravi eksperimenti teški zbog financijskih ili fizičkih prepreka ili mogu dati nepredvidive rezultate. Logika računalnih modela omogućuje identificiranje glavnih čimbenika koji određuju svojstva izvornog objekta koji se proučava (ili cijele klase objekata), posebno proučavanje reakcije simuliranog objekta. fizički sustav na promjene njegovih parametara i početnih uvjeta.

Računalno modeliranje kako nova metoda znanstveno istraživanje temelji se na:

1. Konstrukcija matematičkih modela za opisivanje procesa koji se proučavaju;

2. Koristeći najnovije računala, s visokim performansama (milijuni operacija u sekundi) i sposoban za vođenje dijaloga s osobom.

razlikovati analitički I imitacija modeliranje. U analitičkom modeliranju proučavaju se matematički (apstraktni) modeli stvarnog objekta u obliku algebarskih, diferencijalnih i drugih jednadžbi, kao i oni koji uključuju provedbu jednoznačnog računskog postupka koji vodi do njihova točnog rješenja. Simulacijsko modeliranje ispituje matematički modeli u obliku algoritma koji reproducira funkcioniranje sustava koji se proučava sekvencijalnim izvršavanjem velike količine elementarne operacije.

2.3. Izrada računalnog modela

Konstrukcija računalnog modela temelji se na apstrahiranju od specifične prirode fenomena ili izvornog objekta koji se proučava i sastoji se od dvije faze - prvo se stvara kvalitativni, a zatim kvantitativni model. Računalno modeliranje sastoji se od provođenja niza računalnih eksperimenata na računalu, čija je svrha analiza, interpretacija i usporedba rezultata modeliranja sa stvarnim ponašanjem objekta koji se proučava te, ako je potrebno, naknadna dorada modela itd.

Tako, Glavne faze računalnog modeliranja uključuju:

1. Izjava problema, definicija objekta modeliranja:

na u ovoj fazi prikupljaju se informacije, formulira se pitanje, definiraju ciljevi, obrasci za prezentaciju rezultata i opisuju podaci.

2. Analiza i istraživanje sustava:

analiza sustava, sadržajni opis objekta, razvoj informacijski model, analiza tehničkih i softver, razvoj struktura podataka, razvoj matematičkog modela.

3. Formalizacija, odnosno prijelaz na matematički model, stvaranje algoritma:

izbor metode za projektiranje algoritma, izbor oblika za pisanje algoritma, izbor metode testiranja, projektiranje algoritma.

4. Programiranje:

odabir programskog jezika ili aplikacijskog okruženja za modeliranje, pojašnjenje načina organizacije podataka, pisanje algoritma u odabranom programskom jeziku (ili u aplikacijskom okruženju).

5. Provođenje niza računalnih eksperimenata:

otklanjanje pogrešaka u sintaksi, semantici i logička struktura, izračuni ispitivanja i analiza rezultata ispitivanja, finalizacija programa.

6. Analiza i interpretacija rezultata:

izmjena programa ili modela ako je potrebno.

Postoji mnogo softverskih paketa i okruženja koja vam omogućuju izradu i proučavanje modela:

Grafička okruženja

Urednici teksta

Programska okruženja

Proračunske tablice

Matematički paketi

HTML uređivači

2.4. Računalni eksperiment

Eksperiment je iskustvo koje se izvodi s predmetom ili modelom. Sastoji se od izvođenja određenih radnji kako bi se utvrdilo kako eksperimentalni uzorak reagira na te radnje. Računalni eksperiment uključuje izvođenje izračuna korištenjem formaliziranog modela.

Korištenje računalnog modela koji implementira matematički sličan je provođenju eksperimenata sa stvarnim objektom, samo što se umjesto stvarnog eksperimenta s objektom provodi računalni eksperiment s njegovim modelom. Zadavanjem određenog skupa vrijednosti početnih parametara modela, kao rezultat računalnog eksperimenta, dobiva se određeni skup vrijednosti traženih parametara, proučavaju se svojstva objekata ili procesa i nalaze se optimalni parametri i načina rada, navedite model. Na primjer, ako imate jednadžbu koja opisuje tijek određenog procesa, možete promjenom njegovih koeficijenata, početnih i rubnih uvjeta proučavati kako će se objekt ponašati. Štoviše, moguće je predvidjeti ponašanje objekta u različitim uvjetima. Za proučavanje ponašanja objekta s novim skupom početnih podataka potrebno je provesti novi računalni eksperiment.

Kako bi se provjerila primjerenost matematičkog modela i stvarnog objekta, procesa ili sustava, rezultati računalnog istraživanja uspoređuju se s rezultatima eksperimenta na prototipu modela u punom mjerilu. Rezultati ispitivanja koriste se za prilagodbu matematičkog modela ili se rješava pitanje primjenjivosti izgrađenog matematičkog modela za projektiranje ili proučavanje određenih objekata, procesa ili sustava.

Računalni eksperiment omogućuje vam da zamijenite skupi eksperiment u punoj veličini računalnim izračunima. Omogućuje vam da kratki rokovi i bez značajnih materijalnih troškova provesti istraživanje velikog broja opcija projektiranog objekta ili procesa za različiti modovi njegov rad, što značajno skraćuje vrijeme razvoja složenih sustava i njihove implementacije u proizvodnju.

2.5. Simulacija u različitim okruženjima

2.5.1. Simulacija u programskom okruženju

Modeliranje u programskom okruženju uključuje glavne faze računalnog modeliranja. U fazi izgradnje informacijskog modela i algoritma potrebno je odrediti koje su veličine ulazni parametri, a koji su rezultati, te odredite vrstu tih veličina. Po potrebi se izrađuje algoritam u obliku blok dijagrama koji se ispisuje u odabranom programskom jeziku. Nakon toga provodi se računalni eksperiment. Da biste to učinili, morate preuzeti program na OVAN računalo i pokrenite ga. Računalni eksperiment nužno uključuje analizu dobivenih rezultata, na temelju koje se mogu prilagoditi sve faze rješavanja problema (matematički model, algoritam, program). Jedan od najvažnije faze testira algoritam i program.

Debugging program (engleski izraz debugging znači "hvatanje grešaka" pojavio se 1945. godine, kada električni krugovi jedno od prvih računala Mark-1 pogodio je moljac i blokirao jedan od tisuća releja) - to je proces pronalaženja i otklanjanja grešaka u programu, koji se provodi na temelju rezultata računskog eksperimenta. Tijekom otklanjanja pogrešaka dolazi do lokalizacije i uklanjanja sintaktičke pogreške i očite pogreške kodiranja.

U modernom programski sustavi otklanjanje pogrešaka provodi se pomoću posebnih softverskih alata koji se nazivaju debuggeri.

Testiranje je provjera ispravnosti rada programa u cjelini ili njegovih komponenti. Proces testiranja provjerava funkcionalnost programa i ne sadrži očite pogreške.

Bez obzira na to koliko pažljivo se program otklanja, odlučujuća faza koja utvrđuje njegovu prikladnost za rad je praćenje programa na temelju rezultata njegovog izvođenja na testnom sustavu. Program se može smatrati ispravnim ako se za odabrani sustav ispitnih ulaznih podataka u svim slučajevima dobiju točni rezultati.

2.5.2. Modeliranje u proračunskim tablicama

Modeliranje u proračunskim tablicama pokriva vrlo široku klasu problema u različitim tematskim područjima. Proračunske tablice – univerzalni alat, što vam omogućuje brzo obavljanje radno intenzivnih radova na izračunavanju i ponovnom izračunavanju kvantitativnih karakteristika objekta. Kod modeliranja pomoću proračunskih tablica, algoritam za rješavanje problema donekle se transformira, skrivajući se iza potrebe za razvojem računalnog sučelja. Faza otklanjanja pogrešaka je zadržana, uključujući uklanjanje grešaka u podacima u vezama među ćelijama iu računskim formulama. Pojavljuju se i dodatni zadaci: rad na praktičnosti prezentacije na ekranu i, ako je potrebno ispisati primljene podatke na papiru, na njihovom postavljanju na listove.

Proces tabličnog modeliranja izvodi se pomoću opća shema: definiraju se ciljevi, identificiraju karakteristike i odnosi te se sastavlja matematički model. Karakteristike modela nužno su određene svrhom: početna (utječu na ponašanje modela), srednja i ono što se traži da se dobije kao rezultat. Ponekad je prikaz predmeta dopunjen dijagramima i crtežima.

Trenutno je računalno modeliranje u znanstvenim i praktičnim istraživanjima jedan od glavnih alata spoznaje.

Računalno modeliranje započinje, kao i obično, predmetom proučavanja, a to može biti: pojava, proces, predmetno područje, životne situacije, zadaci. Nakon određivanja predmeta proučavanja gradi se model. Prilikom konstruiranja modela identificiraju se glavni, dominantni čimbenici, odbacujući sekundarne. Identificirani čimbenici prevode se na strojno razumljiv jezik. Oni grade algoritam, program.

Kada je program spreman, provodi se računalni eksperiment i analiziraju dobiveni rezultati simulacije s varijacijama u parametrima modela. I ovisno o tim zaključcima, oni vrše potrebne korekcije u jednoj od faza modeliranja: ili dorađuju model ili algoritam, ili, točnije, točnije definiraju predmet proučavanja.

Računalni modeli prolaze kroz mnoge promjene i modifikacije prije nego što poprime svoj konačni oblik. Faze računalnog modeliranja mogu se prikazati dijagramom:

Objekt – Model – Računalo – Analiza – Informacija. model

Metoda računalnog modeliranja sadrži sve bitne elemente razvojnog učenja i spoznaje: dizajn, opis, eksperimentiranje itd. Kao rezultat, dobiva se znanje o izvornom objektu koji se proučava.

Međutim, važno je ne brkati računalni model (simulacijski program) sa samim fenomenom. Model je koristan kada se dobro uklapa u stvarnost. Ali modeli također mogu predvidjeti stvari koje se neće dogoditi, a model možda neće predvidjeti neka svojstva stvarnosti. Unatoč tome, korisnost modela je očita, posebice pomaže u razumijevanju zašto se određeni fenomeni javljaju.

Suvremeno računalno modeliranje djeluje kao sredstvo komunikacije među ljudima (razmjena informacija, računalnih modela i programa), razumijevanja i razumijevanja pojava okolnog svijeta (računalni modeli Sunčevog sustava, atoma itd.), obrazovanja i osposobljavanja (simulatori). ), optimizacija (izbor parametara) .

Računalni model je model stvarnog procesa ili pojave, implementiran računalnim sredstvima.

Računalni modeli obično su ikonični ili informativni. Ikonski modeli prvenstveno uključuju matematičke modele, demonstracijske i simulacijske programe.

Informacijski model je skup veličina koji sadrži potrebne informacije o objektu, procesu, pojavi.

Glavni zadatak računalnog modeliranja je konstrukcija informacijskog modela objekta ili pojave.

Najvažnija i najteža stvar u računalnom modeliranju je konstrukcija ili izbor određenog modela.

Pri izradi računalnog modela koristi se sustavni pristup koji je sljedeći. Razmotrimo objekt - Sunčev sustav. Sustav se može podijeliti na elemente - Sunce i planete. Uvedimo odnose između elemenata, na primjer, udaljenost planeta od Sunca. Sada možete samostalno razmotriti odnos između Sunca i svakog od planeta, zatim generalizirati te odnose i stvoriti cjelokupnu sliku Sunčevog sustava (principi razgradnje i sinteze).

Neke karakteristike modela su nepromijenjene i ne mijenjaju svoje vrijednosti, dok se druge mijenjaju prema određenim zakonitostima. Ako se stanje sustava mijenja tijekom vremena, tada se modeli nazivaju dinamički, inače - statični.

Pri izgradnji modela koriste se dva principa: deduktivni (od općeg prema posebnom) i induktivni (od specifičnog prema općem).

Prvi pristup razmatra poseban slučaj dobro poznatog temeljnog modela. Ovdje se pod zadanim pretpostavkama poznati model prilagođava uvjetima simuliranog objekta. Na primjer, možete izgraditi model slobodno padajućeg tijela na temelju dobro poznatog Newtonovog zakona ma=mg-Fresist. a kao prihvatljivu aproksimaciju prihvatiti model jednoliko ubrzanog gibanja za kratko vrijeme.

Druga metoda uključuje postavljanje hipoteza, dekompoziciju složeni objekt, analiza, zatim sinteza. Ovdje se široko koriste sličnost, analogno modeliranje i zaključivanje kako bi se formirali bilo kakvi obrasci u obliku pretpostavki o ponašanju sustava. Na primjer, struktura atoma modelirana je na sličan način. Prisjetimo se modela Thomsona, Rutherforda i Bohra.

Tema 4. Računalni model

Razvojem računalne tehnologije uloga računalnog modeliranja u rješavanju primijenjenih i znanstvenih problema postaje sve važnija. Za izvođenje računalnih eksperimenata gradi se odgovarajući matematički model i odabiru odgovarajući razvojni alati softver. Izbor programskog jezika ima veliki utjecaj na implementaciju rezultirajućeg modela.

Tradicionalno, računalno modeliranje je značilo samo simulacijsko modeliranje. Vidi se, međutim, da u drugim vrstama modeliranja računalo može biti vrlo korisno, s izuzetkom fizičkog modeliranja, gdje se računalo također može koristiti, ali više u svrhu upravljanja procesom modeliranja. Na primjer, u matematičkom modeliranju izvođenje jedne od glavnih faza - konstruiranje matematičkih modela na temelju eksperimentalnih podataka - trenutno je jednostavno nezamislivo bez računala. U posljednjih godina, zahvaljujući razvoju GUI I grafički paketi, računalno, strukturno i funkcionalno modeliranje postalo je široko razvijeno, o čemu ćemo detaljnije govoriti u nastavku. Započelo se s korištenjem računala čak iu konceptualnom modeliranju, gdje se koristi, primjerice, u izgradnji sustava umjetne inteligencije.

Dakle, vidimo da je koncept "računalnog modeliranja" mnogo širi od tradicionalnog koncepta "računalnog modeliranja" i treba ga razjasniti, uzimajući u obzir današnju stvarnost.
Počnimo s pojmom " računalni model".

Trenutno se pod računalnim modelom najčešće podrazumijeva:

  • konvencionalna slika objekta ili nekog sustava objekata (ili procesa), opisana pomoću međusobno povezanih računalnih tablica, dijagrama toka, dijagrama, grafikona, crteža, fragmenata animacije, hiperteksta itd. i prikazujući strukturu i odnose među elementima objekta. Računalne modele ovog tipa nazvat ćemo strukturno-funkcionalnim;
  • zaseban program, skup programa, programski paket, koji omogućuje, koristeći niz izračuna i grafički prikaz njihovih rezultata, reproducirati (simulirati) procese funkcioniranja objekta, sustava objekata, podložnih utjecaju različitih, obično slučajnih, čimbenika na objekt. Takve ćemo modele dalje nazivati ​​simulacijskim modelima.

Računalna simulacija- metoda za rješavanje problema analize ili sinteze složenog sustava na temelju korištenja njegovog računalnog modela.

Bit računalnog modeliranja je dobivanje kvantitativnih i kvalitativnih rezultata iz postojećeg modela. Kvalitativni zaključci dobiveni iz rezultata analize omogućuju otkrivanje dosad nepoznatih svojstava složenog sustava: njegove strukture, dinamike razvoja, stabilnosti, cjelovitosti itd. Kvantitativni zaključci uglavnom su u prirodi prognoze neke budućnosti ili objašnjenja prošlih vrijednosti varijabli koje karakteriziraju sustav. Računalna simulacija poroda nove informacije koristi sve informacije koje se mogu ažurirati pomoću računala.


Osnovne računalne funkcije za modeliranje:

  • djelovati kao pomoćni alat za rješavanje problema koji se rješavaju konvencionalnim računalna sredstva, algoritmi, tehnologije;
  • djelovati kao sredstvo za postavljanje i rješavanje novih problema koji se ne mogu riješiti tradicionalnim sredstvima, algoritmima i tehnologijama;
  • djelovati kao sredstvo za konstruiranje okruženja računalne nastave i modeliranja;
  • djelovati kao alat za modeliranje za stjecanje novih znanja;
  • obavljaju ulogu "obučavanja" novih modela (modeli samoučenja).

Vrsta računalnog modeliranja je računalni eksperiment.
Računalni model je model stvarnog procesa ili pojave, implementiran računalnim putem. Ako se stanje sustava mijenja tijekom vremena, tada se pozivaju modeli dinamičan, inače - statički.

Procesi u sustavu mogu se odvijati različito ovisno o uvjetima u kojima se sustav nalazi. Pratite ponašanje pravi sustav u različitim uvjetima može biti teško, a ponekad i nemoguće. U takvim slučajevima, nakon što ste izgradili model, možete se više puta vratiti u početno stanje i promatrati njegovo ponašanje. Ova metoda proučavanja sustava naziva se simulacijsko modeliranje.

Primjer simulacijsko modeliranje može se izračunati izračunavanjem broja = 3,1415922653... metodom Monte Carlo. Ova metoda omogućuje određivanje površina i volumena figura (tijela) koje je teško izračunati drugim metodama. Pretpostavimo da želite odrediti površinu kruga. Opišimo kvadrat oko njega (čija je površina, kao što je poznato, jednaka kvadratu njegove stranice) i mi ćemo slučajan bacajte točkice u kvadrat, provjeravajući svaki put pada li točka u krug ili ne. S velikim brojem bodova, omjer površine kruga i površine kvadrata težit će omjeru broja bodova koji padaju u krug i ukupnog broja bačenih bodova.

Teorijska osnova Ova metoda je poznata već duže vrijeme, ali prije pojave računala ova metoda nije mogla naći širu primjenu, jer je ručno modeliranje slučajnih varijabli vrlo zahtjevan posao. Naziv metode dolazi od grada Monte Carla u Kneževini Monako, poznatog po kockarnicama, jer je jedan od mehaničkih uređaja za dobivanje slučajne varijable je rulet.

Treba napomenuti da ovu metodu izračunavanje površine kruga dat će točan rezultat samo ako točke nisu pukim slučajem, ali također ravnomjerno raštrkani po trgu. Za modeliranje slučajnih brojeva ravnomjerno raspoređenih u rasponu od 0 do 1, koristite senzor slučajnih brojeva- poseban računalni program. Zapravo, ti su brojevi određeni nekim algoritmom i zbog toga nisu potpuno slučajni. Tako dobiveni brojevi često se nazivaju pseudoslučajan. Pitanje kvalitete senzora slučajnih brojeva prilično je složeno, no za rješavanje ne previše složenih problema obično su dovoljne mogućnosti senzora ugrađenih u većinu programskih sustava i proračunskih tablica.

Imajte na umu da posjedovanje senzora jednoliko raspodijeljenih nasumičnih brojeva koji generira brojeve r iz intervala i fizičkih modela objekata koji se proučavaju u znanosti (fizika, kemija, itd.), stvoreni u tehnologiji (na primjer, u proizvodnji zrakoplova, robotici), medicini ( primjerice u implantologiji, tomografiji), umjetnosti (na primjer, arhitekturi, glazbi) i drugim područjima ljudske djelatnosti.

Računalno modeliranje omogućuje značajno smanjenje troškova razvoja modela u usporedbi s neračunalnim metodama modeliranja i provođenjem testova u punoj veličini. Omogućuje izgradnju simboličkih računalnih modela objekata za koje je nemoguće graditi fizički modeli(na primjer, modeli objekata koji se proučavaju u klimatologiji). Služi kao učinkovito sredstvo za modeliranje složenih sustava u tehnologiji, ekonomiji i drugim područjima djelovanja. Je li tehnološka osnova sustava projektiranje potpomognuto računalom(CAD).

Fizički računalni modeli izrađuju se na temelju simboličkih modela i predstavljaju prototipove simuliranih objekata (dijelova i sklopova strojeva, građevinske strukture itd.). Za proizvodnju prototipova mogu se koristiti 3D pisači koji implementiraju tehnologije sloj-po-sloja oblikovanja neplanarnih objekata. Simbolični modeli prototipa mogu se razviti pomoću CAD softvera, 3D skenera ili digitalne kamere i fotogrametrijski softver.

Računalni sustav je kompleks čovjek-stroj u kojem se konstrukcija modela provodi pomoću računalni programi, implementirajući matematičke (vidi Matematičko modeliranje) i ekspertne (npr. simulacijske) metode modeliranja. U modusu računalnog eksperimenta istraživač ima priliku promjenom početnih podataka dobiti i pohraniti u sustav računalnog modeliranja u relativno kratkom vremenu veliki broj opcije objektnog modela.

Pojašnjenje ideja o objektu koji se proučava i poboljšanje metoda za njegovo modeliranje može zahtijevati promjenu softvera računalnog sustava za modeliranje, dok hardver može ostati nepromijenjen.

Visoka učinkovitost računalnog modeliranja u znanosti, tehnologiji i drugim područjima djelovanja potiče razvoj hardvera (uključujući superračunala) i softvera [uključujući instrumentalne sustave (vidi. Instrumentalni sustav u informatici) razvoj paralelnih programa za superračunala].

Ovih su dana računalni modeli sve veći dio arsenala.