**فرض کنید** که [کاپیتان شپرد](https://en.wikipedia.org/wiki/Commander_Shepard)، فرمانده [سفینه فضایی نرماندی](https://en.wikipedia.org/wiki/Normandy_%28Mass_Effect%29)، **شما** را به عنوان **دانشمند داده** به خدمه سفینه اضافه کردهاست تا بهاو در انجام ماموریتهای اکتشافی در منظومه [هلیوس](https://masseffect.fandom.com/wiki/Heleus_Cluster) کمک کنید.
![سفینه فضایی نرماندی](https://bayanbox.ir/view/4475939435108208580/Normandy.jpg)
در یکی از ماموریتهای اکتشافی، پیام زیر به سفینه مخابره میشود:
> طبق اطلاعات بدست آمده توسط کاوشگران، معادن متعددی در سیاره ایوس وجود دارند. با توجه به نزدیک بودن سفینه به این سیاره، اقدام به بررسی تصاویر حفاریهای آن معادن کرده و نتایج را اعلام کنید. مراحل مختلف انجام این ماموریت به همراه توضیحات مربوطه، به شما ارسال میگردد.
برای آشنایی بیشتر با مفهوم حفاری اکتشافی، [این ویدیو](https://aparat.com/v/6cpmP) را تماشا کنید.
# زیرساخت و نحوه دریافت دادگان
این مسابقه دارای ۳ سوال میباشد و شما میتوانید دادگان این مسابقه (یکسان برای تمامی سوالها) را از **یکی** از لینکهای زیر دانلود کنید:
+ [لینک گوگل درایو ۱](https://drive.google.com/file/d/1fSzUMCJHx3JHwrDpY_Qz6KI1zIUv3BnC)
+ [لینک گوگل درایو ۲](https://drive.google.com/file/d/19p3qtGNlc_p12bi3wnbXtELUAR7CE6p8)
+ [لینک گوگل درایو ۳](https://drive.google.com/file/d/1ERHzuZiE7--FSFJqp181b9sApnOrQTXV)
+ [لینک دراپباکس](https://www.dropbox.com/s/w1ekxxhss6z0u0i)
+ [لینک کوئرا](http://185.231.59.231/data.zip)
پیش از دانلود این دادگان، بایستی که محیط برنامهنویسی لازم برای محاسبات را آماده کنید.
در صورتی که میخواهید با استفاده از زبان برنامهنویسی پایتون و کتابخانههای موجود در آن، در این مسابقه شرکت کنید. میتوانید که از سامانه گوگل کُلَب ([اینجا](https://colab.research.google.com)) استفاده کنید.
بدین صورت نیازی نیست که شما دادگان این مسابقه (حدود ۱.۵ گیگابایت داده) را روی کامپیوتر خود دانلود کنید. همچنین گوگل کُلَب این امکان را به شما میدهد که از قابلیتهای `GPU` و `TPU` آن به رایگان استفاده کرده و سرعت محاسبات خود را به طور قابل ملاحظهای افزایش دهید. **پیشنهاد** میشود که ابتدا کُد خود را در حالت `CPU` توسعه دهید و **فقط** هنگامی که می خواهید شروع به آموزش دادن مُدل خود کنید، قابلیت `GPU` یا `TPU` را فعال کنید، بدین صورت به صورت بهینه از منابع استفاده میشود.
اگر اولین باری است که با گوگل کُلَب آشنا میشوید. پیشنهاد میشود راهنمای فارسی کار با آن را از [اینجا](https://virgool.io/@baran.science/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A8%D8%A7-google-colab-%DA%A9%D8%A7%D8%B1-%DA%A9%D9%86%DB%8C%D9%85-mihfp5n8mdta) به دقت مطالعه کنید. توجه داشته باشید که برای استفاده از گوگل کُلَب، شما نیازمند به داشتن ایمیل `gmail` میباشید و قابلیتهای ارائه شده در نسخه رایگان آن، برای انجام این مسابقه کافی است. همچنین نیازی به استفاده از فیلترشکن برای دسترسی به آن فعلا نیست!
در صورتی که از لینک **گوگل درایو** برای دانلود دادگان در گوگل کُلب استفاده میکنید، دستور `gdown` میتواند به شما کمک زیادی بکند. برای مطالعه بیشتر، [اینجا](https://github.com/wkentaro/gdown) را ببینید.
همچنین برای دانلود دادگان از لینک **دراپباکس** و یا لینک **کوئرا** در گوگل کُلب میتوانید از دستور `wget` استفاده کنید. برای مطالعه بیشتر، [اینجا](https://www.pair.com/support/kb/paircloud-downloading-files-with-wget/) را ببینید.
توجه داشته باشید که داخل گوگل کُلب، باید قبل از اجرای دستور `gdown` یا `wget`، علامت `!` قرار دهید. به مثالهای زیر نگاه کنید.
```
! wget <URL>
```
یا
```
! gdown --id <GID>
```
برای استفاده از دستور `gdown` و تشخیص مقدار `<GID>`، ابتدا یک لینک گوگل درایو، مانند آدرس https://drive.google.com/file/d/1fSzUMCJHx3JHwrDpY_Qz6KI1zIUv3BnC را باز میکنید. سپس مقدار بعد از `d/` تا مقدار قبل از `/` بعدی را به عنوان `<GID>` آن انتخاب کرده (به مثال زیر نگاه کنید):
```
! gdown --id 1fSzUMCJHx3JHwrDpY_Qz6KI1zIUv3BnC
```
همچنین در صورتی که نمی خواهید از گوگل کُلب استفاده کنید و میخواهید محاسبات را در کامپیوتر شخصی خود یا زیرساخت دیگری انجام دهید، میتوانید دادگان را دانلود و از حالت فشرده خارج کنید.
توجه داشته باشید که محدودیتی در زبان برنامهنویسی مورد استفاده برای این مسابقه وجود **ندارد**.
# توضیح دادگان
حفاریهای اکتشافی به چاههایی گفته میشود که برای بررسیهای بیشتر در زمین حفر میشوند. این حفاریها در اندازههای مشخصی انجام شده و مغزههای حاصل از حفاری (گمانه) در جعبههای مشخصی (جعبهمغزه) برای تحلیلهای بعدی قرار میگیرند.
برای مطالعه بیشتر در مورد مفهوم گمانه، ویکیپدیای آن را از [اینجا](https://en.wikipedia.org/wiki/Borehole) مطالعه کنید. همچنین در [این ویدیو](https://aparat.com/v/mlT8S)، یک نمونه واقعی از حفاری اکتشافی و نحوه بدست آمدن گمانه نشان داده شدهاست.
<details class="yellow">
<summary>
**توجه**
</summary>
**حتما** لینکهای مقالات یا ویدیوهایی که در صورت سوالات، برای شما قرار داده شدهاست را به دقت مطالعه و مشاهده کنید. بدین صورت، ابعاد مختلف مسئله برای شما روشن میگردد.
</details>
طول جعبه مغزهها ۱.۱ متر است و هر جعبه دارای تعداد مشخصی ردیف است. بعد از اینکه مغزهها داخل جعبه قرار گرفت، از جعبه مغزهها تصویربرداری شده و از این تصاویر به عنوان شناسنامه معدن یاد میشود (علت این امر طول عمر بالای معدن و سختی نگهداری از جعبه مغزهها میباشد. در نتیجه، تصویربرداری و رجوع به تصاویر سادهتر و کاربردیتر خواهدبود).
![یک نمونه تصویر جعبه مغزه](https://bayanbox.ir/view/2943411491172718264/box-intro.jpg)
هر جعبه دارای اطلاعات مختلفی است که توضیحات بخشهای مورد نیاز آن، در جدول زیر آورده شدهاست.
| نام | توضیح |
|:------------------:|:------------------:|
|Run|حفاریها به صورت مرحلهای انجام میپذیرد و در هر مرحله مقداری از مغزه بعد از حفاری استخراج شده و در ردیفهای جعبه مغزه قرار میگیرد. مغزههای هر `Run` به وسیله یک چوب که به صورت عمودی قرار داده شدهاست از `Run` بعدی در ردیفها جدا میگردد. |
|From|عمق شروع حفاری هر `Run` نسبت به سطح زمین که به متر گزارش شدهاست. توجه داشته باشید که سطح زمین دارای عمق صفر میباشد|
|To|عمق انتهایی هر `Run` حفاری که به متر گزارش شدهاست.|
توجه داشته باشید که حفاری هر گمانه در چند `Run` صورت میگیرد. فرض کنید که قرار است تا عمق ۲۰۰ متری حفاری صورت بپذیرد، در هر `Run` از حفاری، متراژ مشخصی حفر میشود، سپس نتایج حفاری، در اولین ردیف خالی (از بالا به پایین) موجود در جعبه از چپ به راست قرار میگیرند. اگر که نتایج یک `Run` در یک ردیف جا نشد، ادامه آن، در ردیف بعدی (پایین) و از چپ به راست قرار داده میشود. انتهای مغزههای قرار داده شده برای یک `Run` نیز با استفاده از یک چوب عمودی مشخص میشود. نتایج حفاری `Run` بعدی در ادامه همان ردیف و بعد از آن چوب عمودی میآید (به منظور سادهسازی این مسابقه، تمامی چوبهای، تمامی عکسها در تمامی پوشهها با رنگ **بنفش** رنگ آمیزی شدهاند).
<details class="yellow">
<summary>
**توجه**
</summary>
میزان طول حفاری شده در هر `Run` میتواند با یکدیگر متفاوت باشد.
</details>
بعد از دریافت دادگان و `unzip` کردن آن، شما پوشههای زیر را خواهید داشت:
| نام پوشه | توضیح |
|:------------------:|:------------------:|
|train|پوشه حاوی عکس دادگان آموزش |
|test-rqd|پوشه حاوی عکس دادگان آزمایش سوال **سنجش کیفیت** |
هر عکس، با ساختار "شمارهجعبه-شناسهگمانه-شناسهمعدن" نامگذاری شدهاست.
به عنوان مثال عکس `M3-BH130-1.jpg` متعلق به معدن `M3`، گمانه `BH130` و جعبه اول آن است.
# صورت مسئله
در ابتدای کار، شما میخواهید با بررسی اولیه به اکتشاف **فقط** در مجموعه دادگان آموزش (پوشه `train`) بپردازید و به سوالات زیر پاسخ بدهید (مثال خروجی هر سوال، در زیر آن آورده شدهاست).
1. تعداد عکسها چند است؟
```
100
```
2. تعداد گمانهها چند است؟
```
50
```
3. طول بزرگترین `Run` موجود در فایل `from-to-rqd.xlsx`چند است؟ (فقط قسمت عدد صحیح)
```
34
```
4. کدام گمانه موجود در فایل `from-to-rqd.xlsx`، دارای بیشترین عمق (`To`) میباشد؟ (جواب خود را با ساختار "شناسهگمانه-شناسهمعدن" همانند نمونه زیر، قرار دهید)
```
M3-BH130
```
اگر که فایل اکسل `from-to-rqd.xlsx`، به تنهایی برای شما گُنگ است. برای توضیحات بیشتر در مورد این فایل، مرحله بعدی (**سنجش کیفیت**) را نیز مطالعه کنید.
این مرحله در مجموع، شامل ۴ سوال (هر سوال، ۲۵ امتیاز) میباشد. در صورتی که به تمامی سوالات پاسخ صحیح بدهید، بایستی ۱۰۰ امتیاز از این مرحله کسب کنید.
# ارسال پاسخ
برای ارسال پاسخ ، جواب هر سوال را مشابه مثال، در یک سطر از فایل text بنویسید. در نهایت یک فایل text چهار خطی با نام **output.txt** را برای ما بارگذاری کنید (جواب سوال اول در خط اول، سوال دوم در خط دوم، سوال سوم در خط سوم و سوال چهارم در خط چهارم).
**_در صورتی که جواب سوالی را نمیدانید در سطر مربوطه ۱- وارد کنید._**
## نمونه خروجی
```
100
50
34
M3-BH130
```
<details class="green">
<summary>
*توضیحات*
</summary>
در خط *i* ام جواب سوال *i* ام نوشته شده است.
</details>
<details class="yellow">
<summary>
**هشدار**
</summary>
اگر نام فایل شما و ساختار محتویات آن، همانند آنچه در صورت سوال ذکر شدهاست، **نباشد**. سامانه داوری به شما **صفر** امتیاز میدهد.
</details>