- TeX 75.7%
- Python 24.3%
|
|
||
|---|---|---|
| paper | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| LICENSE | ||
| LICENSE-CC-BY-4.0.txt | ||
| README.md | ||
| requirements.txt | ||
den-dynamiske-rettsstaten
Et verktøy for å finne ut hva straffesakskjeden bør gjøre: ut fra observerte tall finner det leddet som binder, hvilken type tiltak det krever, og hvor stort tiltaket bør være.
Prinsippet bak: «Innsatsen for å håndheve lover og regler bør løpende stå i forhold til hvor mye, og hvor alvorlig, de faktisk brytes.» Straffebud og strafferammer ligger fast. Konseptnotatet viser hva som skal til for å gjennomføre prinsippet stabilt og legitimt i hele kjeden, fra politi og påtalemyndighet til domstoler, kriminalomsorg og lovgiver. Modellen er verktøyet for å finne ut hva som bør gjøres.
Kjørt på offentlige norske tall finner verktøyet to ledd som ligger likt over full utnyttelse (1,09): fengsel, der soningskøen vokser raskere enn dommer blir iverksatt, og politi og påtale, der om lag ett av ti etterforskede lovbrudd ble henlagt med manglende saksbehandlingskapasitet som begrunnelse (30 334 i 2025). Verktøyet peker på fengsel fordi køen der vokser raskest, men forskjellen er mindre enn usikkerheten i tallene. Tingretten ligger også over full utnyttelse (1,04). Se Første forsøk med norske tall.
Les notatet
| Dokument | Omfang |
|---|---|
| Den dynamiske rettsstaten, konseptnotat, versjon 2 | 58 sider |
| Sammendrag for beslutningstakere | 2 sider |
| Lysark: fra tall til tiltak | 16 lysark |
Install
Simuleringen trenger Python 3 med numpy og scipy. Den er prøvd med Python 3.14, numpy 2.5.4 og scipy 1.18.1.
git clone https://git.fromaitochitta.com/open/den-dynamiske-rettsstaten.git
cd den-dynamiske-rettsstaten
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
Kjør simuleringen
cd paper
../.venv/bin/python sim.py
Skriptet bruker om lag to minutter. Det skriver ut nøkkeltallene som brukes i teksten, og skriver figurdataene til paper/data/. Med versjonene over blir alle 22 datafilene byte for byte like dem som ligger i repoet. Det kan du sjekke selv: git status paper/data skal ikke vise noen endringer etter kjøringen. Ingenting kjører denne sjekken automatisk.
Finn flaskehalsen med egne tall
paper/diagnose.py går fra tall per ledd i kjeden til leddet som binder og tiltakstypen, etter trinn (c)–(e) i notatets metode. Du oppgir for hvert ledd innstrømning og kapasitet (saker per måned), restanse (saker) og målet for saksbehandlingstid (måneder). Hvis noen saker kan ledes til forenklede reaksjoner, oppgir du også hvor stor andel det kan være. Skriptet trenger bare Python 3.
cd paper
python3 diagnose.py eksempel_domstol.json
Svaret viser utnyttelse og restanse i hvert ledd, leddet som binder og tiltakene i rekkefølgen utnytt, led saker utenom, utvid. For leddet som binder, regner skriptet også ut hvor mye kapasitet som trengs, etter prognosen for strømmen og ikke etter køen. Formatet på inndata står øverst i skriptet. Eksempelfila har stiliserte tall, ikke norske tall, og gjenskaper tallene i avsnitt 9.5: utnyttelse 1,28 og 19 prosent mer kapasitet.
Diagnosen regner ikke med kapasitet som er bevilget, men ikke virker ennå: oppgi kapasiteten som virker nå, og trekk det som allerede er bevilget, fra behovet. Kolonnen for saksbehandlingstid er restanse delt på kapasitet, ikke målt saksbehandlingstid.
Følg tiltaket over tid
paper/forlop.py leser samme fil og viser hva som skjer måned for måned når anbefalingen følges, og om styringen tåler sin egen forsinkelse. Skriptet bruker simuleringen og trenger derfor numpy og scipy, som i installasjonen over.
../.venv/bin/python forlop.py eksempel_domstol.json
Svaret har tre deler:
- Stabilitetssjekk. I fila oppgir du forsinkelsen fra kriminalitetsbildet endrer seg til innsatsen er endret, og hvor kraftig innsatsen reagerer (
"styring"). Skriptet sier om forsinkelsen er kortere enn den kritiske, og hvor kraftig reaksjonen kan være. Med eksempelfila er den kritiske forsinkelsen 7,2 måneder mot 3, altså stabilt. Er styringen ustabil eller for nær grensen, regner skriptet ikke forløpet, og sier hvorfor. - Forløp. Leddet som binder, legges inn i modellen med dine tall for kapasitet, prognose, restanse og mål. Du ser budsjettvedtakene, kapasiteten, andelen ledet utenom, restansen og saksbehandlingstiden, og en sammenligning med å ikke gjøre noe i kjeden. Eksempelfila gjenskaper avsnitt 9.5: 19 prosent mer kapasitet nå, 12 prosent til året etter, og en kapasitet på 1,31 ganger utgangsnivået til slutt.
- Resten av kjeden. Politiets innsats, andelen påtalemyndigheten leder utenom, og hva flere avgjorte saker betyr for leddene som står etter i fila. I eksempelet flytter skranken seg til kriminalomsorgen (utnyttelse 1,13 til slutt).
Forbehold:
- Bare leddet som binder, har kø i modellen, og det regnes som leddet som tar imot sakene politiets innsats gir (domstolen i notatet). For leddene etter regner skriptet bare hva flere avgjorte saker betyr hvis de får sakene sine gjennom skranken. Hvor sakene som ledes utenom havner, er ikke regnet. Leddene foran vises som politiets innsats og andelen ledet utenom.
- Kapasitet, restanse og saksbehandlingstid følger tallene dine. Kriminalitet, tillit og politiets innsats følger modellens stiliserte parametere, som ikke er kalibrert på norske data. Rekkefølgen og retningen er poenget, ikke tallene.
- Modellen starter med et ledd i balanse, en varig økning og første budsjettvedtak høyst 15 måneder senere. Er restansen din så stor at modellen ikke rekker å bygge den opp på den tiden, regner skriptet ikke forløpet. Da gjelder diagnosen alene. Mindre avvik skriver skriptet ut.
- Stabilitetssjekken gjelder likevekten før økningen og bruker modellens stiliserte tall for hvor fort innsatsen virker.
Første forsøk med norske tall
paper/norge_2025.json har offentlige tall fra Politidirektoratet og riksadvokaten, Domstoladministrasjonen, Kriminalomsorgen og SSB. Tallene for politi og domstoler gjelder 2025. For fengsel er avgangen fra 2025 og køen fra oktober 2025 og oktober 2026. Kilden til hvert tall står i fila. Kjør fra samme mappe som over (paper/):
python3 diagnose.py norge_2025.json
| Ledd | Utnyttelse | Restanse |
|---|---|---|
| Politi og påtale | 1,09 | 31 908 saker eldre enn tre måneder, mot 30 295 ett år før |
| Tingrett, meddomsrettssaker | 1,04 | 3 777, opp 15 % |
| Lagmannsrett, bevisanker | 0,88 | 290, ned fra om lag 334 |
| Fengsel | 1,09 | 596 dommer i kø til fengsel, mot 266 ett år før |
Fengsel og politi og påtale har samme utnyttelse. Verktøyet velger da leddet der restansen vokser raskest i forhold til kapasiteten, og peker på fengsel: køen dit vokste med om lag 28 dommer i måneden, mens om lag 313 ble iverksatt. Politi og påtale avgjorde litt flere saker enn de fikk inn i 2025, og restansen eldre enn tre måneder (9,1 % av innkomne saker) var innenfor målkravet på 10 %. Men 30 334 lovbrudd ble henlagt med manglende saksbehandlingskapasitet som begrunnelse (SSB, tabell 09407). Regnes de som saker som ikke ble behandlet, blir utnyttelsen 1,09. Regnes de ikke slik, er den 1,00. Forskjellen mellom de to leddene er mindre enn usikkerheten i tallene, så diagnosen skiller dem ikke. Tingretten ligger også over full utnyttelse. Bildet er i tråd med det notatet sier: presset ligger i politi og påtale og i straffegjennomføringen, mer enn i tingrettene. Diagnosen bygger på de samme kildene som notatet og er ingen uavhengig bekreftelse.
Forbehold:
- Tallene for fengsel er anslag. Kriminalomsorgen oppgir ikke direkte hvor mange dommer som ble iverksatt i fengsel. Avgangen er regnet fra at 5 180 iverksatte saker i samfunn var 58 % av alle iverksatte saker i 2025, altså om lag 3 750 i fengsel. Innstrømningen er avgangen pluss køveksten fra oktober 2025 til oktober 2026. Utnyttelse over 1 betyr derfor bare at dommer kom inn raskere enn de ble iverksatt. Den sier ikke hvor fulle fengslene er: belegget var 91 % ved utgangen av oktober 2026.
- Fengselstallet er følsomt for hva som regnes med. Køen over er uten dem som venter på soning med fotlenke. Med hele soningskøen (657 mot 284) blir utnyttelsen 1,10. Regnes fotlenke med både i køen og i avgangen, blir den 1,06, og da ligger politi og påtale høyest.
- Hvert ledd har sine egne saksenheter, så bare utnyttelsen kan sammenlignes på tvers av ledd. Politiets rapport og SSB teller heller ikke det samme. Politiets driftsstatistikk har 348 534 anmeldte lovbrudd og 349 450 påtaleavgjorte saker. SSBs offisielle statistikk har 308 438 etterforskede lovbrudd og holder utenfor om lag 35 300 anmeldelser som ble henlagt utenfor straffesak. Regnes kapasitetshenleggelsene som SSBs andel (9,8 % av de etterforskede lovbruddene) i stedet for som et antall, blir utnyttelsen for politi og påtale 1,11 i stedet for 1,09.
- Kapasitetshenleggelsene er en registrert begrunnelse. Politidirektoratet og riksadvokaten melder om forholdsvis store forskjeller mellom politidistriktene i bruken av henleggelseskoder. Riksadvokatens nye rundskriv om henleggelser (nr. 2/2025) gjelder fra 1. januar 2026, så tall fra 2026 kan ikke uten videre sammenlignes med tidligere år.
- Skriptet anslår at fengslene trenger om lag 15 % mer kapasitet (358 mot 313 iverksettelser i måneden). Om lag 9 % skal til for å holde følge med strømmen. Resten er margin, fordi verktøyet dimensjonerer til 95 % utnyttelse. Det er et grovt anslag.
- Forløpet over tid (
../.venv/bin/python forlop.py norge_2025.json) gir for fengsel 15 % mer kapasitet nå og 7 % til året etter, fordi køen vokser mens den første kapasiteten bygges opp. Det er modellens stiliserte dynamikk lagt på norske størrelser, ikke en prognose. Køen til fengsel er dessuten under målet på to måneder, mens modellen starter på målet.
Hva notatet gjør
- Gir et verktøy som går fra observerte tall til en anbefaling: leddet som binder og tiltakstypen etter Theory of Constraints, hvor kraftig tiltaket kan være uten at styringen selv skaper svingninger, og hva det gjør med resten av kjeden og med tilliten. Avsnitt 9.5 regner det gjennom for en full domstol.
- Formulerer prinsippet som én beslutningsregel fra det observerte kriminalitetsbildet til en samlet tiltaksvektor: innsats, reaksjonsformer, kapasitet, prosessuell kvalitet og lovbestemt handlingsrom.
- Viser analytisk at stabiliteten avhenger av politisk reaktivitet, tidsforsinkelse og samfunnets egen demping, og utleder en tommelfingerregel for hvor kraftig en respons kan være ved en gitt forsinkelse.
- Simulerer hvordan en kraftig reaksjon på forsinkede tall gir svingninger mellom under- og overhåndhevelse, og hvordan en avdempet regel og prognosebasert styring fjerner dem.
- Modellerer straffesakskjeden som et kønettverk, med domstolen som gjennomregnet eksempel på et ledd som binder.
- Foreslår en syklisk beslutningsmetode: observer, sammenlign med målene, finn skranken som binder, velg tiltak etter den, dimensjoner avdempet og med prognose, og kontroller de rettsstatlige skrankene.
Status og begrensninger
Dette er et konseptnotat og en invitasjon til videre forskning. Flaskehalsdiagnosen og forløpet over tid kan brukes på egne tall nå. Resten av modellen er en første versjon.
- Selve modellen er ikke kalibrert på norske data. Parameterne er stiliserte, og simuleringene illustrerer mekanismer. De er ikke prognoser.
- Hvilket ledd i kjeden som faktisk binder, er et empirisk spørsmål. Domstolen er et gjennomregnet eksempel. Dagens tall peker mot politi, påtale og straffegjennomføring, og det første, grove forsøket på norske tall peker samme vei, med forbeholdene over.
- «Resten av kjeden» betyr i denne versjonen politiets innsats, andelen påtalemyndigheten leder utenom, og strømmen videre til leddene etter. Bare ett ledd har kø i modellen. I notatets simuleringer er det domstolen; i
forlop.pyer det leddet som binder i dine tall. - Kostnader og gevinster er ikke regnet i kroner.
- Avsnitt 10 i notatet beskriver begrensningene og har en veiplan i åtte punkter for det som gjenstår.
Non-goals
- Notatet foreslår ikke å endre straffebud eller strafferammer. Det som tilpasses, er prioriteringer, innsats, organisering, prosess og valg av reaksjon innenfor lovens rammer, etter kriterier som er fastsatt på forhånd.
- Verktøyet viser hvor kjeden binder, hvilken type tiltak som følger, og omtrent hvor stort tiltaket bør være. Det erstatter ikke budsjettarbeidet, og det sier ingenting om enkeltsaker.
- Repoet inneholder ingen persondata og ingen data fra enkeltsaker.
Innhold
| Mappe | Innhold |
|---|---|
pdf/ |
Ferdige PDF-er av notatet, sammendraget og lysarkene |
paper/ |
LaTeX-kilden (main.tex er notatet, notat.tex sammendraget, karusell.tex lysarkene), simuleringen sim.py, flaskehalsdiagnosen diagnose.py og forløpet forlop.py med eksempelfil og norske tall |
paper/data/ |
Figurdataene som sim.py skriver og LaTeX-kilden leser |
PDF-ene er bygd fra LaTeX-kilden i dette repoet med TeX Live 2026: notatet og sammendraget med pdflatex (tre ganger, fra paper/), lysarkene med xelatex (to ganger), som trenger fonten Inter fra TeX Live.
Slik er arbeidet gjort
Idéen, problemstillingen og konseptet er forfatterens, og forfatteren har styrt arbeidet og tatt de faglige valgene. Teksten, den matematiske formaliseringen, simuleringene og figurene er laget med omfattende bruk av kunstig intelligens (Claude, Anthropic). Forfatteren har ansvaret for innholdet.
Innspill og kritikk er velkomne, særlig fra dem som arbeider i straffesakskjeden og fra forskere som vil prøve modellen mot data. Send en e-post til hello@fromaitochitta.com.
Lisens
- Teksten, det vil si PDF-ene i
pdf/, LaTeX-kilden (.tex-filene ipaper/) og dokumentasjonen (README.md,CHANGELOG.md,CLAUDE.md), er lisensiert under CC BY 4.0. Du kan dele og bearbeide den fritt, også i andres arbeid, så lenge du oppgir kilden: Kjell Tore Guttormsen (2026), Den dynamiske rettsstaten, versjon 2. - Koden, det vil si
paper/sim.py,paper/diagnose.py,paper/forlop.py,requirements.txt, figurdataene ipaper/data/,paper/eksempel_domstol.jsonogpaper/norge_2025.json, er lisensiert under MIT.
Changelog
See CHANGELOG.md.