Gå til innhold

hockey500

Medlemmer
  • Innlegg

    1 694
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av hockey500

  1. kanskje du kan basere noe på dette her:

     

    #!/bin/bash
    OLDIFS=$IFS
    IFS=$'\n'
    
    for html in *.html; do
       modell=$(egrep -o "MODELL[0-9]{4}" "$html")
       uri=$(grep "<a href=" "$html" | sed 's/<a href="\(.*\)">\(.*\)<\/a>/\1*\2/g')
    
       echo "$modell" >> "$1"
       for url in $uri; do
           part1=$(echo "$uri" | egrep -o "^[^*]*")
           part2=$(echo "$uri" | egrep -o "[^*]*$")
    
           base=`basename $(echo ${part1%.*})`
           if [ "Egenskap $base" = "$part2" ]; then
               echo "$part2" >> "$1"
           fi
       done
    
    done
    
    IFS=$OLDIFS
    

     

    kjøres slik: "./script.sh output.txt"

     

    EDIT: liten bug

    • Liker 1
  2. sin(180⁰ - v) = sin(-(v - 180⁰)) = -sin(v - 180⁰) = -(-sin(v) = sin(v)

     

    EDIT: og hvis sin(v) = 1/3, har du en trekant i enhetssirkelen med en sidekant langs y-aksen 1/3. da er sidekanten langs x-aksen 2*sqrt(2)/3 (bruk pytagoras), og v er da:

    v = atan((1/3)/(2*sqrt(2)/3)) = atan( 1/(2*sqrt(2)) ) = atan(1/(2*sqrt(2)), eller ca. 19.47 grader.

     

    PS: beklager at jeg ikke gadd å skrive LaTeX ;)

  3. generelt hvis du har m plasser og n personer skal sitte sammen kan de gjøre det på (m-n+1) måter. innad i gruppen kan de igjen organisere seg på n! måter, så totalt sett blir det (m-n+1)*n! måter. dette er da antall gunstige plasseringer.

     

    antall mulige plasseringer er nPr(m,n), eller nCr(m,n) * n!.

     

    svaret blir da P = antall gunstige / antall mulige = ((m-n+1)*n!) / (nCr(m,n)*n!) = (m-n+1) / nCr(m,n)

     

    med m=4 og n=2 blir svaret her da 0.5.

  4. vet ikke helt om jeg skjønner spørsmålet. Jeg antar da ikke at alle noder kan nås fra en gitt node.

     

    Hvis man har flere subgrafer er det bare å kjøre algoritmen for hver subgraf. Denne algoritmen (både 1 og 2) vil nok ikke terminere med et perfekt resultat, så litt heuristikk må nok til på slutten for å plassere de som ikke allerede har blitt plassert av algoritmen.

     

    EDIT: kom akkurat på at det kanskje kan være en idé å plassere alle klikker av en viss størrelse på rom før man leter etter SCC. (la til lenker for de som ikke har tatt algdat eller tilsvarende fag)

  5. Hei! Jeg har et sorteringsproblem med noe randomness som jeg lurer på om det finnes en god algoritme eller noe grei software til å gjøre:

     

    Vi er en gruppe lærere med 90 elever. Vi skal på leirskole og elevene skal bo på rom med fire senger. Hver elev har satt opp tre ønsker til hvem de vil bo med.

     

    Er dette en type problem det kan lages en optimeringsalgoritme til? Det er alltid mas og kjas mellom huene som skal samarbeide om dette, og det hadde vært fantastisk om en enkel behandling av inndata hadde gitt det mest "rettferdige" resultatet, med de tilfeldige valgene som måtte vært lagt inn.

     

    Hva tror dere?

    Kommer ikke på en passende algoritme fra algdat-timene, da mange av disse problemene slett ikke har noen løsning.

     

    Hva med dette:

    Sorter folks førstevalg i et sett, folks andrevalg i et sett, og så videre.

    Innvilg valgene til de som har hverandre på lista først, uavhengig av hvilken plass på lista dette har for de enkelte.

    Innvilg så førstevalget til folk villkårlig så langt det lar seg gjøre. Slett resten av preferansene; de er umulige.

    Innvilg så andrevalget til folk så godt det lar seg gjøre, og så videre.

     

    Lager man et dataprogram av dette, kan man gjøre dette flere ganger, og hver gang regne ut forholdet mellom innvilgede preferanser og uinnvilgede. Iter over dette noen hundre/tusen ganger, og velg det utfallet der antallet innvilgede preferanser er høyest.

    ???

    profit.

     

    Kan sikkert gjøres langt mer elegant, men bruteforce-løsninger er som regel langt kjappere å sette i live, og absolutt gangbare så lenge antallet som iteres over ikke er mer enn noen tusen.

     

    http://en.wikipedia.org/wiki/Edmonds's_matching_algorithm

     

    EDIT: ser at jeg kanskje var litt for raskt ute der... tror faktisk ikke det er fullt så enkelt.

     

    Idé 1: la det være en kant (u, v) i en graf hvis u vil være på rom med v. finn et par noder x, y slik at kantene (x, y) og (y, x) finnes (begge vil være på rom med hverandre). slå disse sammen til en ny node X og lag kanten (X, z) hvis (u, z) og (v, z) finnes, og tilsvarende en kant (z, X) hvis (z,u) og (z,v) finnes. fortsett slik til du har grupperinger på 4. ta da disse ut fra grafen fullstendig og begynn på nytt. Dette burde gi en grei approksimasjon som utgangspunkt hvertfall.

     

    Idé 2: Bruk en SCC-algoritme iterativt. I hver iterasjon, finn en enkelt SCC med maksimal kardinalitet. er den > 4, splitt den opp. hvis du får en rest på < 4, legg de tilbake i grafen. start en ny iterasjon. hvis det ikke lenger finnes en SCC med kardinalitet >= 4, slå sammen mindre komponenter slik at hvertfall alle har noen de ville være på rom med.

  6. hvis du lurer på det bør du gå tilbake og lese første delkapittel om polynomdivisjon. noen uttrykk du burde kunne er divisor, dividend, kvotient og rest.

     

    du har forhåpentligvis sett på det på formen P(x)/D(x) = Q(x) + R(x)/D(x) før.

     

    ta vanlige heltall som eksempel:

    hva får du hvis du deler 8 på 3?

     

    8/3 = 2.6667 = 2 + 2/3, som betyr at

     

    8 = (2 + 2/3) * 3 = 2*3 + 2.

     

    generelt: dividend / divisor = kvotient + rest / divisor

    eller ekvivalent: dividend = kvotient * divisor + rest

     

    prøv å knytt tallene og begrepene dividend/divisor/kvotient/rest til P(x),Q(x), D(x) og R(x). dette burde være kjent materiale fra et tidligere delkapittel.

  7.  

    Jostein

     

    chart?cht=tx&chl={\log _t}\left( {10} \right) = \frac{{\ln \left( t \right)}}{{\ln \left( {10} \right)}},{\log _{10}}\left( t \right) = \frac{{\ln \left( {10} \right)}}{{\ln \left( t \right)}},10.1 = 10 + \frac{1}{{10}}

     

    Så får du en annengradslikning om du setter y=ln(t)

    Jeg forstår ikke helt hva du gjør :(

     

    I utgangspunktet har du to logaritmer med ulike baser. Det første han gjør, er å "konvertere" logaritmene til logaritmer av samme base (e). Dette gjøres ved å sette logaritmen til basen over logaritmen til logaritmetallet, og har dette for samme base. Kan du forstå hvorfor?

     

    Utrolig at ingen har kommentert det enda, men dette er da feil.

    chart?cht=tx&chl=\log_{b}x=\frac{\log_{k}x}{\log_{k}b}, der k er en tilfeldig base (vanligvis e eller 10). Altså, i eksempelet jeg quotet: snu brøkene.

  8. cuadro svarte deg jo. Dessuten føler jeg at spørsmålet er uklart formulert. Er grunnflata firkantet, trekantet? jeg husker hvertfall ikke hva en "rett" prisme er.

     

    men du skal ta grunnflatearealet og gange med to (for å få med toppen) og plusse på omkrets * høyde.

     

    EDIT: mener du rettvinklet?

×
×
  • Opprett ny...