Pewien naukowiec skonstruował 3 "rozrywkowe" roboty: A, B i C. Obecnie nie mają one jeszcze pełnego oprogramowania i zachowują się trochę jak małe dzieci. Ostatnio jeden z nich (niestety nie wiadomo który) wykradł i ukrył gdzieś nośnik z ważnymi kodami. W tej sytuacji roboty chwilowo "uśpiono", żeby nie narozrabiały więcej i wszczęto dochodzenie. Ustalono, że kradzież odbyła się w obecności wszystkich robotów, więc znają one "winnego", natomiast miejsce ukrycia nośnika zna tylko "złodziej". Aby wydobyć potrzebne informacje można poddać każdego robota procesowi skanowania pamięci, który trwa 20 minut. I tu pojawia się problem, bo kody muszą zostać wprowadzone najdalej za pół godziny, więc mamy czas na przejrzenie pamięci tylko jednego robota. Trzeba więc w ciągu najwyżej 10 minut wytypować "złodzieja". Niestety, nasz naukowiec trochę namieszał w oprogramowaniu i musimy wziąć pod uwagę dość osobliwe warunki: 1. Przez pierwsze 10 minut po uruchomieniu albo wszystkie trzy roboty będą mówić wyłącznie prawdę, albo wszystkie trzy będą kłamać. 2. Nikt niestety nie wie, w jakiej fazie (prawdy czy kłamstwa) będą roboty po "przebudzeniu". 3. W ciągu tych 10 minut można zadać każdemu z robotów tylko po jednym pytaniu (czyli w sumie możemy zadać maksymalnie 3 pytania). 4. Pytanie musi być tak sformułowane, aby robot mógł odpowiedzieć TAK lub NIE. 5. Robota nie wolno pytać o niego samego ( np. "Czy to ty schowałeś nośnik?") ani zadawać pytań zawierających pojęcia abstrakcyjne (np. "Czy teraz mówisz prawdę?"). Grozi to przegrzaniem i całkowitym zniszczeniem
pixabay.com Jakie pytania musimy zadać robotom, aby w ciągu maksymalnie 10 minut, przy pomocy najwyżej trzech pytań, znaleźć winnego?