SHA256
37 lines
2.6 KiB
Typst
37 lines
2.6 KiB
Typst
#import "연구실실습일지작성양식.typ": 실습일지
|
|
|
|
#실습일지(
|
|
소속대학: "공과대학",
|
|
소속학과: "컴퓨터소프트웨어학부",
|
|
학번: "2024062806",
|
|
성명: "주하진",
|
|
일시: "2026년 9월 25일 13시 부터 ~ 16시 까지",
|
|
내용: [
|
|
이번에는 여러 공들이 벽안에서 움직이는 *벽이 있는 충돌 실험* 문제를 풀었습니다.
|
|
|
|
이 문제도 시뮬레이션 문제인데, 구슬이 초기 방향에 따라 초마다 움직이고, 구슬이 벽에 부딫이면 *반사*(1초가 걸려 반대 방향으로 바뀜)되고 구슬이 서로 부딫이면(같은 위치에 도달) *소멸*합니다.
|
|
|
|
이 조건에서 안정 상태(구슬의 개수가 더 이상 변하지 않는 상태)가 될 때까지 시뮬레이션을 진행하면 됩니다.
|
|
|
|
시뮬레이션은 대강 `field` 배열을 만들고 marble을 `(count, dir)`로 저장하고 (없으면 0) 매 스텝마다 구슬을 `new_field`에 업데이트하고 스텝이 끝나면 `count > 1`인 구슬을 제거합니다. 그리고 `field`를 `new_field`로 바꾸고 반복하면 됩니다.
|
|
|
|
이 문제를 풀때에는 좀 naive하게 대충 $t=4n$정도가 되면 안정 상태에 반드시 도달한다고 생각하고 푸니까 통과했습니다.
|
|
|
|
이후 생각을 해보니까 구슬은 철저하게 고정된 경로로 주기 $2n$에 따라 움직이므로 따라서 $2n$이면 충분히 안정 상태에 도달한다고 볼 수 있습니다.
|
|
|
|
이 점을 좀 더 자세하게 볼 수 있다.
|
|
|
|
먼저 우리가 쉽게 관찰 할 수 있는 사실은 다음과 같다.
|
|
1. 다른 구슬의 방해가 없을 때 구슬은 주기성을 가진다. $bold(upright(S))_i (t) = bold(upright(S))_i (t + L)$ 그리고 이때 동일한 판에서 진행하는 구슬은 공통 주기 $L$을 가지며 $L=2n$이다.
|
|
2. 소멸은 다른 생존 구슬의 궤적에 영향을 주지 않는다.
|
|
|
|
구슬 $A$와 $B$이 서로 겹치는 순간이 있다고 생각하자. 이때의 시각을 $t$라고 한다면, 두 구슬 모두 주기가 $L$이므로 $t mod L$에서도 같은 칸에 있다. 따라서 이 때 최초 충돌이 존재한다면 이때의 시간 $t^*_(A B)$는 $0 <= t^*_(A B) < L$이다. 다른 구슬 $C$가 있더라도 이 구슬이 둘 중 하나와 충돌 하더라도 다른 구슬에 영향을 주지 않으므로 최초 충돌 시간은 $0 <= t^* < L$을 만족한다.
|
|
|
|
따라서 모든 충돌은 $0 <= t < L$에 존재하며, 따라서 $L$이면 충분히 안정 상태에 도달한다고 볼 수 있다.
|
|
|
|
|
|
|
|
그래서 *4n*은 충분조건입니다.
|
|
],
|
|
)
|