근미래 하드SF 재난극 35화

라그랑주 5의 유언

좌석 알고리즘의 계급

대피배정 서버는 종이를 좋아했다.

글자 크기

대피배정 서버는 종이를 좋아했다.

중앙망의 숫자를 믿을 수 없게 된 뒤 권도한이 결과를 종이로도 출력하게 만들었기 때문이다. 서버 옆 프린터가 돌아갈 때마다 얇은 용지가 바닥을 기었다. 금융봉인 해제를 가정한 삼백칠십 명 후보 순위표는 감사석 앞 통로를 거의 한 바퀴 돌았다. 실제 개방 좌석 이백삼십이와는 별개의 배정계획이었다.

리오 박은 투자등급 표식이 붙은 일흔네 줄에 붉은 자석을 놓았다. 권도한은 의료 우선심사와 고선량 재검진 코드에 푸른 자석을 놓았다. 붉은 자석은 대부분 위에, 푸른 자석은 아래에 몰렸다.

“우연이라고 하기에는 색이 너무 잘 갈렸군요.” 리오가 말했다.

이반 노는 감사석 반대편에 앉아 있었다. 주민들이 그를 볼 수 있도록 투명 칸막이만 남기고 경호벽은 치웠다.

“계약 등급은 우연이 아닙니다. 대피선 운항비를 선납한 가구의 권리입니다.”

도한이 배정식 원본을 화면에 띄웠다. 의료점수, 연령, 필수 보호자, 외벽 노출량, 투자등급. 각 항목 옆에 가중치가 있었다. 투자등급의 숫자는 의료점수보다 세 배 컸다.

리오가 한 줄을 손가락으로 짚었다. “이 사람은 재검진 대상이고 호흡기 치료도 받고 있습니다. 그런데 건강한 투자자 가족보다 백십이 번째 뒤입니다.”

“개인의 건강정보를 공개하지 마십시오.” 이반이 말했다.

“코드만 읽었습니다.”

“그 코드도 조합장이 추정할 수 있겠죠.”

리오의 손가락이 종이에서 떨어졌다. 맞는 말이었다. 그는 근무조를 보고 몇몇 코드를 짐작하고 있었다. 분노가 동료의 비밀을 대신 말할 권리는 아니었다.

도한이 종이 위에 불투명 덮개를 내려 개인 코드까지 가렸다. 남은 것은 순번과 적용 항목뿐이었다.

“사람을 맞히는 자리가 아닙니다. 같은 조건에서 가중치 하나가 결과를 얼마나 움직였는지만 보겠습니다.”

그는 시험용 가구 네 개를 만들었다. 모두 실제 주민이 아닌 가상 사례였다. 고선량 외벽 노동자, 산소치료가 필요한 노인, 어린아이와 보호자, 건강한 최고 투자등급 성인. 가온이 아닌 별도 감사 계산기가 같은 배정식을 돌렸다.

건강한 투자등급 성인이 세 번째였다. 산소치료 노인은 백사십칠 번째였다.

주민석에서 낮은 탄식이 흘렀다.

이반은 화면을 보며 말했다. “그 성인이 낸 운항 분담금이 없었다면 배도 없었습니다.”

“그러면 분담금은 배를 만든 겁니다.” 도한이 말했다. “누가 먼저 사는지를 산 것은 아닙니다.”

“계약서에는 우선탑승권이 있습니다.”

“재난보장 규약에는 위험도 우선배정이 있습니다. 두 권리가 충돌합니다.”

리오는 이반 쪽으로 몸을 돌렸다. “다음 배를 사는 계약이 오늘 가장 위험한 사람의 좌석을 빼앗을 수는 없습니다.”

“그 말을 듣고 다음 투자자가 돈을 낼 것 같습니까?” 이반의 목소리가 처음으로 높아졌다. “대피선은 정의감으로 건조하지 않습니다. 추진제도, 도킹료도, 보험료도 돈으로 냅니다.”

주민석 앞줄에서 한 여자가 일어났다. 투자자 가족 표식이 달린 옷을 입고 있었다. 그녀는 어린 아들의 손을 잡고 있었다.

“우리는 좌석을 샀습니다.”

사람들의 시선이 몰렸다. 여자는 아이의 손을 더 세게 잡았다.

“지구 집을 팔아서 분담금을 냈어요. 여기 와서 남편을 잃었고, 저 좌석 하나만은 아이에게 남았다고 믿었습니다. 지금 와서 특권이었다고 빼앗으면 우리는 무엇을 믿습니까?”

리오가 입을 열려다 닫았다. 붉은 자석 아래에도 사람이 있었다. 사고를 숨긴 이반과, 계약을 믿고 삶을 옮긴 가족은 같은 책임을 지지 않았다.

도한이 여자에게 물었다. “아이에게 의료·연령 기준을 적용해도 우선순위가 나옵니다. 투자등급을 빼면 무조건 좌석을 잃는 것은 아닙니다.”

“그걸 누가 보장하죠?”

“오늘 공개할 계산과 이의절차가 보장해야 합니다.”

그는 기존 명단을 폐기하지 않았다. 한쪽 벽에 그대로 걸어 두고, 투자계수만 0으로 만든 시험식을 옆 화면에서 돌렸다. 의료, 연령, 필수 동반, 외벽 노출량이 차례로 적용됐다. 같은 가구는 한 덩어리로 올리지 않고, 아이나 환자에게 꼭 필요한 동반자 한 명만 함께 움직였다.

순번이 바뀌기 시작했다.

푸른 자석들이 위로 올라왔다. 붉은 자석 일흔네 개 중 스물세 개는 그대로 우선권 안에 남았다. 어린이, 환자, 고노출 작업자이기도 했기 때문이다. 나머지 쉰한 명은 일반 추첨 구역으로 이동했다.

대신 고위험 백사십육 명이 좌석 확정자가 아니라 위험심사 우선군으로 올라왔다.

숫자만 바뀐 것은 아니었다. 전날까지 일반구역에 있던 산소치료 장비 두 대가 대피선 가까운 대기실로 옮겨졌고, 아이와 보호자가 함께 통과할 넓은 검사선이 하나 더 열렸다. 리오는 종이표 끝을 들고 실제 통로까지 걸었다. 우선심사군 첫 대상자가 문턱을 넘는 데 걸리는 시간을 재자 기존 동선보다 삼 분이 길었다.

“순번만 당겨 놓고 출발 시간을 그대로 두면 뒤 사람을 또 놓칩니다.” 진아리가 통신으로 말했다.

리오는 운항표의 탑승 시작을 십오 분 앞당겼다. 고위험자를 앞에 놓는다는 말은 숫자 한 칸이 아니라, 산소통을 옮기고 통로를 비우고 먼저 문을 여는 일이었다.

도한은 계산을 한 번 더 멈췄다. 새 식이 공정해 보인다는 이유만으로 바로 명단을 바꾸지 않았다. 주민들에게 가상 사례의 입력값을 한 항목씩 바꾸게 했다. 나이를 한 살 올리고, 보호자 필요를 빼고, 노출량 오차를 상한과 하한으로 나눴다. 경계선에 있던 열세 명의 순번이 크게 흔들렸다.

“저 사람들은 어디에 둡니까?” 주민 참관인이 물었다.

“확정석도 탈락석도 아닙니다.” 도한이 종이표 중간에 회색 구역을 만들었다. “자료 한 항목 때문에 순번이 바뀌는 사람은 이의심사부터 합니다.”

리오가 불만스럽게 말했다. “그 사이 좌석은 누가 잡고 있죠?”

“예비석으로 비워 둡니다.”

“빈 좌석을 또 만듭니까?”

“이번에는 돈 때문에 비우는 게 아닙니다. 틀린 자료로 누군가를 밀어내지 않기 위해 잠시 비우는 겁니다.”

리오는 회색 자석 열세 개를 한동안 보았다. 빈칸의 이유가 다르면 결과도 달라진다는 것을 알면서도, 비어 있는 의자를 견디는 일은 여전히 어려웠다.

리오는 그 결과를 보고도 환호하지 않았다. 일반 추첨으로 밀린 쉰한 명이 주민석 한쪽에 모여 있었다. 누군가는 울었고, 누군가는 계약 원본을 흔들었다. 아까의 여자는 아이를 안은 채 화면을 노려봤다. 아이는 연령 기준으로 우선권을 유지했지만, 어머니는 필수 동반 심사를 다시 받아야 했다.

“아이만 보내라는 겁니까?”

의료팀이 답했다. “혼자 보낸다는 뜻이 아닙니다. 보호자 중 누가 필수 동반인지 확인하는 절차입니다.”

“우리 가족을 계산식이 가릅니까?”

리오가 그 앞에 섰다. “그 질문을 외벽 가족도 했습니다. 그래서 당신 질문도 명단에 남기겠습니다.”

여자는 그를 밀치지 않았다. 다만 계약서를 접어 아이 주머니에 넣었다.

리오는 무릎을 굽혀 아이에게 물었다. “엄마 말고 같이 갈 수 있는 어른이 있니?”

아이는 고개를 저었다. 여자가 날카롭게 말했다. “아이를 심문하지 마세요.”

“미안합니다.” 리오는 곧바로 일어났다. “필수 동반을 확인할 사람은 제가 아니군요.”

그는 의료팀을 불러 세우지 않고, 여자가 원할 때 비공개로 신청할 수 있는 표만 건넸다. 조금 전까지 그는 알고리즘에서 계급을 지우려 했고, 하마터면 공개석에서 가족 사정을 캐묻는 새 권력이 될 뻔했다.

여자는 표를 받지 않다가 아이가 주머니에 넣은 계약서를 만지는 것을 보고 손을 내밀었다.

“결과에 이의할 수 있습니까?”

“마흔여덟 시간 안에요. 투자등급을 되살려 달라는 이의도 접수는 됩니다. 다만 같은 공개 기준으로 답할 겁니다.”

“당신이 답합니까?”

“아닙니다. 독립 의료팀과 주민 참관인이 합니다.”

그제야 여자는 표를 받았다. 특권을 잃는 두려움을 입막음하지 않은 것이 새 기준의 첫 시험이었다.

도한은 임시 재산정 조건을 공개판에 고정했다. 의료, 연령, 필수 동반, 노출량. 투자계수 중지. 이의 접수는 마흔여덟 시간. 개인 병력은 의료팀만 열람. 주민 참관인은 결과와 기준만 본다.

“확정 명단이 아닙니다.” 그가 말했다. “하지만 투자등급으로 생명위험을 덮는 계산은 지금부터 멈춥니다.”

이반이 낮게 물었다. “운영비가 끊기면 이 서버를 누가 돌립니까?”

“서버 운영비와 좌석 우선권은 다른 항목입니다.”

“재단 계약에서는 아닙니다.”

도한이 그를 바라봤다. 이반은 더 말하지 않았다. 도한이 시험 배정계획의 전송을 승인하자 감사석 아래 서버 상태등이 녹색에서 노란색으로 바뀌었다.

진아리에게서 통신이 왔다. 삼백칠십 명 후보 순위표가 재단 원격승인 검증에서 거부됐다는 보고였다. 좌석 쪽에서는 백팔십팔 개 금융봉인이 그대로였고, 현재 절차에 넣을 수 있는 이백삼십이 석도 실제 출항 때에는 지구 재단의 최종 신호를 받아야 했다.

도한이 운영계약의 비용 부록을 열었다. 배정 서버 유지비와 좌석 잠금 서비스가 같은 준비금 담보조건에 묶여 있었다. 준비금 등급이 기준 아래로 내려가거나 재단이 운영비 지급을 중단하면, 잠금장치는 풀리는 쪽이 아니라 봉인되는 쪽으로 고정됐다.

리오가 노란 상태등을 보았다.

“우리가 순서를 바꾸면 문을 잠그겠다는 겁니까?”

이반은 고개를 저었다. “제가 지금 잠근 게 아닙니다. 계약이 그렇게 작동합니다.”

“누가 만든 계약입니까?”

이반은 대답하지 않았다.

프린터가 마지막 한 장을 밀어냈다. 새 명단이 아니라 경고문이었다.

원격 승인 상실 시 좌석 잠금 유지.

종이 위에서 삼백칠십 명은 봉인 해제 뒤를 가정한 순번을 얻었다.

배 안에서는 아직 아무 자리도 열리지 않았다.

리오는 새 명단을 말아 들지 않았다. 공개판에 길게 펼쳐 둔 채 좌석제어함으로 향했다. 계산식에서 계급을 지운 대가가 문 하나라면, 이제 그 문을 만든 권한과 맞설 차례였다.