Gå til innhold

x871kx6167ss7

Medlemmer
  • Innlegg

    2 637
  • Ble med

Innlegg skrevet av x871kx6167ss7

  1. tatt den 3 ganger, kjøper du billetter selv i Russland koster det ca 3000kr fra moscow til beijing med 4 stopp i Russland og stop i mongolia

     

    Planlegger en lignende tur selv. Søker du om turistvisum selv, eller bruker du et reisebyrå? Ønsker å reise uten å bestille alle hoteller på forhånd, og på grunn av det synes jeg det er fryktelig vanskelig å forstå hvordan det blir med turistvisum.

     

    La oss si jeg i utgangspunktet bestiller hotell i St. Petersburg for en uke, og får en invitasjon fra dem som jeg bruker i visumsøknaden. Vil visumet da være begrenset til en uke, eller vil det være gyldig i 30 dager?

  2. Hvordan finner jeg en induktiv definisjon av språket {a^n, b^n | n = 0,1,2,3...} ?

     

    Noen som kan gi meg tips?

    I induksjons-steget så har du et element, og så beskriver du hvordan du lager et "større" element. Når du beskriver hvordan du lager det større elementet, så har du lov til å inspisere det gitte elementet. F.eks. hvis x ser ut som ditt, gjør datt, hvis det ser ut som blipp, gjør blapp.

  3.  

    -- Double every second number in a list starting on the left.
    doubleEveryOther :: [Integer] -> [Integer]
    doubleEveryOther [] = []
    doubleEveryOther (x:y:zs) = x : y*2 : doubleEveryOther zs
    doubleEveryOther x = x
    

     

    Som andre har nevnt, så er det første tilfellet unødvendig. Jeg ville heller ha skrevet:

    doubleEveryOther [] = []
    doubleEveryOther [x] = [x]
    doubleEveryOther (x:y:zs) = x : y*2 : doubleEveryOther zs
    
  4. Hvorfor synes du svaret ``ligger'' i oppgaven? Det å bevise noe handler strengt tatt ikke om å finne ut om noe er ``sant'', men å argumenter og overbevise deg/en annen. Og når du tar fag, så handler det også om å vise (til læreren) at du kan benytte visse argumentasjons-teknikker, i dette tilfellet induksjon.

     

    I denne oppgaven er du gitt en definisjon av chart?cht=tx&chl=x_n. Så er du gitt en påstand om chart?cht=tx&chl=x_n, nemmelig at (2^n -1) (dette er ikke en definisjon, men en påstand.)

     

    Hvorfor er den påstanden sann? Hvis du føler jeg har bommet med svaret, kan du skrive en linje eller to om hvorfor du synes svaret ligger i oppgaven?

  5. Det siste steget er mer at konklusjonen påpekes ut ifra arbeidet gjort tidligere. For alle relevante x- og y-verdier har man funnet et maksimum og minimum, og i alle fire tilfeller (x negativ/ikke-negativ kombinert med y negativ/ikke-negativ) så er den øvre og nedre grensa med i settet E.

     

    Uh, ga deg mening? Er litt stuptrøtt.

    Tusen takk for svar! Jeg er ikke helt med, siden han har vist at den er bundet av hhv. max og min av chart?cht=tx&chl=\{ry,\, sy,\, ux,\, vx\}, ikke av chart?cht=tx&chl=\{ru,\, rv,\, su,\, sv\}, som er målet. Så det må i det minste være et lite steg.

  6. Jeg sitter her og prøver å beviste noen greier, men kommer meg ikke helt i mål. Hadde satt pris på litt hjelp. :)

     

    Påstand: Gitt rasjonelle tall chart?cht=tx&chl=r \le x \le s og chart?cht=tx&chl=u \le y \le v, la chart?cht=tx&chl=E = \{ ru,\, rv,\, su,\, sv \}. Bevis at chart?cht=tx&chl=min\, E \le xy \le max\, E.

     

    I boken hvor denne påstanden er gitt, så det også gitt et bevis for påstanden, men jeg greier ikke å følge det siste steget i beviset.

     

    Bevis: En av følgende holder: chart?cht=tx&chl=y < 0 eller chart?cht=tx&chl=y \ge 0. I første tilfelle følger det at chart?cht=tx&chl=sy \le xy \le ry, og i andre tilfelle følger det at chart?cht=tx&chl=ry \le xy \le sy. Altså må chart?cht=tx&chl=xy ligge imellom chart?cht=tx&chl=ry og chart?cht=tx&chl=sy.

     

    Ved å sammenligne chart?cht=tx&chl=x og chart?cht=tx&chl=0 på tilsvarende måte, får vi at chart?cht=tx&chl=xy må ligge imellom chart?cht=tx&chl=ux og chart?cht=tx&chl=vx. (Jeg er helt med på alt fram til dette).

     

    Så avsluttes beviset med: derfor vil chart?cht=tx&chl=xy alltid ligge i mellom maksimum og minimum av chart?cht=tx&chl=ru,\, rv,\, su,\, sv.

     

    Hvordan gjør han det siste steget?

  7. Hei, det eneste "matte" faget som er obligatorisk for informatikk: språk og kommunikasjon på ifi er faget inf1080: http://www.uio.no/st...at/ifi/INF1080/ For dette kurset, og mange andre, så ligger det MASSE informasjon på ifi siden hjemmesider. F.eks. lyskarkene som forleserene har brukt, tidligere eksamner og øvingsoppgaver.

     

    Dersom du trykker deg inn på "Høst 2012" på siden som jeg linket til over, så ser du hva de som tar inf1080 akkurat nå lærer. Trykk på "undervisningsmateriale", så får du de foilene de har gått igjennom til nå. Dersom du går på "Høst 1011", så kan du se alle foilene de gikk igjennom den gang.

     

    I inf1080, så er det mest fokus på:

    • Kunne argumentere logisk ut fra premisser (forskjellige bevisteknikker)
    • Mengdelære
    • Utsagnslogikk: logikk med påstander (som er sanne eller usanne), og (X og Y), eller (X eller Y), ikke (ikke x)og implikasjon (hvis X så Y).
    • Induktivt definerte mengder, induksjonsbevis og rekursjon. Noen har hatt mattematisk induksjon på vgs, i inf1080 lærer man også strukturell induksjon som er mer generelt.
    • Førsteordens logikk. Utvidelse av utsagnslogikk, hvor man kan snakke om objekter og relasjonen mellom dem.
    • En kalkyle for utsagnslogikk. Et verktøy for å resonnere rundt logikk, hvor man ikke ser på meningen til utsagnene, men bare på hvordan de er bygget opp.

    Så jeg vil anbefale deg å se litt igjennom foilene. Jeg tror ikke de burde være helt umulig å forstå. :)

     

    Jeg er gruppelærer i inf1080, så hvis du lurer på noe, så er det bare å spørre.

     

    Vet ikke om du er klar over det, men her er en oversikt over hvilke kurs du må ta, og hvilke kurs du kan ta. Klikk deg inn på et fag, og velg et semester på høyre siden, så kan du ofte se hva kurset handler om. http://www.uio.no/st...rok/oppbygging/

    • Liker 3
  8. Det du beskriver minner meg vel sånn sett om «structural editing» http://en.wikipedia....uctural_editing . Altså at editoren har full forståelse av komponentene og strukturen til språket, og kan passe på at teksten er velformet. Grensesnittet til editoren, og den interne representasjonen av koden, trenger jo da ikke nødvendig vis å være fri-tekst.

     

    Dersom man skriver lisp i en strukturert editor (noe jeg ikke har gjort), så skal det vel godt gjøres å ha programmet i en tilstand hvor det ikke er syntaktisk velformet.

     

    Har lest om en interaktiv bevisassistent som også var slikt.

     

    Se f.eks. http://stackoverflow...editor-for-lisp

     

    Samtidig så har du vel kanskje i tankene et språk med mer restriktivt typesystem enn lisp?

     

    http://bannister.us/weblog/2005/01/19/structure-editors-ides-and-another-lisp-flashback/

  9. Edit: Dette jeg sier under her blir feil. Når man gjør konverteringen, så må man også gi sin egen "implementasjon" av and, og der må man velge hviken semantikk man gir and, og den vil ikke være avhengig av semantikken av and i vertsspråket.

     

    Kan forsåvidt påpeke at man skrive om alle programmer med call/cc til et ekvivalent program uten call/cc, så det første eksemplet mitt viser vel da at man kan få forskjellig resultat i praktisk talt alle programmeringsspråk.

     

    Edit: Tror ikke nødvendig vis dette (denne posten) er riktig lenger (i forhold til problemstillingen). Skal tenke på det...

  10. Nei, ikke akkurat. Det er hva kompileren gjør. På et boolesk uttrykk:

     

    if(a and b)

    så vil uttrykket alltid være usant dersom a er usant, så det er ikke engang noe poeng i å evaluere b. Bare lurte på om det var noen tilfeller hvor dette ikke lenger stemmer... men det kan det umulig gjøre. Kall det en brain fart egentlig :p tidlig på morgen.

     

    Jeg er ikke helt sikker på hva du mener.

     

    Vi kan anta at vi snakker om et 100% «pure» funksjonelt program.

     

    Spørsmål: Gitt et program P, vil resultatet/verdien av programmet P være avhengig av hvorvidt man "shortcut'er" evalueringen av "and"-uttrykk?

     

    Dersom man har execptions/førsteklasses kontinuasjoner, så kan resultatene bli forskjellige.

     

    (call-with-current-continuation
    (lambda (k)
      (and #f (k #t))))
    ;;; Resultat #f
    
    (define (functional-and a b)
     (and a b))
    
    (call-with-current-continuation
    (lambda (k)
      (functional-and #f (k #t))))
    ;;; Resultat #t
    

     

    Vet ikke hvor godt kjent du er med call-with-current-continuation, men du kan se på det som en mer generell setjmp/longjmp i C.

     

     

    Edit: Og selvfølgelig noe slikt som dette:

    boolean loop(int n) {
     if (n == 0) while (true) { /* nothing */ }
     return true;
    }
    
    boolean tmp = (x != 0 && loop(x));  
    

    Hva er resultatet av et program som ikke terminerer?

     

    Edit2: Men dersom vi har call-by-name/lazy/e.l. så vil det siste tilfellet ikke nødvendig vis bli feil igjen.

  11. Jeg mener dette scenarioet ikke er realistisk, selv om vi skulle ha funnet opp virkelig AI. Hele opplegget baserer seg på mase "hva om":

    - Hva om vi lager AI-er som oppfører seg som mennesker

    - Hva om vi gir disse verktøyene og kunnskapen de trenger for å utvikle botnet, ormer og formere seg selv

    - Hva om vi programmerer dem med hevnfølelse, ondskap og en uslukkelig tørste etter menneskeblod

    - Hva om vi lager en maskin fullstendig uten noen fornuftig hensikt utover å ta over verden

     

    Ved siden av å overvurdere menneskelig oppførsel, undervurderes også folka som lager disse systemene.

     

    Men medfører ikke flere av disse punktene hverandre? Er det mulig å lage en AI som oppfører seg som et menneske uten at den også har samme mulighet for følelser og mål som noen mennesker? Jeg synes ikke det er åpenbart at disse punktene er så uavhengige av hverandre som du vil ha det til.

     

    Vi greier ikke å aksiomatisere enkel aritmetikk med naturlige tall på en god måte, hvorfor skulle vi greie å lage et kraftig AI som bare er god?

  12. Dette høres ut som et kompleksitets-teori-spørsmål.

     

    Det å finne gjennomsnittlig tidskompleksitet for et menneske har jeg ikke lyst til å prøve meg på. Da kommer som Simen1 nevner inn flere aspekter som gjør det veldig vanskelig.

     

    Derimot så har jeg en følelse av at i værste tilfelle, så vil man måtte lete gjennom alle brikkene hver gang. Her snakker jeg om værste tilfellet, når ingen av brikkene har felles egenskaper som man greier å gjenkjenne. I såfall så vil tidskompleksiteten være chart?cht=tx&chl=\Theta(n!), med andre ord så har vi da hhv chart?cht=tx&chl=5000! "vanskelig" og chart?cht=tx&chl=18240! "vanskelig". Problemet er i hvertfall i NP, og jeg vil tro at problemet er NP-hardt.

  13. Men disse kommer neppe til å ta over verden, både fordi de mangler verktøyer og kunnskap for å gjøre det. Det er ikke gitt at en datamaskin kan programmere for eksempel, eller engang er flink til det. Og hvis du skal lage et program som driver med utvikling av programvare er det fullstendig uten hensikt å dytte inn alt det en forbinder med menneskelig oppførsel, ettersom oppgaven er å revidere programvare.

     

    Igjen: det er vi som bygger dem, vi bestemmer 100% hvordan de skal oppføre seg. så med mindre noen nærmest bygger en maskin med denne hensikten er dette scenarioet trygt plassert i science fiction.

    Du sier "neppe" og "det er ikke gitt", noe som gir inntrykk at du åpner opp for muligheten. Videre så virker det som om du antar at det aktuelle programmet er laget for å løse et konkret problem, og ikke for generell AI. Jeg tror neppe at et slikt program vil komme ut av kontroll. Men et program med generell AI som er koblet på internett vil vel kunne skape viruslignende oppførsel?

     

    Så jeg føler igjen at vi snakker forbi hverandre. Dersom vi prøver å lage en form for kunstig inteligens, så er det vel gitt at programmereren prøver i stor grad å gi programmet frihet i forhold til oppførsel.

     

    Ikke tro at jeg tror at verden vil bli tatt over av datamaskiner en gang i fremtiden, men jeg ser ikke hvordan argumentene dine utelukker det.

     

    Fornuftige ting du sier, Milktea.

  14. Er helt enig at detaljene er ganske virklighetsfjernt, og «strong AI» er også kontroversielt.

     

    Nå kommer derimot idéen om at et samfunn skal bli kastet rundt av at en gruppe får for seg at de har flere rettigheter enn de er gitt. Dessverre er ikke dette et resultat av hvor smarte og gode maskiner vi er: det er simpelthen slik vi er programmert. Vi har en gruppe mentalitet som med korrekt samling av individer kan rulle rundt en revolusjon.

     

    Datamaskiner har ikke dette, fordi det er en oppførsel de ikke er programmert med. Datamaskiner er ikke flokkdyr, de har ikke noen leder-idéer, eller engang noe å tjene på å ta over verden. Maskiner føler ikke smerte, de utfører ikke semantiske sammenligninger. Datamaskiner er ikke istand til denne slags oppførsel med mindre de er programmert til det (noe vi er). Det er ikke snakk om antall transistorer, de er rett og slett ikke laget med den hensikten.

     

    Jeg anser ikke dette som en relevant problemstilling, at det er en form for «stråmann-argument». Du sier selv at mennesker i bunn og grunn er maskiner, men hva skiller menneskets «opplevelse» av «følelser» fra en hypotetisk ai-maskin sinn «opplevelse» av «følelser»?

     

     

    Om vi hopper over det usannsynlige, som AI som ønsker å ta over verden og faktisk klarer å programmere seg selv, [...].

    Det er da ikke noe problem å lage programmer som på runtime redefinerer sine egne funksjoner? Lisp-systemer har da gjort dette i mange ti-år. En av tingene som gjorde lisp populært innen AI-verdnen var nettopp det at man tenkte seg at programmene kunne rekompilere deler av seg selv etter hvert som det «lærte» ting.

     

     

    Jeg diskuterte ikke hvorvidt AI er mulig eller ikke. Jeg påpekte at enhver AI er en maskin vi har bygget. Enhver maskin (mennesker også) vil aldri gjøre noe som ikke faller innenfor programmeringen, eller som programmeringen eksplisitt har motforestillinger mot.

    Det er vi som lager AI, og selv om den utvikler seg selv, så utvikler den seg selv på våre premisser.

    Jeg forstår ikke helt hva du mener her. Dersom man prøver å lage et avansert AI-system, så vil vel primissene være praktisk talt være fraværende?

     

    Og mener du at mennesker i praksis greier å trekke alle konklusjoner fra gitte premisser (selv i et deterministisk system hvor man har total kunnskap)?

  15. Fortell mer om logikk! Hva gikk det ut på? Hva lærte dere? Jeg er over middels interessert i det, og banner over at jeg ikke har funnet noen slike emner på NTNU. Aksiomatisk mengdelære kan også være interessant. Lurer på hvor dypt de går? Da må du nok bli vant med å føre bevis. :)

     

    Har hatt mest om førsteordens predikatlogikk, som jeg vil tro du er i hvertfall litt familiær med (fra diskret matte, kanskje?). Det er gjerne tre ting som går igjen: syntaks, semantikk, og kalkyler.

     

    Syntaksen defineres rett fram ved strukturell induksjon.

     

    For semantikken har vi modeller og modellteori. En modell gir et domene, og forteller hva konstant-, funksjon-, og relasjonssymbolene skal tolkes som, og vi også (implisitt) bestemme hvordan chart?cht=tx&chl=\forall- og chart?cht=tx&chl=\exists-formler skal tolkes.

     

    Har vel vært borte i to kalkyler i forbindelse med førsteordens logikk: sekventkalkyle (LK) og en som jeg ikke kan navnet på :( . Sekventkalkyle fungerer i bunn å grunn slik at man begynner med treet som består av bare påstanden, og så kan man utvide treet fra løvnodene etter bestemte regler, og når alle løvnodene er aksiomer, så har man et bevis. (Dersom man leser beviset andre veien, så begynner man med aksiomene, også kommer man fram til påstanden ved å sette dem sammen.)

     

    En viktig ting er å bevise om kalkylen er komplett og sunn. En kalkyle er sunn dersom alt du beviser er gyldig, og den er komplett dersom alt som er gyldig er bevisbart. (Gyldig=semantikk, bevis=syntaks).

     

    Eller så har jeg hatt litt intuisjonistiks logikk hvor vi også brukte sekventkalkyle (LJ) og kripke-modeller.

     

    I matematisk logikk så jobbet vi oss mot Gödels ufullstendinghetsbevis.

     

    Angående aksiomatisk mengdelære, så har jeg inntrykk av at de går ganske dypt. Du kan se emnesiden her (er vel litt informasjon for emnesiden for 2011).

  16. Selv om jeg ikke er matematiker, så får jeg hilse fra UiO. :) Jeg har begynt på masteren i informatikk, og har tatt en del logikk-emner (ett av dem var et kurs i matematisk logikk).

     

    Neste semester skal jeg ta aksiomatisk mengdelære, noe jeg tror blir ganske kult. Det blir mitt første rene matteemne som ikke er et obligatorisk innføringsemne.

  17. Poenget mitt er at du ikke må henge deg for mye opp i at det står chart?cht=tx&chl=\sim forran den ene q-en.

     

    Dersom vi ser på dette eksempelet: chart?cht=tx&chl=\sim(\sim p \wedge q) .

    Kan vi benytte regelen chart?cht=tx&chl=\sim(x \wedge y) \equiv \sim x \wedge \sim y?

     

    Selv om det står chart?cht=tx&chl=\sim forran chart?cht=tx&chl=p, så kan vil like vel bruke reglen, siden chart?cht=tx&chl=x er en plassholder for en vilkårlig formel. Så vi lar chart?cht=tx&chl=x være chart?cht=tx&chl=\sim p, også lar vi chart?cht=tx&chl=y være chart?cht=tx&chl=q, og da kan chart?cht=tx&chl=\sim(\sim p \wedge q) skrives om til chart?cht=tx&chl=\sim\sim p \vee \sim q.

     

    Edit: Dersom dere bare har reglene chart?cht=tx&chl= \sim\sim x \equiv x og chart?cht=tx&chl=\sim (x \wedge y) \equiv \sim x \vee \sim y, så er det ikke mulig å løse oppgaven. Det er enkelt å vise, siden det da blir like mange variabler på hver side av likhetstegnet.

×
×
  • Opprett ny...