Từ một Robot giải quyết các khối của Rubik
Thứ Hai, 7 tháng 3, 2016
Khi Cube của Rubik nổ trên trường tại Hoa Kỳ vào năm 1980, nó đã gây ra một niềm đam mê với những câu đố mà vẫn tiếp tục cho đến ngày nay, ngay cả các fan hâm mộ sinh ra nhiều thập kỷ sau khi ra mắt của Cube. Ngoại trừ rằng, thay vì người cố gắng "tốc độ khối" đến một giải pháp trong vòng chưa đầy 10 giây, các fan Cube nhiều Rubik ngày nay xây dựng robot để làm điều đó cho họ. A.I.-nhiệt tình này cung cấp những thách thức nhất của không chỉ giải quyết các câu đố mà còn tạo ra một robot có thể chất có thể thao tác các khối dựa trên giải pháp đó.
Đối với 12 tuổi Connor Abbott, xây dựng bot Cube giải quyết một Rubik đã cho anh một cơ hội để thực hành các kỹ năng lập trình máy tính của mình và học hỏi từ các nhà sản xuất thực hiện bot khác. bot Abbott cũng phục vụ như là một đối thủ cạnh tranh để thách thức sức mạnh tốc độ Cubing 10 tuổi anh trai của Ryan. Cả hai chàng trai đã được giới thiệu đến các câu đố bằng cách cha mình, Michael Abbott, một giám đốc điều hành General Electric Money và cựu kỹ sư của IBM Research.
Connor Abbott có ý tưởng về robot của mình khi đọc về những người đam mê Cube người đã xây dựng chương trình để giải quyết các câu đố bằng cách sử dụng bộ Lego Mindstorms NXT. "Tôi nói, 'Này, tôi có một bộ NXT,'" Connor, một người gốc New Canaan, Connecticut., Những người sẽ được ở lớp tám khi ông trở lại trường vào mùa thu này nói. Đối với người lãnh đạo, Mindstorms là một sản phẩm Lego bao gồm hầu hết các thành phần cần thiết để xây dựng một robot, gồm: gạch của công ty thương hiệu cũng như ba động cơ servo, bốn cảm biến (siêu âm, âm thanh, cảm ứng, và ánh sáng), bánh răng và trục.
"Lúc đầu, tôi không biết [Mindstorms] có thể được sử dụng để giải quyết Cube của Rubik vì tôi không nghĩ rằng nó đã có đủ động cơ," Connor nói. Điều này đã thay đổi vào năm ngoái khi Connor phát hiện ra một robot thông qua web đã được xây dựng từ một bộ NXT đơn Daniele Benedettelli, 24 tuổi, một lập trình viên học robot và tự động hóa tại Đại học Italia của Siena. (Bot Benedettelli có thể được nhìn thấy tại trang web của mình.) "Mọi người ngạc nhiên bởi thực tế là một Lego (như vậy, một món đồ chơi) robot có thể giải quyết một câu đố thông minh như vậy để dễ dàng", Benedettelli nói thêm rằng Cube của Rubik đã đến để được nhìn thấy là "" biểu tượng của các vấn đề phức tạp có thể được giải quyết bằng cách áp dụng "trí thông minh và khéo léo."
Tất nhiên, robot không thể giải quyết các câu đố mà không cần hướng dẫn rõ ràng về cách làm như vậy. Đối với phần mềm, Connor sử dụng một chương trình lập phương giải quyết một cách tự do có sẵn được gọi là tối ưu Cube Solver trong khu phố Bật Metric (OPTIQTM) tạo ra bởi Herbert Kociemba, 55 tuổi, một giáo viên toán học và vật lý từ Darmstadt, Đức. Kociemba bày tỏ ngạc nhiên ở sự lựa chọn của Connor sử dụng OPTIQTM, cho rằng các chương trình có thể mất từ phút đến vài giờ để tìm ra giải pháp "tối ưu" cho việc giải quyết một Cube, tùy thuộc vào bao nhiêu lần câu đố đã được xoắn và quay lại. Chương trình có thể, tuy nhiên, tính toán một giải pháp "trong một thời gian hợp lý" nếu các câu đố được scrambled sử dụng 19 bước hoặc ít hơn, ông nói.
Điều này chỉ làm việc tốt cho Connor, người nói rằng ông đã viết chương trình riêng của mình bằng cách sử dụng ngôn ngữ C ++ lập trình máy tính để có được những giải OPTIQTM để làm việc với hệ thống của mình. Robot của Connor, như Benedettelli của, sử dụng một máy ảnh web để đọc màu sắc của Cube khác nhau (và cấu hình của họ trên Cube scrambled), dữ liệu mà sau đó được gửi đến các phần mềm câu đố giải quyết.
Xem thêm: đồ chơi Lego giá rẻ
những người đam mê Cube đã được xây dựng robot cho năm để giải quyết các câu đố, và nó được phổ biến cho họ để học hỏi từ một tác phẩm khác của. Một trong những ví dụ sớm nhất của bot Cube giải quyết một Rubik đã được tạo ra bởi Jonathan Brown, 45 tuổi, một người bảo vệ khảo cổ học tại Bảo tàng Field ở Chicago, vào năm 2001 sử dụng phiên bản trước của Mindstorm.
Mặc dù Connor được hưởng lợi từ công trình của nhiều người đam mê Cube khác là tốt, khả năng lập trình của mình đã lớn lên lông mày. Connor "là khá rõ ràng là một lập trình viên C ++ kiệt," Robert Thompson, một trường đại học Delaware thứ hai nghiên cứu khoa học máy tính 19 tuổi người đã dạy Connor về Java trong một trại máy tính kéo dài một tuần hồi đầu tháng này cho biết. "Ông ấy bắt đầu phải tắt nói về những điều trong C ++ mà họ thậm chí còn không được đề cập trong các khóa học đại học của tôi."
Làm thế nào mà con robot của Connor làm trong cuộc đối của mình đối với Ryan? Mặc dù công việc khó khăn của Connor, thời gian tốt nhất của bot là 90 giây, đủ tốt để đánh bại Ryan chỉ một lần trong năm lần. Thời gian tốt nhất của Ryan trong cuộc thi đầu-to-mạch là 75 giây, mặc dù Connor nói kể từ khi anh trai của ông đã cắt mà đến 45 giây. (Một đoạn video của chiến thắng của robot có sẵn thông qua YouTube, vì là một đoạn video của sự trả thù của Ryan.)
Connor, người đã dạy mình cho chương trình bằng cách đọc sách như Sams Teach Yourself C trong 21 ngày, được viết bởi Bradley Jones và Peter Aitken, hầu như không khuyến khích. Hiện ông đang viết phần mềm Cube giải quyết riêng của mình để cuối cùng thay thế Kociemba trong hệ thống của mình. Lý do: "Tôi muốn sử dụng thuật toán của tôi thay vì của người khác là vì nó phức tạp," ông nói, "và có thể nói rằng tôi đã viết một phiên bản của nó."
những người đam mê Cube đã được xây dựng robot cho năm để giải quyết các câu đố, và nó được phổ biến cho họ để học hỏi từ một tác phẩm khác của. Một trong những ví dụ sớm nhất của bot Cube giải quyết một Rubik đã được tạo ra bởi Jonathan Brown, 45 tuổi, một người bảo vệ khảo cổ học tại Bảo tàng Field ở Chicago, vào năm 2001 sử dụng phiên bản trước của Mindstorm.
Mặc dù Connor được hưởng lợi từ công trình của nhiều người đam mê Cube khác là tốt, khả năng lập trình của mình đã lớn lên lông mày. Connor "là khá rõ ràng là một lập trình viên C ++ kiệt," Robert Thompson, một trường đại học Delaware thứ hai nghiên cứu khoa học máy tính 19 tuổi người đã dạy Connor về Java trong một trại máy tính kéo dài một tuần hồi đầu tháng này cho biết. "Ông ấy bắt đầu phải tắt nói về những điều trong C ++ mà họ thậm chí còn không được đề cập trong các khóa học đại học của tôi."
Làm thế nào mà con robot của Connor làm trong cuộc đối của mình đối với Ryan? Mặc dù công việc khó khăn của Connor, thời gian tốt nhất của bot là 90 giây, đủ tốt để đánh bại Ryan chỉ một lần trong năm lần. Thời gian tốt nhất của Ryan trong cuộc thi đầu-to-mạch là 75 giây, mặc dù Connor nói kể từ khi anh trai của ông đã cắt mà đến 45 giây. (Một đoạn video của chiến thắng của robot có sẵn thông qua YouTube, vì là một đoạn video của sự trả thù của Ryan.)
Connor, người đã dạy mình cho chương trình bằng cách đọc sách như Sams Teach Yourself C trong 21 ngày, được viết bởi Bradley Jones và Peter Aitken, hầu như không khuyến khích. Hiện ông đang viết phần mềm Cube giải quyết riêng của mình để cuối cùng thay thế Kociemba trong hệ thống của mình. Lý do: "Tôi muốn sử dụng thuật toán của tôi thay vì của người khác là vì nó phức tạp," ông nói, "và có thể nói rằng tôi đã viết một phiên bản của nó."
Bài liên quan
Home
Comments[ 0 ]
Đăng nhận xét