TEMA: GRAFOVI U PYTHON-U POMOU NETWORKX-A

UNIVERZITET U NOVOM SADU TEHNICKI FAKULTET ,,MIHAJLO PUPIN" ZRENJANIN

SEMINARSKI RAD 1. TIMA

TEMA: GRAFOVI U PYTHON-U POMOU NETWORKX-A

Predmet: Sistemi vestacke inteligencije

Profesor: Prof. dr Ivana Berkovi Asistent: Doc. dr Visnja Ognjenovi

Studenti: Svetlana Zivanov IT 33/16 Aleksa Putnik IT 38/16 Emilija Kulman IT 39/16

Zrenjanin, 2019. godina

SADRZAJ

1. Predmetni cilj .........................................................................................................................3 2. O Python-u .............................................................................................................................4

2.1. Pandas .............................................................................................................................4 2.2. NumPy ............................................................................................................................5 2.3. Matplotlib........................................................................................................................6 3. NetworkX...............................................................................................................................7 4. Anaconda ............................................................................................................................... 8 4.1. Instalacija ........................................................................................................................8 5. Spyder ..................................................................................................................................14 6. Grafovi .................................................................................................................................15 6.1. Definisanje grafa...........................................................................................................15 6.2. Modifikacija grafa.........................................................................................................19 7. Generisanje grafova u NetworkX-u .....................................................................................21 8. Literatura..............................................................................................................................24 9. Izvori preuzetih ilustracija ...................................................................................................25

2

1. Predmetni cilj

Upoznavanje sa glavnim pravcima razvoja i postignutim rezultatima u oblasti vestacke inteligencije radi sagledavanja i razumevanja dometa informatizacije. Osim tehnickih primena, rezultati se interpretiraju i u smislu novih saznanja o odreenim aktivnostima coveka kao sto su predstavljanje znanja, resavanje zadataka, znacaj heuristika, strategije pretrazivanja i drugo, sto je u vezi sa procesima rezonovanja, ucenja, prepoznavanja i obrazovanja.

3

2. O Python-u

Python je interpretirani, interaktivni, objektno orijentisani programski jezik visokog nivoa, koji poseduje dinamicku semantiku. Stvorio ga je Gvido van Rosum (Guido van Rossum) 1991. godine, a ime je dobio po kultnoj britanskoj komediji ,,Monty Python". Odlikuje ga visokokvalitetna struktura podataka, koja ga, u kombinaciji sa dinamickim pisanjem i vezivanjem, cini veoma atraktivnim za brz razvoj razlicitih aplikacija.

Python-ova jednostavna sintaksa lako naglasava citljivost, smanjujui tako troskove odrzavanja samog programa. Python podrzava pakete koji podsticu modularnost programa i ponovno korisenje koda.

Python nema komplikovanih koraka, a ciklus edit-test-debug je neverovatno brz. Debugging Python program je jednostavan, jer los unos podatka nikada nee uzrokovati gresku segmentacije. Umesto toga, debugging opcija e otkriti problem, bez izuzetka. Debbuger na nivou izvora dozvoljava proveru lokalnih i globalnih varijabli, procenu proizvoljnih izraza, postavljanje tacaka za zaustavljanje, unosenje linija koda u isto vreme i slicno.

Rasprostranjenost Python-a je siroka, a ovo su samo neke od industrija u kojima je ovaj popularni programski jeziki uspesno primenjen: desktop graficki razvoj aplikacija (ukljucujui i igrice), matematicka i naucna analaza podataka, razvoj interneta (Python danas koriste neki od najveih internet domena na svetu poput Googlea, Facebooka, Reddita, Dropboxa, YouTubea, Instagrama, Pinteresta...).

Python koristi whitespace da ogranici programske blokove, pratei off-side pravilo. Python pozajmljuje ovo svojstvo od njegovog prethodnika ABC: umesto interpunkcija ili kljucnih reci, on koristi uvlacenje da prikaze blok u kome se odvija programski kod.

Neki od osnovnih paketa programskog jezika Python su: Pandas, NumPy, Matplotlib, Networkx.

2.1. Pandas

Pandas predstavlja brzu i fleksibilnu open source biblioteku za Python programski jezik koja pruza visoke performanse za ceo proces analize podataka na jednostavan i intuitivan nacin.

Ima cilj da postane jedna od najmonijih i najfleksibilnijih open source alata za analizu i manipulaciju podataka. Namenjena je za sve Python korisnike koji zele da rade sa podacima i koriste moan alat za to.

Pored biblioteka Matplotlib i NumPy, Pandas je jedna od najkorisenijih kada je u pitanju data science oblast. Originalni autor je Wes McKinney a poslednja stabilna verzija je 0.20.1 koja je izasla u maju 2017. godine. Sto se tice korisenja, potrebno je poznavanje osnova Python-a dok se iskustvo u korisenju Pandas moze imati ali nije obavezno.

Neke od osnovnih funkcionalnosti koje se mogu nai u besplatnoj Pandas biblioteci su:

Import i export podataka u razlicitim formatima (CSV, Txt, Excel, SQL, HDF5) Statistika

4

Indexiranje, sortiranje, rangiranje Cisenje podataka Filtriranje Grupisanje (GroupBy) Pivot Rad sa vremenskim serijama (time series) Vizualizacija podataka Karakteristike: Velika podrska i jaka zajednica Aktivno se razvija Ima opseznu dokumentaciju Odlicno radi sa ostalim bibliotekama Izgraena na NumPy sto znaci da je brza

Slika 1. Pandas logo

2.2. NumPy

Jedna od najfundamentalnijih open source biblioteka za Python kada je u pitanju proracunavanje je definitivno NumPy (Numerical Python). Nudi pre svega matematicke funkcije koje vrse operacije na podacima. Ima karakteristiku veoma brzog i efikasnog izvrsavanja funkcija. NumPy predstavlja prosirenje na Python programskom jeziku dodajui podrsku za velike, visedimenzionalne nizove i matrice, zajedno sa velikim bibliotekama matematickih funkcija na visokom nivou koje posluju sa ovim nizovima. U 2005. godini Trevis Olifant stvorio je NumPy. NumPy resava probleme sporosti delom putem obezbeivanja multidimenzionalnih matrica i funkcija i operatora koji rade efikasno na nizovima, sto zahteva pisanje nekog koda uglavnom za mali broj unutrasnjih petlji koristei NumPy.

Slika 2. NumPy logo 5

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download