8 svar
152 visningar
naytte Online 5010 – Moderator
Postad: 18 aug 2023 18:12

Förslag till gymnasiearbete på analysområdet

Hej!

Nu när det snart är dags att sätta igång med gymnasiearbetet tänker jag för fullt på vad jag ska skriva om. Jag är nyfiken på vad man skulle kunna skriva om i exempelvis matematik. Eftersom jag gillar analysområdet väldigt mycket (gränsvärden, funktioner, derivata, integraler, osv) undrar jag om ni har några bra förslag på vad man skulle kunna skriva om angående detta.

Teraeagle 21049 – Moderator
Postad: 18 aug 2023 18:27

En naturlig fördjupning inom integraler är dubbel- och trippelintegraler vilket även leder in dig på polära, cylindriska och sfäriska koordinater. Kanske skulle kunna bli något. Frågan är hur du får ihop det till ett ”projekt”?

Eventuellt kanske du skulle kunna spinna vidare på din tidigare fysikfråga om masscentrum. Du kan t.ex. beräkna masscentrum för en enkel kropp om du känner till hur trippelintegraler fungerar.

naytte Online 5010 – Moderator
Postad: 18 aug 2023 18:53 Redigerad: 18 aug 2023 18:58

Tack för svar!

En annan idé jag har (som har fascinerat mig ganska länge) handlar om schack men jag är osäker på om man skulle kunna skriva ett GA om det:

Antag att man har en springare på en godtycklig ruta (x,y)\displaystyle (x, y) på ett schackbräde, där x-koordinaten motsvarar bokstaven och y-koordinaten siffran (t.ex. vore (1,4)=a4\displaystyle (1, 4)=a4). Om man antar att en springare har full rörlighet kan den röra sig antingen två steg i x-led och ett i y-led eller ett steg i x-led och två i y-led. Hur många drag N\displaystyle N krävs det för att en springare från ursprungsfältet (x,y)\displaystyle (x, y) ska nå fältet (x+A;y+B)\displaystyle (x+A; y+B), där både x+A,y+B\displaystyle x+A, y+B ligger i intervallen x: [1, 8], y: [1, 8]. 

(A\displaystyle A och B\displaystyle B får såklart vara negativa)

Här tror jag inte heller att det är omöjligt att blanda in lite analys. Kanske kan man införa någon egen typ av räkneoperation och försöka skapa en funktion som ger en antalet drag givet att man känner till ursprungsrutan. För förståelse kan man säkert programmera en enkel algoritm i exempelvis Python också.

Fermatrix 7841 – Fd. Medlem
Postad: 18 aug 2023 19:19

Förstår jag dig rätt nu? Du vill placera en springare någonstans på ett schackbräde och beräkna det minsta antal drag NN så att springare hamnar på en specifik plats på brädet? 

Detta är faktiskt inte trivialt att programmera. Det är nog inte heller ett nytt problem, så du kan säkert hitta lösningar på nätet vilket är tröstande, men det kommer inte bli enkelt. Jag har inte undersökt det, men med stor sannolikhet kommer du behöva applicera BFS eller någon annan pathfinding algoritm, vilket kräver att du lär dig lite om grafer (grafteori). Visserligen är detta ett ganska "basic" problem, om man lärt sig om BFS, men för någon som aldrig programmerat (du kanske har det?) så är det en ganska hög tröskel då man måste lära sig basics i programmering först. Med det sagt så kan man göra en visuell lösning i Python, vilket hade varit ganska snyggt. Python är nog rätt val av programmeringsspråk. Java är inte otänkbart heller, men håll dig borta från språk som C/C++, Rust (lågnivåspråk) då du förmodligen kommer spendera enormt mycket mer tid då dessa språk är betydligt (Speciellt C++ och Rust) svårare än Python.

Jag säger inte detta för att skrämma dig, utan jag försöker bara förmedla att det kommer inte bli enkelt, men det antog du kanske inte? :)


En ytterligare kommentar, grafteori är enormt, och har miljoner applikationer, så se verkligen till att begränsa dig om du tänker prata om grafer, Python etc etc.

naytte Online 5010 – Moderator
Postad: 18 aug 2023 19:32 Redigerad: 18 aug 2023 19:33

Du förstår mig helt rätt, @Dracaena!

Jag förväntade mig verkligen inte att det skulle vara enkelt eller trivialt (det ska ju räcka till ett GA). Jag har inte supermycket erfarenhet med programmering, men nog tillräckligt för att kunna läsa mig till hur jag ska gå tillväga. Om inget annat har jag många programmerare i min närhet som skulle kunna hjälpa mig.

Det där med just Python var bara en idé, huvudsakligen vill jag lösa själva problemet matematiskt (vilket jag antagligen skulle behöva oavsett om jag skulle vilja programmera en algoritm).

Tack så mycket för informationen och svaret!

Fermatrix 7841 – Fd. Medlem
Postad: 18 aug 2023 19:55 Redigerad: 18 aug 2023 19:56

Det finns ett problem som är rätt likt problemet du ställde som kallas för Knight's tour.

Sedan är N-Queens också ett känt problem. Notera dock att N-Queens förmodligen är mer av ett problem man löser mha programmering, även om man säkert kan formulera någon sorts matematik. Problemet är också känt för att vara svår att lösa, även för personer som programmerar. Om man dock tar fallet "Eight Queens" så är det nog inte helt otänkbart heller.

Detta är nog allt jag kan komma på för tillfället som kombinerar Matematik, Programmering och Schack.


Om vi pratar matematikspåret så finns det mycket man kan tänkas göra. Komplex analys, Fourieranalys, Pendel i 3D, Pendel i 2D med dämpning utan att approximera θ(t)\theta(t) osv. Allt detta går också att kombinera med Python.

Laguna Online 30472
Postad: 18 aug 2023 20:03

Historia kan man alltid blanda in.

Man kan utforska numeriska approximationer, hur exakta och hur snabba de är. Det mesta går inte att räkna ut exakt (och indata är oftast uppmätta storheter).

oggih 1327 – F.d. Moderator
Postad: 20 aug 2023 20:32 Redigerad: 20 aug 2023 21:03
naytte skrev:

En annan idé jag har (som har fascinerat mig ganska länge) handlar om schack men jag är osäker på om man skulle kunna skriva ett GA om det:

Antag att man har en springare på en godtycklig ruta (x,y)\displaystyle (x, y) på ett schackbräde, där x-koordinaten motsvarar bokstaven och y-koordinaten siffran (t.ex. vore (1,4)=a4\displaystyle (1, 4)=a4). Om man antar att en springare har full rörlighet kan den röra sig antingen två steg i x-led och ett i y-led eller ett steg i x-led och två i y-led. Hur många drag N\displaystyle N krävs det för att en springare från ursprungsfältet (x,y)\displaystyle (x, y) ska nå fältet (x+A;y+B)\displaystyle (x+A; y+B), där både x+A,y+B\displaystyle x+A, y+B ligger i intervallen x: [1, 8], y: [1, 8]. 

(A\displaystyle A och B\displaystyle B får såklart vara negativa)

Här tror jag inte heller att det är omöjligt att blanda in lite analys. Kanske kan man införa någon egen typ av räkneoperation och försöka skapa en funktion som ger en antalet drag givet att man känner till ursprungsrutan. För förståelse kan man säkert programmera en enkel algoritm i exempelvis Python också.

Utan att kunna något om schack tycker jag det här låter som en utmärkt idé! Den har flera aspekter som jag tycker att ett bra gymnasiearbete ska innehålla:

  • Du har redan bakgrundskunskapen för att förstå vad problemet går ut på, har redan en relation till problemet, och kan börja fundera på det redan från dag 1.
  • Arbetet innehåller en geniun öppen fråga, där det inte utan vidare bara går att googla sig fram till svaret. Det kan så klart vara värt att kolla/fråga runt lite mer om vad som är känt om detta och liknande schackproblem innan du börjar, men även om just det du frågar om redan är känt kan du kanske hitta något specialfall eller någon variant som inte är löst (vad händer på ett n×nn\times n-bräde, eller ett oändligt bräde?).
  • Det går att föreställa sig en minimal viable product som kan bli klar redan framåt slutet av höstterminen. I det här fallet skulle den kunna bestå av att du för hand (eller med väldigt basic programmering) undersöker några olika aspekter av problemet (t.ex. något specialfall, eller någon miniversion av problemet), presenterar dina resultat i en rapport, samt (om du har tid) skriver lite om bakgrunden till schackproblem för att sätta ditt arbete i ett sammanhang. Den här grunden kan du sedan bygga vidare på under vårterminen, beroende på vilka resultat du får och vad som verkar intressant. T.ex. kan du lära dig mer programmering för att göra mer avancerade experiment, du lär sig mer bakgrundsteori, eller försöker bevisa något delresultat matematiskt.
  • Det är enkelt att få hjälp. Det borde finnas någon mattelärare på skolan som kan hjälpa dig med programmeringen och eventuell bakgrundsteori, och det finns många bra forum på nätet där du kan ställe schack-, matte- och programmeringsfrågor. Om du har något universitet i närområdet kan du kanske försöka hitta någon forskare där som kan komma med input (t.ex. någon som håller på med kombinatorik).
Laguna Online 30472
Postad: 20 aug 2023 20:52

Läs alla böcker du hittar av Martin Gardner.

Svara
Close